Merge branch 'master' into 'master'

Moving hard-coded text to en-US.properties file

See merge request core-developers/forge!1537
This commit is contained in:
swordshine
2019-04-22 04:32:33 +00:00
14 changed files with 300 additions and 135 deletions

View File

@@ -894,7 +894,7 @@ public class VLobby implements ILobbyView {
final List<String> usedNames = getPlayerNames();
do {
newName = NameGenerator.getRandomName(gender, type, usedNames);
confirmMsg = localizer.getMessage("lblconfirmName").replace("%n","\"" +newName + "\"");
confirmMsg = localizer.getMessage("lblconfirmName").replace("%s","\"" +newName + "\"");
} while (!FOptionPane.showConfirmDialog(confirmMsg, title, localizer.getMessage("lblUseThisName"), localizer.getMessage("lblTryAgain"), true));
return newName;

View File

@@ -26,6 +26,7 @@ import forge.quest.bazaar.QuestItemType;
import forge.quest.bazaar.QuestPetController;
import forge.toolbox.FLabel;
import forge.toolbox.JXButtonPanel;
import forge.util.Localizer;
/**
* Controls the quest challenges submenu in the home UI.
@@ -73,7 +74,8 @@ public enum CSubmenuChallenges implements ICDoc {
new UiCommand() {
@Override
public void run() {
if (!QuestUtil.checkActiveQuest("Launch a Zeppelin.")) {
final Localizer localizer = Localizer.getInstance();
if (!QuestUtil.checkActiveQuest(localizer.getMessage("lblLaunchaZeppelin"))) {
return;
}
FModel.getQuest().getAchievements().setCurrentChallenges(null);
@@ -86,7 +88,8 @@ public enum CSubmenuChallenges implements ICDoc {
view.getCbPlant().addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent arg0) {
quest.selectPet(0, view.getCbPlant().isSelected() ? "Plant" : null);
final Localizer localizer = Localizer.getInstance();
quest.selectPet(0, view.getCbPlant().isSelected() ? localizer.getMessage("lblPlant") : null);
quest.save();
}
});
@@ -145,8 +148,8 @@ public enum CSubmenuChallenges implements ICDoc {
if (qCtrl.getAchievements() == null) {
return;
}
view.getLblTitle().setText("Challenges: " + qCtrl.getRank());
final Localizer localizer = Localizer.getInstance();
view.getLblTitle().setText(localizer.getMessage("lblChallenges") +": " + qCtrl.getRank());
view.getPnlChallenges().removeAll();
qCtrl.regenerateChallenges();
@@ -158,7 +161,7 @@ public enum CSubmenuChallenges implements ICDoc {
final JXButtonPanel grpPanel = new JXButtonPanel();
StringBuilder sb = new StringBuilder();
sb.append("Match - Best of ").append(FModel.getQuest().getMatchLength());
sb.append(localizer.getMessage("lblMatchBestof") + " ").append(FModel.getQuest().getMatchLength());
view.getCbxMatchLength().setSelectedItem(sb.toString());
boolean haveAnyChallenges = true;

View File

@@ -8,6 +8,7 @@ import forge.quest.QuestEventDuel;
import forge.quest.QuestUtil;
import forge.quest.bazaar.QuestPetController;
import forge.toolbox.JXButtonPanel;
import forge.util.Localizer;
import javax.swing.*;
import java.awt.event.*;
@@ -168,8 +169,8 @@ public enum CSubmenuDuels implements ICDoc {
final VSubmenuDuels view = VSubmenuDuels.SINGLETON_INSTANCE;
if (FModel.getQuest().getAchievements() != null) {
view.getLblTitle().setText("Duels: " + FModel.getQuest().getRank());
final Localizer localizer = Localizer.getInstance();
view.getLblTitle().setText(localizer.getMessage("lblDuels") + ": " + FModel.getQuest().getRank());
view.getPnlDuels().removeAll();
final List<QuestEventDuel> duels = FModel.getQuest().getDuelsManager().generateDuels();
@@ -196,7 +197,7 @@ public enum CSubmenuDuels implements ICDoc {
view.getPnlDuels().add(grpPanel, "w 100%!");
StringBuilder sb = new StringBuilder();
sb.append("Match - Best of ").append(FModel.getQuest().getMatchLength());
sb.append(localizer.getMessage("lblMatchBestof") + " ").append(FModel.getQuest().getMatchLength());
view.getCbxMatchLength().setSelectedItem(sb.toString());
}
}

View File

@@ -17,6 +17,7 @@ import forge.quest.data.QuestPreferences.QPref;
import forge.quest.io.QuestDataIO;
import forge.screens.bazaar.CBazaarUI;
import forge.toolbox.FOptionPane;
import forge.util.Localizer;
import javax.swing.*;
import java.io.File;
@@ -230,6 +231,7 @@ public enum CSubmenuQuestData implements ICDoc {
* The actuator for new quests.
*/
private void newQuest() {
final Localizer localizer = Localizer.getInstance();
final VSubmenuQuestData view = VSubmenuQuestData.SINGLETON_INSTANCE;
final int difficulty = view.getSelectedDifficulty();
@@ -250,7 +252,7 @@ public enum CSubmenuQuestData implements ICDoc {
case Casual:
case CustomFormat:
if (customFormatCodes.isEmpty()) {
if (!FOptionPane.showConfirmDialog("You have defined a custom format that doesn't contain any sets.\nThis will start a game without restriction.\n\nContinue?")) {
if (!FOptionPane.showConfirmDialog(localizer.getMessage("lblNotFormatDefined"))) {
return;
}
}
@@ -262,7 +264,7 @@ public enum CSubmenuQuestData implements ICDoc {
case Cube:
dckStartPool = view.getSelectedDeck();
if (null == dckStartPool) {
FOptionPane.showMessageDialog("You have not selected a deck to start.", "Cannot start a quest", FOptionPane.ERROR_ICON);
FOptionPane.showMessageDialog(localizer.getMessage("lbldckStartPool"), localizer.getMessage("lblCannotStartaQuest"), FOptionPane.ERROR_ICON);
return;
}
break;
@@ -296,7 +298,7 @@ public enum CSubmenuQuestData implements ICDoc {
sets.add(c.getKey().getEdition());
}
}
fmtPrizes = new GameFormat("From deck", sets, null);
fmtPrizes = new GameFormat(localizer.getMessage("lblFromDeck"), sets, null);
}
}
else {
@@ -307,7 +309,7 @@ public enum CSubmenuQuestData implements ICDoc {
case Casual:
case CustomFormat:
if (customPrizeFormatCodes.isEmpty()) {
if (!FOptionPane.showConfirmDialog("You have defined custom format as containing no sets.\nThis will choose all editions without restriction as prizes.\n\nContinue?")) {
if (!FOptionPane.showConfirmDialog(localizer.getMessage("lblNotFormatDefined"))) {
return;
}
}
@@ -325,17 +327,17 @@ public enum CSubmenuQuestData implements ICDoc {
String questName;
while (true) {
questName = FOptionPane.showInputDialog("Poets will remember your quest as:", "Quest Name");
questName = FOptionPane.showInputDialog(localizer.getMessage("MsgQuestNewName") + ":", localizer.getMessage("TitQuestNewName"));
if (questName == null) { return; }
questName = QuestUtil.cleanString(questName);
if (questName.isEmpty()) {
FOptionPane.showMessageDialog("Please specify a quest name.");
FOptionPane.showMessageDialog(localizer.getMessage("lblQuestNameEmpty"));
continue;
}
if (getAllQuests().get(questName + ".dat") != null) {
FOptionPane.showMessageDialog("A quest already exists with that name. Please pick another quest name.");
FOptionPane.showMessageDialog(localizer.getMessage("lblQuestExists"));
continue;
}
break;

View File

@@ -14,6 +14,7 @@ import forge.quest.QuestUtil;
import forge.quest.data.QuestPreferences.QPref;
import forge.screens.deckeditor.CDeckEditorUI;
import forge.screens.deckeditor.controllers.CEditorQuest;
import forge.util.Localizer;
/**
* Controls the quest decks submenu in the home UI.
@@ -55,10 +56,12 @@ public enum CSubmenuQuestDecks implements ICDoc {
*/
@Override
public void initialize() {
final Localizer localizer = Localizer.getInstance();
VSubmenuQuestDecks.SINGLETON_INSTANCE.getBtnNewDeck().setCommand(new UiCommand() {
@Override
public void run() {
if (!QuestUtil.checkActiveQuest("Create a Deck.")) {
if (!QuestUtil.checkActiveQuest(localizer.getMessage("lblCreateaDeck"))) {
return;
}
Singletons.getControl().setCurrentScreen(FScreen.DECK_EDITOR_QUEST);

View File

@@ -8,6 +8,7 @@ import forge.gui.framework.ICDoc;
import forge.model.FModel;
import forge.quest.data.QuestPreferences;
import forge.screens.home.quest.VSubmenuQuestPrefs.PrefInput;
import forge.util.Localizer;
/**
* Controls the quest preferences submenu in the home UI.
@@ -52,8 +53,8 @@ public enum CSubmenuQuestPrefs implements ICDoc {
final Integer val = Ints.tryParse(i0.getText());
resetErrors();
final String validationError = val == null ? "Enter a number" : prefs.validatePreference(i0.getQPref(), val.intValue());
final Localizer localizer = Localizer.getInstance();
final String validationError = val == null ? localizer.getMessage("lblEnteraNumber") : prefs.validatePreference(i0.getQPref(), val.intValue());
if (validationError != null) {
showError(i0, validationError);
return;
@@ -66,7 +67,8 @@ public enum CSubmenuQuestPrefs implements ICDoc {
private static void showError(final PrefInput i0, final String s0) {
final VSubmenuQuestPrefs view = VSubmenuQuestPrefs.SINGLETON_INSTANCE;
final String s = "Save failed: " + s0;
final Localizer localizer = Localizer.getInstance();
final String s = localizer.getMessage("lblSavefailed") +":" + s0;
switch(i0.getErrType()) {
case BOOSTER:
view.getLblErrBooster().setVisible(true);

View File

@@ -5,6 +5,7 @@ import forge.game.GameFormat;
import forge.gui.SOverlayUtils;
import forge.model.FModel;
import forge.toolbox.*;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
@@ -19,7 +20,8 @@ public class DialogChooseFormats {
private Runnable okCallback;
private final List<FCheckBox> choices = new ArrayList<>();
private final FCheckBox cbWantReprints = new FCheckBox("Allow compatible reprints from other sets");
final Localizer localizer = Localizer.getInstance();
private final FCheckBox cbWantReprints = new FCheckBox(localizer.getMessage("cbWantReprints"));
public DialogChooseFormats(){
this(null);
@@ -56,12 +58,12 @@ public class DialogChooseFormats {
panel.setOpaque(false);
panel.setBackgroundTexture(FSkin.getIcon(FSkinProp.BG_TEXTURE));
panel.add(new FLabel.Builder().text("Choose formats").fontSize(18).build(), "center, span, wrap, gaptop 10");
panel.add(new FLabel.Builder().text(localizer.getMessage("lblChooseFormats")).fontSize(18).build(), "center, span, wrap, gaptop 10");
String constraints = "aligny top";
panel.add(makeCheckBoxList(sanctioned, "Sanctioned", true), constraints);
panel.add(makeCheckBoxList(casual, "Other", false), constraints);
panel.add(makeCheckBoxList(historic, "Historic", false), constraints);
panel.add(makeCheckBoxList(sanctioned, localizer.getMessage("lblSanctioned"), true), constraints);
panel.add(makeCheckBoxList(casual, localizer.getMessage("lblOther"), false), constraints);
panel.add(makeCheckBoxList(historic, localizer.getMessage("lblHistoric"), false), constraints);
final JPanel overlay = FOverlay.SINGLETON_INSTANCE.getPanel();
overlay.setLayout(new MigLayout("insets 0, gap 0, wrap, ax center, ay center"));
@@ -73,7 +75,7 @@ public class DialogChooseFormats {
}
};
FButton btnOk = new FButton("OK");
FButton btnOk = new FButton(localizer.getMessage("lblOk"));
btnOk.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
@@ -82,7 +84,7 @@ public class DialogChooseFormats {
}
});
FButton btnCancel = new FButton("Cancel");
FButton btnCancel = new FButton(localizer.getMessage("lblCancel"));
btnCancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

View File

@@ -6,6 +6,7 @@ import forge.card.MagicColor;
import forge.gui.SOverlayUtils;
import forge.quest.StartingPoolPreferences.PoolType;
import forge.toolbox.*;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
@@ -17,27 +18,27 @@ import java.util.List;
@SuppressWarnings("WeakerAccess")
public class DialogChoosePoolDistribution {
final Localizer localizer = Localizer.getInstance();
private final FPanel mainPanel = new FPanel(new MigLayout("insets 20, gap 25, center, wrap 2"));
private final FCheckBox cbxBlack = new FCheckBox("Black");
private final FCheckBox cbxBlue = new FCheckBox("Blue");
private final FCheckBox cbxGreen = new FCheckBox("Green");
private final FCheckBox cbxRed = new FCheckBox("Red");
private final FCheckBox cbxWhite = new FCheckBox("White");
private final FCheckBox cbxColorless = new FCheckBox("Colorless");
private final FCheckBox cbxArtifacts = new FCheckBox("Include Artifacts");
private final FCheckBox cbxBlack = new FCheckBox(localizer.getMessage("lblBlack"));
private final FCheckBox cbxBlue = new FCheckBox(localizer.getMessage("lblBlue"));
private final FCheckBox cbxGreen = new FCheckBox(localizer.getMessage("lblGreen"));
private final FCheckBox cbxRed = new FCheckBox(localizer.getMessage("lblRed"));
private final FCheckBox cbxWhite = new FCheckBox(localizer.getMessage("lblWhite"));
private final FCheckBox cbxColorless = new FCheckBox(localizer.getMessage("lblColorless"));
private final FCheckBox cbxArtifacts = new FCheckBox(localizer.getMessage("lblIncludeArtifacts"));
private final FRadioButton radBalanced = new FRadioButton("Balanced");
private final FRadioButton radRandom = new FRadioButton("True Random");
private final FRadioButton radSurpriseMe = new FRadioButton("Surprise Me");
private final FRadioButton radBoosters = new FRadioButton("Boosters");
private final FRadioButton radBalanced = new FRadioButton(localizer.getMessage("lblBalanced"));
private final FRadioButton radRandom = new FRadioButton(localizer.getMessage("lblTrueRandom"));
private final FRadioButton radSurpriseMe = new FRadioButton(localizer.getMessage("lblSurpriseMe"));
private final FRadioButton radBoosters = new FRadioButton(localizer.getMessage("lblBoosters"));
private final ButtonGroup poolTypeButtonGroup = new ButtonGroup();
private final FTextField numberOfBoostersField = new FTextField.Builder().text("0").maxLength(10).build();
private final FButton btnOk = new FButton("OK");
private final FButton btnOk = new FButton(localizer.getMessage("lblOk"));
private Runnable callback;
@@ -100,7 +101,7 @@ public class DialogChoosePoolDistribution {
final FPanel right = new FPanel(new MigLayout(contentPanelConstraints));
right.setOpaque(false);
final FLabel clearColors = new FLabel.Builder().text("Clear All").fontSize(12).opaque(true).hoverable(true).build();
final FLabel clearColors = new FLabel.Builder().text(localizer.getMessage("lblClearAll")).fontSize(12).opaque(true).hoverable(true).build();
clearColors.setCommand(new UiCommand() {
@Override
public void run() {
@@ -113,9 +114,9 @@ public class DialogChoosePoolDistribution {
}
});
final FLabel boosterPackLabel = new FLabel.Builder().text("Number of Boosters:").fontSize(14).build();
final FLabel colorsLabel = new FLabel.Builder().text("Colors").fontSize(18).build();
final FTextPane noSettingsText = new FTextPane("No settings are available for this selection.");
final FLabel boosterPackLabel = new FLabel.Builder().text(localizer.getMessage("lblNumberofBoosters") + ":").fontSize(14).build();
final FLabel colorsLabel = new FLabel.Builder().text(localizer.getMessage("lblColors")).fontSize(18).build();
final FTextPane noSettingsText = new FTextPane(localizer.getMessage("lblnoSettings"));
if (radBoosters.isSelected()) {
right.add(boosterPackLabel, "gaptop 10");
@@ -139,7 +140,7 @@ public class DialogChoosePoolDistribution {
//Left Side
final FPanel left = new FPanel(new MigLayout(contentPanelConstraints));
left.setOpaque(false);
left.add(new FLabel.Builder().text("Distribution").fontSize(18).build(), "gaptop 10");
left.add(new FLabel.Builder().text(localizer.getMessage("lblDistribution")).fontSize(18).build(), "gaptop 10");
final JXButtonPanel poolTypePanel = new JXButtonPanel();
final String radioConstraints = "h 25px!, gaptop 5";
@@ -149,7 +150,7 @@ public class DialogChoosePoolDistribution {
poolTypePanel.add(radBoosters, radioConstraints);
left.add(poolTypePanel, "gaptop 15");
left.add(new FTextPane("Hover over each item for a more detailed description."), "gaptop 20");
left.add(new FTextPane(localizer.getMessage("lblHoverforDescription")), "gaptop 20");
ActionListener radioButtonListener = new ActionListener() {
@Override
@@ -202,11 +203,11 @@ public class DialogChoosePoolDistribution {
cbxArtifacts.setVisible(!radSurpriseMe.isSelected() && !radBoosters.isSelected());
numberOfBoostersField.setVisible(radBoosters.isSelected());
radBalanced.setToolTipText("A \"Balanced\" distribution will provide a roughly equal number of cards in each selected color.");
radRandom.setToolTipText("A \"True Random\" distribution will be almost entirely randomly selected. This ignores any color selections.");
radSurpriseMe.setToolTipText("This is the same as a \"Balanced\" distribution, except the colors picked will be random and you will not be told what they are.");
radBoosters.setToolTipText("This ignores all color settings and instead generates a card pool out of a specified number of booster packs.");
cbxArtifacts.setToolTipText("When selected, artifacts will be included in your pool regardless of color selections. This mimics the old card pool behavior.");
radBalanced.setToolTipText(localizer.getMessage("lblradBalanced"));
radRandom.setToolTipText(localizer.getMessage("lblradRandom"));
radSurpriseMe.setToolTipText(localizer.getMessage("lblradSurpriseMe"));
radBoosters.setToolTipText(localizer.getMessage("lblradBoosters"));
cbxArtifacts.setToolTipText(localizer.getMessage("lblcbxArtifacts"));
radBalanced.addActionListener(radioButtonListener);
radRandom.addActionListener(radioButtonListener);
@@ -225,7 +226,7 @@ public class DialogChoosePoolDistribution {
}
});
FButton btnCancel = new FButton("Cancel");
FButton btnCancel = new FButton(localizer.getMessage("lblCancel"));
btnCancel.setCommand(new UiCommand() {
@Override
public void run() {

View File

@@ -7,6 +7,7 @@ import forge.gui.framework.EDocID;
import forge.quest.IVQuestStats;
import forge.screens.home.*;
import forge.toolbox.*;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
@@ -20,6 +21,7 @@ import java.awt.*;
public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuestStats {
/** */
SINGLETON_INSTANCE;
final Localizer localizer = Localizer.getInstance();
// Fields used with interface IVDoc
private DragCell parentCell;

View File

@@ -8,9 +8,8 @@ import forge.interfaces.IButton;
import forge.quest.IVQuestStats;
import forge.screens.home.*;
import forge.toolbox.*;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import forge.util.Localizer;
import javax.swing.*;
import java.awt.*;

View File

@@ -17,8 +17,8 @@ import forge.screens.home.EMenuGroup;
import forge.screens.home.IVSubmenu;
import forge.screens.home.VHomeUI;
import forge.toolbox.*;
import forge.util.Localizer;
import forge.util.storage.IStorage;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import org.apache.commons.lang3.text.WordUtils;
@@ -50,7 +50,7 @@ public enum VSubmenuQuestData implements IVSubmenu<CSubmenuQuestData> {
private final FLabel lblTitleNew = new FLabel.Builder().text(localizer.getMessage("lblStartanewQuest")).opaque(true).fontSize(16).build();
String str=new String( ForgeConstants.QUEST_SAVE_DIR.replace('\\', '/'));
private final FLabel lblOldQuests = new FLabel.Builder().text(localizer.getMessage("lblOldQuestData").replace("%n",str)).fontAlign(SwingConstants.CENTER).fontSize(12).build();
private final FLabel lblOldQuests = new FLabel.Builder().text(localizer.getMessage("lblOldQuestData").replace("%s",str)).fontAlign(SwingConstants.CENTER).fontSize(12).build();
private final QuestFileLister lstQuests = new QuestFileLister();
private final FScrollPane scrQuests = new FScrollPane(lstQuests, false);
private final JPanel pnlOptions = new JPanel();
@@ -72,10 +72,10 @@ public enum VSubmenuQuestData implements IVSubmenu<CSubmenuQuestData> {
private final FLabel lblUnrestricted = new FLabel.Builder().text(localizer.getMessage("lblAllCardsAvailable")).build();
private final FLabel lblPreconDeck = new FLabel.Builder().text(localizer.getMessage("lblStarterEventdeck")).build();
private final FLabel lblPreconDeck = new FLabel.Builder().text(localizer.getMessage("lblStarterEventdeck") +":").build();
private final FComboBoxWrapper<String> cbxPreconDeck = new FComboBoxWrapper<>();
private final FLabel lblFormat = new FLabel.Builder().text(localizer.getMessage("lblSanctionedformat")).build();
private final FLabel lblFormat = new FLabel.Builder().text(localizer.getMessage("lblSanctionedformat") + "").build();
private final FComboBoxWrapper<GameFormat> cbxFormat = new FComboBoxWrapper<>();
private final FLabel lblCustomDeck = new FLabel.Builder().text(localizer.getMessage("lblCustomdeck")).build();

View File

@@ -13,8 +13,8 @@ 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=Clear Image Cache
btnTokenPreviewer=Token Previewer
btnCopyToClipboard=In Zwischenablage kopieren
cbpSelectLanguage=Language
nlSelectLanguage=Select Language (Excluded Game part. Still a work in progress) (RESTART REQUIRED)
@@ -190,7 +190,7 @@ lblGameSettings=Spieleinstellungen
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 %n, or try again?
lblUseThisName=Use this name
lblTryAgain=Try Again
lblAddAPlayer=Add a Player
@@ -206,7 +206,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,7 +303,7 @@ 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
lblBoosterDraft=Booster Draft
lblHeaderBoosterDraft=Sanctioned Format: Booster Draft
lblPlayAnOpponent=Play an opponent
lblPlayAll7opponents=Play all 7 opponents
@@ -394,7 +394,7 @@ lblAllowDuplicateCards=Allow duplicate cards
lblStartingPoolDistribution=Starting pool distribution
lblChooseDistribution=Choose Distribution
lblPrizedCards=Prized cards
lblAllCardsAvailableWin =All cards will be available to win.
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!
@@ -402,3 +402,53 @@ lblboxCompleteSet=You will start the quest with 4 of each card in the sets you h
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.

View File

@@ -190,7 +190,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
@@ -374,7 +374,7 @@ cbLaunchZeppelin=Launch Zeppelin
#VSubmenuQuest.java
lblQuestData=Quest Data
lblStartanewQuest=Start a new Quest
lblOldQuestData=Old quest data? Put into %n and restart Forge.
lblOldQuestData=Old quest data? Put into %s and restart Forge.
rbEasy=Easy
rbMedium=Medium
rbHard=Hard
@@ -402,3 +402,53 @@ lblboxCompleteSet=You will start the quest with 4 of each card in the sets you h
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.

View File

@@ -13,11 +13,11 @@ btnDeleteWorkshopUI=Restablecer diseño del Workshop
btnUserProfileUI=Abrir directorio de usuario
btnContentDirectoryUI=Abrir directorio del contenido
btnResetJavaFutureCompatibilityWarnings=Restablecer las advertencias de compatibilidad de Java
btnClearImageCache=
btnTokenPreviewer=
btnCopyToClipboard=Copy to Clipboard
cbpSelectLanguage=Language
nlSelectLanguage=Select Language (Excluded math part. Still a work in progress) (RESTART REQUIRED)
btnClearImageCache=Limpiar Caché de Imágenes
btnTokenPreviewer=Previsualizador de Fichas (Token)
btnCopyToClipboard=Copiar al portapapeles
cbpSelectLanguage=Idioma
nlSelectLanguage=Seleccionar idioma (excepto partida). Todavía un trabajo en progreso) (Es necesario reiniciar Forge)
cbRemoveSmall=Eliminar Pequeñas Criaturas
cbCardBased=Incluye la generación de mazo basado en tarjeta
cbSingletons=Mode Singleton
@@ -144,8 +144,8 @@ btnDownloadPics=Descargar todas las Cartas
btnDownloadQuestImages=Descargar Imágenes del modo Quest
btnDownloadAchievementImages=Descagar Imágenes de los Logros
btnReportBug=Reportar un error
btnListImageData=Audit Card and Image Data
lblListImageData=Audit cards not implemented by Forge and missing card images
btnListImageData=Auditar Cartas y Datos de Imagen
lblListImageData=Audita cartas no implementadas por Forge e imágenes de cartas faltantes
btnImportPictures=Importar Datos
btnHowToPlay=Cómo jugar (Inglés)
btnDownloadPrices=Descargar los precios de las cartas
@@ -264,10 +264,10 @@ lblDeckList=Lista del Mazo
lblClose=Cerrar
lblExitForge=Salir de Forge
#ConstructedGameMenu.java
lblSelectAvatarFor=Select avatar for %s
lblRemoveSmallCreatures=Remove 1/1 and 0/X creatures in generated decks.
lblRemoveArtifacts=Remove artifact cards in generated decks.
PreventNonLandDuplicates=Prevent non-land duplicates in generated decks.
lblSelectAvatarFor=Seleccionar avatar para %s
lblRemoveSmallCreatures=Elimina 1/1 y 0 /X criaturas en los mazos generados.
lblRemoveArtifacts=Retira las tarjetas de artefactos en los mazos generados.
PreventNonLandDuplicates=Evitar que no se dupliquen las tierras en los mazos generadas.
#PlayerPanel.java
lblName=Nombre
lblTeam=Equipo
@@ -289,19 +289,19 @@ lblTotalDamageText=Puntos de daño disponibles: Desconocido
lblAssignRemainingText=Distribuye los puntos de daño restantes entre las entidades letalmente heridas.
lblLethal=Letal
#KeyboardShortcuts.java
lblSHORTCUT_SHOWSTACK=Match: show stack panel
lblSHORTCUT_SHOWCOMBAT=Match: show combat panel
lblSHORTCUT_SHOWCONSOLE=Match: show console panel
lblSHORTCUT_SHOWDEV=Match: show dev panel
lblSHORTCUT_CONCEDE=Match: concede game
lblSHORTCUT_ENDTURN=Match: pass priority until EOT or next stack event
lblSHORTCUT_ALPHASTRIKE=Match: Alpha Strike (attack with all available)
lblSHORTCUT_SHOWTARGETING=Match: toggle targeting visual overlay
lblSHORTCUT_AUTOYIELD_ALWAYS_YES=Match: auto-yield ability on stack (Always Yes)
lblSHORTCUT_AUTOYIELD_ALWAYS_NO=Match: auto-yield ability on stack (Always No)
lblSHORTCUT_MACRO_RECORD=Match: record a macro sequence of actions
lblSHORTCUT_MACRO_NEXT_ACTION=Match: execute next action in a recorded macro
lblSHORTCUT_CARD_ZOOM=Match: zoom the currently selected card
lblSHORTCUT_SHOWSTACK=Partida: mostrar panel de pila
lblSHORTCUT_SHOWCOMBAT=Partida: mostrar panel de combate
lblSHORTCUT_SHOWCONSOLE=Partida: mostrar el panel de la consola
lblSHORTCUT_SHOWDEV=Partida: mostrar panel de desarrollo
lblSHORTCUT_CONCEDE=Partida: conceder juego
lblSHORTCUT_ENDTURN=Partida: pasa la prioridad hasta fin del turno o siguiente evento de pila
lblSHORTCUT_ALPHASTRIKE=Partida: Alpha Strike (ataque con todos los disponibles)
lblSHORTCUT_SHOWTARGETING=Partida: alternar la orientación visual de superposición
lblSHORTCUT_AUTOYIELD_ALWAYS_YES=Partida:ceder automaticamente en cada habilidad de la pila (Siempre Si)
lblSHORTCUT_AUTOYIELD_ALWAYS_NO=Partida:ceder automaticamente en cada habilidad de la pila (Siempre No)
lblSHORTCUT_MACRO_RECORD=Partida: Grabar una macro de secuencia de acciones
lblSHORTCUT_MACRO_NEXT_ACTION=Partida: Ejecutar siguiente acción en una macro grabada
lblSHORTCUT_CARD_ZOOM=Partida: hacer zoom en la carta seleccionada
#VSubmenuDraft.java
lblBoosterDraft=Booster Draft
lblHeaderBoosterDraft=Formato sancionado: Booster Draft
@@ -314,9 +314,9 @@ lblDraftText3=Luego, juega contra uno o todos los oponentes de la IA.
lblNewBoosterDraftGame=Nuevo Booster Draft
lblDraftDecks=Mazos de Draft
#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=Ningún mazo seleccionado para humano.\n(Es posible que necesites construir un nuevo mazo)
lblNoDeck=No hay Mazo
lblChooseDraftFormat=Elige el Formato del Draft
#VSubmenuSealed.java
lblSealedDeck=Mazo Sellado
lblSealedDecks=Mazos de Sellado
@@ -361,44 +361,94 @@ lblMoJhoSto=MoJhoSto
lblMoJhoStoDesc=Cada jugador tiene un mazo que contiene 60 tierras básicas y los avatares Momir Vig, Jhoira of the Ghitu, y Stonehewer Giant.
#VSubmenuDuels.java
lblQuestDuels=Duelos de Aventura
lblQuestModeDuels=Modo Quest: Duelos
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
lblQuestModeDuels=Modo Aventura: Duelos
lblSelectNextDuel=Selecciona tu próximo duelo.
lblNoDuelDeck=No se ha establecido todavía el mazo actual.
lblNextChallengeNotYet=El próximo desafío en victorias aún no se ha establecido.
btnUnlockSets=Desbloquear Sets
btnTravel=Viajar
btnBazaar=Bazar
btnSpellShop=Tienda de Hechizos
cbSummonPlant=Invocar Planta
cbLaunchZeppelin=Lanzar 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
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
lblQuestData=Datos de Aventura
lblStartanewQuest=Comenzar una nueva Aventura
lblOldQuestData=Viejos datos de Aventura? Poner en %n y reiniciar Forge.
rbEasy=Fácil
rbMedium=Medio
rbHard=Difícil
rbExpert=Experto
rbFantasyMode=Modo Fantasía
rbCommanderSubformat=Subformato Commander
lblStartingWorld=Mundo de partida
lblStartingPool=Pool inicial
lblAllCardsAvailable=Todas las cartas estarán disponibles para jugar.
lblStarterEventdeck=Mazo de Inicio/Evento
lblSanctionedformat=Formato Sancionado
lblCustomdeck=Mazo Personalizado
lblDefineCustomFormat=Define mazo personalizado
lblSelectFormat=Selecciona formato
lblStartWithAllCards=Comienza con todas las cartas en set seleccionados
lblAllowDuplicateCards=Permitir cartas duplicadas
lblStartingPoolDistribution=Distribución inicial de la Pool
lblChooseDistribution=Elige Distribución
lblPrizedCards=Cartas Valiosas
lblAllCardsAvailableWin=Todas las cartas estarán disponibles para ganar.
lblOnlySetsInStarting=Solo los sets del pool inicial estarán disponibles.
lblAllowUnlockAdEd=Permite desbloquear ediciones adicionales.
lblEmbark=¡Embarcarse!
lblboxCompleteSet=Comenzarás la aventura con 4 copias de cada carta en los sets que hayas seleccionado.
lblboxAllowDuplicates=Cuando tu pool inicial se genera, se puede incluir duplicados de cartas.
lblSameAsStartingPool=Igual que el pool inicial
lblNewLoadQuest=Nueva/Cargar Aventura
#CSubmenuQChallenges.java
lblLaunchaZeppelin=Lanzar el Zeppelin.
lblPlant=Planta
lblChallenges=Desafíos
lblMatchBestof=Partida - Mejor de
lblDuels=Duelos
#CSubmenuQuestData.java
lblNotFormatDefined=Ha definido el formato personalizado sin sets\n Esto elegirá todas las ediciones sin restricción como premios. \n\n¿Continuar?
lbldckStartPool=No has seleccionado un mazo para empezar.
lblCannotStartaQuest=No se puede iniciar la aventura.
lblFromDeck=Desde el mazo
MsgQuestNewName=Los poetas recordarán tu aventura como
TitQuestNewName=Nombre Aventura
lblQuestNameEmpty=Por favor,especifica un nombre para la aventura.
lblQuestExists=Ya existe una aventura con ese nombre. Por favor, elija otro nombre de aventura.
#CSubmenuQuestDecks.java
lblCreateaDeck=Crear un Mazo.
#CSubmenuQuestPrefs.java
lblEnteraNumber=Ingrese un numero
lblSavefailed=Error al guardar
#DialogChooseFormats.java
cbWantReprints=Permitir reimpresiones compatibles de otros sets.
lblChooseFormats=Elije Formatos
lblSanctioned=Sancionado
lblOther=Otro
lblHistoric=Histórico
lblCancel=Cancelar
#DialogChoosePoolDistribution.java
lblBlack=Negro
lblBlue=Azul
lblGreen=Verde
lblRed=Rojo
lblWhite=Blanco
lblColorless=Incoloro
lblIncludeArtifacts=Incluir Artefactos
lblBalanced=Balanceado
lblTrueRandom=Aleatorio real
lblSurpriseMe=Sorpréndeme
lblBoosters=Sobres
lblClearAll=Limpiar todo
lblNumberofBoosters=Número de Sobres
lblColors=Colores
lblnoSettings=No hay configuraciones disponibles para esta selección.
lblDistribution=Distribución
lblHoverforDescription=Pase el cursor sobre cada elemento para obtener una descripción más detallada.
lblradBalanced=Una distribución "equilibrada" proporcionará una cantidad aproximadamente igual cartas tarjetas en cada color seleccionado.
lblradRandom=Una distribución "Aleatorio real" se seleccionará casi completamente al azar. Esto ignora cualquier selección de color.
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.