Skip to content

Commit 10c73c0

Browse files
feat: Improve language action
Signed-off-by: unknowIfGuestInDream <liang.tang.cx@gmail.com>
1 parent b614527 commit 10c73c0

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

core/src/main/java/com/tlcsdm/core/javafx/controlsfx/ConfigLanguageAction.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,22 @@ public ConfigLanguageAction(LanguageType language, Consumer<Object> consumer) {
5151
return;
5252
}
5353
Config.set(Keys.Locale, Locale.SIMPLIFIED_CHINESE);
54+
Locale.setDefault(Locale.SIMPLIFIED_CHINESE);
55+
Config.defaultLocale = Locale.getDefault();
5456
} else if (LanguageType.ENGLISH.equals(language)) {
5557
if (Config.defaultLocale == Locale.ENGLISH) {
5658
return;
5759
}
5860
Config.set(Keys.Locale, Locale.ENGLISH);
61+
Locale.setDefault(Locale.ENGLISH);
62+
Config.defaultLocale = Locale.getDefault();
5963
} else if (LanguageType.JAPANESE.equals(language)) {
6064
if (Config.defaultLocale == Locale.JAPANESE) {
6165
return;
6266
}
6367
Config.set(Keys.Locale, Locale.JAPANESE);
68+
Locale.setDefault(Locale.JAPANESE);
69+
Config.defaultLocale = Locale.getDefault();
6470
}
6571
consumer.accept(null);
6672
});

core/src/main/java/com/tlcsdm/core/javafx/util/JavaFxSystemUtil.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,18 @@ public static void initSystemLocal() {
7979
if (StringUtils.isNotEmpty(localeString)) {
8080
localeString = localeString.toLowerCase();
8181
switch (localeString) {
82-
case "en", "en_us" -> Config.defaultLocale = Locale.ENGLISH;
83-
case "zh", "zh_cn" -> Config.defaultLocale = Locale.SIMPLIFIED_CHINESE;
84-
case "ja", "ja_jp" -> Config.defaultLocale = Locale.JAPANESE;
82+
case "en", "en_us" -> {
83+
Config.defaultLocale = Locale.ENGLISH;
84+
Locale.setDefault(Locale.ENGLISH);
85+
}
86+
case "zh", "zh_cn" -> {
87+
Config.defaultLocale = Locale.SIMPLIFIED_CHINESE;
88+
Locale.setDefault(Locale.SIMPLIFIED_CHINESE);
89+
}
90+
case "ja", "ja_jp" -> {
91+
Config.defaultLocale = Locale.JAPANESE;
92+
Locale.setDefault(Locale.JAPANESE);
93+
}
8594
default -> Config.defaultLocale = Locale.ENGLISH;
8695
}
8796
} else {

0 commit comments

Comments
 (0)