Quellcode durchsuchen

Made tray menu localizable

Sebastian Stenzel vor 5 Jahren
Ursprung
Commit
a122159268

+ 0 - 8
main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java

@@ -23,9 +23,7 @@ import org.cryptomator.ui.unlock.UnlockComponent;
 import javax.inject.Named;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.UncheckedIOException;
 import java.util.Optional;
-import java.util.ResourceBundle;
 
 @Module(includes = {KeychainModule.class, UpdateCheckerModule.class}, subcomponents = {MainWindowComponent.class, PreferencesComponent.class, UnlockComponent.class, QuitComponent.class})
 abstract class FxApplicationModule {
@@ -40,12 +38,6 @@ abstract class FxApplicationModule {
 		return new SimpleObjectProperty<>();
 	}
 
-	@Provides
-	@FxApplicationScoped
-	static ResourceBundle provideLocalization() {
-		return ResourceBundle.getBundle("i18n.strings");
-	}
-
 	@Provides
 	@Named("windowIcon")
 	@FxApplicationScoped

+ 10 - 7
main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuController.java

@@ -20,12 +20,14 @@ import java.awt.desktop.QuitResponse;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.util.EventObject;
+import java.util.ResourceBundle;
 import java.util.concurrent.CountDownLatch;
 import java.util.function.Consumer;
 
 @TrayMenuScoped
 class TrayMenuController {
 
+	private final ResourceBundle resourceBundle;
 	private final FxApplicationStarter fxApplicationStarter;
 	private final CountDownLatch shutdownLatch;
 	private final Settings settings;
@@ -34,7 +36,8 @@ class TrayMenuController {
 	private final BooleanBinding allLocked;
 
 	@Inject
-	TrayMenuController(FxApplicationStarter fxApplicationStarter, @Named("shutdownLatch") CountDownLatch shutdownLatch, Settings settings, ObservableList<Vault> vaults) {
+	TrayMenuController(ResourceBundle resourceBundle, FxApplicationStarter fxApplicationStarter, @Named("shutdownLatch") CountDownLatch shutdownLatch, Settings settings, ObservableList<Vault> vaults) {
+		this.resourceBundle = resourceBundle;
 		this.fxApplicationStarter = fxApplicationStarter;
 		this.shutdownLatch = shutdownLatch;
 		this.settings = settings;
@@ -75,11 +78,11 @@ class TrayMenuController {
 	private void rebuildMenu() {
 		menu.removeAll();
 
-		MenuItem showMainWindowItem = new MenuItem("TODO show");
+		MenuItem showMainWindowItem = new MenuItem(resourceBundle.getString("traymenu.showMainWindow"));
 		showMainWindowItem.addActionListener(this::showMainWindow);
 		menu.add(showMainWindowItem);
 
-		MenuItem showPreferencesItem = new MenuItem("TODO preferences");
+		MenuItem showPreferencesItem = new MenuItem(resourceBundle.getString("traymenu.showPreferencesWindow"));
 		showPreferencesItem.addActionListener(this::showPreferencesWindow);
 		menu.add(showPreferencesItem);
 
@@ -90,7 +93,7 @@ class TrayMenuController {
 		}
 		menu.addSeparator();
 
-		MenuItem quitApplicationItem = new MenuItem("TODO quit");
+		MenuItem quitApplicationItem = new MenuItem(resourceBundle.getString("traymenu.quitApplication"));
 		quitApplicationItem.addActionListener(this::quitApplication);
 		menu.add(quitApplicationItem);
 	}
@@ -100,14 +103,14 @@ class TrayMenuController {
 		
 		// TODO add action listeners
 		if (vault.isLocked()) {
-			MenuItem unlockItem = new MenuItem("TODO unlock");
+			MenuItem unlockItem = new MenuItem(resourceBundle.getString("traymenu.vault.unlock"));
 			unlockItem.addActionListener(createActionListenerForVault(vault, this::unlockVault));
 			submenu.add(unlockItem);
 		} else if (vault.isUnlocked()) {
-			MenuItem lockItem = new MenuItem("TODO lock");
+			MenuItem lockItem = new MenuItem(resourceBundle.getString("traymenu.vault.lock"));
 			submenu.add(lockItem);
 
-			MenuItem revealItem = new MenuItem("TODO reveal");
+			MenuItem revealItem = new MenuItem(resourceBundle.getString("traymenu.vault.reveal"));
 			submenu.add(revealItem);
 		}
 		

+ 9 - 0
main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuModule.java

@@ -1,10 +1,19 @@
 package org.cryptomator.ui.traymenu;
 
 import dagger.Module;
+import dagger.Provides;
 import org.cryptomator.common.JniModule;
 import org.cryptomator.ui.fxapp.FxApplicationComponent;
 
+import java.util.ResourceBundle;
+
 @Module(includes = {JniModule.class}, subcomponents = {FxApplicationComponent.class})
 abstract class TrayMenuModule {
 
+	@Provides
+	@TrayMenuScoped
+	static ResourceBundle provideLocalization() {
+		return ResourceBundle.getBundle("i18n.strings");
+	}
+
 }

+ 8 - 0
main/ui/src/main/resources/i18n/strings.properties

@@ -9,6 +9,14 @@ generic.button.create=Create
 generic.button.done=Done
 generic.button.next=Next
 
+# Tray Menu
+traymenu.showMainWindow=Show
+traymenu.showPreferencesWindow=Preferences
+traymenu.quitApplication=Quit
+traymenu.vault.unlock=Unlock
+traymenu.vault.lock=Lock
+traymenu.vault.reveal=Reveal
+
 # Add Vault Wizard
 addvaultwizard.title=Add Vault
 ## Welcome