Skip to content

Commit 905e4b0

Browse files
authored
Merge pull request #278 from rheimus/master
#266 Fix single part locale crash
2 parents 1c566ca + bfc7360 commit 905e4b0

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

src/main/java/com/superzanti/serversync/GUIJavaFX/PaneOptions.java

+6-7
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import javafx.scene.layout.GridPane;
1414
import javafx.scene.text.Font;
1515

16-
import java.io.File;
1716
import java.io.IOException;
1817
import java.util.Date;
1918
import java.util.Locale;
@@ -238,17 +237,17 @@ private void changeLanguage(String language) {
238237

239238
private void setDefaultComboxBox(){
240239
Locale locale = SyncConfig.getConfig().LOCALE;
241-
if (locale.equals(new Locale("en", "US"))) {
240+
if (locale.equals(new Locale("en", "US")) || locale.equals(new Locale("en"))) {
242241
comboBoxLanguage.getSelectionModel().select(ServerSync.strings.getString("language/english"));
243-
} else if (locale.equals(new Locale("es", "ES"))) {
242+
} else if (locale.equals(new Locale("es", "ES")) || locale.equals(new Locale("es"))) {
244243
comboBoxLanguage.getSelectionModel().select(ServerSync.strings.getString("language/spanish"));
245-
} else if (locale.equals(new Locale("fr", "FR"))) {
244+
} else if (locale.equals(new Locale("fr", "FR")) || locale.equals(new Locale("fr"))) {
246245
comboBoxLanguage.getSelectionModel().select(ServerSync.strings.getString("language/french"));
247-
} else if (locale.equals(new Locale("pl", "PL"))) {
246+
} else if (locale.equals(new Locale("pl", "PL")) || locale.equals(new Locale("pl"))) {
248247
comboBoxLanguage.getSelectionModel().select(ServerSync.strings.getString("language/polish"));
249-
} else if (locale.equals(new Locale("ru", "RU"))) {
248+
} else if (locale.equals(new Locale("ru", "RU")) || locale.equals(new Locale("ru"))) {
250249
comboBoxLanguage.getSelectionModel().select(ServerSync.strings.getString("language/russian"));
251-
} else if (locale.equals(new Locale("zh", "CN"))) {
250+
} else if (locale.equals(new Locale("zh", "CN")) || locale.equals(new Locale("zh"))) {
252251
comboBoxLanguage.getSelectionModel().select(ServerSync.strings.getString("language/chinese"));
253252
}
254253
}

src/main/java/com/superzanti/serversync/config/JsonConfig.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,17 @@ public static void forClient(Path json) throws IOException {
169169
hasMissingEntries = true;
170170
}
171171

172-
String[] localeParts = getString(misc, PROP_LOCALE, "en_US").split("_");
173-
config.LOCALE = new Locale(localeParts[0], localeParts[1]);
172+
String locale = getString(misc, PROP_LOCALE, "en_US");
173+
String[] localeParts = locale.split("_");
174+
if (localeParts.length == 1) {
175+
config.LOCALE = new Locale(localeParts[0]);
176+
}
177+
if (localeParts.length == 2) {
178+
config.LOCALE = new Locale(localeParts[0], localeParts[1]);
179+
}
180+
if (localeParts.length > 2) {
181+
Logger.error(String.format("Unknown locale pattern: %s", locale));
182+
}
174183
config.THEME = ETheme.valueOf(getString(misc, PROP_THEME, "BLUE_YELLOW"));
175184

176185
if (hasMissingEntries) {

0 commit comments

Comments
 (0)