diff --git a/client/src/main/java/ru/trader/Main.java b/client/src/main/java/ru/trader/Main.java index ac84a34..9aae5d8 100644 --- a/client/src/main/java/ru/trader/Main.java +++ b/client/src/main/java/ru/trader/Main.java @@ -29,6 +29,10 @@ public class Main extends Application { public void start(Stage primaryStage) throws Exception { SETTINGS = new Settings(new File("profile.properties")); SETTINGS.load(); + Locale locale = SETTINGS.getLocale(); + if (locale != null){ + Localization.setLocale(locale); + } Main.primaryStage = primaryStage; loadMainScene(); loadResources(); diff --git a/client/src/main/java/ru/trader/Settings.java b/client/src/main/java/ru/trader/Settings.java index 7521ec6..c6e6363 100644 --- a/client/src/main/java/ru/trader/Settings.java +++ b/client/src/main/java/ru/trader/Settings.java @@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; import ru.trader.core.*; import java.io.*; +import java.util.Locale; import java.util.Properties; public class Settings { @@ -39,6 +40,15 @@ public class Settings { } } + public void setLocale(Locale locale){ + values.setProperty("locale", locale.toLanguageTag()); + } + + public Locale getLocale(){ + String locale = values.getProperty("locale"); + return locale != null ? Locale.forLanguageTag(locale): null; + } + public void setEMDNActive(boolean active){ values.setProperty("emdn.active", active ? "1":"0"); } diff --git a/client/src/main/java/ru/trader/view/support/Localization.java b/client/src/main/java/ru/trader/view/support/Localization.java index 683b25d..22bea19 100644 --- a/client/src/main/java/ru/trader/view/support/Localization.java +++ b/client/src/main/java/ru/trader/view/support/Localization.java @@ -21,7 +21,7 @@ public class Localization { static { - setLocale(Locale.getDefault()); + setLocale(getSupported(Locale.getDefault())); } private static Locale getSupported(Locale locale){ @@ -47,11 +47,12 @@ public class Localization { public static void setLocale(Locale locale){ Locale.setDefault(locale); Localization.locale = locale; + Main.SETTINGS.setLocale(locale); rb = getResources(locale); } public static ResourceBundle getResources(Locale locale){ - return ResourceBundle.getBundle("locale", getSupported(locale), loader); + return ResourceBundle.getBundle("locale", locale, loader); } public static ResourceBundle getResources(){