diff --git a/Package.swift b/Package.swift index 7f7e1c9..4320e6c 100644 --- a/Package.swift +++ b/Package.swift @@ -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") + ] ) ] ) diff --git a/Sources/AdwaitaTemplate.swift b/Sources/AdwaitaTemplate.swift index b5f7efa..823eff7 100644 --- a/Sources/AdwaitaTemplate.swift +++ b/Sources/AdwaitaTemplate.swift @@ -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) diff --git a/Sources/Localized.yml b/Sources/Localized.yml new file mode 100644 index 0000000..ae0dfcf --- /dev/null +++ b/Sources/Localized.yml @@ -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 \ No newline at end of file diff --git a/Sources/ToolbarView.swift b/Sources/ToolbarView.swift index e542dc3..632aecb 100644 --- a/Sources/ToolbarView.swift +++ b/Sources/ToolbarView.swift @@ -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())