Add localization

This commit is contained in:
david-swift 2024-03-04 21:23:38 +01:00
parent 54f967a464
commit 6971abbc2c
4 changed files with 32 additions and 7 deletions

View File

@ -6,15 +6,23 @@ import PackageDescription
let package = Package(
name: "Adwaita Template",
dependencies: [
.package(url: "https://github.com/AparokshaUI/Adwaita", from: "0.2.0")
.package(url: "https://github.com/AparokshaUI/Adwaita", from: "0.2.0"),
.package(url: "https://github.com/AparokshaUI/Localized", from: "0.2.0")
],
targets: [
.executableTarget(
name: "AdwaitaTemplate",
dependencies: [
.product(name: "Adwaita", package: "Adwaita")
.product(name: "Adwaita", package: "Adwaita"),
.product(name: "Localized", package: "Localized")
],
path: "Sources"
path: "Sources",
resources: [
.process("Localized.yml")
],
plugins: [
.plugin(name: "GenerateLocalized", package: "Localized")
]
)
]
)

View File

@ -11,7 +11,7 @@ struct AdwaitaTemplate: App {
var scene: Scene {
Window(id: "main") { window in
Text("Hello, world!")
Text(Loc.helloWorld)
.padding()
.topToolbar {
ToolbarView(app: app, window: window)

17
Sources/Localized.yml Normal file
View File

@ -0,0 +1,17 @@
default: en
helloWorld:
en: Hello, world!
de: Hallo, Welt!
newWindow:
en: New Window
de: Neues Fenster
closeWindow:
en: Close Window
de: Fenster schliessen
quit:
en: Quit
de: Verlassen

View File

@ -8,16 +8,16 @@ struct ToolbarView: View {
var view: Body {
HeaderBar.end {
Menu(icon: .default(icon: .openMenu), app: app, window: window) {
MenuButton("New Window", window: false) {
MenuButton(Loc.newWindow, window: false) {
app.addWindow("main")
}
.keyboardShortcut("n".ctrl())
MenuButton("Close Window") {
MenuButton(Loc.closeWindow) {
window.close()
}
.keyboardShortcut("w".ctrl())
MenuSection {
MenuButton("Quit", window: false) {
MenuButton(Loc.quit, window: false) {
app.quit()
}
.keyboardShortcut("q".ctrl())