diff --git a/forge-core/src/main/java/forge/util/Localizer.java b/forge-core/src/main/java/forge/util/Localizer.java index 60acb7e0b59..4fb78daf521 100644 --- a/forge-core/src/main/java/forge/util/Localizer.java +++ b/forge-core/src/main/java/forge/util/Localizer.java @@ -58,6 +58,14 @@ public class Localizer { return StandardCharsets.UTF_8.name(); } + public String getMessage(final String key, String defaultValue, final Object... messageArguments) { + try { + return getMessage(key, messageArguments); + } catch (Exception e) { + return defaultValue; + } + } + //FIXME: localizer should return default value from english locale or it will crash some GUI element like the NewGameMenu->NewGameScreen Popup when returned null... public String getMessage(final String key, final Object... messageArguments) { MessageFormat formatter = null; diff --git a/forge-gui-mobile/src/forge/screens/home/NewGameMenu.java b/forge-gui-mobile/src/forge/screens/home/NewGameMenu.java index 44ad3f5d7b8..d973d3a7dc9 100644 --- a/forge-gui-mobile/src/forge/screens/home/NewGameMenu.java +++ b/forge-gui-mobile/src/forge/screens/home/NewGameMenu.java @@ -24,13 +24,13 @@ public class NewGameMenu extends FPopupMenu { final static Localizer localizer = Localizer.getInstance(); public enum NewGameScreen { - Constructed(localizer.getMessage("lblConstructed"), FSkinImage.MENU_CONSTRUCTED, ConstructedScreen.class), - BoosterDraft(localizer.getMessage("lblBoosterDraft"), FSkinImage.MENU_DRAFT, NewDraftScreen.class), - SealedDeck(localizer.getMessage("lblSealedDeck"), FSkinImage.MENU_SEALED, NewSealedScreen.class), - QuestMode(localizer.getMessage("lblQuestMode"), FSkinImage.QUEST_ZEP, NewQuestScreen.class), - PuzzleMode(localizer.getMessage("lblPuzzleMode"), FSkinImage.MENU_PUZZLE, PuzzleScreen.class), - PlanarConquest(localizer.getMessage("lblPlanarConquest"), FSkinImage.MENU_GALAXY, NewConquestScreen.class), - Gauntlet(localizer.getMessage("lblGauntlet"), FSkinImage.MENU_GAUNTLET, NewGauntletScreen.class); + Constructed(localizer.getMessage("lblConstructed", "Constructed"), FSkinImage.MENU_CONSTRUCTED, ConstructedScreen.class), + BoosterDraft(localizer.getMessage("lblBoosterDraft", "Booster Draft"), FSkinImage.MENU_DRAFT, NewDraftScreen.class), + SealedDeck(localizer.getMessage("lblSealedDeck", "Sealed Deck"), FSkinImage.MENU_SEALED, NewSealedScreen.class), + QuestMode(localizer.getMessage("lblQuestMode", "Quest Mode"), FSkinImage.QUEST_ZEP, NewQuestScreen.class), + PuzzleMode(localizer.getMessage("lblPuzzleMode", "Puzzle Mode"), FSkinImage.MENU_PUZZLE, PuzzleScreen.class), + PlanarConquest(localizer.getMessage("lblPlanarConquest", "Planar Conquest"), FSkinImage.MENU_GALAXY, NewConquestScreen.class), + Gauntlet(localizer.getMessage("lblGauntlet", "Gauntlet"), FSkinImage.MENU_GAUNTLET, NewGauntletScreen.class); private final FMenuItem item; private final Class screenClass; @@ -51,7 +51,7 @@ public class NewGameMenu extends FPopupMenu { if (screen == null) { //don't initialize screen until it's opened the first time try { screen = screenClass.newInstance(); - screen.setHeaderCaption(localizer.getMessage("lblNewGame") + " - " + item.getText()); + screen.setHeaderCaption(localizer.getMessage("lblNewGame", "New Game") + " - " + item.getText()); } catch (Exception e) { e.printStackTrace();