Add localization
This commit is contained in:
		@@ -6,15 +6,23 @@ import PackageDescription
 | 
				
			|||||||
let package = Package(
 | 
					let package = Package(
 | 
				
			||||||
    name: "Adwaita Template",
 | 
					    name: "Adwaita Template",
 | 
				
			||||||
    dependencies: [
 | 
					    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: [
 | 
					    targets: [
 | 
				
			||||||
        .executableTarget(
 | 
					        .executableTarget(
 | 
				
			||||||
            name: "AdwaitaTemplate",
 | 
					            name: "AdwaitaTemplate",
 | 
				
			||||||
            dependencies: [
 | 
					            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")
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ struct AdwaitaTemplate: App {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    var scene: Scene {
 | 
					    var scene: Scene {
 | 
				
			||||||
        Window(id: "main") { window in
 | 
					        Window(id: "main") { window in
 | 
				
			||||||
            Text("Hello, world!")
 | 
					            Text(Loc.helloWorld)
 | 
				
			||||||
                .padding()
 | 
					                .padding()
 | 
				
			||||||
                .topToolbar {
 | 
					                .topToolbar {
 | 
				
			||||||
                    ToolbarView(app: app, window: window)
 | 
					                    ToolbarView(app: app, window: window)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								Sources/Localized.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								Sources/Localized.yml
									
									
									
									
									
										Normal 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
 | 
				
			||||||
@@ -8,16 +8,16 @@ struct ToolbarView: View {
 | 
				
			|||||||
    var view: Body {
 | 
					    var view: Body {
 | 
				
			||||||
        HeaderBar.end {
 | 
					        HeaderBar.end {
 | 
				
			||||||
            Menu(icon: .default(icon: .openMenu), app: app, window: window) {
 | 
					            Menu(icon: .default(icon: .openMenu), app: app, window: window) {
 | 
				
			||||||
                MenuButton("New Window", window: false) {
 | 
					                MenuButton(Loc.newWindow, window: false) {
 | 
				
			||||||
                    app.addWindow("main")
 | 
					                    app.addWindow("main")
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                .keyboardShortcut("n".ctrl())
 | 
					                .keyboardShortcut("n".ctrl())
 | 
				
			||||||
                MenuButton("Close Window") {
 | 
					                MenuButton(Loc.closeWindow) {
 | 
				
			||||||
                    window.close()
 | 
					                    window.close()
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                .keyboardShortcut("w".ctrl())
 | 
					                .keyboardShortcut("w".ctrl())
 | 
				
			||||||
                MenuSection {
 | 
					                MenuSection {
 | 
				
			||||||
                    MenuButton("Quit", window: false) {
 | 
					                    MenuButton(Loc.quit, window: false) {
 | 
				
			||||||
                        app.quit()
 | 
					                        app.quit()
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    .keyboardShortcut("q".ctrl())
 | 
					                    .keyboardShortcut("q".ctrl())
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user