From cefffc5d906a89858aadbb100db795b0db97ebd2 Mon Sep 17 00:00:00 2001 From: churrufli Date: Mon, 3 Jun 2019 20:15:13 +0200 Subject: [PATCH] Moving hard-coded text to en-US.properties file --- .../home/gauntlet/VSubmenuGauntletLoad.java | 11 +- .../home/puzzle/VSubmenuPuzzleCreate.java | 9 +- .../home/puzzle/VSubmenuPuzzleSolve.java | 10 +- .../screens/home/quest/VSubmenuQuestData.java | 2 +- .../home/quest/VSubmenuQuestDraft.java | 2 +- forge-gui/res/languages/de-DE.properties | 259 ++++++++++++++---- forge-gui/res/languages/en-US.properties | 160 ++++++++++- forge-gui/res/languages/es-es.properties | 41 ++- .../src/main/java/forge/deck/DeckType.java | 52 ++-- 9 files changed, 449 insertions(+), 97 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java index c1a18d974d1..97dc21d1957 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java @@ -10,6 +10,7 @@ import forge.screens.home.VHomeUI; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; +import forge.util.Localizer; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -23,14 +24,14 @@ import javax.swing.*; public enum VSubmenuGauntletLoad implements IVSubmenu { /** */ SINGLETON_INSTANCE; - + final Localizer localizer = Localizer.getInstance(); // Fields used with interface IVDoc private DragCell parentCell; - private final DragTab tab = new DragTab("Quick Gauntlets"); + private final DragTab tab = new DragTab(localizer.getMessage("lblQuickGauntlets")); // Other fields private final FLabel lblTitle = new FLabel.Builder() - .text("Load a gauntlet").fontAlign(SwingConstants.CENTER) + .text(localizer.getMessage("lblLoadaGauntlet")).fontAlign(SwingConstants.CENTER) .opaque(true).fontSize(16).build(); private final QuickGauntletLister gauntletList = new QuickGauntletLister(); @@ -38,7 +39,7 @@ public enum VSubmenuGauntletLoad implements IVSubmenu { private final FScrollPane scrLoad = new FScrollPane(gauntletList, false); private final FLabel lblDesc = new FLabel.Builder().text( - "Load a previous gauntlet (uses the deck with which it was started).") + localizer.getMessage("lblLoadaPreviousGauntlet")) .build(); private final StartButton btnStart = new StartButton(); @@ -60,7 +61,7 @@ public enum VSubmenuGauntletLoad implements IVSubmenu { */ @Override public String getMenuTitle() { - return "Load Gauntlet"; + return localizer.getMessage("lblLoadGauntlet"); } /* (non-Javadoc) diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java index 4c9c13221a0..900ffcfe1fa 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java @@ -9,6 +9,7 @@ import forge.match.LocalLobby; import forge.net.event.UpdateLobbyPlayerEvent; import forge.screens.home.*; import forge.toolbox.FLabel; +import forge.util.Localizer; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -16,9 +17,9 @@ import java.awt.*; public enum VSubmenuPuzzleCreate implements IVSubmenu { SINGLETON_INSTANCE; - + final Localizer localizer = Localizer.getInstance(); private DragCell parentCell; - private final DragTab tab = new DragTab("Puzzle Mode: Create"); + private final DragTab tab = new DragTab(localizer.getMessage("lblPuzzleModeCreate")); private final GameLobby lobby = new LocalLobby(); private final VLobby vLobby = new VLobby(lobby); @@ -68,7 +69,7 @@ public enum VSubmenuPuzzleCreate implements IVSubmenu { @Override public String getMenuTitle() { - return "Create"; + return localizer.getMessage(("lblCreate")); } @Override @@ -111,7 +112,7 @@ public enum VSubmenuPuzzleCreate implements IVSubmenu { container.removeAll(); container.setLayout(new MigLayout("insets 0, gap 0, wrap 1, ax right")); - vLobby.getLblTitle().setText("Puzzle Mode: Create"); + vLobby.getLblTitle().setText(localizer.getMessage("lblPuzzleModeCreate")); container.add(vLobby.getLblTitle(), "w 80%, h 40px!, gap 0 0 15px 15px, span 2, al right, pushx"); container.add(lblInfo, "h 30px!, gap 0 0 0 5px, al center"); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java index b2babdbda9d..e9d4041dba9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java @@ -10,6 +10,7 @@ import forge.net.event.UpdateLobbyPlayerEvent; import forge.screens.home.*; import forge.toolbox.FList; import forge.toolbox.FScrollPane; +import forge.util.Localizer; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -25,7 +26,8 @@ public enum VSubmenuPuzzleSolve implements IVSubmenu { private final StartButton btnStart = new StartButton(); private DragCell parentCell; - private final DragTab tab = new DragTab("Puzzle Mode: Solve"); + final Localizer localizer = Localizer.getInstance(); + private final DragTab tab = new DragTab(localizer.getMessage("lblPuzzleModeSolve")); private final GameLobby lobby = new LocalLobby(); private final VLobby vLobby = new VLobby(lobby); @@ -52,7 +54,8 @@ public enum VSubmenuPuzzleSolve implements IVSubmenu { @Override public String getMenuTitle() { - return "Solve"; + final Localizer localizer = Localizer.getInstance(); + return localizer.getMessage("lblSolve"); } @Override @@ -103,7 +106,8 @@ public enum VSubmenuPuzzleSolve implements IVSubmenu { container.removeAll(); container.setLayout(new MigLayout("insets 0, gap 0, wrap 1, ax right")); - vLobby.getLblTitle().setText("Puzzle Mode: Solve"); + final Localizer localizer = Localizer.getInstance(); + vLobby.getLblTitle().setText(localizer.getMessage("lblPuzzleModeSolve")); container.add(vLobby.getLblTitle(), "w 80%, h 40px!, gap 0 0 15px 15px, span 2, al right, pushx"); puzzleList.setModel(model); container.add(puzzleListPane, "w 80%, h 80%, gap 0 0 0px 0px, span 2, al center"); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestData.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestData.java index 0d5d380d163..3813522c759 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestData.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestData.java @@ -44,7 +44,7 @@ public enum VSubmenuQuestData implements IVSubmenu { private final DragTab tab = new DragTab(localizer.getMessage("lblQuestData")); private final FLabel lblTitle = new FLabel.Builder() - .text("Load Quest Data").fontAlign(SwingConstants.CENTER) + .text(localizer.getMessage("lblLoadQuestData")).fontAlign(SwingConstants.CENTER) .opaque(true).fontSize(16).build(); private final FLabel lblTitleNew = new FLabel.Builder().text(localizer.getMessage("lblStartanewQuest")).opaque(true).fontSize(16).build(); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java index 5ddaa0ea7da..c7b1b231800 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java @@ -70,7 +70,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu, IQuestT private final JPanel pnlStats = new JPanel(); private final FLabel lblPastResults = new FLabel.Builder() - .text("Past Results:") + .text(localizer.getMessage("lblPastResults") +":") .fontSize(19).build(); private final FLabel lblFirst = new FLabel.Builder() .fontSize(15).build(); diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 58e34266650..22f5ff4d936 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -4,6 +4,7 @@ splash.loading.examining-cards=Lade Karten, durchsuche Verzeichnis splash.loading.cards-folders=Lade Karten aus Verzeichnissen splash.loading.cards-archive=Lade Karten aus Archiv splash.loading.decks=Lade Decks... +splash.loading.processingimagesprites=Processing image sprites #VSubmenuPreferences.java Preferences=Einstellungen btnReset=Alles zurücksetzen @@ -13,14 +14,14 @@ btnDeleteWorkshopUI=Workshop-Layout zurücksetzen btnUserProfileUI=Öffne Benutzer-Verzeichnis btnContentDirectoryUI=Öffne Daten-Verzeichnis btnResetJavaFutureCompatibilityWarnings=Java-Kompatibilitätswarnung zurücksetzen -btnClearImageCache= Clear Image Cache -btnTokenPreviewer= Token Previewer +btnClearImageCache=Leere Bildspeicher +btnTokenPreviewer=Spielstein-Vorschau btnCopyToClipboard=In Zwischenablage kopieren -cbpSelectLanguage=Language -nlSelectLanguage=Select Language (Excluded Game part. Still a work in progress) (RESTART REQUIRED) +cbpSelectLanguage=Sprache +nlSelectLanguage=Wähle Sprache (Ist noch in Arbeit und nur teilweise umgesetzt.) (Neustart ist erforderlich.) cbRemoveSmall=Entferne kleine Kreaturen cbCardBased=Nutze kartenabhängige Deckerstellung -cbSingletons=Singleton Modus +cbSingletons=Einzelkarten Modus cbRemoveArtifacts=Entferne Artefakte cbAnte=Spiele um Ante cbAnteMatchRarity=Passe Ante-Seltenheit an @@ -72,7 +73,7 @@ cbpAutoYieldMode=Automatische Bestätigung cbpCounterDisplayType=Markeranzeige Art cbpCounterDisplayLocation=Markeranzeige Ort cbpGraveyardOrdering=Genaue Reihenfolge im Friedhof einhalten -Troubleshooting=Troubleshooting +Troubleshooting=Fehlerbehebung GeneralConfiguration=Allgemeine Einstellungen nlPlayerName=Name unter welchem du beim Spielen geführt wirst. nlCompactMainMenu=Aktiviere, um im Seitenmenü platzsparend immer nur eine Menügruppe anzeigen zu lassen. (Erfordert Neustart) @@ -85,6 +86,7 @@ nlEnableAICheats=Erlaubt es der KI zu betrügen um Vorteile zu erlangen. Sofern nlManaBurn=Spiele mit Manabrand (wurde mit M10 aus den Regeln entfernt). nlManaLostPrompt=Aktiviere, um vor Leerung des Manapools eine Warnung zu erhalten. nlEnforceDeckLegality=Erzwingt eine Deck-Konformität zum gewählten Format (minimale Deckgröße, Anzahl pro Karte im Deck, usw.). +nlSideboardForAI= Allows users to sideboard with the AIs deck and sideboard in constructed game formats. nlPerformanceMode=Schalten zusätzlich Prüfungen auf statische Fähigkeiten ab, um das Spiel zu beschleunigen. Warnung: Kann Probleme mit 'Aufblitzen' bei Karten von KI-Gegner verursachen! nlFilteredHands=Erzeugt zwei Starthände, und behält die, welche am nächsten an der duchschnittlichen Länderanzahl im Deck ist. (Erfordert Neustart) nlCloneImgSource=Zeige das originale Kartenbild des Klones statt der geklonten Karte. @@ -187,14 +189,14 @@ lblPuzzleMode=Rätsel-Modus lblGauntlets=Herausforderungen lblGameSettings=Spieleinstellungen #VLobby.java -lblHeaderConstructedMode=Sanctioned Format: Constructed -lblGetNewRandomName=Get new random name -lbltypeofName=What type of name do you want to generate? -lblconfirmName= Would you like to use the name %n, or try again? -lblUseThisName=Use this name -lblTryAgain=Try Again -lblAddAPlayer=Add a Player -lblVariants=Variants +lblHeaderConstructedMode=Format: Constructed +lblGetNewRandomName=Wähle einen zufälligen Namen +lbltypeofName=Welche Art Namen möchtest du erzeugen? +lblconfirmName=Möchtest du den Namen %n nutzen, oder es neu versuchen? +lblUseThisName=Nutzen +lblTryAgain=Neu +lblAddAPlayer=Spieler hinzufügen +lblVariants=Varianten #VSubmenuConstructed.java lblConstructedMode=Constructed-Modus lblConstructed=Constructed @@ -206,7 +208,7 @@ lblSelectaCommanderDeck=Wähle Commanderdeck lblSelectaPlanarDeck=Wähle Weltendeck lblPlanarDeckEditor=Weltendeck-Editor lblSelectaVanguardAvatar=Wähle Vanguard-Avatar -lblVanguardAvatar= Vanguard avatar +lblVanguardAvatar=Vanguard avatar lblDeck=Deck lblSchemeDeck=Komplottdeck lblCommanderDeck=Commanderdeck @@ -303,59 +305,210 @@ lblSHORTCUT_MACRO_RECORD=Duell: Aktion-Abfolge-Makro aufnehmen lblSHORTCUT_MACRO_NEXT_ACTION=Duel: führe nächste Aktion im gespeicherten Makro aus lblSHORTCUT_CARD_ZOOM=Duell: Zoome ausgewählte Karte #VSubmenuDraft.java -lblBoosterDraft= Booster Draft -lblHeaderBoosterDraft=Sanctioned Format: Booster Draft -lblPlayAnOpponent=Play an opponent -lblPlayAll7opponents=Play all 7 opponents -lblBuildorselectadeck=Build or select a deck -lblDraftText1=In Draft mode, three booster packs are rotated around eight players. -lblDraftText2=Build a deck from the cards you choose. The AI will do the same. -lblDraftText3=Then, play against one or all of the AI opponents. -lblNewBoosterDraftGame=New Booster Draft Game +lblBoosterDraft=Booster Draft +lblHeaderBoosterDraft=Format: Booster Draft +lblPlayAnOpponent=Spiele gegen einen Gegner +lblPlayAll7opponents=Spiele gegen sieben Gegner +lblBuildorselectadeck=Erstelle oder wähle ein Deck +lblDraftText1=Im Draft Modus werden drei Booster von acht Spielern herumgereicht. +lblDraftText2=Erstelle ein Deck aus den von dir gewählten Karten. Die KI macht dasselbe. +lblDraftText3=Dann spiele gegen einen oder alle KI-Gegner. +lblNewBoosterDraftGame=Neues Spiel Booster Draft lblDraftDecks=Draft Decks #CSubmenuDraft.java -lblNoDeckSelected=No deck selected for human.\n(You may need to build a new deck) -lblNoDeck=No Deck -lblChooseDraftFormat=Choose Draft Format +lblNoDeckSelected=Kein Spieler-Deck gewählt.\n(Du muß eventuell ein neues Deck erstellen.) +lblNoDeck=Kein Deck +lblChooseDraftFormat=Wähle Draft Format #VSubmenuSealed.java lblSealedDeck=Sealed Deck lblSealedDecks=Sealed Decks -lblHeaderSealed=Sanctioned Format: Sealed Deck -lblSealedText1=Select a game, or build a new one -lblSealedText2=In Sealed mode, you build a deck from booster packs (maximum 10). -lblSealedText3=Build a deck from the cards you receive. A number of AI opponents will do the same. -lblSealedText4=Then, you may play against each of the AI opponents, or one of the opponents. -btnBuildNewSealedDeck=Build New Sealed Deck +lblHeaderSealed=Format: Sealed Deck +lblSealedText1=Wähle ein Spiel, oder erstelle ein neues +lblSealedText2=Im Sealed Modus erstellst du ein Deck aus max. 10 Boostern. +lblSealedText3=Erstelle ein Deck aus den erhaltenen Karten. Die KI macht dasselbe. +lblSealedText4=Dann spiele gegen einen oder alle KI-Gegner. +btnBuildNewSealedDeck=Erstelle neues Sealed Deck #FDeckChooser.java -lblViewDeck=View Deck -lblRandomDeck=Random Deck +lblViewDeck=Zeige Deck +lblRandomDeck=Zufälliges Deck #GameType.java lblSealed=Sealed lblDraft=Draft lblWinston=Winston -lblGauntlet=Gauntlet -lblTournament=Tournament +lblGauntlet=Herausforderung +lblTournament=Turnier lblQuest=Quest lblQuestDraft=QuestDraft -lblPlanarConquest=PlanarConquest -lblPuzzle=Puzzle -lblPuzzleDesc=Solve a puzzle from the given game state +lblPlanarConquest=Welteneroberung +lblPuzzle=Rätsel +lblPuzzleDesc=Löse ein Rätsel, ausgehend von einem Spielstand. lblDeckManager=Deck Manager -lblVanguardDesc=Each player has a special \"Avatar\" card that affects the game. +lblVanguardDesc=Jeder Spieler hat eine eigene spielbeeinflussende \"Avatar\"-Karte. lblCommander=Commander -lblCommanderDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. -lblTinyLeaders=Tiny Leaders -lblTinyLeadersDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. Each card must have CMC less than 4. +lblCommanderDesc=Jeder Spieler hat eine legendäre \"General\"-Karte, welche (fast) jederzeit gespielt werden kann und die Farben des Decks bestimmt. +lblTinyLeaders=Kleine Anführer +lblTinyLeadersDesc=Jeder Spieler hat eine legendäre \"General\"-Karte, welche (fast) jederzeit gespielt werden kann und die Farben des Decks bestimmt. Alle Karten haben umgewandelte Manakosten von max. 3. lblBrawl=Brawl -lblBrawlDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. Only cards legal in Standard may be used. +lblBrawlDesc=Jeder Spieler hat eine legendäre \"General\"-Karte, welche (fast) jederzeit gespielt werden kann und die Farben des Decks bestimmt. Nur standardlegale Karten sind erlaubt. lblPlaneswalker=Planeswalker -lblPlaneswalkerDesc=Each player has a Planeswalker card which can be cast at any time. -lblPlanechase=Planechase -lblPlanechaseDesc=Plane cards apply global effects. The Plane card changes when a player rolls \"Planeswalk\" on the planar die. -lblArchenemyDesc=One player is the Archenemy and fights the other players by playing Scheme cards. -lblArchenemyRumble= -lblArchenemyRumbleDesc=All players are Archenemies and can play Scheme cards. +lblPlaneswalkerDesc=Jeder Spieler hat eine Planeswalker-Karte, welche (fast) jederzeit gespielt werden kann. +lblPlanechase=Weltenjagd +lblPlanechaseDesc=Weltenkarten haben globale Effekte. Wenn ein Spieler auf dem Weltenwürfel \"Planeswalk\"wirft, wechselt die Weltenkarte. +lblArchenemyDesc=Ein Spieler ist der Erzfeind und kämpft gegen die anderen Spieler. Er hat Komplottkarten.\NEiner gegen alle. +lblArchenemyRumble=Erzfeind Rumble +lblArchenemyRumbleDesc=Alle Spieler sind Erzfeinde und haben Komplottkarten.\nJeder gegen jeden. lblMomirBasic=Momir Basic -lblMomirBasicDesc=Each player has a deck containing 60 basic lands and the Momir Vig avatar. +lblMomirBasicDesc=Jeder Spieler hat ein Deck mit 60 Standardländern und den Momir-Vig-Avatar. lblMoJhoSto=MoJhoSto -lblMoJhoStoDesc=Each player has a deck containing 60 basic lands and the Momir Vig, Jhoira of the Ghitu, and Stonehewer Giant avatars. +lblMoJhoStoDesc=Jeder Spieler hat ein Deck mit 60 Standardländern und den Momir-Vig-, Jhoira-von-den-Ghitu- und den Steinhauer-Gigant-Avatar. +#VSubmenuDuels.java +lblQuestDuels=Quest Duelle +lblQuestModeDuels=Quest Modus: Duelle +lblSelectNextDuel=Wähle dein nächstes Duell +lblNoDuelDeck=Es wurde noch kein eigenes Deck gewählt. +lblNextChallengeNotYet=Anzahl Siege für nächste Herausforderung wurde noch nicht gewählt. +btnUnlockSets=Set freischalten +btnTravel=Reise +btnBazaar=Basar +btnSpellShop=Spruchladen +cbSummonPlant=Beschwöre Pflanze +cbLaunchZeppelin=Starte Zeppelin +#VSubmenuQuest.java +lblQuestData=Quest Daten +lblLoadQuestData=Load Quest Data +lblStartanewQuest=Starte neue Quest +lblOldQuestData=Alte Questdaten? Kopiere sie nach %n und starte Forge neu. +rbEasy=Einfach +rbMedium=Mittel +rbHard=Hart +rbExpert=Experte +rbFantasyMode=Fantasy Modus +rbCommanderSubformat=Commander Subformat +lblStartingWorld=Startwelt +lblStartingPool=Anfangskartensammlung +lblAllCardsAvailable=Alle Karten stehen zur Verfügung. +lblStarterEventdeck=Starter-/Event-Deck: +lblSanctionedformat=Zugelassenes Format: +lblCustomdeck=Eigenes Deck +lblDefineCustomFormat=Definiere eigenes Format +lblSelectFormat=Wähle Format +lblStartWithAllCards=Starte mit allen Karten der gewählten Sets. +lblAllowDuplicateCards=Erlaube Kartenduplikate +lblStartingPoolDistribution=Verteilung der Startkarten +lblChooseDistribution=Wähle Verteilung +lblPrizedCards=Karten-Gewinn +lblAllCardsAvailableWin=Alle Karten können gewonnen werden. +lblOnlySetsInStarting=Nur Karten aus den gewählten Startssets +lblAllowUnlockAdEd=Erlaube Freischaltung weiterer Blöcke +lblEmbark=Aufbrechen! +lblboxCompleteSet=Du startest mit je 4 Stück jeder Karte der gewählten Sets. +lblboxAllowDuplicates=In deiner Startsammlung können Karten mehrfach vorkommen. +lblSameAsStartingPool=Wie Startsammlung +lblNewLoadQuest=Neu / Lade Quest +#CSubmenuQChallenges.java +lblLaunchaZeppelin=Starte einen Zeppelin. +lblPlant=Pflanze +lblChallenges=Herausforderungen +lblMatchBestof=Turnier - Beste aus +lblDuels=Duelle +#CSubmenuQuestData.java +lblNotFormatDefined=Du hast ein eigenes Format ohne Sets definiert.\nGewinne werden aus allen Blöcken ohne Einschränkung gewählt.\n\nFortsetzen? +lbldckStartPool=Du hast noch kein Deck ausgewählt. +lblCannotStartaQuest=Kann Quest nicht starten. +lblFromDeck=Von Deck +MsgQuestNewName=Poeten werden an deine Quest erinnern als +TitQuestNewName=Quest Name +lblQuestNameEmpty=Bitte gib einen Namen für die Quest ein. +lblQuestExists=Der Name wird bereits verwendet. Bitte wähle einen anderen Namen. +#CSubmenuQuestDecks.java +lblCreateaDeck=Erzeuge ein Deck. +#CSubmenuQuestPrefs.java +lblEnteraNumber=Nummer eingeben +lblSavefailed=Speichern fehlgeschlagen +#DialogChooseFormats.java +cbWantReprints=Erlaube passende Drucke aus anderen Sets +lblChooseFormats=Wähle Format +lblSanctioned=Sanktioniert +lblOther=Andere +lblHistoric=Historisch +lblCancel=Abbrechen +#DialogChoosePoolDistribution.java +lblBlack=Schwarz +lblBlue=Blau +lblGreen=Grün +lblRed=Rot +lblWhite=Weiß +lblColorless=Farblos +lblIncludeArtifacts=mit Artefakten +lblBalanced=Ausgeglichen +lblTrueRandom=Wirklich zufällig +lblSurpriseMe=Überrasch mich +lblBoosters=Booster +lblClearAll=Alles löschen +lblNumberofBoosters=Anzahl Booster +lblColors=Farben +lblnoSettings=Keine Einstellungen bei dieser Auswahl. +lblDistribution=Verteilung +lblHoverforDescription=Für ausführliche Beschreibung länger länger draufzeigen. +lblradBalanced="Ausgeglichen" führt zu einer etwa gleichen Anzahl Karten der gewählten Farben. +lblradRandom="Wirklich zufällig" führt zu einer zufällig Anzahl Karten pro Farbe. Ignoriert die Farbwahl. +lblradSurpriseMe=Wie "Ausgeglichen", nur das auch die Farbwahl zufällig ist. +lblradBoosters=IgnoriertFarbwahl. Entnimmt die Karten einer gewählten Anzahl Booster. +lblcbxArtifacts=Wenn gewählt, werden Artefakte hinzugefügt, unabhängig von der Farbwahl. Imitiert das alte Erstellungsverhalten. +#VSubmenuChallenges.java +lblQuestChallenges=Quest Challenges +htmlLaunchZeppelin=Launch
Zeppelin +lblQuestModeChallenges=Quest Mode: Challenges +lblWhichChallenge=Which challenge will you attempt? +#VSubmenuQuestDraft.java +lblTournaments=Tournaments +lblQuestModeDraftTournament=Quest Mode: Draft Tournament +lblSelectaTournament=Select a tournament to join +lblNoTournaments=There are no tournaments available at this time. +btnEditDeck=Edit Deck +btnLeaveTournament=Leave Tournament +btnSpendToken=Spend Token +btnStartMatchSmall=Start Next Match +lblUndetermined=Undetermined +btnSpendTokenTT=Creates a new tournament that can be played immediately. +lblPastResults=Past Results +#VSubmenuQuestDecks.java +lblQuestDecks=Quest Decks +lblQuestDesc1=In Quest mode, you build a deck from a limited inventory. +lblQuestDesc2=Build and enhance decks from the cards in your quest inventory as it grows. +lblQuestDesc3=Then, switch to the Duels or Challenges submenu to play against AI opponents and unlock more cards. +lblBuildaNewDeck=Build a New Deck +#Decktype.java +lblCustomUserDecks=Custom User Decks +lblConstructedDecks=Constructed Decks +lblCommanderDecks=Commander Decks +lblRandomCommanderDecks=Random Commander Decks +lblRandomCommanderCard-basedDecks=Random Commander Card-based Decks +lblTinyLeadersDecks=Tiny Leaders Decks +lblBrawlDecks=Brawl Decks +lblSchemeDecks=Scheme Decks +lblPlanarDecks=Planar Decks +lblPreconstructedDecks=Preconstructed Decks +lblQuestOpponentDecks=Quest Opponent Decks +lblRandomColorDecks=Random Color Decks +lblRandomStandardArchetypeDecks=Random Standard Archetype Decks +lblRandomModernArchetypeDecks=Random Modern Archetype Decks +lblRandomLegacyArchetypeDecks=Random Legacy Archetype Decks +lblRandomVintageArchetypeDecks=Random Vintage Archetype Decks +lblRandomStandardColorDecks=Random Standard Color Decks +lblRandomModernColorDecks=Random Modern Color Decks +lblRandomThemeDecks=Random Theme Decks +lblRandomDecks=Random Decks +lblNetDecks=Net Decks +lblNetCommanderDecks=Net Commander Decks +#VSubmenuPuzzleSolve.java +lblSolve=Solve +lblPuzzleModeSolve=Puzzle Mode: Solve +#VSubmenuPuzzleCreate.java +lblPuzzleModeCreate=Puzzle Mode: Create +lblCreate=Create +#VSubmenuGauntletLoad.java +lblQuickGauntlets=Quick Gauntlets +lblLoadGauntlet=Load Gauntlet +lblLoadaGauntlet=Load a Gauntlet +lblLoadaPreviousGauntlet=Load a previous gauntlet (uses the deck with which it was started) diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 4912e74c6c3..49ef640ffac 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -4,6 +4,7 @@ splash.loading.examining-cards = Loading cards, examining folder splash.loading.cards-folders = Loading cards from folders splash.loading.cards-archive = Loading cards from archive splash.loading.decks = Loading decks... +splash.loading.processingimagesprites=Processing image sprites #VSubmenuPreferences.java Preferences = Preferences btnReset = Reset to Default Settings @@ -32,6 +33,7 @@ cbLoadCardsLazily = Load Card Scripts Lazily cbLoadHistoricFormats = Load Historic Formats cbWorkshopSyntax = Workshop Syntax Checker cbEnforceDeckLegality = Deck Conformance +cbSideboardForAI = Human Sideboard for AI cbPerformanceMode = Performance Mode cbFilteredHands = Filtered Hands cbImageFetcher = Automatically Download Missing Card Art @@ -85,6 +87,7 @@ nlEnableAICheats = Allow the AI to cheat to gain advantage (for personalities th nlManaBurn = Play with mana burn (from pre-Magic 2010 rules). nlManaLostPrompt = When enabled, you get a warning if passing priority would cause you to lose mana in your mana pool. nlEnforceDeckLegality = Enforces deck legality relevant to each environment (minimum deck sizes, max card count etc). +nlSideboardForAI = Allows users to sideboard with the AIs deck and sideboard in constructed game formats. nlPerformanceMode = 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). nlFilteredHands = Generates two starting hands and keeps the one with the closest to average land count for the deck. (Requires restart) nlCloneImgSource = When enabled clones will use their original art instead of the cloned card's art. @@ -190,7 +193,7 @@ lblGameSettings = Game Settings lblHeaderConstructedMode=Sanctioned Format: Constructed lblGetNewRandomName=Get new random name lbltypeofName=What type of name do you want to generate? -lblconfirmName= Would you like to use the name %n, or try again? +lblconfirmName= Would you like to use the name %s, or try again? lblUseThisName=Use this name lblTryAgain=Try Again lblAddAPlayer=Add a Player @@ -343,7 +346,7 @@ lblPuzzleDesc=Solve a puzzle from the given game state lblDeckManager=Deck Manager lblVanguardDesc=Each player has a special \"Avatar\" card that affects the game. lblCommander=Commander -lblCommanderDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. +lblCommanderDesc=Each player has a legendary "General" card which can be cast at any time and determines deck colors. lblTinyLeaders=Tiny Leaders lblTinyLeadersDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. Each card must have CMC less than 4. lblBrawl=Brawl @@ -353,9 +356,160 @@ lblPlaneswalkerDesc=Each player has a Planeswalker card which can be cast at any lblPlanechase =Planechase lblPlanechaseDesc=Plane cards apply global effects. The Plane card changes when a player rolls \"Planeswalk\" on the planar die. lblArchenemyDesc=One player is the Archenemy and fights the other players by playing Scheme cards. -lblArchenemyRumble= +lblArchenemyRumble=Archenemy Rumble lblArchenemyRumbleDesc=All players are Archenemies and can play Scheme cards. lblMomirBasic=Momir Basic lblMomirBasicDesc=Each player has a deck containing 60 basic lands and the Momir Vig avatar. lblMoJhoSto=MoJhoSto lblMoJhoStoDesc=Each player has a deck containing 60 basic lands and the Momir Vig, Jhoira of the Ghitu, and Stonehewer Giant avatars. +#VSubmenuDuels.java +lblQuestDuels=Quest Duels +lblQuestModeDuels=Quest Mode: Duels +lblSelectNextDuel=Select your next duel. +lblNoDuelDeck=Current deck hasn't been set yet. +lblNextChallengeNotYet=Next challenge in wins hasn't been set yet. +btnUnlockSets=Unlock Sets +btnTravel=Travel +btnBazaar=Bazaar +btnSpellShop=Spell Shop +cbSummonPlant=Summon Plant +cbLaunchZeppelin=Launch Zeppelin +#VSubmenuQuest.java +lblQuestData=Quest Data +lblLoadQuestData =Load Quest Data +lblStartanewQuest=Start a new Quest +lblOldQuestData=Old quest data? Put into %s and restart Forge. +rbEasy=Easy +rbMedium=Medium +rbHard=Hard +rbExpert=Expert +rbFantasyMode=Fantasy Mode +rbCommanderSubformat=Commander Subformat +lblStartingWorld=Starting World +lblStartingPool=Starting Pool +lblAllCardsAvailable=All cards will be available to play. +lblStarterEventdeck=Starter/Event deck: +lblSanctionedformat=Sanctioned format: +lblCustomdeck=Custom deck +lblDefineCustomFormat=Define custom format +lblSelectFormat=Select format +lblStartWithAllCards=Start with all cards in selected sets +lblAllowDuplicateCards=Allow duplicate cards +lblStartingPoolDistribution=Starting pool distribution +lblChooseDistribution=Choose Distribution +lblPrizedCards=Prized cards +lblAllCardsAvailableWin =All cards will be available to win. +lblOnlySetsInStarting=Only sets in starting pool will be available. +lblAllowUnlockAdEd=Allow unlock of additional editions +lblEmbark=Embark! +lblboxCompleteSet=You will start the quest with 4 of each card in the sets you have selected. +lblboxAllowDuplicates=When your starting pool is generated, duplicates of cards may be included. +lblSameAsStartingPool=Same as starting pool +lblNewLoadQuest=New / Load Quest +#CSubmenuQChallenges.java +lblLaunchaZeppelin=Launch a Zeppelin. +lblPlant=Plant +lblChallenges=Challenges +lblMatchBestof=Match - Best of +lblDuels=Duels +#CSubmenuQuestData.java +lblNotFormatDefined=You have defined custom format as containing no sets.\nThis will choose all editions without restriction as prizes.\n\nContinue? +lbldckStartPool=You have not selected a deck to start. +lblCannotStartaQuest=Cannot start a quest +lblFromDeck=From deck +MsgQuestNewName=Poets will remember your quest as +TitQuestNewName=Quest Name +lblQuestNameEmpty=Please specify a quest name. +lblQuestExists=A quest already exists with that name. Please pick another quest name. +#CSubmenuQuestDecks.java +lblCreateaDeck=Create a Deck. +#CSubmenuQuestPrefs.java +lblEnteraNumber=Enter a number +lblSavefailed=Save failed +#DialogChooseFormats.java +cbWantReprints=Allow compatible reprints from other sets +lblChooseFormats=Choose formats +lblSanctioned=Sanctioned +lblOther=Other +lblHistoric=Historic +lblCancel=Cancel +#DialogChoosePoolDistribution.java +lblBlack=Black +lblBlue=Blue +lblGreen=Green +lblRed=Red +lblWhite=White +lblColorless=Colorless +lblIncludeArtifacts=Include Artifacts +lblBalanced=Balanced +lblTrueRandom=True Random +lblSurpriseMe=Surprise Me +lblBoosters=Boosters +lblClearAll=Clear All +lblNumberofBoosters=Number of Boosters +lblColors=Colors +lblnoSettings=No settings are available for this selection. +lblDistribution=Distribution +lblHoverforDescription=Hover over each item for a more detailed description. +lblradBalanced=A "Balanced" distribution will provide a roughly equal number of cards in each selected color. +lblradRandom=A "True Random" distribution will be almost entirely randomly selected. This ignores any color selections. +lblradSurpriseMe=This is the same as a "Balanced" distribution, except the colors picked will be random and you will not be told what they are. +lblradBoosters=This ignores all color settings and instead generates a card pool out of a specified number of booster packs. +lblcbxArtifacts=When selected, artifacts will be included in your pool regardless of color selections. This mimics the old card pool behavior. +#VSubmenuChallenges.java +lblQuestChallenges=Quest Challenges +htmlLaunchZeppelin=Launch
Zeppelin +lblQuestModeChallenges=Quest Mode: Challenges +lblWhichChallenge=Which challenge will you attempt? +#VSubmenuQuestDraft.java +lblTournaments=Tournaments +lblQuestModeDraftTournament=Quest Mode: Draft Tournament +lblSelectaTournament=Select a tournament to join +lblNoTournaments=There are no tournaments available at this time. +btnEditDeck=Edit Deck +btnLeaveTournament=Leave Tournament +btnSpendToken=Spend Token +btnStartMatchSmall=Start Next Match +lblUndetermined=Undetermined +btnSpendTokenTT=Creates a new tournament that can be played immediately. +lblPastResults=Past Results +#VSubmenuQuestDecks.java +lblQuestDecks=Quest Decks +lblQuestDesc1=In Quest mode, you build a deck from a limited inventory. +lblQuestDesc2=Build and enhance decks from the cards in your quest inventory as it grows. +lblQuestDesc3=Then, switch to the Duels or Challenges submenu to play against AI opponents and unlock more cards. +lblBuildaNewDeck=Build a New Deck +#Decktype.java +lblCustomUserDecks=Custom User Decks +lblConstructedDecks=Constructed Decks +lblCommanderDecks=Commander Decks +lblRandomCommanderDecks=Random Commander Decks +lblRandomCommanderCard-basedDecks=Random Commander Card-based Decks +lblTinyLeadersDecks=Tiny Leaders Decks +lblBrawlDecks=Brawl Decks +lblSchemeDecks=Scheme Decks +lblPlanarDecks=Planar Decks +lblPreconstructedDecks=Preconstructed Decks +lblQuestOpponentDecks=Quest Opponent Decks +lblRandomColorDecks=Random Color Decks +lblRandomStandardArchetypeDecks=Random Standard Archetype Decks +lblRandomModernArchetypeDecks=Random Modern Archetype Decks +lblRandomLegacyArchetypeDecks=Random Legacy Archetype Decks +lblRandomVintageArchetypeDecks=Random Vintage Archetype Decks +lblRandomStandardColorDecks=Random Standard Color Decks +lblRandomModernColorDecks=Random Modern Color Decks +lblRandomThemeDecks=Random Theme Decks +lblRandomDecks=Random Decks +lblNetDecks=Net Decks +lblNetCommanderDecks=Net Commander Decks +#VSubmenuPuzzleSolve.java +lblSolve=Solve +lblPuzzleModeSolve=Puzzle Mode: Solve +#VSubmenuPuzzleCreate.java +lblPuzzleModeCreate=Puzzle Mode: Create +lblCreate=Create +#VSubmenuGauntletLoad.java +lblQuickGauntlets=Quick Gauntlets +lblLoadGauntlet=Load Gauntlet +lblLoadaGauntlet=Load a Gauntlet +lblLoadaPreviousGauntlet=Load a previous gauntlet (uses the deck with which it was started) \ No newline at end of file diff --git a/forge-gui/res/languages/es-es.properties b/forge-gui/res/languages/es-es.properties index 4b8e2432a9b..35f5ca572a5 100644 --- a/forge-gui/res/languages/es-es.properties +++ b/forge-gui/res/languages/es-es.properties @@ -86,6 +86,7 @@ nlEnableAICheats=Permita que la IA haga trampa para obtener ventaja (para person nlManaBurn=Jugar con quemadura de maná (reglas previas a Magic 2010). nlManaLostPrompt=Cuando está habilitado, recibes una advertencia si la prioridad de pase te haría perder maná en tu reserva de maná. nlEnforceDeckLegality=Aplica la legalidad del mazo correspondiente a cada entorno (tamaño mínimo de mazo, número máximo de cartas, etc.). +nlSideboardForAI=Allows users to sideboard with the AIs deck and sideboard in constructed game formats. nlPerformanceMode=Desactiva las comprobaciones de habilidades estáticas adicionales para acelerar el motor del juego. (Advertencia: rompe algunos escenarios 'como si tuviera flash' cuando se lanzan cartas de propiedad de los oponentes). nlFilteredHands=Genera dos manos iniciales y mantiene la que tiene el recuento de tierras más cercano al promedio del mazo (Requiere reinicio) nlCloneImgSource=Cuando se habilite, los clones usarán su arte original en lugar del arte de la carta clonada. @@ -201,7 +202,7 @@ lblConstructedMode=Modo Construido lblConstructed=Construido #PlayerPanel.java lblSelectaDeck=Selecciona un mazo -lblSelectaSchemeDeck=Selecciona un Mazo de Fenómenos (Scheme) +lblSelectaSchemeDeck=Selecciona un Mazo de Escenario (Scheme) lblSchemeDeckEditor=Editor de Mazo de Escenario (Scheme) lblSelectaCommanderDeck=Selecciona un Mazo Commander lblSelectaPlanarDeck=Selecciona un Mazo Planar @@ -374,6 +375,7 @@ cbSummonPlant=Invocar Planta cbLaunchZeppelin=Lanzar Zeppelin #VSubmenuQuest.java lblQuestData=Datos de Aventura +lblLoadQuestData=Load Quest Data lblStartanewQuest=Comenzar una nueva Aventura lblOldQuestData=Viejos datos de Aventura? Poner en %n y reiniciar Forge. rbEasy=Fácil @@ -469,9 +471,44 @@ btnSpendToken=Gastar Token btnStartMatchSmall=Comenzar Siguiente Partida lblUndetermined=Sin determinar btnSpendTokenTT=Crea un nuevo torneo que se puede jugar de inmediato. +lblPastResults=Past Results #VSubmenuQuestDecks.java lblQuestDecks=Mazos de la Aventura lblQuestDesc1=En el modo Aventura, construyes un mazo a partir de un inventario limitado. lblQuestDesc2=Construye y mejora mazos con las cartas de tu inventario de misiones a medida que crece. lblQuestDesc3=Luego, cambia al submenú Duelos o Desafíos para jugar contra oponentes de la IA y desbloquear más cartas. -lblBuildaNewDeck=Construir un Nuevo Mazo \ No newline at end of file +lblBuildaNewDeck=Construir un Nuevo +#Decktype.java +lblCustomUserDecks=Mazos Personalizados del Usuario +lblConstructedDecks=Mazos Construido +lblCommanderDecks=Mazos Commander +lblRandomCommanderDecks=Mazos Commander Aleatorios +lblRandomCommanderCard-basedDecks=Mazos Commander Aleatorios Basados en Cartas +lblTinyLeadersDecks=Mazos Tiny Leaders +lblBrawlDecks=Mazos Brawl +lblSchemeDecks=Mazos de Fenómenos (Scheme) +lblPlanarDecks=Mazos Planar +lblPreconstructedDecks=Mazos Preconstruidos +lblQuestOpponentDecks=Mazos de los Oponentes de la Aventura +lblRandomColorDecks=Mazos Aleatorios por Color +lblRandomStandardArchetypeDecks=Mazos Standard por Arquetipo +lblRandomModernArchetypeDecks=Mazos Modern por Arquetipo +lblRandomLegacyArchetypeDecks=Mazos Legacy por Arquetipo +lblRandomVintageArchetypeDecks=Mazos Vintage por Arquetipo +lblRandomStandardColorDecks=Mazos Standard Aleatorio por Color +lblRandomModernColorDecks=Mazos Standard Aleatorio por Color +lblRandomThemeDecks=Mazos Aleatorios Temáticos +lblRandomDecks=Mazos Aleatorios +lblNetDecks=Mazos en línea +lblNetCommanderDecks=Mazos Commander en línea +#VSubmenuPuzzleSolve.java +lblSolve=Resolver +lblPuzzleModeSolve=Modo Puzzle: Resolver +#VSubmenuPuzzleCreate.java +lblPuzzleModeCreate=Modo Puzzle: Crear +lblCreate=Crear +#VSubmenuGauntletLoad.java +lblQuickGauntlets=Desafíos Rápidos +lblLoadGauntlet=Cargar Desafío +lblLoadaGauntlet=Cargar un Desafío +lblLoadaPreviousGauntlet=Cargar un Desafío anterior (usa el mazo con el que se inició) diff --git a/forge-gui/src/main/java/forge/deck/DeckType.java b/forge-gui/src/main/java/forge/deck/DeckType.java index 1d8f6995276..4448180c5c4 100644 --- a/forge-gui/src/main/java/forge/deck/DeckType.java +++ b/forge-gui/src/main/java/forge/deck/DeckType.java @@ -1,32 +1,33 @@ package forge.deck; import forge.model.FModel; +import forge.util.Localizer; public enum DeckType { - CUSTOM_DECK ("Custom User Decks"), - CONSTRUCTED_DECK ("Constructed Decks"), - COMMANDER_DECK ("Commander Decks"), - RANDOM_COMMANDER_DECK ("Random Commander Decks"), - RANDOM_CARDGEN_COMMANDER_DECK ("Random Commander Card-based Decks"), - TINY_LEADERS_DECKS ("Tiny Leaders Decks"), - BRAWL_DECKS ("Brawl Decks"), - SCHEME_DECKS ("Scheme Decks"), - PLANAR_DECKS ("Planar Decks"), - DRAFT_DECKS ("Draft Decks"), - SEALED_DECKS ("Sealed Decks"), - PRECONSTRUCTED_DECK("Preconstructed Decks"), - QUEST_OPPONENT_DECK ("Quest Opponent Decks"), - COLOR_DECK ("Random Color Decks"), - STANDARD_CARDGEN_DECK ("Random Standard Archetype Decks"), - MODERN_CARDGEN_DECK ("Random Modern Archetype Decks"), - LEGACY_CARDGEN_DECK ("Random Legacy Archetype Decks"), - VINTAGE_CARDGEN_DECK ("Random Vintage Archetype Decks"), - STANDARD_COLOR_DECK ("Random Standard Color Decks"), - MODERN_COLOR_DECK ("Random Modern Color Decks"), - THEME_DECK ("Random Theme Decks"), - RANDOM_DECK ("Random Decks"), - NET_DECK ("Net Decks"), - NET_COMMANDER_DECK ("Net Commander Decks"); + CUSTOM_DECK("lblCustomUserDecks"), + CONSTRUCTED_DECK("lblConstructedDecks"), + COMMANDER_DECK("lblCommanderDecks"), + RANDOM_COMMANDER_DECK("lblRandomCommanderDecks"), + RANDOM_CARDGEN_COMMANDER_DECK("lblRandomCommanderCard-basedDecks"), + TINY_LEADERS_DECKS("lblTinyLeadersDecks"), + BRAWL_DECKS("lblBrawlDecks"), + SCHEME_DECKS("lblSchemeDecks"), + PLANAR_DECKS("lblPlanarDecks"), + DRAFT_DECKS("lblDraftDecks"), + SEALED_DECKS("lblSealedDecks"), + PRECONSTRUCTED_DECK("lblPreconstructedDecks"), + QUEST_OPPONENT_DECK("lblQuestOpponentDecks"), + COLOR_DECK("lblRandomColorDecks"), + STANDARD_CARDGEN_DECK("lblRandomStandardArchetypeDecks"), + MODERN_CARDGEN_DECK("lblRandomModernArchetypeDecks"), + LEGACY_CARDGEN_DECK("lblRandomLegacyArchetypeDecks"), + VINTAGE_CARDGEN_DECK("lblRandomVintageArchetypeDecks"), + STANDARD_COLOR_DECK("lblRandomStandardColorDecks"), + MODERN_COLOR_DECK("lblRandomModernColorDecks"), + THEME_DECK("lblRandomThemeDecks"), + RANDOM_DECK("lblRandomDecks"), + NET_DECK("lblNetDecks"), + NET_COMMANDER_DECK("lblNetCommanderDecks"); public static DeckType[] ConstructedOptions; public static DeckType[] CommanderOptions; @@ -84,7 +85,8 @@ public enum DeckType { private String value; private DeckType(final String value) { - this.value = value; + final Localizer localizer = Localizer.getInstance(); + this.value = localizer.getMessage(value); } @Override