Merge branch 'mobile-translations02' into 'master'

Mobile: Translate Settings Page

See merge request core-developers/forge!2058
This commit is contained in:
swordshine
2019-09-11 07:06:58 +00:00
5 changed files with 328 additions and 127 deletions

View File

@@ -26,6 +26,7 @@ import forge.toolbox.FGroupList;
import forge.toolbox.FList; import forge.toolbox.FList;
import forge.toolbox.FOptionPane; import forge.toolbox.FOptionPane;
import forge.util.Callback; import forge.util.Callback;
import forge.util.Localizer;
import forge.util.Utils; import forge.util.Utils;
import java.util.ArrayList; import java.util.ArrayList;
@@ -38,28 +39,30 @@ public class SettingsPage extends TabPage<SettingsScreen> {
public SettingsPage() { public SettingsPage() {
super("Settings", FSkinImage.SETTINGS); super("Settings", FSkinImage.SETTINGS);
final Localizer localizer = Localizer.getInstance();
lstSettings.setListItemRenderer(new SettingRenderer()); lstSettings.setListItemRenderer(new SettingRenderer());
lstSettings.addGroup("General Settings"); lstSettings.addGroup(localizer.getMessage("lblGeneralSettings"));
lstSettings.addGroup("Gameplay Options"); lstSettings.addGroup(localizer.getMessage("lblGameplayOptions"));
lstSettings.addGroup("Random Deck Generation"); lstSettings.addGroup(localizer.getMessage("RandomDeckGeneration"));
lstSettings.addGroup("Advanced Settings"); lstSettings.addGroup(localizer.getMessage("AdvancedSettings"));
lstSettings.addGroup("Graphic Options"); lstSettings.addGroup(localizer.getMessage("GraphicOptions"));
lstSettings.addGroup("Card Overlays"); lstSettings.addGroup(localizer.getMessage("lblCardOverlays"));
lstSettings.addGroup("Vibration Options"); lstSettings.addGroup(localizer.getMessage("lblVibrationOptions"));
lstSettings.addGroup("Sound Options"); lstSettings.addGroup(localizer.getMessage("SoundOptions"));
//General Settings //General Settings
lstSettings.addItem(new CustomSelectSetting(FPref.UI_LANGUAGE, "Language", lstSettings.addItem(new CustomSelectSetting(FPref.UI_LANGUAGE, localizer.getMessage("cbpSelectLanguage"),
"Select Language (Excluded Game part. Still a work in progress) (RESTART REQUIRED)", localizer.getMessage("nlSelectLanguage"),
FLanguage.getAllLanguages()) { FLanguage.getAllLanguages()) {
@Override @Override
public void valueChanged(String newValue) { public void valueChanged(String newValue) {
FLanguage.changeLanguage(newValue); FLanguage.changeLanguage(newValue);
} }
}, 0); }, 0);
lstSettings.addItem(new CustomSelectSetting(FPref.UI_SKIN, "Theme", lstSettings.addItem(new CustomSelectSetting(FPref.UI_SKIN, localizer.getMessage("lblTheme"),
"Sets the theme that determines how display components are skinned.", localizer.getMessage("nlTheme"),
FSkin.getAllSkins()) { FSkin.getAllSkins()) {
@Override @Override
public void valueChanged(String newValue) { public void valueChanged(String newValue) {
@@ -67,15 +70,15 @@ public class SettingsPage extends TabPage<SettingsScreen> {
} }
}, 0); }, 0);
lstSettings.addItem(new BooleanSetting(FPref.UI_LANDSCAPE_MODE, lstSettings.addItem(new BooleanSetting(FPref.UI_LANDSCAPE_MODE,
"Landscape Mode", localizer.getMessage("lblLandscapeMode"),
"Use landscape (horizontal) orientation for app instead of portrait (vertical).") { localizer.getMessage("nlLandscapeMode")) {
@Override @Override
public void select() { public void select() {
super.select(); super.select();
boolean landscapeMode = FModel.getPreferences().getPrefBoolean(FPref.UI_LANDSCAPE_MODE); boolean landscapeMode = FModel.getPreferences().getPrefBoolean(FPref.UI_LANDSCAPE_MODE);
Forge.getDeviceAdapter().setLandscapeMode(landscapeMode); //ensure device able to save off ini file so landscape change takes effect Forge.getDeviceAdapter().setLandscapeMode(landscapeMode); //ensure device able to save off ini file so landscape change takes effect
if (Forge.isLandscapeMode() != landscapeMode) { if (Forge.isLandscapeMode() != landscapeMode) {
FOptionPane.showConfirmDialog("You must restart Forge for this change to take effect.", "Restart Forge", "Restart", "Later", new Callback<Boolean>() { FOptionPane.showConfirmDialog(localizer.getMessage("lblRestartForgeDescription"), localizer.getMessage("lblRestartForge"), "Restart", localizer.getMessage("lblLater"), new Callback<Boolean>() {
@Override @Override
public void run(Boolean result) { public void run(Boolean result) {
if (result) { if (result) {
@@ -87,17 +90,17 @@ public class SettingsPage extends TabPage<SettingsScreen> {
} }
}, 0); }, 0);
lstSettings.addItem(new BooleanSetting(FPref.UI_ANDROID_MINIMIZE_ON_SCRLOCK, lstSettings.addItem(new BooleanSetting(FPref.UI_ANDROID_MINIMIZE_ON_SCRLOCK,
"Minimize on Screen Lock", localizer.getMessage("lblMinimizeScreenLock"),
"Minimize Forge when screen is locked (enable if you experience graphic glitches after locking your screen)."), localizer.getMessage("nlMinimizeScreenLock")),
0); 0);
lstSettings.addItem(new BooleanSetting(FPref.USE_SENTRY, lstSettings.addItem(new BooleanSetting(FPref.USE_SENTRY,
"Automatic Bug Reports", localizer.getMessage("lblAutomaticBugReports"),
"Automatically send bug reports to the developers, without prompting."), localizer.getMessage("nlAutomaticBugReports")),
0); 0);
//Gameplay Options //Gameplay Options
lstSettings.addItem(new CustomSelectSetting(FPref.MULLIGAN_RULE, "Mulligan Rule", lstSettings.addItem(new CustomSelectSetting(FPref.MULLIGAN_RULE, localizer.getMessage("cbpMulliganRule"),
"Choose the version of the Mulligan rule.", localizer.getMessage("nlpMulliganRule"),
MulliganDefs.getMulliganRuleNames()) { MulliganDefs.getMulliganRuleNames()) {
@Override @Override
public void valueChanged(String newValue) { public void valueChanged(String newValue) {
@@ -107,108 +110,108 @@ public class SettingsPage extends TabPage<SettingsScreen> {
}, 1); }, 1);
lstSettings.addItem(new CustomSelectSetting(FPref.UI_CURRENT_AI_PROFILE, lstSettings.addItem(new CustomSelectSetting(FPref.UI_CURRENT_AI_PROFILE,
"AI Personality", "AI Personality",
"Choose your AI opponent.", localizer.getMessage("nlpAiProfiles"),
AiProfileUtil.getProfilesArray()), AiProfileUtil.getProfilesArray()),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_ANTE, lstSettings.addItem(new BooleanSetting(FPref.UI_ANTE,
"Play for Ante", localizer.getMessage("cbAnte"),
"Determines whether or not the game is played for ante."), localizer.getMessage("nlAnte")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_ANTE_MATCH_RARITY, lstSettings.addItem(new BooleanSetting(FPref.UI_ANTE_MATCH_RARITY,
"Match Ante Rarity", localizer.getMessage("cbAnteMatchRarity"),
"Attempts to make antes the same rarity for all players."), localizer.getMessage("nlAnteMatchRarity")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.MATCH_HOT_SEAT_MODE, lstSettings.addItem(new BooleanSetting(FPref.MATCH_HOT_SEAT_MODE,
"Hot Seat Mode", localizer.getMessage("lblHotSeatMode"),
"When starting a game with 2 human players, use single prompt to control both players."), localizer.getMessage("nlHotSeatMode")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_AI_CHEATS, lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_AI_CHEATS,
"Allow AI Cheating", localizer.getMessage("cbEnableAICheats"),
"Allow the AI to cheat to gain advantage (for personalities that have cheat shuffling options set)."), localizer.getMessage("nlEnableAICheats")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_MANABURN, lstSettings.addItem(new BooleanSetting(FPref.UI_MANABURN,
"Mana Burn", localizer.getMessage("cbManaBurn"),
"Play with mana burn (from pre-Magic 2010 rules)."), localizer.getMessage("nlManaBurn")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_MANA_LOST_PROMPT, lstSettings.addItem(new BooleanSetting(FPref.UI_MANA_LOST_PROMPT,
"Prompt Mana Pool Emptying", localizer.getMessage("cbManaLostPrompt"),
"When enabled, you get a warning if passing priority would cause you to lose mana in your mana pool."), localizer.getMessage("nlManaLostPrompt")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.ENFORCE_DECK_LEGALITY, lstSettings.addItem(new BooleanSetting(FPref.ENFORCE_DECK_LEGALITY,
"Deck Conformance", localizer.getMessage("cbEnforceDeckLegality"),
"Enforces deck legality relevant to each environment (minimum deck sizes, max card count etc)."), localizer.getMessage("nlEnforceDeckLegality")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.PERFORMANCE_MODE, lstSettings.addItem(new BooleanSetting(FPref.PERFORMANCE_MODE,
"Performance Mode", localizer.getMessage("cbPerformanceMode"),
"Disables additional static abilities checks to speed up the game engine. (Warning: breaks some 'as if had flash' scenarios when casting cards owned by opponents)."), localizer.getMessage("nlPerformanceMode")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.MATCH_SIDEBOARD_FOR_AI, lstSettings.addItem(new BooleanSetting(FPref.MATCH_SIDEBOARD_FOR_AI,
"Human Sideboard for AI", localizer.getMessage("cbSideboardForAI"),
"Allows users to sideboard with the AIs deck and sideboard in constructed game formats."), localizer.getMessage("nlSideboardForAI")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.FILTERED_HANDS, lstSettings.addItem(new BooleanSetting(FPref.FILTERED_HANDS,
"Filtered Hands", localizer.getMessage("cbFilteredHands"),
"Generates two starting hands and keeps the one with the closest to average land count for the deck. (Requires restart)"), localizer.getMessage("nlFilteredHands")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_CLONE_MODE_SOURCE, lstSettings.addItem(new BooleanSetting(FPref.UI_CLONE_MODE_SOURCE,
"Clones Use Original Card Art", localizer.getMessage("cbCloneImgSource"),
"When enabled clones will use their original art instead of the cloned card's art."), localizer.getMessage("nlCloneImgSource")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.MATCHPREF_PROMPT_FREE_BLOCKS, lstSettings.addItem(new BooleanSetting(FPref.MATCHPREF_PROMPT_FREE_BLOCKS,
"Free Block Handling", localizer.getMessage("cbPromptFreeBlocks"),
"When enabled, if you would have to pay 0 to block, pay automatically without prompt."), localizer.getMessage("nlPromptFreeBlocks")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_DETAILED_SPELLDESC_IN_PROMPT, lstSettings.addItem(new BooleanSetting(FPref.UI_DETAILED_SPELLDESC_IN_PROMPT,
"Spell Description in Payment Prompt", localizer.getMessage("cbDetailedPaymentDesc"),
"When enabled, detailed spell/ability descriptions are shown when choosing targets and paying costs."), localizer.getMessage("nlDetailedPaymentDesc")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_SHOW_STORM_COUNT_IN_PROMPT, lstSettings.addItem(new BooleanSetting(FPref.UI_SHOW_STORM_COUNT_IN_PROMPT,
"Show Storm Count in Prompt Panel", localizer.getMessage("cbShowStormCount"),
"When enabled, displays the current storm count in the prompt panel."), localizer.getMessage("nlShowStormCount")),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_PRESELECT_PREVIOUS_ABILITY_ORDER, lstSettings.addItem(new BooleanSetting(FPref.UI_PRESELECT_PREVIOUS_ABILITY_ORDER,
"Preselect Last Order of Abilities", localizer.getMessage("cbPreselectPrevAbOrder"),
"When enabled, preselects the last defined simultaneous ability order in the ordering dialog."), localizer.getMessage("nlPreselectPrevAbOrder")),
1); 1);
lstSettings.addItem(new CustomSelectSetting(FPref.UI_ALLOW_ORDER_GRAVEYARD_WHEN_NEEDED, lstSettings.addItem(new CustomSelectSetting(FPref.UI_ALLOW_ORDER_GRAVEYARD_WHEN_NEEDED,
"Order Graveyard", localizer.getMessage("lblOrderGraveyard"),
"Determines when to allow to order cards going to graveyard (never/always/only with relevant cards).", localizer.getMessage("nlOrderGraveyard"),
new String[]{ new String[]{
ForgeConstants.GRAVEYARD_ORDERING_NEVER, ForgeConstants.GRAVEYARD_ORDERING_OWN_CARDS, ForgeConstants.GRAVEYARD_ORDERING_NEVER, ForgeConstants.GRAVEYARD_ORDERING_OWN_CARDS,
ForgeConstants.GRAVEYARD_ORDERING_ALWAYS}), ForgeConstants.GRAVEYARD_ORDERING_ALWAYS}),
1); 1);
lstSettings.addItem(new CustomSelectSetting(FPref.UI_AUTO_YIELD_MODE, lstSettings.addItem(new CustomSelectSetting(FPref.UI_AUTO_YIELD_MODE,
"Auto-Yield", localizer.getMessage("lblAutoYields"),
"Defines the granularity level of auto-yields (yield to each unique ability or to each unique card).", localizer.getMessage("nlpAutoYieldMode"),
new String[]{ForgeConstants.AUTO_YIELD_PER_ABILITY, ForgeConstants.AUTO_YIELD_PER_CARD}), new String[]{ForgeConstants.AUTO_YIELD_PER_ABILITY, ForgeConstants.AUTO_YIELD_PER_CARD}),
1); 1);
lstSettings.addItem(new BooleanSetting(FPref.UI_ALLOW_ESC_TO_END_TURN, lstSettings.addItem(new BooleanSetting(FPref.UI_ALLOW_ESC_TO_END_TURN,
"Use Escape Key To End Turn", localizer.getMessage("cbEscapeEndsTurn"),
"Allows to use Esc keyboard shortcut to end turn prematurely"), localizer.getMessage("nlEscapeEndsTurn")),
1); 1);
//Random Deck Generation //Random Deck Generation
lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_NOSMALL, lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_NOSMALL,
"Remove Small Creatures", localizer.getMessage("cbRemoveSmall"),
"Disables 1/1 and 0/X creatures in generated decks."), localizer.getMessage("nlRemoveSmall")),
2); 2);
lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_CARDBASED, lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_CARDBASED,
"Include Card-based Deck Generation", localizer.getMessage("cbCardBased"),
"Builds more synergistic random decks"), localizer.getMessage("nlCardBased")),
2); 2);
lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_SINGLETONS, lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_SINGLETONS,
"Singleton Mode", localizer.getMessage("cbSingletons"),
"Disables non-land duplicates in generated decks."), localizer.getMessage("nlSingletons")),
2); 2);
lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_ARTIFACTS, lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_ARTIFACTS,
"Remove Artifacts", localizer.getMessage("cbRemoveArtifacts"),
"Disables artifact cards in generated decks."), localizer.getMessage("nlRemoveArtifacts")),
2); 2);
//Advanced Settings //Advanced Settings
lstSettings.addItem(new BooleanSetting(FPref.DEV_MODE_ENABLED, lstSettings.addItem(new BooleanSetting(FPref.DEV_MODE_ENABLED,
"Developer Mode", localizer.getMessage("cbDevMode"),
"Enables menu with functions for testing during development.") { localizer.getMessage("nlDevMode")) {
@Override @Override
public void select() { public void select() {
super.select(); super.select();
@@ -217,37 +220,39 @@ public class SettingsPage extends TabPage<SettingsScreen> {
} }
}, 3); }, 3);
lstSettings.addItem(new CustomSelectSetting(FPref.DEV_LOG_ENTRY_TYPE, lstSettings.addItem(new CustomSelectSetting(FPref.DEV_LOG_ENTRY_TYPE,
"Game Log Verbosity", localizer.getMessage("cbpGameLogEntryType"),
"Changes how much information is displayed in the game log. Sorted by least to most verbose.", localizer.getMessage("nlGameLogEntryType"),
GameLogEntryType.class), GameLogEntryType.class),
3); 3);
lstSettings.addItem(new BooleanSetting(FPref.LOAD_CARD_SCRIPTS_LAZILY, lstSettings.addItem(new BooleanSetting(FPref.LOAD_CARD_SCRIPTS_LAZILY,
"Load Card Scripts Lazily", localizer.getMessage("cbLoadCardsLazily"),
"If turned on, Forge will load card scripts as they're needed instead of at start up. (Warning: Experimental)"), 3); localizer.getMessage("nlLoadCardsLazily")),
3);
lstSettings.addItem(new BooleanSetting(FPref.LOAD_HISTORIC_FORMATS, lstSettings.addItem(new BooleanSetting(FPref.LOAD_HISTORIC_FORMATS,
"Load Historic Formats", localizer.getMessage("cbLoadHistoricFormats"),
"If turned on, Forge will load all historic format definitions, this may take slightly longer to load at startup."), 3); localizer.getMessage("nlLoadHistoricFormats")),
3);
//Graphic Options //Graphic Options
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_ONLINE_IMAGE_FETCHER, lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_ONLINE_IMAGE_FETCHER,
"Download missing card art", localizer.getMessage("cbImageFetcher"),
"Automatically download missing card art"), localizer.getMessage("nlImageFetcher")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_FOIL_EFFECT, lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_FOIL_EFFECT,
"Display Foil Overlay", localizer.getMessage("cbDisplayFoil"),
"Displays foil cards with the visual foil overlay effect."), localizer.getMessage("nlDisplayFoil")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_RANDOM_FOIL, lstSettings.addItem(new BooleanSetting(FPref.UI_RANDOM_FOIL,
"Random Foil", localizer.getMessage("cbRandomFoil"),
"Adds foil effect to random cards."), localizer.getMessage("nlRandomFoil")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_RANDOM_ART_IN_POOLS, lstSettings.addItem(new BooleanSetting(FPref.UI_RANDOM_ART_IN_POOLS,
"Randomize Card Art", localizer.getMessage("cbRandomArtInPools"),
"Generates cards with random art in generated limited mode card pools."), localizer.getMessage("nlRandomArtInPools")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_COMPACT_TABS, lstSettings.addItem(new BooleanSetting(FPref.UI_COMPACT_TABS,
"Compact Tabs", localizer.getMessage("lblCompactTabs"),
"Show smaller tabs on the top of tab page screens (such as this screen).") { localizer.getMessage("nlCompactTabs")) {
@Override @Override
public void select() { public void select() {
super.select(); super.select();
@@ -257,49 +262,49 @@ public class SettingsPage extends TabPage<SettingsScreen> {
} }
}, 4); }, 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_COMPACT_LIST_ITEMS, lstSettings.addItem(new BooleanSetting(FPref.UI_COMPACT_LIST_ITEMS,
"Compact List Items", localizer.getMessage("lblCompactListItems"),
"Show only a single line of text for cards and decks on all list views by default."), localizer.getMessage("nlCompactListItems")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_HIDE_REMINDER_TEXT, lstSettings.addItem(new BooleanSetting(FPref.UI_HIDE_REMINDER_TEXT,
"Hide Reminder Text", localizer.getMessage("cbHideReminderText"),
"Hide reminder text in Card Detail pane."), localizer.getMessage("nlHideReminderText")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_MATCH_IMAGE_VISIBLE, lstSettings.addItem(new BooleanSetting(FPref.UI_MATCH_IMAGE_VISIBLE,
"Show Match Background", localizer.getMessage("lblShowMatchBackground"),
"Show match background image on battlefield, otherwise background texture shown instead."), localizer.getMessage("nlShowMatchBackground")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_LIBGDX_TEXTURE_FILTERING, lstSettings.addItem(new BooleanSetting(FPref.UI_LIBGDX_TEXTURE_FILTERING,
"Battlefield Texture Filtering", localizer.getMessage("lblBattlefieldTextureFiltering"),
"Filter card art on battlefield to make it less pixelated on large screens (restart required, may reduce performance)."), localizer.getMessage("nlBattlefieldTextureFiltering")),
4); 4);
lstSettings.addItem(new CustomSelectSetting(FPref.UI_DISPLAY_CURRENT_COLORS, lstSettings.addItem(new CustomSelectSetting(FPref.UI_DISPLAY_CURRENT_COLORS,
"Detailed Card Color", localizer.getMessage("cbpDisplayCurrentCardColors"),
"Displays the breakdown of the current color of cards in the card detail information panel.", localizer.getMessage("nlDisplayCurrentCardColors"),
new String[]{ new String[]{
ForgeConstants.DISP_CURRENT_COLORS_NEVER, ForgeConstants.DISP_CURRENT_COLORS_MULTICOLOR, ForgeConstants.DISP_CURRENT_COLORS_NEVER, ForgeConstants.DISP_CURRENT_COLORS_MULTICOLOR,
ForgeConstants.DISP_CURRENT_COLORS_CHANGED, ForgeConstants.DISP_CURRENT_COLORS_MULTI_OR_CHANGED, ForgeConstants.DISP_CURRENT_COLORS_CHANGED, ForgeConstants.DISP_CURRENT_COLORS_MULTI_OR_CHANGED,
ForgeConstants.DISP_CURRENT_COLORS_ALWAYS}), ForgeConstants.DISP_CURRENT_COLORS_ALWAYS}),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_ROTATE_SPLIT_CARDS, lstSettings.addItem(new BooleanSetting(FPref.UI_ROTATE_SPLIT_CARDS,
"Rotate Zoom Image of Split Cards", localizer.getMessage("lblRotateZoomSplit"),
"Rotates the zoomed image of split cards."), localizer.getMessage("nlRotateZoomSplit")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_ROTATE_PLANE_OR_PHENOMENON, lstSettings.addItem(new BooleanSetting(FPref.UI_ROTATE_PLANE_OR_PHENOMENON,
"Rotate Zoom Image of Planes/Phenomena", localizer.getMessage("lblRotateZoomPlanesPhenomena"),
"Rotates the zoomed image of Plane or Phenomenon cards."), localizer.getMessage("nlRotateZoomPlanesPhenomena")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_DYNAMIC_PLANECHASE_BG, lstSettings.addItem(new BooleanSetting(FPref.UI_DYNAMIC_PLANECHASE_BG,
"Dynamic Background Planechase", localizer.getMessage("lblDynamicBackgroundPlanechase"),
"Use current plane images as background (Planes Card images must be on the cache/pics/planechase folder)."), localizer.getMessage("nlDynamicBackgroundPlanechase")),
4); 4);
lstSettings.addItem(new BooleanSetting(FPref.UI_DISABLE_IMAGES_EFFECT_CARDS, lstSettings.addItem(new BooleanSetting(FPref.UI_DISABLE_IMAGES_EFFECT_CARDS,
"Disable Card 'Effect' Images", localizer.getMessage("lblDisableCardEffect"),
"Disable the zoomed image for the 'Effect' cards."), localizer.getMessage("nlDisableCardEffect")),
4); 4);
lstSettings.addItem(new CustomSelectSetting(FPref.UI_CARD_COUNTER_DISPLAY_TYPE, lstSettings.addItem(new CustomSelectSetting(FPref.UI_CARD_COUNTER_DISPLAY_TYPE,
"Counter Display Type", localizer.getMessage("cbpCounterDisplayType"),
"Selects the style of the in-game counter display for cards. Text-based is a new tab-like display on the cards. Image-based is the old counter image. Hybrid displays both at once.", localizer.getMessage("nlCounterDisplayType"),
new String[]{ new String[]{
ForgeConstants.CounterDisplayType.TEXT.getName(), ForgeConstants.CounterDisplayType.IMAGE.getName(), ForgeConstants.CounterDisplayType.TEXT.getName(), ForgeConstants.CounterDisplayType.IMAGE.getName(),
ForgeConstants.CounterDisplayType.HYBRID.getName(), ForgeConstants.CounterDisplayType.OLD_WHEN_SMALL.getName()}), ForgeConstants.CounterDisplayType.HYBRID.getName(), ForgeConstants.CounterDisplayType.OLD_WHEN_SMALL.getName()}),
@@ -307,44 +312,44 @@ public class SettingsPage extends TabPage<SettingsScreen> {
//Card Overlays //Card Overlays
lstSettings.addItem(new BooleanSetting(FPref.UI_SHOW_CARD_OVERLAYS, lstSettings.addItem(new BooleanSetting(FPref.UI_SHOW_CARD_OVERLAYS,
"Show Card Overlays", localizer.getMessage("lblShowCardOverlays"),
"Show name, mana cost, p/t, and id overlays for cards, otherwise they're hidden."), localizer.getMessage("nlShowCardOverlays")),
5); 5);
lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_NAME, lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_NAME,
"Show Card Name Overlays", localizer.getMessage("lblShowCardNameOverlays"),
"Show name overlays for cards, otherwise they're hidden."), localizer.getMessage("nlShowCardNameOverlays")),
5); 5);
lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_MANA_COST, lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_MANA_COST,
"Show Card Mana Cost Overlays", localizer.getMessage("lblShowCardManaCostOverlays"),
"Show mana cost overlays for cards, otherwise they're hidden."), localizer.getMessage("nlShowCardManaCostOverlays")),
5); 5);
lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_POWER, lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_POWER,
"Show Card P/T Overlays", localizer.getMessage("lblShowCardPTOverlays"),
"Show power/toughness/loyalty overlays for cards, otherwise they're hidden."), localizer.getMessage("nlShowCardPTOverlays")),
5); 5);
lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_ID, lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_ID,
"Show Card ID Overlays", localizer.getMessage("lblShowCardIDOverlays"),
"Show id overlays for cards, otherwise they're hidden."), localizer.getMessage("nlShowCardIDOverlays")),
5); 5);
//Vibration Options //Vibration Options
lstSettings.addItem(new BooleanSetting(FPref.UI_VIBRATE_ON_LIFE_LOSS, lstSettings.addItem(new BooleanSetting(FPref.UI_VIBRATE_ON_LIFE_LOSS,
"Vibrate When Losing Life", localizer.getMessage("lblVibrateWhenLosingLife"),
"Enable vibration when your player loses life or takes damage during a game."), localizer.getMessage("nlVibrateWhenLosingLife")),
6); 6);
lstSettings.addItem(new BooleanSetting(FPref.UI_VIBRATE_ON_LONG_PRESS, lstSettings.addItem(new BooleanSetting(FPref.UI_VIBRATE_ON_LONG_PRESS,
"Vibrate After Long Press", localizer.getMessage("lblVibrateAfterLongPress"),
"Enable quick vibration to signify a long press, such as for card zooming."), localizer.getMessage("nlVibrateAfterLongPress")),
6); 6);
//Sound Options //Sound Options
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_SOUNDS, lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_SOUNDS,
"Enable Sounds", localizer.getMessage("cbEnableSounds"),
"Enable sound effects during the game."), localizer.getMessage("nlEnableSounds")),
7); 7);
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_MUSIC, lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_MUSIC,
"Enable Music", localizer.getMessage("cbEnableMusic"),
"Enable background music during the game.") { localizer.getMessage("nlEnableMusic")) {
@Override @Override
public void select() { public void select() {
super.select(); super.select();

View File

@@ -888,3 +888,52 @@ lblNewGame=Neues Spiel
lblLoadGame=Spiel laden lblLoadGame=Spiel laden
lblPlayOnline=Online spielen lblPlayOnline=Online spielen
lblSettings=Spieleinstellungen lblSettings=Spieleinstellungen
#SettingsPage.java
lblAutomaticBugReports=Automatic Bug Reports
lblBattlefieldTextureFiltering=Battlefield Texture Filtering
lblCompactListItems=Compact List Items
lblCompactTabs=Compact Tabs
lblCardOverlays=Card Overlays
lblDisableCardEffect=Disable Card 'Effect' Images
lblDynamicBackgroundPlanechase=Dynamic Background Planechase
lblGameplayOptions=Gameplay Options
lblGeneralSettings=General Settings
lblHotSeatMode=Hot Seat Mode
lblLandscapeMode=Landscape Mode
lblLater=Later
lblMinimizeScreenLock=Minimize on Screen Lock
lblOrderGraveyard=Order Graveyard
lblRestartForge=Restart Forge
lblRestartForgeDescription=You must restart Forge for this change to take effect.
lblRotateZoomPlanesPhenomena=Rotate Zoom Image of Planes/Phenomena
lblRotateZoomSplit=Rotate Zoom Image of Split Cards
lblShowCardIDOverlays=Show Card ID Overlays
lblShowCardManaCostOverlays=Show Card Mana Cost Overlays
lblShowCardNameOverlays=Show Card Name Overlays
lblShowCardOverlays=Show Card Overlays
lblShowCardPTOverlays=Show Card P/T Overlays
lblShowMatchBackground=Show Match Background
lblVibrateAfterLongPress=Vibrate After Long Press
lblVibrateWhenLosingLife=Vibrate When Losing Life
lblVibrationOptions=Vibration Options
nlAutomaticBugReports=Automatically send bug reports to the developers, without prompting.
nlBattlefieldTextureFiltering=Filter card art on battlefield to make it less pixelated on large screens (restart required, may reduce performance).
nlCompactListItems=Show only a single line of text for cards and decks on all list views by default.
nlCompactTabs=Show smaller tabs on the top of tab page screens (such as this screen).
nlDisableCardEffect=Disable the zoomed image for the 'Effect' cards.
nlDynamicBackgroundPlanechase=Use current plane images as background (Planes Card images must be on the cache/pics/planechase folder).
nlHotSeatMode=When starting a game with 2 human players, use single prompt to control both players.
nlLandscapeMode=Use landscape (horizontal) orientation for app instead of portrait (vertical).
nlMinimizeScreenLock=Minimize Forge when screen is locked (enable if you experience graphic glitches after locking your screen).
nlOrderGraveyard=Determines when to allow to order cards going to graveyard (never/always/only with relevant cards).
nlRotateZoomPlanesPhenomena=Rotates the zoomed image of Plane or Phenomenon cards.
nlRotateZoomSplit=Rotates the zoomed image of split cards.
nlShowCardIDOverlays=Show id overlays for cards, otherwise they're hidden.
nlShowCardManaCostOverlays=Show mana cost overlays for cards, otherwise they're hidden.
nlShowCardNameOverlays=Show name overlays for cards, otherwise they're hidden.
nlShowCardOverlays=Show name, mana cost, p/t, and id overlays for cards, otherwise they're hidden.
nlShowCardPTOverlays=Show power/toughness/loyalty overlays for cards, otherwise they're hidden.
nlShowMatchBackground=Show match background image on battlefield, otherwise background texture shown instead.
nlTheme=Sets the theme that determines how display components are skinned.
nlVibrateAfterLongPress=Enable quick vibration to signify a long press, such as for card zooming.
nlVibrateWhenLosingLife=Enable vibration when your player loses life or takes damage during a game.

View File

@@ -888,3 +888,52 @@ lblNewGame=New Game
lblLoadGame=Load Game lblLoadGame=Load Game
lblPlayOnline=Play Online lblPlayOnline=Play Online
lblSettings=Settings lblSettings=Settings
#SettingsPage.java
lblAutomaticBugReports=Automatic Bug Reports
lblBattlefieldTextureFiltering=Battlefield Texture Filtering
lblCompactListItems=Compact List Items
lblCompactTabs=Compact Tabs
lblCardOverlays=Card Overlays
lblDisableCardEffect=Disable Card 'Effect' Images
lblDynamicBackgroundPlanechase=Dynamic Background Planechase
lblGameplayOptions=Gameplay Options
lblGeneralSettings=General Settings
lblHotSeatMode=Hot Seat Mode
lblLandscapeMode=Landscape Mode
lblLater=Later
lblMinimizeScreenLock=Minimize on Screen Lock
lblOrderGraveyard=Order Graveyard
lblRestartForge=Restart Forge
lblRestartForgeDescription=You must restart Forge for this change to take effect.
lblRotateZoomPlanesPhenomena=Rotate Zoom Image of Planes/Phenomena
lblRotateZoomSplit=Rotate Zoom Image of Split Cards
lblShowCardIDOverlays=Show Card ID Overlays
lblShowCardManaCostOverlays=Show Card Mana Cost Overlays
lblShowCardNameOverlays=Show Card Name Overlays
lblShowCardOverlays=Show Card Overlays
lblShowCardPTOverlays=Show Card P/T Overlays
lblShowMatchBackground=Show Match Background
lblVibrateAfterLongPress=Vibrate After Long Press
lblVibrateWhenLosingLife=Vibrate When Losing Life
lblVibrationOptions=Vibration Options
nlAutomaticBugReports=Automatically send bug reports to the developers, without prompting.
nlBattlefieldTextureFiltering=Filter card art on battlefield to make it less pixelated on large screens (restart required, may reduce performance).
nlCompactListItems=Show only a single line of text for cards and decks on all list views by default.
nlCompactTabs=Show smaller tabs on the top of tab page screens (such as this screen).
nlDisableCardEffect=Disable the zoomed image for the 'Effect' cards.
nlDynamicBackgroundPlanechase=Use current plane images as background (Planes Card images must be on the cache/pics/planechase folder).
nlHotSeatMode=When starting a game with 2 human players, use single prompt to control both players.
nlLandscapeMode=Use landscape (horizontal) orientation for app instead of portrait (vertical).
nlMinimizeScreenLock=Minimize Forge when screen is locked (enable if you experience graphic glitches after locking your screen).
nlOrderGraveyard=Determines when to allow to order cards going to graveyard (never/always/only with relevant cards).
nlRotateZoomPlanesPhenomena=Rotates the zoomed image of Plane or Phenomenon cards.
nlRotateZoomSplit=Rotates the zoomed image of split cards.
nlShowCardIDOverlays=Show id overlays for cards, otherwise they're hidden.
nlShowCardManaCostOverlays=Show mana cost overlays for cards, otherwise they're hidden.
nlShowCardNameOverlays=Show name overlays for cards, otherwise they're hidden.
nlShowCardOverlays=Show name, mana cost, p/t, and id overlays for cards, otherwise they're hidden.
nlShowCardPTOverlays=Show power/toughness/loyalty overlays for cards, otherwise they're hidden.
nlShowMatchBackground=Show match background image on battlefield, otherwise background texture shown instead.
nlTheme=Sets the theme that determines how display components are skinned.
nlVibrateAfterLongPress=Enable quick vibration to signify a long press, such as for card zooming.
nlVibrateWhenLosingLife=Enable vibration when your player loses life or takes damage during a game.

View File

@@ -153,7 +153,7 @@ GraphicOptions=Opciones gráficas
nlDefaultFontSize=El tamaño de fuente predeterminado dentro de la interfaz de usuario. Todos los elementos de fuente se escalan en relación a esto. (Necesita reinicio) nlDefaultFontSize=El tamaño de fuente predeterminado dentro de la interfaz de usuario. Todos los elementos de fuente se escalan en relación a esto. (Necesita reinicio)
cbpMulliganRule=Regla de Mulligan cbpMulliganRule=Regla de Mulligan
nlImageFetcher=Permite la descarga instantánea de imágenes de cartas faltantes. nlImageFetcher=Permite la descarga instantánea de imágenes de cartas faltantes.
nlDisplayFoil=Mostrar cartas foil con un capa que da efecto foil sobre la carta nlDisplayFoil=Mostrar cartas foil con un capa que da efecto foil sobre la carta
nlRandomFoil=Agrega efecto de foil a cartas aleatorias. nlRandomFoil=Agrega efecto de foil a cartas aleatorias.
nlScaleLarger=Permite que las imágenes de las cartas se amplíen más que su tamaño original. nlScaleLarger=Permite que las imágenes de las cartas se amplíen más que su tamaño original.
nlRenderBlackCardBorders=Hacer bordes negros alrededor de las imágenes de las cartas. nlRenderBlackCardBorders=Hacer bordes negros alrededor de las imágenes de las cartas.
@@ -888,3 +888,52 @@ lblNewGame=Nueva partida
lblLoadGame=Cargar partida lblLoadGame=Cargar partida
lblPlayOnline=Jugar en linea lblPlayOnline=Jugar en linea
lblSettings=Configuración lblSettings=Configuración
#SettingsPage.java
lblAutomaticBugReports=Informes automáticos de errores
lblBattlefieldTextureFiltering=Filtrado de la Textura del Campo de batalla
lblCompactListItems=Items de la lista compactos
lblCompactTabs=Pestañas compactas
lblCardOverlays=Superposiciones de las cartas
lblDisableCardEffect=Desactivar las imágenes de 'Efecto' de las cartas
lblDynamicBackgroundPlanechase=Fondo Dinámico Planechase
lblGameplayOptions=Opciones de Juego
lblGeneralSettings=Configuración general
lblHotSeatMode=Modo de Silla Caliente
lblLandscapeMode=Modo apaisado
lblLater=Más tarde
lblMinimizeScreenLock=Minimizar al bloquear la pantalla
lblOrderGraveyard=Orden del Cementerio
lblRestartForge=Reiniciar Forge
lblRestartForgeDescription=Debes reiniciar Forge para que este cambio surta efecto.
lblRotateZoomPlanesPhenomena=Girar la imagen ampliada de Planos/Fenómenos
lblRotateZoomSplit=Girar la imagen ampliada de las tarjetas divididas
lblShowCardIDOverlays=Mostrar superposiciones de identificador de carta
lblShowCardManaCostOverlays=Mostrar superposiciones de costes de maná de cartas
lblShowCardNameOverlays=Mostrar superposiciones de nombres de cartas
lblShowCardOverlays=Mostrar superposiciones de cartas
lblShowCardPTOverlays=Mostrar la superposición en la carta de P/T
lblShowMatchBackground=Mostrar el fondo de la partida
lblVibrateAfterLongPress=Vibrar después de una pulsación larga
lblVibrateWhenLosingLife=Vibrar al perder vida
lblVibrationOptions=Opciones de Vibración
nlAutomaticBugReports=Envía automáticamente informes de errores a los desarrolladores, sin preguntar.
nlBattlefieldTextureFiltering=Filtra el arte de la carta en el campo de batalla para que sea menos pixelada en pantallas grandes (se requiere reiniciar, puede reducir el rendimiento).
nlCompactListItems=Muestra de forma predeterminada solo una línea de texto para las cartas y mazos en todas las vistas de lista.
nlCompactTabs=Muestra pestañas más pequeñas en la parte superior de las pantallas de la página de pestañas (como esta pantalla).
nlDisableCardEffect=Deshabilita la imagen ampliada para las tarjetas 'Efecto'.
nlDynamicBackgroundPlanechase=Utiliza las imágenes de Planos actuales como fondo (las imágenes de los Planos deben estar en la carpeta cache/pics/planechase).
nlHotSeatMode=Cuando comience un juego con 2 jugadores humanos, utiliza una petición única para controlar a ambos jugadores.
nlLandscapeMode=Utiliza la orientación horizontal para la aplicación en lugar de la orientación vertical.
nlMinimizeScreenLock=Minimiza Forge cuando la pantalla está bloqueada (habilítalo si experimentas fallos gráficos después de bloquear la pantalla).
nlOrderGraveyard=Determina cuándo permitir ordenar las cartas que van al cementerio (nunca/siempre/solo con cartas relevantes).
nlRotateZoomPlanesPhenomena=Gira la imagen ampliada de las cartas Plano o Fenómeno.
nlRotateZoomSplit=Gira la imagen ampliada de las tarjetas divididas.
nlShowCardIDOverlays=Muestra superposiciones del identificador de la carta, de lo contrario, ocúltalas.
nlShowCardManaCostOverlays=Muestra superposiciones de coste de maná para las cartas, de lo contrario, ocúltalas.
nlShowCardNameOverlays=Muestra superposiciones de nombres para las cartas, de lo contrario, ocúltalas.
nlShowCardOverlays=Muestra superposiciones de nombre, coste de maná, P/T, e identificador de las cartas, de lo contrario, ocúltalas.
nlShowCardPTOverlays=Muestra superposiciones de fuerza/resistencia/lealtad para las cartas, de lo contrario, ocúltalas.
nlShowMatchBackground=Muestra la imagen de fondo de la partida en el campo de batalla; de lo contrario, se muestra la textura de fondo.
nlTheme=Establece el tema que determina el aspecto global del juego.
nlVibrateAfterLongPress=Habilita la vibración rápida cuando se realice una pulsación prolongada, como p.ej. al realizar zoom de la carta.
nlVibrateWhenLosingLife=Habilita la vibración cuando tu jugador pierde vida o sufre daños durante un juego.

View File

@@ -888,3 +888,52 @@ lblNewGame=新游戏
lblLoadGame=加载游戏 lblLoadGame=加载游戏
lblPlayOnline=在线游戏 lblPlayOnline=在线游戏
lblSettings=设置 lblSettings=设置
#SettingsPage.java
lblAutomaticBugReports=Automatic Bug Reports
lblBattlefieldTextureFiltering=Battlefield Texture Filtering
lblCompactListItems=Compact List Items
lblCompactTabs=Compact Tabs
lblCardOverlays=Card Overlays
lblDisableCardEffect=Disable Card 'Effect' Images
lblDynamicBackgroundPlanechase=Dynamic Background Planechase
lblGameplayOptions=Gameplay Options
lblGeneralSettings=General Settings
lblHotSeatMode=Hot Seat Mode
lblLandscapeMode=Landscape Mode
lblLater=Later
lblMinimizeScreenLock=Minimize on Screen Lock
lblOrderGraveyard=Order Graveyard
lblRestartForge=Restart Forge
lblRestartForgeDescription=You must restart Forge for this change to take effect.
lblRotateZoomPlanesPhenomena=Rotate Zoom Image of Planes/Phenomena
lblRotateZoomSplit=Rotate Zoom Image of Split Cards
lblShowCardIDOverlays=Show Card ID Overlays
lblShowCardManaCostOverlays=Show Card Mana Cost Overlays
lblShowCardNameOverlays=Show Card Name Overlays
lblShowCardOverlays=Show Card Overlays
lblShowCardPTOverlays=Show Card P/T Overlays
lblShowMatchBackground=Show Match Background
lblVibrateAfterLongPress=Vibrate After Long Press
lblVibrateWhenLosingLife=Vibrate When Losing Life
lblVibrationOptions=Vibration Options
nlAutomaticBugReports=Automatically send bug reports to the developers, without prompting.
nlBattlefieldTextureFiltering=Filter card art on battlefield to make it less pixelated on large screens (restart required, may reduce performance).
nlCompactListItems=Show only a single line of text for cards and decks on all list views by default.
nlCompactTabs=Show smaller tabs on the top of tab page screens (such as this screen).
nlDisableCardEffect=Disable the zoomed image for the 'Effect' cards.
nlDynamicBackgroundPlanechase=Use current plane images as background (Planes Card images must be on the cache/pics/planechase folder).
nlHotSeatMode=When starting a game with 2 human players, use single prompt to control both players.
nlLandscapeMode=Use landscape (horizontal) orientation for app instead of portrait (vertical).
nlMinimizeScreenLock=Minimize Forge when screen is locked (enable if you experience graphic glitches after locking your screen).
nlOrderGraveyard=Determines when to allow to order cards going to graveyard (never/always/only with relevant cards).
nlRotateZoomPlanesPhenomena=Rotates the zoomed image of Plane or Phenomenon cards.
nlRotateZoomSplit=Rotates the zoomed image of split cards.
nlShowCardIDOverlays=Show id overlays for cards, otherwise they're hidden.
nlShowCardManaCostOverlays=Show mana cost overlays for cards, otherwise they're hidden.
nlShowCardNameOverlays=Show name overlays for cards, otherwise they're hidden.
nlShowCardOverlays=Show name, mana cost, p/t, and id overlays for cards, otherwise they're hidden.
nlShowCardPTOverlays=Show power/toughness/loyalty overlays for cards, otherwise they're hidden.
nlShowMatchBackground=Show match background image on battlefield, otherwise background texture shown instead.
nlTheme=Sets the theme that determines how display components are skinned.
nlVibrateAfterLongPress=Enable quick vibration to signify a long press, such as for card zooming.
nlVibrateWhenLosingLife=Enable vibration when your player loses life or takes damage during a game.