Merge branch 'master' into 'master'

Moving hard-coded text to res files

See merge request core-developers/forge!1632
This commit is contained in:
swordshine
2019-05-24 00:35:11 +00:00
9 changed files with 266 additions and 189 deletions

View File

@@ -2,6 +2,7 @@ package forge.screens.home.puzzle;
import forge.model.FModel;
import forge.properties.ForgePreferences;
import forge.util.Localizer;
import javax.swing.*;
import java.awt.event.KeyEvent;
@@ -12,7 +13,8 @@ public class PuzzleGameMenu {
private static ForgePreferences prefs = FModel.getPreferences();
public static JMenu getMenu() {
JMenu menu = new JMenu("Puzzle");
final Localizer localizer = Localizer.getInstance();
JMenu menu = new JMenu(localizer.getMessage("lblPuzzle"));
menu.setMnemonic(KeyEvent.VK_G);
return menu;
}

View File

@@ -22,10 +22,9 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
/** */
SINGLETON_INSTANCE;
final Localizer localizer = Localizer.getInstance();
// Fields used with interface IVDoc
private DragCell parentCell;
private final DragTab tab = new DragTab("Quest Challenges");
private final DragTab tab = new DragTab(localizer.getMessage("lblQuestChallenges"));
//========== INSTANTIATION
private final JPanel pnlStats = new JPanel();
@@ -36,11 +35,11 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
private final StartButton btnStart = new StartButton();
private final FComboBoxWrapper<String> cbxPet = new FComboBoxWrapper<String>();
private final FCheckBox cbPlant = new FCheckBox("Summon Plant");
private final FCheckBox cbPlant = new FCheckBox(localizer.getMessage("cbSummonPlant"));
private final FComboBoxWrapper<String> cbxMatchLength = new FComboBoxWrapper<String>();
private final FLabel lblZep = new FLabel.Builder().text("<html>Launch<br>Zeppelin</html>")
private final FLabel lblZep = new FLabel.Builder().text(localizer.getMessage("htmlLaunchZeppelin"))
.hoverable(true).icon(FSkin.getIcon(FSkinProp.ICO_QUEST_ZEP))
.fontSize(16).build();
private final FLabel lblWorld = new FLabel.Builder()
@@ -61,24 +60,24 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
private final FLabel lblWinStreak = new FLabel.Builder()
.icon(FSkin.getIcon(FSkinProp.ICO_QUEST_PLUSPLUS))
.fontSize(15).build();
private final LblHeader lblTitle = new LblHeader("Quest Mode: Challenges");
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblQuestModeChallenges"));
private final FLabel lblInfo = new FLabel.Builder().text("Which challenge will you attempt?")
private final FLabel lblInfo = new FLabel.Builder().text(localizer.getMessage("lblWhichChallenge"))
.fontStyle(Font.BOLD).fontSize(16)
.fontAlign(SwingConstants.LEFT).build();
private final FLabel lblCurrentDeck = new FLabel.Builder()
.text("Current deck hasn't been set yet.")
.text(localizer.getMessage("lblNoDuelDeck"))
.fontSize(12).build();
private final FLabel lblNextChallengeInWins = new FLabel.Builder()
.text("Next challenge in wins hasn't been set yet.")
.text(localizer.getMessage("lblNextChallengeNotYet"))
.fontSize(12).build();
private final FLabel btnUnlock = new FLabel.ButtonBuilder().text("Unlock Sets").fontSize(16).build();
private final FLabel btnTravel = new FLabel.ButtonBuilder().text("Travel").fontSize(16).build();
private final FLabel btnBazaar = new FLabel.ButtonBuilder().text("Bazaar").fontSize(16).build();
private final FLabel btnSpellShop = new FLabel.ButtonBuilder().text("Spell Shop").fontSize(16).build();
private final FLabel btnUnlock = new FLabel.ButtonBuilder().text(localizer.getMessage("btnUnlockSets")).fontSize(16).build();
private final FLabel btnTravel = new FLabel.ButtonBuilder().text(localizer.getMessage("btnTravel")).fontSize(16).build();
private final FLabel btnBazaar = new FLabel.ButtonBuilder().text(localizer.getMessage("btnBazaar")).fontSize(16).build();
private final FLabel btnSpellShop = new FLabel.ButtonBuilder().text(localizer.getMessage("btnSpellShop")).fontSize(16).build();
/**
* Constructor.
@@ -116,7 +115,7 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
*/
@Override
public String getMenuTitle() {
return "Challenges";
return localizer.getMessage("lblChallenges");
}
/* (non-Javadoc)

View File

@@ -110,7 +110,7 @@ public enum VSubmenuDuels implements IVSubmenu<CSubmenuDuels>, IVQuestStats {
*/
@Override
public String getMenuTitle() {
return "Duels";
return localizer.getMessage("lblDuels");
}
/* (non-Javadoc)

View File

@@ -14,6 +14,7 @@ import forge.screens.home.VHomeUI;
import forge.screens.home.VHomeUI.PnlDisplay;
import forge.toolbox.FLabel;
import forge.toolbox.FSkin;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
@@ -30,39 +31,41 @@ public enum VSubmenuQuestDecks implements IVSubmenu<CSubmenuQuestDecks> {
/** */
SINGLETON_INSTANCE;
final Localizer localizer = Localizer.getInstance();
// Fields used with interface IVDoc
private DragCell parentCell;
private final DragTab tab = new DragTab("Quest Decks");
private final DragTab tab = new DragTab(localizer.getMessage("lblQuestDecks"));
/** */
private final LblHeader lblTitle = new LblHeader("Quest Decks");
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblQuestDecks"));
private final DeckManager lstDecks = new DeckManager(GameType.Quest, CDeckEditorUI.SINGLETON_INSTANCE.getCDetailPicture());
private final FLabel lblInfo = new FLabel.Builder()
.fontAlign(SwingConstants.LEFT).fontSize(16).fontStyle(Font.BOLD)
.text("Build or select a deck").build();
.text(localizer.getMessage("lblBuildorselectadeck")).build();
private final FLabel lblDir1 = new FLabel.Builder()
.text("In Quest mode, you build a deck from a limited inventory.")
.text(localizer.getMessage("lblQuestDesc1"))
.fontSize(12).build();
private final FLabel lblDir2 = new FLabel.Builder()
.text("Build and enhance decks from the cards in your quest inventory as it grows.")
.text(localizer.getMessage("lblQuestDesc2"))
.fontSize(12).build();
private final FLabel lblDir3 = new FLabel.Builder()
.text("Then, switch to the Duels or Challenges submenu to play against AI opponents and unlock more cards.")
.text(localizer.getMessage("lblQuestDesc3"))
.fontSize(12).build();
private final FLabel btnNewDeck = new FLabel.ButtonBuilder().text("Build a New Deck").fontSize(16).build();
private final FLabel btnNewDeck = new FLabel.ButtonBuilder().text(localizer.getMessage("lblBuildaNewDeck")).fontSize(16).build();
/**
* Constructor.
*/
VSubmenuQuestDecks() {
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
lstDecks.setCaption("Quest Decks");
lstDecks.setCaption(localizer.getMessage("lblQuestDecks"));
}
/* (non-Javadoc)
@@ -100,7 +103,7 @@ public enum VSubmenuQuestDecks implements IVSubmenu<CSubmenuQuestDecks> {
*/
@Override
public String getMenuTitle() {
return "Quest Decks";
return localizer.getMessage("lblQuestDecks");
}
/* (non-Javadoc)

View File

@@ -29,7 +29,7 @@ import forge.toolbox.FSkin.SkinColor;
import forge.toolbox.FSkin.SkinImage;
import forge.toolbox.JXButtonPanel;
import net.miginfocom.swing.MigLayout;
import forge.util.Localizer;
import javax.swing.*;
import java.awt.*;
@@ -46,10 +46,11 @@ import java.awt.geom.Rectangle2D;
*/
public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestTournamentView {
SINGLETON_INSTANCE;
final Localizer localizer = Localizer.getInstance();
private final DragTab tab = new DragTab("Tournaments");
private final DragTab tab = new DragTab(localizer.getMessage("lblTournaments"));
private final LblHeader lblTitle = new LblHeader("Quest Mode: Draft Tournament");
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblQuestModeDraftTournament"));
private final FLabel lblCredits = new FLabel.Builder()
.icon(FSkin.getIcon(FSkinProp.ICO_QUEST_COINSTACK))
@@ -59,11 +60,11 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
private final FScrollPanel pnlTournaments = new FScrollPanel(new MigLayout("insets 0, gap 0, wrap, ax center"), true,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
private final JLabel lblInfo = new FLabel.Builder().text("Select a tournament to join:")
private final JLabel lblInfo = new FLabel.Builder().text(localizer.getMessage("lblSelectaTournament")+ ":")
.fontStyle(Font.BOLD).fontSize(16)
.fontAlign(SwingConstants.LEFT).build();
private final JLabel lblNoDrafts = new FLabel.Builder().text("There are no tournaments available at this time.")
private final JLabel lblNoDrafts = new FLabel.Builder().text(localizer.getMessage("lblNoTournaments"))
.fontStyle(Font.PLAIN).fontSize(16)
.fontAlign(SwingConstants.LEFT).build();
@@ -84,10 +85,10 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
private final StartButton btnStartTournament = new StartButton();
private final StartButton btnStartMatch = new StartButton();
private final FLabel btnEditDeck = new FLabel.ButtonBuilder().text("Edit Deck").fontSize(24).build();
private final FLabel btnLeaveTournament = new FLabel.ButtonBuilder().text("Leave Tournament").fontSize(12).build();
private final FLabel btnSpendToken = new FLabel.ButtonBuilder().text("Spend Token").fontSize(14).build();
private final FLabel btnStartMatchSmall = new FLabel.ButtonBuilder().text("Start Next Match").fontSize(12).build();
private final FLabel btnEditDeck = new FLabel.ButtonBuilder().text(localizer.getMessage("btnEditDeck")).fontSize(24).build();
private final FLabel btnLeaveTournament = new FLabel.ButtonBuilder().text(localizer.getMessage("btnLeaveTournament")).fontSize(12).build();
private final FLabel btnSpendToken = new FLabel.ButtonBuilder().text(localizer.getMessage("btnSpendToken")).fontSize(14).build();
private final FLabel btnStartMatchSmall = new FLabel.ButtonBuilder().text(localizer.getMessage("btnStartMatchSmall")).fontSize(12).build();
private final PnlMatchup[] matchups = new PnlMatchup[8];
@@ -102,36 +103,36 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
SkinImage avatar = FSkin.getAvatars().get(GuiBase.getInterface().getAvatarCount() - 1);
matchups[0] = new PnlMatchup(PnlMatchup.LineDirection.DOWN, PnlMatchup.LineSide.RIGHT, PnlMatchup.BoxSize.SMALL);
matchups[0].setPlayerOne("Undetermined", avatar);
matchups[0].setPlayerTwo("Undetermined", avatar);
matchups[0].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
matchups[0].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
matchups[1] = new PnlMatchup(PnlMatchup.LineDirection.UP, PnlMatchup.LineSide.RIGHT, PnlMatchup.BoxSize.SMALL);
matchups[1].setPlayerOne("Undetermined", avatar);
matchups[1].setPlayerTwo("Undetermined", avatar);
matchups[1].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
matchups[1].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
matchups[2] = new PnlMatchup(PnlMatchup.LineDirection.DOWN, PnlMatchup.LineSide.RIGHT, PnlMatchup.BoxSize.SMALL);
matchups[2].setPlayerOne("Undetermined", avatar);
matchups[2].setPlayerTwo("Undetermined", avatar);
matchups[2].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
matchups[2].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
matchups[3] = new PnlMatchup(PnlMatchup.LineDirection.UP, PnlMatchup.LineSide.RIGHT, PnlMatchup.BoxSize.SMALL);
matchups[3].setPlayerOne("Undetermined", avatar);
matchups[3].setPlayerTwo("Undetermined", avatar);
matchups[3].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
matchups[3].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
matchups[4] = new PnlMatchup(PnlMatchup.LineDirection.DOWN, PnlMatchup.LineSide.BOTH, PnlMatchup.BoxSize.MEDIUM);
matchups[4].setPlayerOne("Undetermined", avatar);
matchups[4].setPlayerTwo("Undetermined", avatar);
matchups[4].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
matchups[4].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
matchups[5] = new PnlMatchup(PnlMatchup.LineDirection.UP, PnlMatchup.LineSide.BOTH, PnlMatchup.BoxSize.MEDIUM);
matchups[5].setPlayerOne("Undetermined", avatar);
matchups[5].setPlayerTwo("Undetermined", avatar);
matchups[5].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
matchups[5].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
matchups[6] = new PnlMatchup(PnlMatchup.LineDirection.STRAIGHT, PnlMatchup.LineSide.BOTH, PnlMatchup.BoxSize.LARGE);
matchups[6].setPlayerOne("Undetermined", avatar);
matchups[6].setPlayerTwo("Undetermined", avatar);
matchups[6].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
matchups[6].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
matchups[7] = new PnlMatchup(PnlMatchup.LineDirection.STRAIGHT, PnlMatchup.LineSide.LEFT, PnlMatchup.BoxSize.LARGE_SINGLE, true);
matchups[7].setPlayerOne("Undetermined", avatar);
matchups[7].setPlayerTwo("Undetermined", avatar);
matchups[7].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
matchups[7].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
pnlDeckImage = new ProportionalPanel(FSkin.getImage(FSkinProp.IMG_QUEST_DRAFT_DECK), 680, 475);
@@ -145,7 +146,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
pnlStats.add(btnSpendToken, "w 150px!, h 40px!, ax center");
pnlStats.setOpaque(false);
btnSpendToken.setToolTipText("Creates a new tournament that can be played immediately.");
btnSpendToken.setToolTipText(localizer.getMessage("btnSpendTokenTT"));
}
@@ -249,7 +250,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
@Override
public String getMenuTitle() {
return "Tournaments";
return localizer.getMessage("lblTournaments");
}
@Override
@@ -299,7 +300,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
}
private void populatePrepareDeck() {
lblTitle.setText("Quest Mode: Draft Tournament - " + FModel.getQuest().getAchievements().getCurrentDraft().getTitle());
lblTitle.setText(localizer.getMessage("lblQuestModeDraftTournament")+ " - " + FModel.getQuest().getAchievements().getCurrentDraft().getTitle());
VHomeUI.SINGLETON_INSTANCE.getPnlDisplay().setLayout(new MigLayout(
"insets 0, gap 0, ax center, wrap",
"",
@@ -316,7 +317,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
}
private void populateTournamentActive() {
lblTitle.setText("Quest Mode: Draft Tournament - " + FModel.getQuest().getAchievements().getCurrentDraft().getTitle());
lblTitle.setText(localizer.getMessage("lblQuestModeDraftTournament")+ " - " + FModel.getQuest().getAchievements().getCurrentDraft().getTitle());
VHomeUI.SINGLETON_INSTANCE.getPnlDisplay().setLayout(new MigLayout("insets 0, gap 0, ax center, wrap 1"));
VHomeUI.SINGLETON_INSTANCE.getPnlDisplay().add(lblTitle, "w 80%!, h 40px!, gap 20% 0 15px 10px, ax right, span 2");

View File

@@ -52,6 +52,8 @@ import java.net.MalformedURLException;
import java.util.*;
import java.util.List;
import java.util.Map.Entry;
import forge.util.Localizer;
/**
* Assembles settings from selected or default theme as appropriate. Saves in a
@@ -1155,7 +1157,8 @@ public class FSkin {
if (preferredName.isEmpty()) { loadLight("default", true); }
}
FView.SINGLETON_INSTANCE.setSplashProgessBarMessage("Processing image sprites: ", 8);
final Localizer localizer = Localizer.getInstance();
FView.SINGLETON_INSTANCE.setSplashProgessBarMessage(localizer.getMessage("splash.loading.processingimagesprites") + ": ", 8);
// Grab and test various sprite files.
final String defaultDir = ForgeConstants.DEFAULT_SKINS_DIR;

View File

@@ -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)
@@ -187,14 +188,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
@@ -304,151 +305,173 @@ lblSHORTCUT_MACRO_NEXT_ACTION=Duel: führe nächste Aktion im gespeicherten Makr
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
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=Archenemy Rumble
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 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
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 Data
lblStartanewQuest=Start a new Quest
lblOldQuestData=Old quest data? Put into %n and restart Forge.
rbEasy=Easy
rbMedium=Medium
rbHard=Hard
rbExpert=Expert
rbFantasyMode=Fantasy Mode
lblQuestData=Quest Daten
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=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
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=Launch a Zeppelin.
lblPlant=Plant
lblChallenges=Challenges
lblMatchBestof=Match - Best of
lblDuels=Duels
lblLaunchaZeppelin=Starte einen Zeppelin.
lblPlant=Pflanze
lblChallenges=Herausforderungen
lblMatchBestof=Turnier - Beste aus
lblDuels=Duelle
#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
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=Please specify a quest name.
lblQuestExists=A quest already exists with that name. Please pick another 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=Create a Deck.
lblCreateaDeck=Erzeuge ein Deck.
#CSubmenuQuestPrefs.java
lblEnteraNumber=Enter a number
lblSavefailed=Save failed
lblEnteraNumber=Nummer eingeben
lblSavefailed=Speichern fehlgeschlagen
#DialogChooseFormats.java
cbWantReprints=Allow compatible reprints from other sets
lblChooseFormats=Choose formats
lblSanctioned=Sanctioned
lblOther=Other
lblHistoric=Historic
lblCancel=Cancel
cbWantReprints=Erlaube passende Drucke aus anderen Sets
lblChooseFormats=Wähle Format
lblSanctioned=Sanktioniert
lblOther=Andere
lblHistoric=Historisch
lblCancel=Abbrechen
#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.
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=<html>Launch<br>Zeppelin</html>
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.
#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

View File

@@ -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
@@ -451,4 +452,26 @@ lblradBalanced=A "Balanced" distribution will provide a roughly equal number of
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.
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=<html>Launch<br>Zeppelin</html>
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.
#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

View File

@@ -4,6 +4,7 @@ splash.loading.examining-cards=Cargando cartas, examinando carpeta
splash.loading.cards-folders=Cargando cartas de carpetas
splash.loading.cards-archive=Cargando cartas del archivo
splash.loading.decks=Cargando Mazos...
splash.loading.processingimagesprites=Procesando imágenes de cartas
#VSubmenuPreferences.java
Preferences=Preferencias
btnReset=Restablecer la configuración predeterminada
@@ -452,3 +453,25 @@ lblradRandom=Una distribución "Aleatorio real" se seleccionará casi completame
lblradSurpriseMe=Esto es lo mismo que una distribución "equilibrada", excepto que los colores seleccionados serán aleatorios y no se le dirá qué son.
lblradBoosters=Esto ignora todas las configuraciones de color y en su lugar genera un conjunto de cartas de un número específico de sobres.
lblcbxArtifacts=Cuando se seleccione, los artefactos se incluirán en su grupo independientemente de las selecciones de color. Esto imita el antiguo comportamiento del conjunto de cartas.
#VSubmenuChallenges.java
lblQuestChallenges=Desafíos de la Aventura
htmlLaunchZeppelin=<html>Lanzar<br>Zeppelin</html>
lblQuestModeChallenges=Modo Aventura: Desafíos
lblWhichChallenge=¿Qué desafío vas a intentar?
#VSubmenuQuestDraft.java
lblTournaments=Torneos
lblQuestModeDraftTournament=Modo Aventura: Torneo de Draft
lblSelectaTournament=Seleccione un torneo para unirse
lblNoTournaments=No hay torneos disponibles en este momento.
btnEditDeck=Editar Mazo
btnLeaveTournament=Dejar el torneo
btnSpendToken=Gastar Token
btnStartMatchSmall=Comenzar Siguiente Partida
lblUndetermined=Sin determinar
btnSpendTokenTT=Crea un nuevo torneo que se puede jugar de inmediato.
#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