mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
Merge branch 'translation09' into 'master'
Mobile: Translate Draft, Gauntlet and Puzzle Screens. See merge request core-developers/forge!2228
This commit is contained in:
@@ -23,15 +23,18 @@ import forge.toolbox.FTextArea;
|
||||
import forge.toolbox.GuiChoose;
|
||||
import forge.toolbox.ListChooser;
|
||||
import forge.util.Callback;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.Utils;
|
||||
|
||||
public class NewGauntletScreen extends LaunchScreen {
|
||||
private static final float PADDING = Utils.scale(10);
|
||||
|
||||
private final Localizer localizer = Localizer.getInstance();
|
||||
|
||||
private final FTextArea lblDesc = add(new FTextArea(false,
|
||||
"In Gauntlet mode, you select a deck and play against multiple opponents.\n\n" +
|
||||
"Configure how many opponents you wish to face and what decks or types of decks they will play.\n\n" +
|
||||
"Then, try to beat all AI opponents without losing a match."));
|
||||
localizer.getMessage("lblGauntletText1") + "\n\n" +
|
||||
localizer.getMessage("lblGauntletText2") + "\n\n" +
|
||||
localizer.getMessage("lblGauntletText3")));
|
||||
|
||||
public NewGauntletScreen() {
|
||||
super(null, NewGameMenu.getMenu());
|
||||
@@ -51,38 +54,34 @@ public class NewGauntletScreen extends LaunchScreen {
|
||||
|
||||
@Override
|
||||
protected void startMatch() {
|
||||
GuiChoose.oneOrNone("Select a Gauntlet Type", new String[] {
|
||||
"Quick Gauntlet",
|
||||
"Custom Gauntlet",
|
||||
"Gauntlet Contest",
|
||||
GuiChoose.oneOrNone(localizer.getMessage("lblSelectGauntletType"), new String[] {
|
||||
localizer.getMessage("lblQuickGauntlet"),
|
||||
localizer.getMessage("lblCustomGauntlet"),
|
||||
localizer.getMessage("lblGauntletContest"),
|
||||
}, new Callback<String>() {
|
||||
@Override
|
||||
public void run(String result) {
|
||||
if (result == null) { return; }
|
||||
|
||||
switch (result) {
|
||||
case "Quick Gauntlet":
|
||||
if (localizer.getMessage("lblQuickGauntlet").equals(result)) {
|
||||
createQuickGauntlet();
|
||||
break;
|
||||
case "Custom Gauntlet":
|
||||
} else if(localizer.getMessage("lblCustomGauntlet").equals(result)) {
|
||||
createCustomGauntlet();
|
||||
break;
|
||||
default:
|
||||
} else {
|
||||
createGauntletContest();
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void createQuickGauntlet() {
|
||||
GuiChoose.getInteger("How many opponents are you willing to face?", 3, 50, new Callback<Integer>() {
|
||||
GuiChoose.getInteger(localizer.getMessage("lblHowManyOpponents"), 3, 50, new Callback<Integer>() {
|
||||
@Override
|
||||
public void run(final Integer numOpponents) {
|
||||
if (numOpponents == null) { return; }
|
||||
|
||||
ListChooser<DeckType> chooser = new ListChooser<>(
|
||||
"Choose allowed deck types for opponents", 0, 11, Arrays.asList(DeckType.CUSTOM_DECK,
|
||||
localizer.getMessage("lblChooseAllowedDeckTypeOpponents"), 0, 11, Arrays.asList(DeckType.CUSTOM_DECK,
|
||||
DeckType.PRECONSTRUCTED_DECK,
|
||||
DeckType.QUEST_OPPONENT_DECK,
|
||||
DeckType.COLOR_DECK,
|
||||
@@ -99,7 +98,7 @@ public class NewGauntletScreen extends LaunchScreen {
|
||||
return;
|
||||
}
|
||||
|
||||
FDeckChooser.promptForDeck("Select Your Deck", GameType.Gauntlet, false, new Callback<Deck>() {
|
||||
FDeckChooser.promptForDeck(localizer.getMessage("lblSelectYourDeck"), GameType.Gauntlet, false, new Callback<Deck>() {
|
||||
@Override
|
||||
public void run(Deck userDeck) {
|
||||
if (userDeck == null) {
|
||||
@@ -118,7 +117,7 @@ public class NewGauntletScreen extends LaunchScreen {
|
||||
}
|
||||
|
||||
private void createCustomGauntlet() {
|
||||
GuiChoose.getInteger("How many opponents are you willing to face?", 3, 50, new Callback<Integer>() {
|
||||
GuiChoose.getInteger(localizer.getMessage("lblHowManyOpponents"), 3, 50, new Callback<Integer>() {
|
||||
@Override
|
||||
public void run(final Integer numOpponents) {
|
||||
if (numOpponents == null) { return; }
|
||||
@@ -132,7 +131,7 @@ public class NewGauntletScreen extends LaunchScreen {
|
||||
|
||||
private void promptForAiDeck(final GauntletData gauntlet, final int numOpponents) {
|
||||
final int opponentNum = gauntlet.getDecks().size() + 1;
|
||||
FDeckChooser.promptForDeck("Select Deck for Opponent " + opponentNum + " / " + numOpponents, GameType.Gauntlet, true, new Callback<Deck>() {
|
||||
FDeckChooser.promptForDeck(localizer.getMessage("lblSelectDeckForOpponent") + " " + opponentNum + " / " + numOpponents, GameType.Gauntlet, true, new Callback<Deck>() {
|
||||
@Override
|
||||
public void run(Deck aiDeck) {
|
||||
if (aiDeck == null) { return; }
|
||||
@@ -145,7 +144,7 @@ public class NewGauntletScreen extends LaunchScreen {
|
||||
}
|
||||
else {
|
||||
//once all ai decks have been selected, prompt for user deck
|
||||
FDeckChooser.promptForDeck("Select Your Deck", GameType.Gauntlet, false, new Callback<Deck>() {
|
||||
FDeckChooser.promptForDeck(localizer.getMessage("lblSelectYourDeck"), GameType.Gauntlet, false, new Callback<Deck>() {
|
||||
@Override
|
||||
public void run(Deck userDeck) {
|
||||
if (userDeck == null) { return; }
|
||||
@@ -170,12 +169,12 @@ public class NewGauntletScreen extends LaunchScreen {
|
||||
}
|
||||
}
|
||||
|
||||
GuiChoose.oneOrNone("Select Gauntlet Contest", contests, new Callback<GauntletData>() {
|
||||
GuiChoose.oneOrNone(localizer.getMessage("lblSelectGauntletContest"), contests, new Callback<GauntletData>() {
|
||||
@Override
|
||||
public void run(final GauntletData contest) {
|
||||
if (contest == null) { return; }
|
||||
|
||||
FDeckChooser.promptForDeck("Select Your Deck", GameType.Gauntlet, false, new Callback<Deck>() {
|
||||
FDeckChooser.promptForDeck(localizer.getMessage("lblSelectYourDeck"), GameType.Gauntlet, false, new Callback<Deck>() {
|
||||
@Override
|
||||
public void run(final Deck userDeck) {
|
||||
if (userDeck == null) { return; }
|
||||
|
||||
@@ -19,15 +19,13 @@ import forge.toolbox.FEvent.FEventHandler;
|
||||
import forge.util.Localizer;
|
||||
|
||||
public class LoadGameMenu extends FPopupMenu {
|
||||
final static Localizer localizer = Localizer.getInstance();
|
||||
|
||||
public enum LoadGameScreen {
|
||||
BoosterDraft(localizer.getMessage("lblBoosterDraft"), FSkinImage.HAND, LoadDraftScreen.class),
|
||||
SealedDeck(localizer.getMessage("lblSealedDeck"), FSkinImage.PACK, LoadSealedScreen.class),
|
||||
QuestMode(localizer.getMessage("lblQuestMode"), FSkinImage.QUEST_ZEP, LoadQuestScreen.class),
|
||||
PlanarConquest(localizer.getMessage("lblPlanarConquest"), FSkinImage.MULTIVERSE, LoadConquestScreen.class),
|
||||
Gauntlet(localizer.getMessage("lblGauntlet"), FSkinImage.ALPHASTRIKE, LoadGauntletScreen.class);
|
||||
|
||||
BoosterDraft("Booster Draft", FSkinImage.HAND, LoadDraftScreen.class),
|
||||
SealedDeck("Sealed Deck", FSkinImage.PACK, LoadSealedScreen.class),
|
||||
QuestMode("Quest Mode", FSkinImage.QUEST_ZEP, LoadQuestScreen.class),
|
||||
PlanarConquest("Planar Conquest", FSkinImage.MULTIVERSE, LoadConquestScreen.class),
|
||||
Gauntlet("Gauntlet", FSkinImage.ALPHASTRIKE, LoadGauntletScreen.class);
|
||||
|
||||
private final FMenuItem item;
|
||||
private final Class<? extends FScreen> screenClass;
|
||||
private FScreen screen;
|
||||
@@ -47,7 +45,7 @@ public class LoadGameMenu extends FPopupMenu {
|
||||
if (screen == null) { //don't initialize screen until it's opened the first time
|
||||
try {
|
||||
screen = screenClass.newInstance();
|
||||
screen.setHeaderCaption(localizer.getMessage("lblLoadGame") + " - " + item.getText());
|
||||
screen.setHeaderCaption(Localizer.getInstance().getMessage("lblLoadGame") + " - " + item.getText());
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -18,6 +18,7 @@ import forge.toolbox.FOptionPane;
|
||||
import forge.toolbox.FTextArea;
|
||||
import forge.toolbox.GuiChoose;
|
||||
import forge.util.Callback;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.Utils;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -28,10 +29,9 @@ public class PuzzleScreen extends LaunchScreen {
|
||||
private static final float PADDING = Utils.scale(10);
|
||||
|
||||
private final FTextArea lblDesc = add(new FTextArea(false,
|
||||
"Puzzle Mode loads in a puzzle that you have to win in a predetermined time/way.\n\n" +
|
||||
"To begin, press the Start button below, then select a puzzle from a list.\n\n" +
|
||||
"Your objective will be displayed in a pop-up window when the puzzle starts and also " +
|
||||
"specified on a special effect card which will be placed in your command zone."));
|
||||
Localizer.getInstance().getMessage("lblPuzzleText1") + "\n\n" +
|
||||
Localizer.getInstance().getMessage("lblPuzzleText2") + "\n\n" +
|
||||
Localizer.getInstance().getMessage("lblPuzzleText3")));
|
||||
|
||||
public PuzzleScreen() {
|
||||
super(null, NewGameMenu.getMenu());
|
||||
@@ -54,10 +54,10 @@ public class PuzzleScreen extends LaunchScreen {
|
||||
final ArrayList<Puzzle> puzzles = PuzzleIO.loadPuzzles();
|
||||
Collections.sort(puzzles);
|
||||
|
||||
GuiChoose.one("Choose a puzzle", puzzles, new Callback<Puzzle>() {
|
||||
GuiChoose.one(Localizer.getInstance().getMessage("lblChooseAPuzzle"), puzzles, new Callback<Puzzle>() {
|
||||
@Override
|
||||
public void run(final Puzzle chosen) {
|
||||
LoadingOverlay.show("Loading the puzzle...", new Runnable() {
|
||||
LoadingOverlay.show(Localizer.getInstance().getMessage("lblLoadingThePuzzle"), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// Load selected puzzle
|
||||
|
||||
@@ -30,6 +30,7 @@ import forge.match.HostedMatch;
|
||||
import forge.model.FModel;
|
||||
import forge.player.GamePlayerUtil;
|
||||
import forge.toolbox.FComboBox;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.gui.SGuiChoose;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -37,20 +38,20 @@ import java.util.List;
|
||||
public class LoadDraftScreen extends LaunchScreen {
|
||||
private final DeckManager lstDecks = add(new DeckManager(GameType.Draft));
|
||||
private final FLabel lblTip = add(new FLabel.Builder()
|
||||
.text("Double-tap to edit deck (Long-press to view)")
|
||||
.text(Localizer.getInstance().getMessage("lblDoubleTapToEditDeck"))
|
||||
.textColor(FLabel.INLINE_LABEL_COLOR)
|
||||
.align(Align.center).font(FSkinFont.get(12)).build());
|
||||
|
||||
private final FSkinFont GAME_MODE_FONT= FSkinFont.get(12);
|
||||
private final FLabel lblMode = add(new FLabel.Builder().text("Mode:").font(GAME_MODE_FONT).build());
|
||||
private final FLabel lblMode = add(new FLabel.Builder().text(Localizer.getInstance().getMessage("lblMode")).font(GAME_MODE_FONT).build());
|
||||
private final FComboBox<String> cbMode = add(new FComboBox<>());
|
||||
|
||||
public LoadDraftScreen() {
|
||||
super(null, LoadGameMenu.getMenu());
|
||||
|
||||
cbMode.setFont(GAME_MODE_FONT);
|
||||
cbMode.addItem("Gauntlet");
|
||||
cbMode.addItem("Single Match");
|
||||
cbMode.addItem(Localizer.getInstance().getMessage("lblGauntlet"));
|
||||
cbMode.addItem(Localizer.getInstance().getMessage("lblSingleMatch"));
|
||||
|
||||
lstDecks.setup(ItemManagerConfig.DRAFT_DECKS);
|
||||
lstDecks.setItemActivateHandler(new FEventHandler() {
|
||||
@@ -98,17 +99,18 @@ public class LoadDraftScreen extends LaunchScreen {
|
||||
FThreads.invokeInBackgroundThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Localizer localizer = Localizer.getInstance();
|
||||
final DeckProxy humanDeck = lstDecks.getSelectedItem();
|
||||
if (humanDeck == null) {
|
||||
FOptionPane.showErrorDialog("You must select an existing deck or build a deck from a new booster draft game.", "No Deck");
|
||||
FOptionPane.showErrorDialog(localizer.getMessage("lblYouMustSelectExistingDeck"), localizer.getMessage("lblNoDeck"));
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: if booster draft tournaments are supported in the future, add the possibility to choose them here
|
||||
final boolean gauntlet = cbMode.getSelectedItem().equals("Gauntlet");
|
||||
final boolean gauntlet = cbMode.getSelectedItem().equals(localizer.getMessage("lblGauntlet"));
|
||||
|
||||
if (gauntlet) {
|
||||
final Integer rounds = SGuiChoose.getInteger("How many opponents are you willing to face?",
|
||||
final Integer rounds = SGuiChoose.getInteger(localizer.getMessage("lblHowManyOpponents"),
|
||||
1, FModel.getDecks().getDraft().get(humanDeck.getName()).getAiDecks().size());
|
||||
if (rounds == null) {
|
||||
return;
|
||||
@@ -121,7 +123,7 @@ public class LoadDraftScreen extends LaunchScreen {
|
||||
return;
|
||||
}
|
||||
|
||||
LoadingOverlay.show("Loading new game...", new Runnable() {
|
||||
LoadingOverlay.show(localizer.getMessage("lblLoadingNewGame"), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
FModel.getGauntletMini().resetGauntletDraft();
|
||||
@@ -131,7 +133,7 @@ public class LoadDraftScreen extends LaunchScreen {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
final Integer aiIndex = SGuiChoose.getInteger("Which opponent would you like to face?",
|
||||
final Integer aiIndex = SGuiChoose.getInteger(localizer.getMessage("lblWhichOpponentWouldYouLikeToFace"),
|
||||
1, FModel.getDecks().getDraft().get(humanDeck.getName()).getAiDecks().size());
|
||||
if (aiIndex == null) {
|
||||
return; // Cancel was pressed
|
||||
@@ -146,7 +148,7 @@ public class LoadDraftScreen extends LaunchScreen {
|
||||
FThreads.invokeInEdtLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
LoadingOverlay.show("Loading new game...", new Runnable() {
|
||||
LoadingOverlay.show(localizer.getMessage("lblLoadingNewGame"), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!checkDeckLegality(humanDeck)) {
|
||||
@@ -177,7 +179,7 @@ public class LoadDraftScreen extends LaunchScreen {
|
||||
if (FModel.getPreferences().getPrefBoolean(FPref.ENFORCE_DECK_LEGALITY)) {
|
||||
String errorMessage = GameType.Draft.getDeckFormat().getDeckConformanceProblem(humanDeck.getDeck());
|
||||
if (errorMessage != null) {
|
||||
FOptionPane.showErrorDialog("Your deck " + errorMessage + "\nPlease edit or choose a different deck.", "Invalid Deck");
|
||||
FOptionPane.showErrorDialog(Localizer.getInstance().getMessage("lblInvalidDeckDesc").replace("%n", errorMessage), Localizer.getInstance().getMessage("lblInvalidDeck"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import forge.screens.LoadingOverlay;
|
||||
import forge.screens.home.NewGameMenu;
|
||||
import forge.toolbox.FLabel;
|
||||
import forge.toolbox.FTextArea;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.ThreadUtil;
|
||||
import forge.util.Utils;
|
||||
import forge.util.gui.SGuiChoose;
|
||||
@@ -19,9 +20,9 @@ public class NewDraftScreen extends LaunchScreen {
|
||||
private static final float PADDING = Utils.scale(10);
|
||||
|
||||
private final FTextArea lblDesc = add(new FTextArea(false,
|
||||
"In Draft mode, three booster packs are rotated around eight players.\n\n" +
|
||||
"Build a deck from the cards you choose. The AI will do the same.\n\n" +
|
||||
"Then, play against any number of the AI opponents."));
|
||||
Localizer.getInstance().getMessage("lblDraftText1") + "\n\n" +
|
||||
Localizer.getInstance().getMessage("lblDraftText2") + "\n\n" +
|
||||
Localizer.getInstance().getMessage("lblDraftText3")));
|
||||
|
||||
public NewDraftScreen() {
|
||||
super(null, NewGameMenu.getMenu());
|
||||
@@ -44,7 +45,7 @@ public class NewDraftScreen extends LaunchScreen {
|
||||
ThreadUtil.invokeInGameThread(new Runnable() { //must run in game thread to prevent blocking UI thread
|
||||
@Override
|
||||
public void run() {
|
||||
final LimitedPoolType poolType = SGuiChoose.oneOrNone("Choose Draft Format", LimitedPoolType.values());
|
||||
final LimitedPoolType poolType = SGuiChoose.oneOrNone(Localizer.getInstance().getMessage("lblChooseDraftFormat"), LimitedPoolType.values());
|
||||
if (poolType == null) { return; }
|
||||
|
||||
final BoosterDraft draft = BoosterDraft.createDraft(poolType);
|
||||
@@ -53,7 +54,7 @@ public class NewDraftScreen extends LaunchScreen {
|
||||
FThreads.invokeInEdtLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
LoadingOverlay.show("Loading new draft...", new Runnable() {
|
||||
LoadingOverlay.show(Localizer.getInstance().getMessage("lblLoadingNewDraft"), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new DraftingProcessScreen(draft, EditorType.Draft, null));
|
||||
|
||||
@@ -12,6 +12,7 @@ import forge.screens.LaunchScreen;
|
||||
import forge.screens.home.NewGameMenu;
|
||||
import forge.toolbox.FLabel;
|
||||
import forge.toolbox.FTextArea;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.ThreadUtil;
|
||||
import forge.util.Utils;
|
||||
|
||||
@@ -19,9 +20,9 @@ public class NewSealedScreen extends LaunchScreen {
|
||||
private static final float PADDING = Utils.scale(10);
|
||||
|
||||
private final FTextArea lblDesc = add(new FTextArea(false,
|
||||
"In Sealed mode, you build a deck from booster packs (maximum 10).\n\n" +
|
||||
"Build a deck from the cards you receive. A number of AI opponents will do the same.\n\n" +
|
||||
"Then, play against each of the AI opponents."));
|
||||
Localizer.getInstance().getMessage("lblSealedText2") + "\n\n" +
|
||||
Localizer.getInstance().getMessage("lblSealedText3") + "\n\n" +
|
||||
Localizer.getInstance().getMessage("lblSealedText4")));
|
||||
|
||||
public NewSealedScreen() {
|
||||
super(null, NewGameMenu.getMenu());
|
||||
|
||||
@@ -10,6 +10,7 @@ Hanmac
|
||||
Indigo Dragon
|
||||
Jamin Collins
|
||||
kevlahnota
|
||||
klaxnek
|
||||
KrazyTheFox
|
||||
leriomaggio
|
||||
Luke
|
||||
|
||||
@@ -1172,3 +1172,27 @@ lblItsADraw=Es ist ein Unentschieden!
|
||||
lblTeamWon=Team %s hat gewonnen!
|
||||
lblWinnerWon=%s hat gewonnen!
|
||||
lblGameLog=Spiel-Aufzeichnung
|
||||
#NewDraftScreen.java
|
||||
lblLoadingNewDraft=Loading new draft...
|
||||
#LoadDraftScreen.java
|
||||
lblDoubleTapToEditDeck=Double-tap to edit deck (Long-press to view)
|
||||
lblMode=Mode:
|
||||
lblYouMustSelectExistingDeck=You must select an existing deck or build a deck from a new booster draft game.
|
||||
lblWhichOpponentWouldYouLikeToFace=Which opponent would you like to face?
|
||||
lblSingleMatch=Single Match
|
||||
#NewGauntletScreen.java
|
||||
lblGauntletText1=In Gauntlet mode, you select a deck and play against multiple opponents.
|
||||
lblGauntletText2=Configure how many opponents you wish to face and what decks or types of decks they will play.
|
||||
lblGauntletText3=Then, try to beat all AI opponents without losing a match.
|
||||
lblSelectGauntletType=Select a Gauntlet Type
|
||||
lblCustomGauntlet=Custom Gauntlet
|
||||
lblGauntletContest=Gauntlet Contest
|
||||
lblSelectYourDeck=Select Your Deck
|
||||
lblSelectDeckForOpponent=Select Deck for Opponent
|
||||
lblSelectGauntletContest=Select Gauntlet Contest
|
||||
#PuzzleScreen.java
|
||||
lblPuzzleText1=Puzzle Mode loads in a puzzle that you have to win in a predetermined time/way.
|
||||
lblPuzzleText2=To begin, press the Start button below, then select a puzzle from a list.
|
||||
lblPuzzleText3=Your objective will be displayed in a pop-up window when the puzzle starts and also specified on a special effect card which will be placed in your command zone.
|
||||
lblChooseAPuzzle=Choose a puzzle
|
||||
lblLoadingThePuzzle=Loading the puzzle...
|
||||
@@ -628,7 +628,7 @@ titleUnlocked=%n unlocked!
|
||||
lblStartADuel=Start a duel.
|
||||
lblSelectAQuestDeck=Please select a Quest Deck.
|
||||
lblInvalidDeck=Invalid Deck
|
||||
lblInvalidDeckDesc=Your deck %n Please edit or choose a different deck.
|
||||
lblInvalidDeckDesc=Your deck %n\nPlease edit or choose a different deck.
|
||||
#VSubmenuQuestPrefs.java
|
||||
lblQuestPreferences=Quest Preferences
|
||||
lblRewardsError=Rewards Error
|
||||
@@ -1171,4 +1171,28 @@ btnQuitMatch=Quit Match
|
||||
lblItsADraw=It's a draw!
|
||||
lblTeamWon=Team %s won!
|
||||
lblWinnerWon=%s won!
|
||||
lblGameLog=Game Log
|
||||
lblGameLog=Game Log
|
||||
#NewDraftScreen.java
|
||||
lblLoadingNewDraft=Loading new draft...
|
||||
#LoadDraftScreen.java
|
||||
lblDoubleTapToEditDeck=Double-tap to edit deck (Long-press to view)
|
||||
lblMode=Mode:
|
||||
lblYouMustSelectExistingDeck=You must select an existing deck or build a deck from a new booster draft game.
|
||||
lblWhichOpponentWouldYouLikeToFace=Which opponent would you like to face?
|
||||
lblSingleMatch=Single Match
|
||||
#NewGauntletScreen.java
|
||||
lblGauntletText1=In Gauntlet mode, you select a deck and play against multiple opponents.
|
||||
lblGauntletText2=Configure how many opponents you wish to face and what decks or types of decks they will play.
|
||||
lblGauntletText3=Then, try to beat all AI opponents without losing a match.
|
||||
lblSelectGauntletType=Select a Gauntlet Type
|
||||
lblCustomGauntlet=Custom Gauntlet
|
||||
lblGauntletContest=Gauntlet Contest
|
||||
lblSelectYourDeck=Select Your Deck
|
||||
lblSelectDeckForOpponent=Select Deck for Opponent
|
||||
lblSelectGauntletContest=Select Gauntlet Contest
|
||||
#PuzzleScreen.java
|
||||
lblPuzzleText1=Puzzle Mode loads in a puzzle that you have to win in a predetermined time/way.
|
||||
lblPuzzleText2=To begin, press the Start button below, then select a puzzle from a list.
|
||||
lblPuzzleText3=Your objective will be displayed in a pop-up window when the puzzle starts and also specified on a special effect card which will be placed in your command zone.
|
||||
lblChooseAPuzzle=Choose a puzzle
|
||||
lblLoadingThePuzzle=Loading the puzzle...
|
||||
@@ -628,7 +628,7 @@ titleUnlocked=%n desbloqueado!
|
||||
lblStartADuel=Comienza un duelo.
|
||||
lblSelectAQuestDeck=Por favor, seleccione un mazo de aventura.
|
||||
lblInvalidDeck=Mazo no válido
|
||||
lblInvalidDeckDesc=Su mazo %n Por favor, edite o elija un mazo diferente.
|
||||
lblInvalidDeckDesc=Su mazo %n\nPor favor, edite o elija un mazo diferente.
|
||||
#VSubmenuQuestPrefs.java
|
||||
lblQuestPreferences=Preferencias de la Aventura
|
||||
lblRewardsError=Error de recompensas
|
||||
@@ -1171,4 +1171,28 @@ btnQuitMatch=Salir de la Partida
|
||||
lblItsADraw=¡Es un empate!
|
||||
lblTeamWon=¡El equipo %s ha ganado!
|
||||
lblWinnerWon=¡%s ha ganado!
|
||||
lblGameLog=Registro del Juego
|
||||
lblGameLog=Registro del Juego
|
||||
#NewDraftScreen.java
|
||||
lblLoadingNewDraft=Cargando nuevo Draft...
|
||||
#LoadDraftScreen.java
|
||||
lblDoubleTapToEditDeck=Pulsa 2 veces para editar el mazo (Pulsación prologanda para ver)
|
||||
lblMode=Modo:
|
||||
lblYouMustSelectExistingDeck=Debes seleccionar un mazo existente o construir un mazo a partir de un nuevo juego de booster draft.
|
||||
lblWhichOpponentWouldYouLikeToFace=¿A qué oponente te gustaría enfrentarte?
|
||||
lblSingleMatch=Partida individual
|
||||
#NewGauntletScreen.java
|
||||
lblGauntletText1=En el modo Desafío, selecciona un mazo y juega contra varios oponentes.
|
||||
lblGauntletText2=Configura a cuántos oponentes deseas enfrentarte y qué mazos o tipos de mazos jugarán.
|
||||
lblGauntletText3=Luego, intenta derrotar a todos los oponentes de la IA sin perder una partida.
|
||||
lblSelectGauntletType=Seleccione el Tipo de Desafío
|
||||
lblCustomGauntlet=Desafío Personalizado
|
||||
lblGauntletContest=Concurso de Desafío
|
||||
lblSelectYourDeck=Seleccciona Tu Mazo
|
||||
lblSelectDeckForOpponent=Seleccionar Mazo para el Oponente
|
||||
lblSelectGauntletContest=Seleccionar Concurso de Desafío
|
||||
#PuzzleScreen.java
|
||||
lblPuzzleText1=En el Modo Puzzle se carga un rompecabezas que tienes que ganar en un tiempo/forma predeterminados.
|
||||
lblPuzzleText2=Para comenzar, pulsa el botón Inicio y selecciona un puzzle de una lista.
|
||||
lblPuzzleText3=Tu objetivo se mostrará en una ventana emergente cuando se inicie el puzzle y también se especificará en una carta de efectos especiales que se colocará en tu zona de comandos.
|
||||
lblChooseAPuzzle=Elige un puzzle
|
||||
lblLoadingThePuzzle=Cargando el puzzle...
|
||||
@@ -1171,4 +1171,28 @@ btnQuitMatch=退出比赛
|
||||
lblItsADraw=平局!
|
||||
lblTeamWon=队伍%s胜利了!
|
||||
lblWinnerWon=%s胜利了!
|
||||
lblGameLog=游戏日志
|
||||
lblGameLog=游戏日志
|
||||
#NewDraftScreen.java
|
||||
lblLoadingNewDraft=Loading new draft...
|
||||
#LoadDraftScreen.java
|
||||
lblDoubleTapToEditDeck=Double-tap to edit deck (Long-press to view)
|
||||
lblMode=Mode:
|
||||
lblYouMustSelectExistingDeck=You must select an existing deck or build a deck from a new booster draft game.
|
||||
lblWhichOpponentWouldYouLikeToFace=Which opponent would you like to face?
|
||||
lblSingleMatch=Single Match
|
||||
#NewGauntletScreen.java
|
||||
lblGauntletText1=In Gauntlet mode, you select a deck and play against multiple opponents.
|
||||
lblGauntletText2=Configure how many opponents you wish to face and what decks or types of decks they will play.
|
||||
lblGauntletText3=Then, try to beat all AI opponents without losing a match.
|
||||
lblSelectGauntletType=Select a Gauntlet Type
|
||||
lblCustomGauntlet=Custom Gauntlet
|
||||
lblGauntletContest=Gauntlet Contest
|
||||
lblSelectYourDeck=Select Your Deck
|
||||
lblSelectDeckForOpponent=Select Deck for Opponent
|
||||
lblSelectGauntletContest=Select Gauntlet Contest
|
||||
#PuzzleScreen.java
|
||||
lblPuzzleText1=Puzzle Mode loads in a puzzle that you have to win in a predetermined time/way.
|
||||
lblPuzzleText2=To begin, press the Start button below, then select a puzzle from a list.
|
||||
lblPuzzleText3=Your objective will be displayed in a pop-up window when the puzzle starts and also specified on a special effect card which will be placed in your command zone.
|
||||
lblChooseAPuzzle=Choose a puzzle
|
||||
lblLoadingThePuzzle=Loading the puzzle...
|
||||
Reference in New Issue
Block a user