Update language properties

This commit is contained in:
churrufli
2019-02-27 20:18:39 +01:00
committed by Hanmac
parent 9feb583413
commit ada8d59b2c
82 changed files with 999 additions and 194 deletions

View File

@@ -7,28 +7,30 @@ import forge.deck.Deck;
import forge.deck.DeckFormat;
import forge.deck.DeckSection;
import forge.game.player.RegisteredPlayer;
import forge.util.Localizer;
public enum GameType {
Sealed (DeckFormat.Limited, true, true, true, "Sealed", ""),
Draft (DeckFormat.Limited, true, true, true, "Draft", ""),
Winston (DeckFormat.Limited, true, true, true, "Winston", ""),
Gauntlet (DeckFormat.Constructed, false, true, true, "Gauntlet", ""),
Tournament (DeckFormat.Constructed, false, true, true, "Tournament", ""),
Quest (DeckFormat.QuestDeck, true, true, false, "Quest", ""),
QuestDraft (DeckFormat.Limited, true, true, true, "Quest Draft", ""),
PlanarConquest (DeckFormat.PlanarConquest, true, false, false, "Planar Conquest", ""),
Puzzle (DeckFormat.Puzzle, false, false, false, "Puzzle", "Solve a puzzle from the given game state"),
Constructed (DeckFormat.Constructed, false, true, true, "Constructed", ""),
DeckManager (DeckFormat.Constructed, false, true, true, "Deck Manager", ""),
Vanguard (DeckFormat.Vanguard, true, true, true, "Vanguard", "Each player has a special \"Avatar\" card that affects the game."),
Commander (DeckFormat.Commander, false, false, false, "Commander", "Each player has a legendary \"General\" card which can be cast at any time and determines deck colors."),
TinyLeaders (DeckFormat.TinyLeaders, false, false, false, "Tiny Leaders", "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."),
Brawl (DeckFormat.Brawl, false, false, false, "Brawl", "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."),
Planeswalker (DeckFormat.PlanarConquest, false, false, true, "Planeswalker", "Each player has a Planeswalker card which can be cast at any time."),
Planechase (DeckFormat.Planechase, false, false, true, "Planechase", "Plane cards apply global effects. The Plane card changes when a player rolls \"Planeswalk\" on the planar die."),
Archenemy (DeckFormat.Archenemy, false, false, true, "Archenemy", "One player is the Archenemy and fights the other players by playing Scheme cards."),
ArchenemyRumble (DeckFormat.Archenemy, false, false, true, "Archenemy Rumble", "All players are Archenemies and can play Scheme cards."),
MomirBasic (DeckFormat.Constructed, false, false, false, "Momir Basic", "Each player has a deck containing 60 basic lands and the Momir Vig avatar.", new Function<RegisteredPlayer, Deck>() {
Sealed (DeckFormat.Limited, true, true, true, "lblSealed", ""),
Draft (DeckFormat.Limited, true, true, true, "lblDraft", ""),
Winston (DeckFormat.Limited, true, true, true, "lblWinston", ""),
Gauntlet (DeckFormat.Constructed, false, true, true, "lblGauntlet", ""),
Tournament (DeckFormat.Constructed, false, true, true, "lblTournament", ""),
Quest (DeckFormat.QuestDeck, true, true, false, "lblQuest", ""),
QuestDraft (DeckFormat.Limited, true, true, true, "lblQuestDraft", ""),
PlanarConquest (DeckFormat.PlanarConquest, true, false, false, "lblPlanarConquest", ""),
Puzzle (DeckFormat.Puzzle, false, false, false, "lblPuzzle", "lblPuzzleDesc"),
Constructed (DeckFormat.Constructed, false, true, true, "lblConstructed", ""),
DeckManager (DeckFormat.Constructed, false, true, true, "lblDeckManager", ""),
Vanguard (DeckFormat.Vanguard, true, true, true, "lblVanguard", "lblVanguardDesc"),
Commander (DeckFormat.Commander, false, false, false, "lblCommander", "lblCommanderDesc"),
TinyLeaders (DeckFormat.TinyLeaders, false, false, false, "lblTinyLeaders", "lblTinyLeadersDesc"),
Brawl (DeckFormat.Brawl, false, false, false, "lblBrawl", "lblBrawlDesc"),
Planeswalker (DeckFormat.PlanarConquest, false, false, true, "lblPlaneswalker", "lblPlaneswalkerDesc"),
Planechase (DeckFormat.Planechase, false, false, true, "lblPlanechase", "lblPlanechaseDesc"),
Archenemy (DeckFormat.Archenemy, false, false, true, "lblArchenemy", "lblArchenemyDesc"),
ArchenemyRumble (DeckFormat.Archenemy, false, false, true, "lblArchenemyRumble", "lblArchenemyRumbleDesc"),
MomirBasic (DeckFormat.Constructed, false, false, false, "lblMomirBasic", "lblMomirBasicDesc", new Function<RegisteredPlayer, Deck>() {
@Override
public Deck apply(RegisteredPlayer player) {
Deck deck = new Deck();
@@ -43,7 +45,7 @@ public enum GameType {
return deck;
}
}),
MoJhoSto (DeckFormat.Constructed, false, false, false, "MoJhoSto", "Each player has a deck containing 60 basic lands and the Momir Vig, Jhoira of the Ghitu, and Stonehewer Giant avatars.", new Function<RegisteredPlayer, Deck>() {
MoJhoSto (DeckFormat.Constructed, false, false, false, "lblMoJhoSto", "lblMoJhoStoDesc", new Function<RegisteredPlayer, Deck>() {
@Override
public Deck apply(RegisteredPlayer player) {
Deck deck = new Deck();
@@ -69,14 +71,19 @@ public enum GameType {
private final Function<RegisteredPlayer, Deck> deckAutoGenerator;
private GameType(DeckFormat deckFormat0, boolean isCardPoolLimited0, boolean canSideboard0, boolean addWonCardsMidgame0, String name0, String description0) {
this(deckFormat0, isCardPoolLimited0, canSideboard0, addWonCardsMidgame0, name0, description0, null);
}
private GameType(DeckFormat deckFormat0, boolean isCardPoolLimited0, boolean canSideboard0, boolean addWonCardsMidgame0, String name0, String description0, Function<RegisteredPlayer, Deck> deckAutoGenerator0) {
final Localizer localizer = forge.util.Localizer.getInstance();
deckFormat = deckFormat0;
isCardPoolLimited = isCardPoolLimited0;
canSideboard = canSideboard0;
addWonCardsMidGame = addWonCardsMidgame0;
name = name0;
name = localizer.getMessage(name0);
if (description0.length()>0) {
description0 = localizer.getMessage(description0);
}
description = description0;
deckAutoGenerator = deckAutoGenerator0;
}

View File

@@ -85,10 +85,10 @@ public enum FControl implements KeyEventDispatcher {
private CloseAction closeAction;
private final List<HostedMatch> currentMatches = Lists.newArrayList();
public static enum CloseAction {
public enum CloseAction {
NONE,
CLOSE_SCREEN,
EXIT_FORGE;
EXIT_FORGE
}
private boolean hasCurrentMatches() {
@@ -122,7 +122,7 @@ public enum FControl implements KeyEventDispatcher {
* switches between various display screens in that JFrame. Controllers are
* instantiated separately by each screen's top level view class.
*/
private FControl() {
FControl() {
Singletons.getView().getFrame().addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(final WindowEvent e) {
@@ -187,10 +187,7 @@ public enum FControl implements KeyEventDispatcher {
if (!FOptionPane.showConfirmDialog(userPrompt, action + " Forge", action, "Cancel", !hasCurrentMatches)) { //default Yes if no game active
return false;
}
if (!CDeckEditorUI.SINGLETON_INSTANCE.canSwitchAway(true)) {
return false;
}
return true;
return CDeckEditorUI.SINGLETON_INSTANCE.canSwitchAway(true);
}
public boolean restartForge() {
@@ -395,9 +392,8 @@ public enum FControl implements KeyEventDispatcher {
else {
altKeyLastDown = false;
if (e.getID() == KeyEvent.KEY_PRESSED) {
if (forgeMenu.handleKeyEvent(e)) { //give Forge menu the chance to handle the key event
return true;
}
//give Forge menu the chance to handle the key event
return forgeMenu.handleKeyEvent(e);
}
else if (e.getID() == KeyEvent.KEY_RELEASED) {
if (e.getKeyCode() == KeyEvent.VK_CONTEXT_MENU) {

View File

@@ -12,6 +12,7 @@ import com.google.common.base.Predicate;
import forge.deck.*;
import forge.game.GameFormat;
import forge.item.PaperCard;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import org.apache.commons.lang3.StringUtils;
@@ -46,7 +47,9 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
private boolean isForCommander;
private final DeckManager lstDecks;
private final FLabel btnViewDeck = new FLabel.ButtonBuilder().text("View Deck").fontSize(14).build();
final Localizer localizer = Localizer.getInstance();
private final FLabel btnViewDeck = new FLabel.ButtonBuilder().text(localizer.getMessage("lblViewDeck")).fontSize(14).build();
private final FLabel btnRandom = new FLabel.ButtonBuilder().fontSize(14).build();
private boolean isAi;
@@ -119,7 +122,7 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
lstDecks.setPool(decks);
lstDecks.setup(config);
btnRandom.setText("Random Deck");
btnRandom.setText(localizer.getMessage("lblRandomDeck"));
btnRandom.setCommand(new UiCommand() {
@Override
public void run() {

View File

@@ -1,5 +1,5 @@
package forge.deckchooser;
public interface IDecksComboBoxListener {
public void deckTypeSelected(DecksComboBoxEvent ev);
void deckTypeSelected(DecksComboBoxEvent ev);
}

View File

@@ -105,7 +105,7 @@ public enum FNetOverlay implements IOnlineChatInterface {
/**
* Semi-transparent overlay panel. Should be used with layered panes.
*/
private FNetOverlay() {
FNetOverlay() {
window.setTitle("Chat");
window.setVisible(false);
window.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA));

View File

@@ -250,7 +250,7 @@ public class GuiChoose {
final Callable<List<T>> callable = new Callable<List<T>>() {
@Override
public List<T> call() throws Exception {
public List<T> call() {
final DualListBox<T> dual = new DualListBox<T>(remainingObjectsMin, remainingObjectsMax, sourceChoices, destChoices, matchUI);
dual.setSecondColumnLabelText(top);
@@ -290,7 +290,7 @@ public class GuiChoose {
gui.setSelectables(manipulable);
final Callable<List<CardView>> callable = new Callable<List<CardView>>() {
@Override
public List<CardView> call() throws Exception {
public List<CardView> call() {
ListCardArea tempArea = ListCardArea.show(gui,title,cards,manipulable,toTop,toBottom,toAnywhere);
// tempArea.pack();
tempArea.show();

View File

@@ -490,7 +490,7 @@ public class ImportDialog {
}
@Override
protected Void doInBackground() throws Exception {
protected Void doInBackground() {
Timer timer = null;
try {
@@ -867,7 +867,7 @@ public class ImportDialog {
}
@Override
protected Void doInBackground() throws Exception {
protected Void doInBackground() {
try {
// working with textbox text is thread safe
_operationLog.setText("");

View File

@@ -155,12 +155,12 @@ public enum EDocID {
// End enum declarations, start enum methods.
private IVDoc<? extends ICDoc> vDoc;
private EDocID() {
EDocID() {
this(null);
}
/** @param doc0 &emsp; {@link forge.gui.framework.IVDoc} */
private EDocID(final IVDoc<? extends ICDoc> doc0) {
EDocID(final IVDoc<? extends ICDoc> doc0) {
this.vDoc = doc0;
}

View File

@@ -53,9 +53,7 @@ public class RectangleOfDouble {
return false;
if (Double.doubleToLongBits(x) != Double.doubleToLongBits(other.x))
return false;
if (Double.doubleToLongBits(y) != Double.doubleToLongBits(other.y))
return false;
return true;
return Double.doubleToLongBits(y) == Double.doubleToLongBits(other.y);
}
public final double getX() {

View File

@@ -242,7 +242,7 @@ public final class SLayoutIO {
}
catch (final Exception e) {
try {
if (reader != null) { reader.close(); };
if (reader != null) { reader.close(); }
}
catch (final XMLStreamException x) {
e.printStackTrace();
@@ -556,7 +556,7 @@ public final class SLayoutIO {
EDocID selectedId = null;
double x0 = 0, y0 = 0, w0 = 0, h0 = 0;
MapOfLists<LayoutInfo, EDocID> model = new HashMapOfLists<LayoutInfo, EDocID>(CollectionSuppliers.<EDocID>arrayLists());
MapOfLists<LayoutInfo, EDocID> model = new HashMapOfLists<LayoutInfo, EDocID>(CollectionSuppliers.arrayLists());
LayoutInfo currentKey = null;
while (null != reader && reader.hasNext()) {

View File

@@ -65,7 +65,7 @@ public final class SOverflowUtil {
public void mouseClicked(final MouseEvent e) {
final JPanel pnl = FView.SINGLETON_INSTANCE.getPnlTabOverflow();
if (pnl != null) {
pnl.setVisible(pnl.isVisible() ? false : true);
pnl.setVisible(!pnl.isVisible());
}
}
};

View File

@@ -90,7 +90,7 @@ public final class SRearrangingUtil {
// If only a single tab, select it, and add it to docsToMove.
if (e.getSource() instanceof DragTab) {
for (final IVDoc<? extends ICDoc> vDoc : cellSrc.getDocs()) {
if (vDoc.getTabLabel() == (DragTab) (e.getSource())) {
if (vDoc.getTabLabel() == e.getSource()) {
cellSrc.setSelected(vDoc);
docsToMove.add(vDoc);
}

View File

@@ -1130,7 +1130,7 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel implem
* @param unique - if true, the editor will be set to the "unique item names only" mode.
*/
public void setWantUnique(final boolean unique) {
this.wantUnique = this.alwaysNonUnique ? false : unique;
this.wantUnique = !this.alwaysNonUnique && unique;
}
/**

View File

@@ -18,7 +18,7 @@ public enum CBazaarUI implements ICDoc {
* @param v0 &emsp; {@link forge.screens.bazaar.VBazaarUI}
* @param bazaar
*/
private CBazaarUI() {
CBazaarUI() {
}
/** Populate all stalls, and select first one. */

View File

@@ -33,7 +33,7 @@ public enum VBazaarUI implements IVTopLevelUI {
/** Lays out containers and borders for resizeable layout and
* instantiates top-level controller for bazaar UI.
* @param bazaar0 */
private VBazaarUI() {
VBazaarUI() {
}
/** */

View File

@@ -66,7 +66,7 @@ public enum CDeckEditorUI implements ICDoc {
private final VBrawlDecks vBrawlDecks;
private final VTinyLeadersDecks vTinyLeadersDecks;
private CDeckEditorUI() {
CDeckEditorUI() {
screenChildControllers = new HashMap<FScreen, ACEditorBase<? extends InventoryItem, ? extends DeckBase>>();
this.cDetailPicture = new CDetailPicture();
this.vAllDecks = VAllDecks.SINGLETON_INSTANCE;
@@ -153,7 +153,7 @@ public enum CDeckEditorUI implements ICDoc {
}
private interface _MoveAction {
public <T extends InventoryItem> void move(Iterable<Entry<T, Integer>> items);
<T extends InventoryItem> void move(Iterable<Entry<T, Integer>> items);
}
private <T extends InventoryItem> void moveSelectedItems(final ItemManager<T> itemManager, final _MoveAction moveAction, final int maxQty) {

View File

@@ -12,7 +12,7 @@ public enum CCardCatalog implements ICDoc {
/** */
SINGLETON_INSTANCE;
private CCardCatalog() {
CCardCatalog() {
}
//========== Overridden methods

View File

@@ -39,7 +39,7 @@ public enum CCurrentDeck implements ICDoc {
//========== Overridden methods
private CCurrentDeck() {
CCurrentDeck() {
final FileFilter[] defaultFilters = fileChooser.getChoosableFileFilters();
for (final FileFilter defFilter : defaultFilters) {
fileChooser.removeChoosableFileFilter(defFilter);

View File

@@ -30,7 +30,7 @@ public enum VCardCatalog implements IVDoc<CCardCatalog> {
//========== Constructor
/** */
private VCardCatalog() {
VCardCatalog() {
}
//========== Overridden from IVDoc

View File

@@ -88,7 +88,7 @@ public enum VCurrentDeck implements IVDoc<CCurrentDeck> {
//========== Constructor
private VCurrentDeck() {
VCurrentDeck() {
// Header area
pnlHeader.setOpaque(false);
pnlHeader.setLayout(new MigLayout("insets 3, gapx 3, hidemode 3"));

View File

@@ -43,7 +43,7 @@ public enum VDeckgen implements IVDoc<CDeckgen> {
.opaque(true).hoverable(true).build();
//========== Constructor
private VDeckgen() {
VDeckgen() {
}
//========== Overridden methods

View File

@@ -55,7 +55,7 @@ public enum VProbabilities implements IVDoc<CProbabilities> {
private final JPanel pnlLibrary = new JPanel(new MigLayout("insets 0, gap 0, wrap"));
//========== Constructor
private VProbabilities() {
VProbabilities() {
pnlContent.setOpaque(false);
pnlHand.setOpaque(false);
pnlLibrary.setOpaque(false);

View File

@@ -86,7 +86,7 @@ public enum VStatistics implements IVDoc<CStatistics> {
private final FScrollPane scroller = new FScrollPane(pnlStats, false);
//========== Constructor
private VStatistics() {
VStatistics() {
scroller.getViewport().setBorder(null);
// Color stats

View File

@@ -18,7 +18,7 @@ public enum EMenuGroup {
private final String strTitle;
/** @param {@link java.lang.String} */
private EMenuGroup(final String s0) { strTitle = s0; }
EMenuGroup(final String s0) { strTitle = s0; }
/** @return {@link java.lang.String} */
public String getTitle() {

View File

@@ -248,7 +248,7 @@ public class PlayerPanel extends FPanel {
lobby.updateVanguardList(index);
}
};
};
}
/**
* Listens to name text fields and gives the appropriate player focus. Also
@@ -388,7 +388,7 @@ public class PlayerPanel extends FPanel {
public Set<AIOption> getAiOptions() {
return isSimulatedAi()
? ImmutableSet.of(AIOption.USE_SIMULATION)
: Collections.<AIOption>emptySet();
: Collections.emptySet();
}
private boolean isSimulatedAi() {
return radioAi.isSelected() && radioAiUseSimulation.isSelected();

View File

@@ -98,7 +98,7 @@ public enum VHomeUI implements IVTopLevelUI {
.iconAlignX(SwingConstants.CENTER)
.iconInBackground(true).iconScaleFactor(1.0).build();
private VHomeUI() {
VHomeUI() {
// Add main menu containing logo and menu buttons
final JPanel pnlMainMenu = new JPanel(new MigLayout("w 200px!, ax center, insets 0, gap 0, wrap"));
pnlMainMenu.setOpaque(false);

View File

@@ -24,6 +24,7 @@ import forge.toolbox.*;
import forge.toolbox.FSkin.SkinImage;
import forge.util.Aggregates;
import forge.util.Lang;
import forge.util.Localizer;
import forge.util.NameGenerator;
import forge.util.gui.SOptionPane;
import net.miginfocom.swing.MigLayout;
@@ -47,12 +48,13 @@ import java.util.List;
public class VLobby implements ILobbyView {
static final int MAX_PLAYERS = 8;
final Localizer localizer = Localizer.getInstance();
private static final ForgePreferences prefs = FModel.getPreferences();
// General variables
private final GameLobby lobby;
private IPlayerChangeListener playerChangeListener = null;
private final LblHeader lblTitle = new LblHeader("Sanctioned Format: Constructed");
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblHeaderConstructedMode"));
private int activePlayersNum = 0;
private int playerWithFocus = 0; // index of the player that currently has focus
@@ -81,13 +83,13 @@ public class VLobby implements ILobbyView {
private final FScrollPanel playersScroll = new FScrollPanel(new MigLayout("insets 0, gap 0, wrap, hidemode 3"), true);
private final List<PlayerPanel> playerPanels = new ArrayList<PlayerPanel>(MAX_PLAYERS);
private final FLabel addPlayerBtn = new FLabel.ButtonBuilder().fontSize(14).text("Add a Player").build();
private final FLabel addPlayerBtn = new FLabel.ButtonBuilder().fontSize(14).text(localizer.getMessage("lblAddAPlayer")).build();
// Deck frame elements
private final JPanel decksFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap, hidemode 3"));
private final List<FDeckChooser> deckChoosers = Lists.newArrayListWithCapacity(MAX_PLAYERS);
private final FCheckBox cbSingletons = new FCheckBox("Singleton Mode");
private final FCheckBox cbArtifacts = new FCheckBox("Remove Artifacts");
private final FCheckBox cbSingletons = new FCheckBox(localizer.getMessage("cbSingletons"));
private final FCheckBox cbArtifacts = new FCheckBox(localizer.getMessage("cbRemoveArtifacts"));
private final Deck[] decks = new Deck[MAX_PLAYERS];
// Variants
@@ -146,7 +148,7 @@ public class VLobby implements ILobbyView {
}
variantsPanel.setOpaque(false);
variantsPanel.add(newLabel("Variants:"));
variantsPanel.add(newLabel(localizer.getMessage("lblVariants")));
for (final VariantCheckBox vcb : vntBoxes) {
variantsPanel.add(vcb);
}
@@ -431,7 +433,7 @@ public class VLobby implements ILobbyView {
deckChoosers.add(mainChooser);
// Scheme deck list
buildDeckPanel("Scheme Deck", playerIndex, schemeDeckLists, schemeDeckPanels, new ListSelectionListener() {
buildDeckPanel(localizer.getMessage("lblSchemeDeck"), playerIndex, schemeDeckLists, schemeDeckPanels, new ListSelectionListener() {
@Override public final void valueChanged(final ListSelectionEvent e) {
selectSchemeDeck(playerIndex);
}
@@ -479,14 +481,14 @@ public class VLobby implements ILobbyView {
});*/
// Planar deck list
buildDeckPanel("Planar Deck", playerIndex, planarDeckLists, planarDeckPanels, new ListSelectionListener() {
buildDeckPanel(localizer.getMessage("lblPlanarDeck"), playerIndex, planarDeckLists, planarDeckPanels, new ListSelectionListener() {
@Override public final void valueChanged(final ListSelectionEvent e) {
selectPlanarDeck(playerIndex);
}
});
// Vanguard avatar list
buildDeckPanel("Vanguard Avatar", playerIndex, vgdAvatarLists, vgdPanels, new ListSelectionListener() {
buildDeckPanel(localizer.getMessage("lblVanguardAvatar"), playerIndex, vgdAvatarLists, vgdPanels, new ListSelectionListener() {
@Override public final void valueChanged(final ListSelectionEvent e) {
selectVanguardAvatar(playerIndex);
}
@@ -872,8 +874,8 @@ public class VLobby implements ILobbyView {
private static final ImmutableList<String> genderOptions = ImmutableList.of("Male", "Female", "Any"),
typeOptions = ImmutableList.of("Fantasy", "Generic", "Any");
final String getNewName() {
final String title = "Get new random name";
final String message = "What type of name do you want to generate?";
final String title = localizer.getMessage("lblGetNewRandomName");
final String message = localizer.getMessage("lbltypeofName");
final SkinImage icon = FOptionPane.QUESTION_ICON;
final int genderIndex = FOptionPane.showOptionDialog(message, title, icon, genderOptions, 2);
@@ -892,8 +894,8 @@ public class VLobby implements ILobbyView {
final List<String> usedNames = getPlayerNames();
do {
newName = NameGenerator.getRandomName(gender, type, usedNames);
confirmMsg = "Would you like to use the name \"" + newName + "\", or try again?";
} while (!FOptionPane.showConfirmDialog(confirmMsg, title, "Use this name", "Try again", true));
confirmMsg = localizer.getMessage("lblconfirmName").replace("%n","\"" +newName + "\"");
} while (!FOptionPane.showConfirmDialog(confirmMsg, title, localizer.getMessage("lblUseThisName"), localizer.getMessage("lblTryAgain"), true));
return newName;
}

View File

@@ -106,7 +106,7 @@ public enum VSubmenuGauntletBuild implements IVSubmenu<CSubmenuGauntletBuild> {
.icon(FSkin.getIcon(FSkinProp.ICO_OPEN))
.text(" ").hoverable(true).build();
private VSubmenuGauntletBuild() {
VSubmenuGauntletBuild() {
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
// File handling panel

View File

@@ -54,7 +54,7 @@ public enum VSubmenuGauntletContests implements IVSubmenu<CSubmenuGauntletContes
private final FLabel lblDesc1 = new FLabel.Builder()
.text("A gauntlet that has been started will keep the same deck until it is finished.").build();
private VSubmenuGauntletContests() {
VSubmenuGauntletContests() {
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
pnlLoad.setLayout(new MigLayout("insets 0, gap 0, wrap"));

View File

@@ -43,7 +43,7 @@ public enum VSubmenuGauntletLoad implements IVSubmenu<CSubmenuGauntletLoad> {
private final StartButton btnStart = new StartButton();
private VSubmenuGauntletLoad() {
VSubmenuGauntletLoad() {
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
}

View File

@@ -78,7 +78,7 @@ public enum VSubmenuGauntletQuick implements IVSubmenu<CSubmenuGauntletQuick> {
private final StartButton btnStart = new StartButton();
private VSubmenuGauntletQuick() {
VSubmenuGauntletQuick() {
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
boxUserDecks.setSelected(true);

View File

@@ -54,7 +54,6 @@ public enum CSubmenuOnlineLobby implements ICDoc, IMenuProvider {
} else {
BugReporter.reportException(ex);
}
;
}
}
}

View File

@@ -36,7 +36,7 @@ public enum VSubmenuOnlineLobby implements IVSubmenu<CSubmenuOnlineLobby>, IOnli
private final JPanel pnlTitle = new JPanel(new MigLayout());
private final StopButton btnStop = new StopButton();
private VSubmenuOnlineLobby() {
VSubmenuOnlineLobby() {
}
public ILobbyView setLobby(final GameLobby lobby) {

View File

@@ -81,7 +81,7 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
/**
* Constructor.
*/
private VSubmenuChallenges() {
VSubmenuChallenges() {
final String constraints = "h 30px!, gap 0 0 0 5px";
pnlStats.setLayout(new MigLayout("insets 0, gap 0, wrap, hidemode 3"));
pnlStats.add(btnUnlock, "w 150px!, h 30px!, gap 0 0 0 10px");

View File

@@ -60,7 +60,7 @@ public enum VSubmenuQuestDecks implements IVSubmenu<CSubmenuQuestDecks> {
/**
* Constructor.
*/
private VSubmenuQuestDecks() {
VSubmenuQuestDecks() {
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
lstDecks.setCaption("Quest Decks");
}

View File

@@ -69,7 +69,7 @@ public enum VSubmenuQuestPrefs implements IVSubmenu<CSubmenuQuestPrefs> {
DIFFICULTY, /** */
BOOSTER, /** */
SHOP, /***/
DRAFT_TOURNAMENTS;
DRAFT_TOURNAMENTS
}
/**

View File

@@ -29,6 +29,7 @@ import forge.properties.ForgePreferences.FPref;
import forge.screens.deckeditor.CDeckEditorUI;
import forge.screens.deckeditor.controllers.CEditorDraftingProcess;
import forge.toolbox.FOptionPane;
import forge.util.Localizer;
/**
* Controls the draft submenu in the home UI.
@@ -114,11 +115,12 @@ public enum CSubmenuDraft implements ICDoc {
}
private void startGame(final GameType gameType) {
final Localizer localizer = Localizer.getInstance();
final boolean gauntlet = !VSubmenuDraft.SINGLETON_INSTANCE.isSingleSelected();
final DeckProxy humanDeck = VSubmenuDraft.SINGLETON_INSTANCE.getLstDecks().getSelectedItem();
if (humanDeck == null) {
FOptionPane.showErrorDialog("No deck selected for human.\n(You may need to build a new deck)", "No Deck");
FOptionPane.showErrorDialog(localizer.getMessage("lblNoDeckSelected"), localizer.getMessage("lblNoDeck"));
return;
}
@@ -179,8 +181,9 @@ public enum CSubmenuDraft implements ICDoc {
/** */
private void setupDraft() {
final Localizer localizer = Localizer.getInstance();
// Determine what kind of booster draft to run
final LimitedPoolType poolType = GuiChoose.oneOrNone("Choose Draft Format", LimitedPoolType.values());
final LimitedPoolType poolType = GuiChoose.oneOrNone(localizer.getMessage("lblChooseDraftFormat"), LimitedPoolType.values());
if (poolType == null) { return; }
final BoosterDraft draft = BoosterDraft.createDraft(poolType);

View File

@@ -34,7 +34,7 @@ public enum VSubmenuConstructed implements IVSubmenu<CSubmenuConstructed> {
private final DragTab tab = new DragTab(localizer.getMessage("lblConstructedMode"));
private final GameLobby lobby = new LocalLobby();
private final VLobby vLobby = new VLobby(lobby);
private VSubmenuConstructed() {
VSubmenuConstructed() {
lobby.setListener(vLobby);
vLobby.setPlayerChangeListener(new IPlayerChangeListener() {

View File

@@ -5,6 +5,7 @@ import java.awt.Font;
import javax.swing.*;
import forge.toolbox.*;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import forge.game.GameType;
import forge.gui.framework.DragCell;
@@ -28,50 +29,51 @@ import forge.screens.home.VHomeUI.PnlDisplay;
public enum VSubmenuDraft implements IVSubmenu<CSubmenuDraft> {
/** */
SINGLETON_INSTANCE;
final Localizer localizer = Localizer.getInstance();
// Fields used with interface IVDoc
private DragCell parentCell;
private final DragTab tab = new DragTab("Booster Draft");
private final DragTab tab = new DragTab(localizer.getMessage("lblBoosterDraft"));
/** */
private final LblHeader lblTitle = new LblHeader("Sanctioned Format: Booster Draft");
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblHeaderBoosterDraft"));
private final JPanel pnlStart = new JPanel();
private final StartButton btnStart = new StartButton();
private final DeckManager lstDecks = new DeckManager(GameType.Draft, CDeckEditorUI.SINGLETON_INSTANCE.getCDetailPicture());
private final JRadioButton radSingle = new FRadioButton("Play an opponent");
private final JRadioButton radAll = new FRadioButton("Play all 7 opponents");
private final JRadioButton radSingle = new FRadioButton(localizer.getMessage("lblPlayAnOpponent"));
private final JRadioButton radAll = new FRadioButton(localizer.getMessage("lblPlayAll7opponents"));
private final JComboBox<String> cbOpponent = new JComboBox<String>();
private final JLabel 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 Draft mode, three booster packs are rotated around eight players.")
.text(localizer.getMessage("lblDraftText1"))
.fontSize(12).build();
private final FLabel lblDir2 = new FLabel.Builder()
.text("Build a deck from the cards you choose. The AI will do the same.")
.text(localizer.getMessage("lblDraftText2"))
.fontSize(12).build();
private final FLabel lblDir3 = new FLabel.Builder()
.text("Then, play against one or all of the AI opponents.")
.text(localizer.getMessage("lblDraftText3"))
.fontSize(12).build();
private final FLabel btnBuildDeck = new FLabel.ButtonBuilder().text("New Booster Draft Game").fontSize(16).build();
private final FLabel btnBuildDeck = new FLabel.ButtonBuilder().text(localizer.getMessage("lblNewBoosterDraftGame")).fontSize(16).build();
/**
* Constructor.
*/
private VSubmenuDraft() {
VSubmenuDraft() {
btnStart.setEnabled(false);
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
lstDecks.setCaption("Draft Decks");
lstDecks.setCaption(localizer.getMessage("lblDraftDecks"));
final JXButtonPanel grpPanel = new JXButtonPanel();
grpPanel.add(radSingle, "w 200px!, h 30px!");
@@ -98,7 +100,7 @@ public enum VSubmenuDraft implements IVSubmenu<CSubmenuDraft> {
*/
@Override
public String getMenuTitle() {
return "Booster Draft";
return localizer.getMessage("lblBoosterDraft");
}
/* (non-Javadoc)

View File

@@ -12,6 +12,7 @@ import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;
import forge.toolbox.*;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import forge.assets.FSkinProp;
import forge.game.GameType;
@@ -38,40 +39,41 @@ import forge.toolbox.FSkin.SkinnedTextPane;
public enum VSubmenuSealed implements IVSubmenu<CSubmenuSealed> {
/** */
SINGLETON_INSTANCE;
final Localizer localizer = Localizer.getInstance();
// Fields used with interface IVDoc
private DragCell parentCell;
private final DragTab tab = new DragTab("Sealed Deck");
private final DragTab tab = new DragTab(localizer.getMessage("lblSealedDeck"));
/** */
private final LblHeader lblTitle = new LblHeader("Sanctioned Format: Sealed Deck");
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblHeaderSealed"));
private final JPanel pnlStart = new JPanel();
private final StartButton btnStart = new StartButton();
private final DeckManager lstDecks = new DeckManager(GameType.Sealed, CDeckEditorUI.SINGLETON_INSTANCE.getCDetailPicture());
private final JRadioButton radSingle = new FRadioButton("Play an opponent");
private final JRadioButton radAll = new FRadioButton("Play all 7 opponents");
private final JRadioButton radSingle = new FRadioButton(localizer.getMessage("lblPlayAnOpponent"));
private final JRadioButton radAll = new FRadioButton(localizer.getMessage("lblPlayAll7opponents"));
private final JComboBox<String> cbOpponent = new JComboBox<String>();
private final FLabel lblInfo = new FLabel.Builder()
.fontAlign(SwingConstants.LEFT).fontSize(16).fontStyle(Font.BOLD)
.text("Select a game, or build a new one").build();
.text(localizer.getMessage("lblSealedText1")).build();
private final FLabel lblDir1 = new FLabel.Builder()
.text("In Sealed mode, you build a deck from booster packs (maximum 10).")
.text(localizer.getMessage("lblSealedText2"))
.fontSize(12).build();
private final FLabel lblDir2 = new FLabel.Builder()
.text("Build a deck from the cards you receive. A number of AI opponents will do the same.")
.text(localizer.getMessage("lblSealedText3"))
.fontSize(12).build();
private final FLabel lblDir3 = new FLabel.Builder()
.text("Then, you may play against each of the AI opponents, or one of the opponents.")
.text(localizer.getMessage("lblSealedText4"))
.fontSize(12).build();
private final FLabel btnBuildDeck = new FLabel.ButtonBuilder().text("Build New Sealed Deck").fontSize(16).build();
private final FLabel btnBuildDeck = new FLabel.ButtonBuilder().text(localizer.getMessage("btnBuildNewSealedDeck")).fontSize(16).build();
private final FLabel btnDirections = new FLabel.Builder()
.fontSize(16).opaque(true).hoverable(true)
@@ -80,11 +82,11 @@ public enum VSubmenuSealed implements IVSubmenu<CSubmenuSealed> {
/**
* Constructor.
*/
private VSubmenuSealed() {
VSubmenuSealed() {
btnStart.setEnabled(false);
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
lstDecks.setCaption("Sealed Decks");
lstDecks.setCaption(localizer.getMessage("lblSealedDecks"));
}
/* (non-Javadoc)
@@ -135,7 +137,7 @@ public enum VSubmenuSealed implements IVSubmenu<CSubmenuSealed> {
*/
@Override
public String getMenuTitle() {
return "Sealed Deck";
return localizer.getMessage("lblSealedDeck");
}
/* (non-Javadoc)

View File

@@ -70,7 +70,7 @@ public enum VSubmenuWinston implements IVSubmenu<CSubmenuWinston> {
/**
* Constructor.
*/
private VSubmenuWinston() {
VSubmenuWinston() {
lstAI.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
btnStart.setEnabled(false);

View File

@@ -233,6 +233,8 @@ public enum CSubmenuPreferences implements ICDoc {
initializeCounterDisplayLocationComboBox();
initializeGraveyardOrderingComboBox();
initializePlayerNameButton();
initializeDefaultLanguageComboBox();
}
/* (non-Javadoc)
@@ -352,6 +354,15 @@ public enum CSubmenuPreferences implements ICDoc {
panel.setComboBox(comboBox, Singletons.getControl().getCloseAction());
}
private void initializeDefaultLanguageComboBox() {
final String [] choices = {"en-US", "es-ES", "de-DE"};
final FPref userSetting = FPref.UI_LANGUAGE;
final FComboBoxPanel<String> panel = this.view.getCbpDefaultLanguageComboBoxPanel();
final FComboBox<String> comboBox = createComboBox(choices, userSetting);
final String selectedItem = this.prefs.getPref(userSetting);
panel.setComboBox(comboBox, selectedItem);
}
private void initializeDefaultFontSizeComboBox() {
final String [] choices = {"10", "11", "12", "13", "14", "15", "16", "17", "18"};
final FPref userSetting = FPref.UI_DEFAULT_FONT_SIZE;

View File

@@ -68,7 +68,7 @@ public enum VSubmenuAchievements implements IVSubmenu<CSubmenuAchievements> {
private final FScrollPane scroller = new FScrollPane(trophyCase, false,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
private VSubmenuAchievements() {
VSubmenuAchievements() {
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
trophyCase.setMinimumSize(new Dimension(FSkinProp.IMG_TROPHY_SHELF.getWidth(), 0));

View File

@@ -38,7 +38,7 @@ public enum VSubmenuAvatars implements IVSubmenu<CSubmenuAvatars> {
private final FLabel lblAvatarAI = new FLabel.Builder().hoverable(true).selectable(true)
.iconScaleFactor(0.99f).iconInBackground(true).build();
private VSubmenuAvatars() {
VSubmenuAvatars() {
populateAvatars();
}

View File

@@ -67,6 +67,7 @@ public enum VSubmenuDownloaders implements IVSubmenu<CSubmenuDownloaders> {
* Constructor.
*/
VSubmenuDownloaders() {
final Localizer localizer = Localizer.getInstance();
final String constraintsLBL = "w 90%!, h 20px!, center, gap 0 0 3px 8px";
final String constraintsBTN = "h 30px!, w 50%!, center";
@@ -106,7 +107,7 @@ public enum VSubmenuDownloaders implements IVSubmenu<CSubmenuDownloaders> {
pnlContent.add(label, "w 90%!, h 25px!, center, gap 0 0 0 36px");
}
pnlContent.add(btnListImageData, constraintsBTN);
pnlContent.add(_makeLabel(localizer.getMessage("lblListImageData")), constraintsLBL);

View File

@@ -119,6 +119,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
private final FComboBoxPanel<String> cbpCounterDisplayType = new FComboBoxPanel<>(localizer.getMessage("cbpCounterDisplayType")+":");
private final FComboBoxPanel<String> cbpCounterDisplayLocation =new FComboBoxPanel<>(localizer.getMessage("cbpCounterDisplayLocation")+":");
private final FComboBoxPanel<String> cbpGraveyardOrdering = new FComboBoxPanel<>(localizer.getMessage("cbpGraveyardOrdering")+":");
private final FComboBoxPanel<String> cbpDefaultLanguage = new FComboBoxPanel<>(localizer.getMessage("cbpSelectLanguage")+":");
/**
* Constructor.
@@ -152,6 +153,10 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
// General Configuration
pnlPrefs.add(new SectionLabel(localizer.getMessage("GeneralConfiguration")), sectionConstraints);
// language
pnlPrefs.add(cbpDefaultLanguage, comboBoxConstraints);
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlSelectLanguage")), descriptionConstraints);
pnlPrefs.add(getPlayerNamePanel(), titleConstraints + ", h 26px!");
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlPlayerName")), descriptionConstraints);
@@ -648,6 +653,11 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
return cbpDefaultFontSize;
}
public FComboBoxPanel<String> getCbpDefaultLanguageComboBoxPanel() {
return cbpDefaultLanguage;
}
public FComboBoxPanel<String> getAutoYieldModeComboBoxPanel() {
return cbpAutoYieldMode;
}

View File

@@ -155,7 +155,7 @@ public final class CMatchUI
this.myDocs.put(EDocID.REPORT_COMBAT, cCombat.getView());
this.myDocs.put(EDocID.REPORT_LOG, cLog.getView());
this.myDocs.put(EDocID.DEV_MODE, getCDev().getView());
this.myDocs.put(EDocID.BUTTON_DOCK, getCDock().getView());;
this.myDocs.put(EDocID.BUTTON_DOCK, getCDock().getView());
}
private void registerDocs() {
@@ -703,7 +703,7 @@ public final class CMatchUI
FThreads.invokeInEdtNowOrLater(focusRoutine);
} else {
FThreads.invokeInEdtAndWait(focusRoutine);
};
}
}
@Override

View File

@@ -196,7 +196,7 @@ public final class CDev implements ICDoc {
}
};
public void exileCardsFromHand() {
getController().cheat().exileCardsFromHand();;
getController().cheat().exileCardsFromHand();
}
private final MouseListener madAddCounter = new MouseAdapter() {

View File

@@ -51,7 +51,7 @@ public class CDock implements ICDoc {
this.view = new VDock(this);
}
public enum ArcState { OFF, MOUSEOVER, ON; }
public enum ArcState { OFF, MOUSEOVER, ON}
public VDock getView() {
return view;
@@ -108,7 +108,7 @@ public class CDock implements ICDoc {
public void setArcState(final ArcState state) {
arcState = state;
while (arcStateIterator.next() != arcState) { /* Put the iterator to the correct value */ };
while (arcStateIterator.next() != arcState) { /* Put the iterator to the correct value */ }
}
@Override

View File

@@ -62,7 +62,7 @@ public final class CardOverlaysMenu {
toggleShowOverlaySetting();
repaintCardOverlays();
// Enable/disable overlay menu items based on state of "Show" menu.
for (Component c : ((JPopupMenu)showMenu.getParent()).getComponents()) {
for (Component c : showMenu.getParent().getComponents()) {
if (c instanceof JMenuItem) {
JMenuItem m = (JMenuItem)c;
if (m != showMenu) {

View File

@@ -24,7 +24,7 @@ public class DevModeMenu implements ActionListener, IDevListener {
public DevModeMenu(final CDev controller) {
this.controller = controller;
controller.addListener(this);
};
}
// Using an enum to avoid having to create multiple
// ActionListeners each calling a single method.
@@ -49,7 +49,7 @@ public class DevModeMenu implements ActionListener, IDevListener {
DEV_CORNER("Developer's Corner");
protected String caption;
private DevMenuItem(final String value) {
DevMenuItem(final String value) {
this.caption = value;
}
protected static DevMenuItem getValue(final String s) {
@@ -60,7 +60,7 @@ public class DevModeMenu implements ActionListener, IDevListener {
}
return null;
}
};
}
@Override
public void update(final boolean playUnlimitedLands, final boolean mayViewAllCards) {

View File

@@ -41,7 +41,7 @@ public enum CWorkshopUI implements ICDoc, IMenuProvider {
/** */
SINGLETON_INSTANCE;
private CWorkshopUI() {
CWorkshopUI() {
}
/* (non-Javadoc)

View File

@@ -13,7 +13,7 @@ public enum CCardDesigner implements ICDoc {
/** */
SINGLETON_INSTANCE;
private CCardDesigner() {
CCardDesigner() {
VCardDesigner.SINGLETON_INSTANCE.getBtnSaveCard().setCommand(new Runnable() {
@Override public final void run() {
CCardScript.SINGLETON_INSTANCE.saveChanges();

View File

@@ -46,7 +46,7 @@ public enum CCardScript implements ICDoc {
private boolean switchInProgress;
private boolean refreshing;
private CCardScript() {
CCardScript() {
VCardScript.SINGLETON_INSTANCE.getTxtScript().getDocument().addDocumentListener(new DocumentListener() {
@Override
public void removeUpdate(final DocumentEvent arg0) {
@@ -103,7 +103,7 @@ public enum CCardScript implements ICDoc {
refreshing = true;
final JTextPane txtScript = VCardScript.SINGLETON_INSTANCE.getTxtScript();
txtScript.setText(currentScriptInfo != null ? currentScriptInfo.getText() : "");
txtScript.setEditable(currentScriptInfo != null ? currentScriptInfo.canEdit() : false);
txtScript.setEditable(currentScriptInfo != null && currentScriptInfo.canEdit());
txtScript.setCaretPosition(0); //keep scrolled to top
final StyledDocument doc = VCardScript.SINGLETON_INSTANCE.getDoc();

View File

@@ -14,7 +14,7 @@ public enum CWorkshopCatalog implements ICDoc {
/** */
SINGLETON_INSTANCE;
private CWorkshopCatalog() {
CWorkshopCatalog() {
}
//========== Overridden methods

View File

@@ -34,7 +34,7 @@ public enum VCardDesigner implements IVDoc<CCardDesigner> {
.build();
//========== Constructor
private VCardDesigner() {
VCardDesigner() {
}
public FLabel getBtnSaveCard() {

View File

@@ -35,7 +35,7 @@ public enum VCardScript implements IVDoc<CCardScript> {
private final Style error;
//========== Constructor
private VCardScript() {
VCardScript() {
txtScript.setEditable(true);
txtScript.setFocusable(true);
doc = new DefaultStyledDocument();

View File

@@ -36,7 +36,7 @@ public enum VWorkshopCatalog implements IVDoc<CWorkshopCatalog> {
private final CDetailPicture cDetailPicture = new CDetailPicture();
//========== Constructor
private VWorkshopCatalog() {
VWorkshopCatalog() {
this.cardManager = new CardManager(cDetailPicture, true, false);
this.cardManager.setCaption("Catalog");
final Iterable<PaperCard> allCards = Iterables.concat(FModel.getMagicDb().getCommonCards(), FModel.getMagicDb().getVariantCards());

View File

@@ -36,7 +36,7 @@ public enum FAbsolutePositioner {
private final JPanel panel = new JPanel();
private FAbsolutePositioner() {
FAbsolutePositioner() {
panel.setOpaque(false);
panel.setLayout(null);
}

View File

@@ -33,7 +33,7 @@ public class FComboBox<E> extends SkinnedComboBox<E> implements IComboBox<E> {
RIGHT (SwingConstants.RIGHT),
CENTER (SwingConstants.CENTER);
private int value;
private TextAlignment(final int value) { this.value = value; }
TextAlignment(final int value) { this.value = value; }
public int getInt() { return value; }
}
private TextAlignment textAlignment = TextAlignment.LEFT;

View File

@@ -104,7 +104,7 @@ public class FOptionPane extends FDialog {
FTextField txtInput = null;
FComboBox<T> cbInput = null;
if (inputOptions == null) {
txtInput = new FTextField.Builder().text(initialInput.toString()).build();
txtInput = new FTextField.Builder().text(initialInput).build();
inputField = txtInput;
} else {
cbInput = new FComboBox<T>(inputOptions);

View File

@@ -47,7 +47,7 @@ public enum FOverlay {
/**
* Semi-transparent overlay panel. Should be used with layered panes.
*/
private FOverlay() {
FOverlay() {
pnl.setOpaque(false);
pnl.setVisible(false);
pnl.setFocusCycleRoot(true);

View File

@@ -1,5 +1,5 @@
package forge.toolbox;
public interface IDisposable {
public void dispose();
void dispose();
}

View File

@@ -42,7 +42,8 @@ import java.awt.image.BufferedImage;
public class FImagePanel extends JPanel {
// See {@code setAutosizeMode} for descriptions.
public enum AutoSizeImageMode {OFF, PANEL, SOURCE};
public enum AutoSizeImageMode {OFF, PANEL, SOURCE}
AutoSizeImageMode autoSizeMode = AutoSizeImageMode.PANEL;
// The original unscaled, unrotated image.
@@ -66,7 +67,7 @@ public class FImagePanel extends JPanel {
public FImagePanel() {
setOpaque(false);
setResizeListener();
};
}
/**
* This timer is used to identify when resizing has finished.
@@ -326,7 +327,7 @@ public class FImagePanel extends JPanel {
if (newScale != this.imageScale) {
isResampleEnabled = true;
this.imageScale = newScale;
if (newScale == 0) { this.imageScale = 1; };
if (newScale == 0) { this.imageScale = 1; }
if (this.autoSizeMode == AutoSizeImageMode.SOURCE && newScale > 1) {
this.imageScale = 1;
}

View File

@@ -143,7 +143,7 @@ public final class FImageUtil {
*/
public static int getRotationToNearest(int requestedRotation, int nearestRotation) {
// Ensure requested rotation falls within -360..0..360 degree range first.
requestedRotation = requestedRotation - (360 * (requestedRotation / (int)360));
requestedRotation = requestedRotation - (360 * (requestedRotation / 360));
return (int)(Math.rint((double) requestedRotation / nearestRotation) * nearestRotation);
}

View File

@@ -71,7 +71,7 @@ public enum CardZoomer {
private boolean isMouseWheelEnabled = false;
// ctr
private CardZoomer() {
CardZoomer() {
lblFlipcard.setIcon(FSkin.getIcon(FSkinProp.ICO_FLIPCARD));
setMouseButtonListener();
setMouseWheelListener();
@@ -81,7 +81,7 @@ public enum CardZoomer {
public void setCard(final CardStateView card, final boolean mayFlip) {
this.thisCard = card;
this.mayFlip = mayFlip;
this.isInAltState = card == null ? false : card == card.getCard().getAlternateState();
this.isInAltState = card != null && card == card.getCard().getAlternateState();
}
/**

View File

@@ -36,11 +36,7 @@ public class PhaseLabel extends JLabel {
this.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(final MouseEvent e) {
if (PhaseLabel.this.enabled) {
PhaseLabel.this.enabled = false;
} else {
PhaseLabel.this.enabled = true;
}
PhaseLabel.this.enabled = !PhaseLabel.this.enabled;
}
@Override

View File

@@ -65,7 +65,7 @@ public enum FView {
// Tab overflow is for the +X display for extra tabs.
private final JPanel pnlTabOverflow = new JPanel(new MigLayout("insets 0, gap 0, wrap"));
private FView() {
FView() {
frmSplash = new SplashFrame();
frmDocument.setTitle("Forge: " + BuildInfo.getVersionString());
JOptionPane.setRootFrame(frmDocument);

View File

@@ -282,13 +282,13 @@ public class SimulateMatch {
System.out.println(TextUtil.concatNoSpace("End Round - ", String.valueOf(curRound)));
}
curRound = tourney.getActiveRound();
System.out.println("");
System.out.println();
System.out.println(TextUtil.concatNoSpace("Round ", String.valueOf(curRound) ," Pairings:"));
for(TournamentPairing pairing : tourney.getActivePairings()) {
System.out.println(pairing.outputHeader());
}
System.out.println("");
System.out.println();
}
TournamentPairing pairing = tourney.getNextPairing();
@@ -327,7 +327,7 @@ public class SimulateMatch {
pairing.setWinner(tp);
lastWinner = winner.getName();
System.out.println(TextUtil.concatNoSpace("Match Winner - ", lastWinner, "!"));
System.out.println("");
System.out.println();
break;
}
}

View File

@@ -10,7 +10,7 @@ public class TimeLimitedCodeBlock {
public static void runWithTimeout(final Runnable runnable, long timeout, TimeUnit timeUnit) throws Exception {
runWithTimeout(new Callable<Object>() {
@Override
public Object call() throws Exception {
public Object call() {
runnable.run();
return null;
}

View File

@@ -463,7 +463,7 @@ public abstract class CardPanelContainer extends SkinnedPanel {
}
}
public static interface LayoutEventListener {
public interface LayoutEventListener {
void doingLayout();
}

View File

@@ -151,8 +151,7 @@ public class ListCardArea extends FloatingCardArea {
for(int i=index+1-(oldIndex>index?1:0); i<cardList.size(); i++) {
if (!moveableCards.contains(cardList.get(i))) { bottomMove=false; break; }
}
if (toBottom && bottomMove) { return true; }
return false;
return toBottom && bottomMove;
}
@Override

View File

@@ -722,7 +722,7 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
return needLayoutRefresh;
}
private static enum RowType {
private enum RowType {
Land,
Creature,
CreatureNonToken,

View File

@@ -14,12 +14,10 @@ public class BoosterDraft1Test {
/**
* Booster draft_1 test1.
*
* @throws Exception
* the exception
*
*/
@Test(groups = { "UnitTest", "fast" }, timeOut = 1000, enabled = false)
public void boosterDraft1Test1() throws Exception {
public void boosterDraft1Test1() {
final BoosterDraft draft = BoosterDraft.createDraft(LimitedPoolType.Full);
if (draft == null) { return; }

View File

@@ -18,13 +18,9 @@ public class ActionPreCondition {
throw new IllegalStateException( "Mock action " + this + " can only trigger during turn " + requiredTurn + " but it is already turn " + game.getPhaseHandler().getTurn() );
}
}
if( requiredPhaseType != null && requiredPhaseType != game.getPhaseHandler().getPhase() ) {
return false;
}
return true;
}
return requiredPhaseType == null || requiredPhaseType == game.getPhaseHandler().getPhase();
}
public ActionPreCondition turn( int turn ) {
requiredTurn = turn;

View File

@@ -10,7 +10,7 @@ public class DeclareBlockersAction extends BasePlayerAction {
public DeclareBlockersAction( PlayerSpecification player ) {
super( player );
blockingAssignments = ArrayListMultimap.<CardSpecification, CardSpecification>create();
blockingAssignments = ArrayListMultimap.create();
}
public DeclareBlockersAction block( CardSpecification attacker, CardSpecification blocker ) {

View File

@@ -19,12 +19,10 @@ import java.io.IOException;
public class FModelTest {
/**
* Set up before each test, creating a default model.
*
* @throws FileNotFoundException
* indirectly
*
*/
@BeforeTest
public final void setUp() throws FileNotFoundException {
public final void setUp() {
// this.model = new FModel();
}
@@ -61,12 +59,10 @@ public class FModelTest {
/**
* Test getVersion.
*
* @throws FileNotFoundException
* if something is really wrong
*
*/
@Test(enabled = false)
public final void test_getVersion() throws FileNotFoundException {
public final void test_getVersion() {
final String version = BuildInfo.getVersionString();
Assert.assertEquals(version, "GIT", "version is default");
@@ -74,12 +70,10 @@ public class FModelTest {
/**
* Test getPreferences.
*
* @throws FileNotFoundException
* indirectly
*
*/
@Test(enabled = false)
public final void test_getPreferences() throws FileNotFoundException {
public final void test_getPreferences() {
final ForgePreferences prefs = FModel.getPreferences();
Assert.assertNotNull(prefs, "prefs instance is not null");
}

View File

@@ -218,13 +218,13 @@ public class PlanarConquestGeneraterGA extends AbstractGeneticAlgorithm<Deck> {
System.out.println(TextUtil.concatNoSpace("End Round - ", String.valueOf(curRound)));
}
curRound = tourney.getActiveRound();
System.out.println("");
System.out.println();
System.out.println(TextUtil.concatNoSpace("Round ", String.valueOf(curRound) ," Pairings:"));
for(TournamentPairing pairing : tourney.getActivePairings()) {
System.out.println(pairing.outputHeader());
}
System.out.println("");
System.out.println();
}
TournamentPairing pairing = tourney.getNextPairing();

View File

@@ -0,0 +1,360 @@
language.name=Deutsch (DE)
#SplashScreen.java
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...
#VSubmenuPreferences.java
Preferences=Einstellungen
btnReset=Alles zurücksetzen
btnDeleteMatchUI=Spiel-Layout zurücksetzen
btnDeleteEditorUI=Editor-Layout zurücksetzen
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
btnCopyToClipboard=In Zwischenablage kopieren
cbpSelectLanguage=Language
nlSelectLanguage=Select Language (Excluded Game part. Still a work in progress) (RESTART REQUIRED)
cbRemoveSmall=Entferne kleine Kreaturen
cbCardBased=Nutze kartenabhängige Deckerstellung
cbSingletons=Singleton Modus
cbRemoveArtifacts=Entferne Artefakte
cbAnte=Spiele um Ante
cbAnteMatchRarity=Passe Ante-Seltenheit an
cbEnableAICheats=KI darf betrügen
cbManaBurn=Manabrand
cbManaLostPrompt=Bestätige Leeren des Manapools
cbDevMode=Entwicklermodus
cbLoadCardsLazily=Lade Kartenskripte verzögert
cbLoadHistoricFormats=Aktiviere historische Formate
cbWorkshopSyntax=Workshop Syntax Checker
cbEnforceDeckLegality=Deckkonformität
cbPerformanceMode=Performance Modus
cbFilteredHands=Alternative Starthand
cbImageFetcher=Lade automatisch fehlende Kartenbilder
cbCloneImgSource=Klone zeigen eigenes Kartenbild
cbScaleLarger=Skaliere Bilder größer
cbRenderBlackCardBorders=Zeige schwarzen Rand
cbLargeCardViewers=Nutze große Kartenansicht
cbSmallDeckViewer=Nutze kleine Kartenansicht
cbDisplayFoil=Zeige Foil-Overlay
cbRandomFoil=zufällige Foil-Karten
cbRandomArtInPools=zufällige Kartenbilder in erzeugten Kartensammlungen
cbEnableSounds=Ton aktiviert
cbEnableMusic=Musik aktiviert
cbAltSoundSystem=Nutze alternatives Sound-System
cbUiForTouchScreen=Verbessere Oberfläche für Touchscreens
cbTimedTargOverlay=Aktiviere Zielpfeiloptimierung
cbCompactMainMenu=Nutze kompakteres Seitenmenü
cbDetailedPaymentDesc=Spruchbeschreibung in Bestätigungsfenster
cbPromptFreeBlocks=Freies Block-Management
cbPauseWhileMinimized=Pausiere wenn minimiert
cbCompactPrompt=Kompaktes Bestätigungsfenster
cbEscapeEndsTurn=Nutze Escape für Zugende
cbPreselectPrevAbOrder=Nutze letzte Reihenfolge von Fähigkeiten
cbHideReminderText=Verstecke Erinnerungstext
cbOpenPacksIndiv=Öffne Packs einzeln
cbTokensInSeparateRow=Zeige Spielsteine in extra Reihe
cbStackCreatures=Staple Kreaturen
cbFilterLandsByColorId=Sortiere Länder nach Farben für aktivierte Fähigkeiten
cbShowStormCount=Zeige Sturmzähler im Bestätigungsfenster
cbRemindOnPriority=Optischer Alarm bei Erhalt der Priorität
cbUseSentry=Sende automatisch Fehlerberichte
cbpGameLogEntryType=Spielberichtsumfang
cbpCloseAction=Beenden
cbpDefaultFontSize=Standard Schriftgröße
cbpAiProfiles=KI Persönlichkeit
cbpDisplayCurrentCardColors=Zeige detailierte Kartenfarben
cbpAutoYieldMode=Automatische Bestätigung
cbpCounterDisplayType=Markeranzeige Art
cbpCounterDisplayLocation=Markeranzeige Ort
cbpGraveyardOrdering=Genaue Reihenfolge im Friedhof einhalten
Troubleshooting=Troubleshooting
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)
nlUseSentry=Aktiviere, um automatische Fehlerberichte an die Entwickler zu senden.
GamePlay=Spiel
nlpAiProfiles=Wähle die Spielweise deines KI-Gegners.
nlAnte=Entscheidet, ob um einen Einsatz (Ante) gespielt wird.
nlAnteMatchRarity=Versucht den Spieleinsatz für alle Spieler ungefähr gleich zu halten.
nlEnableAICheats=Erlaubt es der KI zu betrügen um Vorteile zu erlangen. Sofern die spezielle KI dies im Skript unterstützt.
nlManaBurn=Spiele mit Manabrand (wurde mit M10 aus den Regeln entfernt).
nlManaLostPrompt=Aktiviere, um vor Leerung des Manapools eine Warnung zu erhalten.
nlEnforceDeckLegality=Erzwingt eine Deck-Konformität zum gewählten Format (minimale Deckgröße, Anzahl pro Karte im Deck, usw.).
nlPerformanceMode=Schalten zusätzlich Prüfungen auf statische Fähigkeiten ab, um das Spiel zu beschleunigen. Warnung: Kann Probleme mit 'Aufblitzen' bei Karten von KI-Gegner verursachen!
nlFilteredHands=Erzeugt zwei Starthände, und behält die, welche am nächsten an der duchschnittlichen Länderanzahl im Deck ist. (Erfordert Neustart)
nlCloneImgSource=Zeige das originale Kartenbild des Klones statt der geklonten Karte.
nlPromptFreeBlocks=Wenn ein neuer Block nichts kosten würde, dann wird er automatisch bezahlt.
nlPauseWhileMinimized=Wenn aktiviert, pausiert Forge im minimierten Zustand (betrifft hauptsächlich KI gegen KI).
nlEscapeEndsTurn=Wenn aktiviert, funktioniert ESCape als Alternative um den Zug zu beenden.
nlDetailedPaymentDesc=Wenn aktiviert, werden deailierte Spruch-/Fähigkeitsbeschreibungen beim Auswählen von Zielen bzw. Bezahlen von Kosten angezeigt.
nlShowStormCount=Wenn aktiviert,wird ein Sturmzähler angezeigt.
nlRemindOnPriority=Wenn aktiviert, dann blinkt der Auswahlbereich des Spielers bei Erhalt der Priorität.
nlPreselectPrevAbOrder=Wenn aktiviert, wird die letzte genutze Reihenfolge von Fähigkeiten im Auswahlfenster vorbelegt.
nlpGraveyardOrdering=Entscheidet, wann auf die Reihenfolge, in welcher Karten auf den Friedhof wandern, geachtet wird. (Niemals, immer oder nur wenn bestimmte Karten es nötig machen.)
nlpAutoYieldMode=Definiert die Ebene der automatischen Bestätigung (pro Fähigkeit oder pro einzelner Karte).
RandomDeckGeneration=Zufällige Deck-Erstellung
nlRemoveSmall=Verhindert 1/1- und 0/X-Kreaturen in erzeugten Decks
nlSingletons=Verhindert Duplikate von Nicht-Landkarten in erzeugten Decks
nlRemoveArtifacts=Verhindert Artefakte in erzeugten Decks
nlCardBased=Erzeugt stimmigere zufällig erzeugte Decks (Erfordert Neustart)
DeckEditorOptions=Deck Editor Optionen
nlFilterLandsByColorId=Macht es einfacher die richtigen Länder zu finden, wenn Farbfilter genutzt werden.
AdvancedSettings=Erweiterte Optionen
nlDevMode=Ativiert ein Menü mit Funktionen, welche das Testen vereinfachen.
nlWorkshopSyntax=Aktiviert den Syntaxcheck für Kartenskripte im Workshop. Hinweis: Befindet sich noch in der Testphase!
nlGameLogEntryType=Steuert den Umfang der Daten in der Protokolldatei. Sortiert vom geringsten zum gröten Umfang.
nlCloseAction=Steuert was passiert, wenn X oben rechts gedückt wird.
nlLoadCardsLazily=Wenn aktiviert, lädt Forge Kartenscripte erst wenn sie benötigt werden, nicht bei Programmstart. Warnung: Experimental!!!
nlLoadHistoricFormats=Wenn aktiviert, lädt Forge auch ältere Spielformate. Verlängert den Programmstart.
GraphicOptions=Grafik Optionen
nlDefaultFontSize=Die Standardschriftgröße. Alle Schriftelemente werden werden relative zu dieser angepaßt. (Erfordert Neustart)
nlImageFetcher=Ermöglicht bei bestehender Onlineverbindung das automatisches Nachladen fehlender Kartenbilder.
nlDisplayFoil=Zeige FOIL-Karten mit einem optischen FOIL-Effekt.
nlRandomFoil=Zeige den FOIL-Effekt bei zufälligen Karten.
nlScaleLarger=Erlaubt Kartenbilder größer als ihre originale Größe zu zeigen.
nlRenderBlackCardBorders=Erzeuge einen schwarzen Rahmen um die Kartenbilder.
nlLargeCardViewers=Macht die Kartenansicht größer, zur besseren Nutzung bei hoher Bildschirmauflösung. Nicht für kleine Bildschirme!
nlSmallDeckViewer=Setzt die Kartenansicht auf 800x600 statt auf einen relativen Teil der Bildschirmgröße.
nlRandomArtInPools=Nimm zufällige Versionen von Kartenbildern beim Erzeugen von zufälligen Kartensammlungen.
nlUiForTouchScreen=Vergrößert einige Elemente der Benutzeroberfläche zu besseren Bedienug auf Touchscreen-Geräten. (Erfordert Neustart)
nlCompactPrompt=Entfernt Überschriften und nutzt kleinere Schriftgröße um Bedienfenster kompakter zu machen.
nlHideReminderText=Verstecke Erinnerungstext im Kartendetailfenster.
nlOpenPacksIndiv=Beim Öffnen von FatPacks und Boosterboxen werden Booster einzeln nacheinander geöffnet.
nlTokensInSeparateRow=Zeige Spielsteinein auf dem Spielfeld in einer separaten Reihe unter den Nicht-Spielsteinkreaturen.
nlStackCreatures=Stapelt identische Kreaturen auf dem Spielfeld, analog der Länder, Artefakte und Verzauberungen.
nlTimedTargOverlay=Aktiviert eine Optimierung des Zielpfeil-Overlays. Nur bei Problemen/Rucklern auf älteren System deaktivieren. Erfordert den Neustart von laufenden Spielen.
nlCounterDisplayType=Bestimmt im Spiel die Art der Anzeige von Markern auf Karten. Text-basiert zählt die Marker als Text auf. Bild-basiert zeigte die Marker als Punkte auf den Karten. Hybrid zeigt beides.
nlCounterDisplayLocation=Bestimmt die Position des Markertextes auf der Karte.
nlDisplayCurrentCardColors=Zeigt eine Übersicht der aktuellen Farbe der Karten im Kartendetailfenster.
SoundOptions=Sound Optionen
nlEnableSounds=Geräusche während des Spiels
nlEnableMusic=Hintergrundmusik während des Spiels
nlAltSoundSystem=Nutze alternatives Sound-System (nur nutzen, wenn es Probleme mit fehlenden Geräuschen gibt)
KeyboardShortcuts=Tastenkombinationen
# VSubmenuAchievements.java
Achievements=Erfolge
# VSubmenuDownloaders.java
btnDownloadSetPics=Bilder(LQ) Sets herunterladen
btnDownloadPics=Bilder(LQ) Karten herunterladen
btnDownloadQuestImages=Bilder für Quests herunterladen
btnDownloadAchievementImages=Bilder für Erfolge herunterladen
btnReportBug=Einen Fehler melden
btnListImageData=Prüfe Karten- und Bilddaten
lblListImageData=Prüfe auf von Forge nicht unterstütze Karten und fehlende Kartenbilder
btnImportPictures=Daten importieren
btnHowToPlay=Wie man spielt
btnDownloadPrices=Kartenpreise herunterladen
btnLicensing=Lizenzhinweis
lblDownloadPics=Lädt ein Standardbild pro Karte.
lblDownloadSetPics=Lädt alle Bilder pro Karte. Eines für jedes Set, in welchem die Karte auftauchte.
lblDownloadQuestImages=Lädt die Bilder für den Quest-Modus.
lblDownloadAchievementImages=Lädt die Bilder zu den möglichen Erfolgen. Verschönert die Trophäensammlung.
lblDownloadPrices=Lädt aktuelle Kartenpreise für den Kartenladen im Spiel.
lblYourVersionOfJavaIsTooOld=Deine Java-Version ist leider zu alt.
lblPleaseUpdateToTheLatestVersionOfJava=Bitte aktualisiere auf die neueste Java-Version.
lblYoureRunning=Du nutzt
lblYouNeedAtLeastJavaVersion=Du brauchst mindestens die Version 1.8.0_101.
lblImportPictures=Importiere Daten aus einem lokalen Verzeichnis.
lblReportBug=Etwas funktioniert nicht?
lblHowToPlay=Spielregeln
lblLicensing=Rechtliche Hinweise
ContentDownloaders=Inhalte herunterladen
ReleaseNotes=Versions Hinweis
# CSubmenuPreferences.java
CantChangeDevModeWhileNetworkMath=Umstellen des DEV_MODEs ist während eines Netzwerkspiles ist nicht möglich!
CompatibilityWarningsReEnabled=Kompatibilitätswarnungen reaktiviert!
AresetForgeSettingsToDefault=Dies wird alle Standardeinstellungen wiederherstellen und Forge neu starten.\n\nZurücksetzen und neu starten?
TresetForgeSettingsToDefault=Einstellungen zurücksetzen
AresetDeckEditorLayout=Dies wird das Deck-Editor-Layout zurücksetzen.\nAlle Reiter im Standard wiederhergestellt.\n\nLayout zurücksetzen?
TresetDeckEditorLayout=Deck-Editor-Layout zurücksetzen
OKresetDeckEditorLayout=Deck-Editor-Layout wurde zurückgesetzt.
AresetWorkshopLayout=Dies wird das Workshop-Layout zurücksetzen.\nAlle Reiter im Standard wiederhergestellt.\n\nLayout zurücksetzen?
TresetWorkshopLayout=Workshop-Layout zurücksetzen
OKresetWorkshopLayout=Workshop-Layout wurde zurückgesetzt.
AresetMatchScreenLayout=Dies wird das Spielfeldlayout zurücksetzen.\nFalls du vorher noch das derzeitige Layout speichern möchtest, nutze bitte Forge->Layout->File->Save Current Layout in einem laufenden Spiel.\n\nSpielfeldlayout zurücksetzen?
TresetMatchScreenLayout=Spielfeldlayout zurücksetzen
OKresetMatchScreenLayout=Spielfeldlayout wurde zurückgesetzt.
#EMenuGroup.java
lblSanctionedFormats=gültige Spielformate
lblOnlineMultiplayer=Mehrspieler (online)
lblQuestMode=Quest-Modus
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
#VSubmenuConstructed.java
lblConstructedMode=Constructed-Modus
lblConstructed=Constructed
#PlayerPanel.java
lblSelectaDeck=Wähle ein Deck
lblSelectaSchemeDeck=Wähle Komplottdeck
lblSchemeDeckEditor=Komplottdeck-Editor
lblSelectaCommanderDeck=Wähle Commanderdeck
lblSelectaPlanarDeck=Wähle Weltendeck
lblPlanarDeckEditor=Weltendeck-Editor
lblSelectaVanguardAvatar=Wähle Vanguard-Avatar
lblVanguardAvatar= Vanguard avatar
lblDeck=Deck
lblSchemeDeck=Komplottdeck
lblCommanderDeck=Commanderdeck
lblPlanarDeck=Weltendeck
lblVanguard=Vanguard
lblHuman=Mensch
lblAI=KI
lblOpen=Öffnen...
lblUseSimulation=Nutze Simulation
lblGetaNewRandomName=Zufälliger Name
lblArchenemy=Erzfeind
lblHeroes=Helden
lblRemove=Entferne
ttlblAvatar=L-Klick: Wähle Avatar. R-Klick: Zufälliger Avatar.
lblReady=Fertig
lblKick=Rauswerfen
lblReallyKick=%s wirklich rauswerfen?
#ForgeMenu.java
lblRestart=Neustart
lblExit=Beenden
#LayoutMenu.java
lblLayout=Layout
lblView=Anzeige
lblFile=Datei
lblTheme=Thema
lblBackgroundImage=Hintergrundbild
lblPanelTabs=Kartenreiter
lblSaveCurrentLayout=Sichere aktuelles Layout
lblRefresh=Aktualisieren
lblSetWindowSize=Setze Fenstergröße
lblChooseNewWindowSize=Wähle neue Fenstergröße
lblFullScreen=Vollbild
lblExitFullScreen=Vollbild verlassen
#HelpMenu.java
lblHelp=Hilfe
lblAboutForge=Über Forge
lblTroubleshooting=Fehlerbehebung
lblArticles=Artikel
lblGettingStarted=Starthilfe
lblHowtoPlay=Wie man spielt
lblForgeLicense=Forge Lizenzhinweis
lblReleaseNotes=Versionshinweise
#GameMenu.java
lblGame=Spiel
lblSoundEffects=Geräusche
lblUndo=Rückgängig
lblAlphaStrike=Alle angreifen
lblEndTurn=Zug beenden
lblTargetingArcs=Zielpfeile
lblOff=Aus
lblCardMouseOver=Bei Zeiger über Karte
lblAlwaysOn=Immer an
lblAutoYields=Automatische Bestätigung
lblDeckList=Deckliste
lblClose=Schließen
lblExitForge=Forge verlassen
#ConstructedGameMenu.java
lblSelectAvatarFor=Wähle Avatar für %s
lblRemoveSmallCreatures=Entferne 1/1- und 0/X-Kreaturen aus erzeugten Decks
lblRemoveArtifacts=Entferne Artefakte aus erzeugten Decks.
PreventNonLandDuplicates=Verhindere doppelte Nicht-Landkarten in erzeugten Decks.
#PlayerPanel.java
lblName=Name
lblTeam=Team
#InputConfirmMulligan.java
lblKeep=Behalten
lblYouAreGoingFirst=Du beginnst!
lblIsGoingFirst=beginnt.
lblYouAreGoing=Du startest
lblMulligan=Mulligan
lblDoYouWantToKeepYourHand=Starthand behalten?
lblOk=OK
lblReset=Zurück
lblAuto=Auto
#VAssignDamage.java
lbLAssignDamageDealtBy=Verteile Schaden verursacht von %s
lblLClickDamageMessage=Linksklick: Verteile 1 Schaden. (Linksklick + STRG): Verteile Schaden bis max. tödlich
lblRClickDamageMessage=Rechtsklick: 1 Schaden zurücknehmen. (Rechtsklick + STRG): Allen Schaden zurücknehmen.
lblTotalDamageText=Gesamtschaden: Unbekannt
lblAssignRemainingText=Verteile verbleibenden Schaden unter tödlich Verwundeten
lblLethal=Tödlich
#KeyboardShortcuts.java
lblSHORTCUT_SHOWSTACK=Duell: Zeige Stapelfenster
lblSHORTCUT_SHOWCOMBAT=Duell: Zeige Kampffenster
lblSHORTCUT_SHOWCONSOLE=Duell: Zeige Konsolenfenster
lblSHORTCUT_SHOWDEV=Duell: Zeige Entwicklerfenster
lblSHORTCUT_CONCEDE=Duell: Spiel aufgeben
lblSHORTCUT_ENDTURN=Duell: Priorität bis Zugende oder nächstem Ereignis abgeben
lblSHORTCUT_ALPHASTRIKE=Duell: Alpha Strike (Mit allem angreifen)
lblSHORTCUT_SHOWTARGETING=Duell: Zielpfeile umschalten
lblSHORTCUT_AUTOYIELD_ALWAYS_YES=Duel: Auto-Bestätigen von Fähigkeiten auf dem Stapel (immer Ja)
lblSHORTCUT_AUTOYIELD_ALWAYS_NO=Duel: Auto-Bestätigen von Fähigkeiten auf dem Stapel (immer Nein)
lblSHORTCUT_MACRO_RECORD=Duell: Aktion-Abfolge-Makro aufnehmen
lblSHORTCUT_MACRO_NEXT_ACTION=Duel: führe nächste Aktion im gespeicherten Makro aus
lblSHORTCUT_CARD_ZOOM=Duell: Zoome ausgewählte Karte
#VSubmenuDraft.java
lblBoosterDraft= Booster Draft
lblHeaderBoosterDraft=Sanctioned Format: Booster Draft
lblPlayAnOpponent=Play an opponent
lblPlayAll7opponents=Play all 7 opponents
lblBuildorselectadeck=Build or select a deck
lblDraftText1=In Draft mode, three booster packs are rotated around eight players.
lblDraftText2=Build a deck from the cards you choose. The AI will do the same.
lblDraftText3=Then, play against one or all of the AI opponents.
lblNewBoosterDraftGame=New Booster Draft Game
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
#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
#FDeckChooser.java
lblViewDeck=View Deck
lblRandomDeck=Random Deck
#GameType.java
lblSealed=Sealed
lblDraft=Draft
lblWinston=Winston
lblGauntlet=Gauntlet
lblTournament=Tournament
lblQuest=Quest
lblQuestDraft=QuestDraft
lblPlanarConquest=PlanarConquest
lblPuzzle=Puzzle
lblPuzzleDesc=Solve a puzzle from the given game state
lblDeckManager=
lblVanguardDesc=Each player has a special \"Avatar\" card that affects the game.
lblCommandesDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors.
lblTinyLeaders=Tiny Leaders
lblTinyLeadersDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. Each card must have CMC less than 4.
lblBrawl=Brawl
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.
lblPlaneswalker=Planeswalker
lblPlaneswalkerDesc=Each player has a Planeswalker card which can be cast at any time.
lblPlanechase=Planechase
lblPlanechaseDesc=Plane cards apply global effects. The Plane card changes when a player rolls \"Planeswalk\" on the planar die.
lblArchenemyDesc=One player is the Archenemy and fights the other players by playing Scheme cards.
lblArchenemyRumble=
lblArchenemyRumbleDesc=All players are Archenemies and can play Scheme cards.
lblMomirBasic=Momir Basic
lblMomirBasicDesc=Each player has a deck containing 60 basic lands and the Momir Vig avatar.
lblMoJhoSto=MoJhoSto
lblMoJhoStoDesc=Each player has a deck containing 60 basic lands and the Momir Vig, Jhoira of the Ghitu, and Stonehewer Giant avatars.

View File

@@ -16,6 +16,8 @@ btnResetJavaFutureCompatibilityWarnings = Reset Java Compatibility Warnings
btnClearImageCache = Clear Image Cache
btnTokenPreviewer = Token Previewer
btnCopyToClipboard= Copy to Clipboard
cbpSelectLanguage=Language
nlSelectLanguage=Select Language (Excluded Game part. Still a work in progress) (RESTART REQUIRED)
cbRemoveSmall = Remove Small Creatures
cbCardBased = Include Card-based Deck Generation
cbSingletons = Singleton Mode
@@ -143,6 +145,7 @@ btnDownloadQuestImages = Download Quest Images
btnDownloadAchievementImages = Download Achievement Images
btnReportBug =Report a Bug
btnListImageData =Audit Card and Image Data
lblListImageData = Audit cards not implemented by Forge and missing card images
btnImportPictures = Import Data
btnHowToPlay = How To Play
btnDownloadPrices = Download Card Prices
@@ -154,11 +157,10 @@ lblDownloadAchievementImages = Download achievement images to really make your t
lblDownloadPrices = Download up-to-date price list for in-game card shops.
lblYourVersionOfJavaIsTooOld = Your version of Java is too old to use the content downloaders.
lblPleaseUpdateToTheLatestVersionOfJava = Please update to the latest version of Java
lblYoureRunning = You're running
lblYoureRunning = You're running
lblYouNeedAtLeastJavaVersion = You need at least version 1.8.0_101.
lblImportPictures = Import data from a local directory.
lblReportBug = Something broken?
lblListImageData = Audit cards not implemented by Forge and missing card images
lblHowToPlay = Rules of the Game.
lblLicensing = Forge legal.
ContentDownloaders = Content Downloaders
@@ -184,6 +186,15 @@ lblQuestMode = Quest Mode
lblPuzzleMode = Puzzle Mode
lblGauntlets = Gauntlets
lblGameSettings = Game Settings
#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
#VSubmenuConstructed.java
lblConstructedMode = Constructed Mode
lblConstructed = Constructed
@@ -195,6 +206,7 @@ lblSelectaCommanderDeck=Select a Commander deck
lblSelectaPlanarDeck = Select a planar deck
lblPlanarDeckEditor = Planar Deck Editor
lblSelectaVanguardAvatar = Select a Vanguard avatar
lblVanguardAvatar = Vanguard avatar
lblDeck=Deck
lblSchemeDeck=Scheme Deck
lblCommanderDeck= Commander Deck
@@ -205,7 +217,7 @@ lblAI=AI
lblOpen=Open
lblUseSimulation=Use Simulation
lblGetaNewRandomName=Get a new random name
lblArchenemy=Archenemy
lblArchenemy=Archenemy
lblHeroes=Heroes
lblRemove=Remove
ttlblAvatar=L-click: Select avatar. R-click: Randomize avatar.
@@ -289,4 +301,60 @@ 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_CARD_ZOOM=Match: zoom the currently selected card
#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
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
#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
#FDeckChooser.java
lblViewDeck=View Deck
lblRandomDeck=Random Deck
#GameType.java
lblSealed=Sealed
lblDraft=Draft
lblWinston=Winston
lblGauntlet=Gauntlet
lblTournament=Tournament
lblQuest=Quest
lblQuestDraft=QuestDraft
lblPlanarConquest=PlanarConquest
lblPuzzle=Puzzle
lblPuzzleDesc=Solve a puzzle from the given game state
lblDeckManager=
lblVanguardDesc=Each player has a special \"Avatar\" card that affects the game.
lblCommandesDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors.
lblTinyLeaders=Tiny Leaders
lblTinyLeadersDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. Each card must have CMC less than 4.
lblBrawl=Brawl
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.
lblPlaneswalker=Planeswalker
lblPlaneswalkerDesc=Each player has a Planeswalker card which can be cast at any time.
lblPlanechase =Planechase
lblPlanechaseDesc=Plane cards apply global effects. The Plane card changes when a player rolls \"Planeswalk\" on the planar die.
lblArchenemyDesc=One player is the Archenemy and fights the other players by playing Scheme cards.
lblArchenemyRumble=
lblArchenemyRumbleDesc=All players are Archenemies and can play Scheme cards.
lblMomirBasic=Momir Basic
lblMomirBasicDesc=Each player has a deck containing 60 basic lands and the Momir Vig avatar.
lblMoJhoSto=MoJhoSto
lblMoJhoStoDesc=Each player has a deck containing 60 basic lands and the Momir Vig, Jhoira of the Ghitu, and Stonehewer Giant avatars.

View File

@@ -0,0 +1,360 @@
language.name=Spanish (ES)
#SplashScreen.java
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...
#VSubmenuPreferences.java
Preferences=Preferencias
btnReset=Restablecer la configuración predeterminada
btnDeleteMatchUI=Restablecer diseño de la pantalla de Juego
btnDeleteEditorUI=Restablecer diseño de la pantalla del Editor
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)
cbRemoveSmall=Eliminar Pequeñas Criaturas
cbCardBased=Incluye la generación de mazo basado en tarjeta
cbSingletons=Mode Singleton
cbRemoveArtifacts=Quitar artefactos
cbAnte=Jugar con apuesta (Ante)
cbAnteMatchRarity=Igualar rareza en apuesta (Ante)
cbEnableAICheats=Permitir engaños de la IA
cbManaBurn=Quemadura de maná
cbManaLostPrompt=Avisar antes de vaciar el maná en la reserva al pasar la fase
cbDevMode=Modo Desarrollador
cbLoadCardsLazily=Cargar Scripts de Cartas modo perezoso
cbLoadHistoricFormats=Cargar Formatos Históricos
cbWorkshopSyntax=Verificador de sintaxis del Taller
cbEnforceDeckLegality=Conformidad del Mazo
cbPerformanceMode=Modo de desempeño
cbFilteredHands=Manos filtradas
cbImageFetcher=Descargar automáticamente el arte de la carta si no existe
cbCloneImgSource=Clones usan el arte original de la carta
cbScaleLarger=Imagen de escala más grande
cbRenderBlackCardBorders=Renderizar bordes de cartas negras
cbLargeCardViewers=Usar visores de cartas grandes
cbSmallDeckViewer=Usar el visor de mazos pequeño
cbDisplayFoil=Mostrar Foil (efecto sobreexpuesto)
cbRandomFoil=Foil Aleatorio
cbRandomArtInPools=Aleatorizar Arte de la Carta en los pools que se generen
cbEnableSounds=Activar sonidos
cbEnableMusic=Activar música
cbAltSoundSystem=Utilizar el sistema de sonido alternativo
cbUiForTouchScreen=Mejorar la interfaz de usuario para pantallas táctiles
cbTimedTargOverlay=Habilitar optimización de superposición de capas
cbCompactMainMenu=Usar el menú de la barra lateral principal compacta
cbDetailedPaymentDesc=Descripción del hechizo en el aviso del pago
cbPromptFreeBlocks=Manejar bloqueos en el combate sí no requieren coste
cbPauseWhileMinimized=Pausa mientras minimizado
cbCompactPrompt=Ventana de aviso compacta
cbEscapeEndsTurn=Use la tecla Escape para Fin del Turno
cbPreselectPrevAbOrder=Preseleccionar el último orden de habilidades
cbHideReminderText=Ocultar texto de recordatorio
cbOpenPacksIndiv=Abrir packs individualmente
cbTokensInSeparateRow=Mostrar fichas en una fila separada
cbStackCreatures=Apilar Criaturas
cbFilterLandsByColorId=Filtrar tierras por color en habilidades activadas
cbShowStormCount=Mostrar el contador de tormenta (Storm) en el panel de aviso
cbRemindOnPriority=Alerta visual al recibir la prioridad
cbUseSentry=Enviar automáticamente informes de errores.
cbpGameLogEntryType=Verbosidad del registro del juego
cbpCloseAction=Acción al cerrar
cbpDefaultFontSize=Tamaño de fuente predeterminado
cbpAiProfiles=Personalidad de la IA
cbpDisplayCurrentCardColors=Mostrar color detallado de la carta
cbpAutoYieldMode=Auto-Ceder
cbpCounterDisplayType=Forma en la que se muestran los contadores
cbpCounterDisplayLocation=Ubicación del contador
cbpGraveyardOrdering=Permitir ordenar cartas puestas en el cementerio
Troubleshooting=Solución de problemas
GeneralConfiguration=Configuración general
nlPlayerName=Establece el nombre al que te referirá Forge durante el juego.
nlCompactMainMenu=Habilitar para una barra lateral eficiente en espacio que muestre solo un grupo de menús a la vez (REQUIERE REINICIAR).
nlUseSentry=Cuando está habilitado, envía automáticamente informes de errores a los desarrolladores.
GamePlay=Juego
nlpAiProfiles=Elige tu oponente de la IA
nlAnte=Determina si el juego se juega con apuesta o no.
nlAnteMatchRarity=Intenta crear apuesta de la misma rareza para todos los jugadores.
nlEnableAICheats=Permita que la IA haga trampa para obtener ventaja (para personalidades que tienen configuradas trampas al barajar).
nlManaBurn=Jugar con quemadura de maná (reglas previas a Magic 2010).
nlManaLostPrompt=Cuando está habilitado, recibes una advertencia si la prioridad de pase te haría perder maná en tu reserva de maná.
nlEnforceDeckLegality=Aplica la legalidad del mazo correspondiente a cada entorno (tamaño mínimo de mazo, número máximo de cartas, etc.).
nlPerformanceMode=Desactiva las comprobaciones de habilidades estáticas adicionales para acelerar el motor del juego. (Advertencia: rompe algunos escenarios 'como si tuviera flash' cuando se lanzan cartas de propiedad de los oponentes).
nlFilteredHands=Genera dos manos iniciales y mantiene la que tiene el recuento de tierras más cercano al promedio del mazo (Requiere reinicio)
nlCloneImgSource=Cuando se habilite, los clones usarán su arte original en lugar del arte de la carta clonada.
nlPromptFreeBlocks=Cuando esté habilitado, si tuviera que pagar 0 para bloquear, pague automáticamente sin aviso.
nlPauseWhileMinimized=Cuando está habilitado, Forge hace una pausa cuando está minimizado (principalmente para AI contra AI).
nlEscapeEndsTurn=Cuando está habilitada, la tecla Escape funciona como un atajo alternativo para finalizar el turno actual.
nlDetailedPaymentDesc=Cuando está habilitado, se muestran descripciones detalladas de hechizos / habilidades al elegir objetivos y pagar costos.
nlShowStormCount=Cuando está habilitado, muestra el recuento de tormentas actual en el panel de solicitud.
nlRemindOnPriority=Cuando está habilitado, parpadea el área de elección del jugador al recibir prioridad.
nlPreselectPrevAbOrder=Cuando está habilitado, preselecciona el último orden de habilidad simultáneo definido en el cuadro de diálogo de ordenación.
nlpGraveyardOrdering=Determina cuándo dejar que el jugador elija el orden de las cartas colocadas simultáneamente en el cementerio (nunca, siempre, o solo cuando juega con las cartas que le interesan, por ejemplo, Volrath's Shapeshifter)
nlpAutoYieldMode=Define el nivel de granularidad de la opción auto-ceder (por habilidad única o por carta única).
RandomDeckGeneration=Generación aleatoria de mazo
nlRemoveSmall=Deshabilita las criaturas 1/1 y 0 / X en los mazos generados.
nlSingletons=Deshabillita duplicados de no tierras en mazos generados
nlRemoveArtifacts=Deshabilita las cartas de artefactos en los mazos generados.
nlCardBased=Crea mazos aleatorios más sinérgicos (requiere reinicio)
DeckEditorOptions=Opciones del editor de mazo
nlFilterLandsByColorId=Al usar filtros de color de cartas, filtre las tierras de manera que sea más fácil encontrar tierras que produzcan ese color de maná.
AdvancedSettings=Ajustes avanzados
nlDevMode=Habilita el menú con funciones para probar durante el desarrollo.
nlWorkshopSyntax=Habilita la comprobación de sintaxis de los guiones de tarjetas en el taller. Nota: funcionalidad aún en fase de prueba!
nlGameLogEntryType=Cambia la cantidad de información que se muestra en el registro del juego. Ordenado de menos a más detallado.
nlCloseAction=Cambia lo que sucede al hacer clic en el botón X en la parte superior derecha.
nlLoadCardsLazily=Si está activado, Forge cargará los scripts de las cartas según sea necesario en lugar de al inicio. (Advertencia: Experimental)
nlLoadHistoricFormats=Si está activado, Forge cargará todas los formatos históricos, esto puede demorar un poco más en cargarse en el inicio.
GraphicOptions=Opciones gráficas
nlDefaultFontSize=El tamaño de fuente predeterminado dentro de la interfaz de usuario. Todos los elementos de fuente se escalan en relación a esto. (Necesita reinicio)
nlImageFetcher=Permite la descarga instantánea de imágenes de cartas faltantes.
nlDisplayFoil=Mostrar cartas foil con un capa que da efecto foil sobre la carta
nlRandomFoil=Agrega efecto de foil a cartas aleatorias.
nlScaleLarger=Permite que las imágenes de las cartas se amplíen más que su tamaño original.
nlRenderBlackCardBorders=Hacer bordes negros alrededor de las imágenes de las cartas.
nlLargeCardViewers=Hace que todos los visores de cartas en el programa sean mucho más grandes para usar con imágenes de alta resolución. No cabrá en pantallas más pequeñas.
nlSmallDeckViewer=Establece la ventana del visor de mazo para que sea de 800x600 en lugar de una proporción del tamaño de la pantalla.
nlRandomArtInPools=Genera cartas con arte al azar en pools generados de cartas de modo limitado.
nlUiForTouchScreen=Aumenta algunos elementos de la interfaz de usuario para proporcionar una mejor experiencia en dispositivos de pantalla táctil. (Necesita reinicio)
nlCompactPrompt=Oculte el encabezado y use una fuente más pequeña en el panel de solicitud para hacerlo más compacto.
nlHideReminderText=Ocultar el texto del recordatorio en el panel de Detalle de la Carta
nlOpenPacksIndiv=Al abrir packs de cartas (Fat Packs) y cajas de sobres, los sobres se abrirán y se mostrarán de uno en uno.
nlTokensInSeparateRow=Muestra las fichas en una fila separada en el campo de batalla debajo de las criaturas que no son fichas.
nlStackCreatures=Apila criaturas idénticas en el campo de batalla, como tierras, artefactos y encantamientos.
nlTimedTargOverlay=Habilita la optimización basada en la regulación de la superposición de objetivos para reducir el uso de la CPU (solo desactívela si experimenta interferencias en el hardware más antiguo, es necesario iniciar de nuevo el juego).
nlCounterDisplayType=Selecciona el estilo en el que se mostrarán los contadores en las cartas. En texto, en imagen o híbrido (muestra ambos a la vez).
nlCounterDisplayLocation=Determina dónde colocar los contadores basados en texto en la carta: cerca de la parte superior o cerca de la parte inferior.
nlDisplayCurrentCardColors=Muestra el color actual de las cartas en el panel de información detallada de la tarjeta.
SoundOptions=Opciones de Sonido
nlEnableSounds=Habilitar efectos de sonido durante el juego
nlEnableMusic=Habilitar música de fondo durante el juego
nlAltSoundSystem=Use el sistema de sonido alternativo (solo use si tiene problemas con el sonido que no se reproduce o desaparece)
KeyboardShortcuts=Atajos de teclado
# VSubmenuAchievements.java
Achievements=Logros
# VSubmenuDownloaders.java
btnDownloadSetPics=Descargar todos los Sets de Cartas
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
btnImportPictures=Importar Datos
btnHowToPlay=Cómo jugar (Inglés)
btnDownloadPrices=Descargar los precios de las cartas
btnLicensing=Detalles de la licencia
lblDownloadPics=Descargar la imagen de la carta por defecto para cada carta.
lblDownloadSetPics=Descargue todas las imágenes de cada carta (una por cada set donde apareció la carta)
lblDownloadQuestImages=Descarga fichas e íconos utilizados en el modo Quest.
lblDownloadAchievementImages=Descarga imágenes de logros para que tus trofeos realmente destaquen.
lblDownloadPrices=Descargue la lista de precios actualizada para las tiendas de cartas del juego.
lblYourVersionOfJavaIsTooOld=Su versión de Java es demasiado antigua para usar los descargadores de contenido.
lblPleaseUpdateToTheLatestVersionOfJava=Por favor, actualice a la última versión de Java
lblYoureRunning=Estas corriendo
lblYouNeedAtLeastJavaVersion=Necesitas al menos la versión 1.8.0_101.
lblImportPictures=Importar datos desde un directorio local.
lblReportBug=¿Algo roto?
lblHowToPlay=Reglas del juego.
lblLicensing=Forge Aviso Legal.
ContentDownloaders=Descargadores de contenido
ReleaseNotes=Notas de la Versión
# CSubmenuPreferences.java
CantChangeDevModeWhileNetworkMath=¡No se puede cambiar a Modo Desarrollador mientras se está realizando una partida en red!
CompatibilityWarningsReEnabled=¡Advertencias de compatibilidad re-habilitadas!
AresetForgeSettingsToDefault=Esto reseteará todas las preferencias a sus valores predeterminados y reiniciará Forge.\n\ n¿Resetear y reiniciar Forge?
TresetForgeSettingsToDefault=Ajustes del Reset
AresetDeckEditorLayout=Esto restablecerá el diseño de la pantalla del Editor de Mazos.\nTodas las vistas con pestañas se restaurarán a sus posiciones predeterminadas.\n\n ¿Restablecer diseño?
TresetDeckEditorLayout=Restablecer diseño del Editor de Mazos
OKresetDeckEditorLayout=El diseño del Editor se ha reestablecido correctamente
AresetWorkshopLayout=Esto restablecerá el diseño del Taller.\nTodas las vistas con pestañas se restaurarán a sus posiciones predeterminadas. \n\n ¿Restablecer diseño?
TresetWorkshopLayout=Restablecer diseño del Taller.
OKresetWorkshopLayout=El diseño del Taller se ha restablecido.
AresetMatchScreenLayout=Esto restablecerá el diseño de la pantalla de Juego.\n Si desea guardar primero el diseño actual, use la pestaña Dock -> Guardar opción de diseño en la pantalla de Juego\n \n ¿Restablecer diseño?
TresetMatchScreenLayout=Restablecer diseño de pantalla de Juego
OKresetMatchScreenLayout=El diseño de la pantalla de Juego se ha restablecido.
#EMenuGroup.java
lblSanctionedFormats=Formatos Sancionados
lblOnlineMultiplayer=Multijugador en linea
lblQuestMode=Modo Aventura
lblPuzzleMode=Modo Puzzle
lblGauntlets=Desafíos
lblGameSettings=Configuración
#VLobby.java
lblHeaderConstructedMode=Formato Sancionado: Construido
lblGetNewRandomName=Obtener nuevo nombre aleatorio
lbltypeofName=Qué tipo de nombre quieres generar?
lblconfirmName=Quieres usar el nombre de %n, o probar de nuevo?
lblUseThisName=Usar este nombre
lblTryAgain=Probar de nuevo
lblAddAPlayer=Añadir Jugador
lblVariants=Variantes
#VSubmenuConstructed.java
lblConstructedMode=Modo Construido
lblConstructed=Construido
#PlayerPanel.java
lblSelectaDeck=Selecciona un mazo
lblSelectaSchemeDeck=Selecciona un Mazo de Fenómenos (Scheme)
lblSchemeDeckEditor=Editor de Mazo de Escenario (Scheme)
lblSelectaCommanderDeck=Selecciona un Mazo Commander
lblSelectaPlanarDeck=Selecciona un Mazo Planar
lblPlanarDeckEditor=Editor de Mazos Planar
lblSelectaVanguardAvatar=Selecciona un avatar para Vanguard
lblVanguardAvatar=avatar Vanguard
lblDeck=Mazo
lblSchemeDeck=Mazo de Escenario (Scheme)
lblCommanderDeck=Mazo Commander
lblPlanarDeck=Mazo Planar
lblVanguard=Vanguard
lblHuman=Humano
lblAI=IA
lblOpen=Abierto
lblUseSimulation=Usar Simulación
lblGetaNewRandomName=Obtener un nuevo nombre al azar
lblArchenemy=Archienemigo
lblHeroes=Heroes
lblRemove=Quitar
ttlblAvatar=L-click: Seleccionar avatar. R-clic: aleatorizar avatar.
lblReady=Listo
lblKick=Quitar
lblReallyKick=Quitar a %s?
#ForgeMenu.java
lblRestart=Reiniciar
lblExit=Salir
#LayoutMenu.java
lblLayout=Diseño
lblView=Ver
lblFile=Archivo
lblTheme=Tema
lblBackgroundImage=Imagen de fondo
lblPanelTabs=Pestañas de los Paneles
lblSaveCurrentLayout=Guardar el diseño actual
lblRefresh=Refrescar
lblSetWindowSize=Establecer tamaño de ventana
lblChooseNewWindowSize=Elija nuevo tamaño de ventana
lblFullScreen=Pantalla completa
lblExitFullScreen=Salir de pantalla completa
#HelpMenu.java
lblHelp=Ayuda
lblAboutForge=Sobre Forge
lblTroubleshooting=Solución de problemas
lblArticles=Artículos (Inglés)
lblGettingStarted=Empezando (Inglés)
lblHowtoPlay=Cómo jugar (Inglés)
lblForgeLicense=Licencia de Forge
lblReleaseNotes=Notas de la Versión
#GameMenu.java
lblGame=Juego
lblSoundEffects=Efectos de Sonido
lblUndo=Deshacer
lblAlphaStrike=Atacar con Todo
lblEndTurn=Finalizar Turno
lblTargetingArcs=Flechas Objetivo
lblOff=Desactivado
lblCardMouseOver=Cuando sea señalada por el ratón
lblAlwaysOn=Siempre Activado
lblAutoYields=Auto-Ceder
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.
#PlayerPanel.java
lblName=Nombre
lblTeam=Equipo
#InputConfirmMulligan.java
lblKeep=Mantener
lblYouAreGoingFirst=tu vas primero!
lblIsGoingFirst=va primero
lblYouAreGoing=vas
lblMulligan=Mulligan
lblDoYouWantToKeepYourHand=¿Quieres quedarte tu mano?
lblOk=Ok
lblReset=Reset
lblAuto=Auto
#VAssignDamage.java
lbLAssignDamageDealtBy=Asignar daño hecho por %s
lblLClickDamageMessage=Clic izquierdo: Asigna 1 daño. (Clic izquierdo + Control): Asigna el daño restante a letal
lblRClickDamageMessage=Clic derecho: Desasignar 1 daño. (Clic derecho + Control): Desasignar todo el daño.
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
#VSubmenuDraft.java
lblBoosterDraft=Booster Draft
lblHeaderBoosterDraft=Formato sancionado: Booster Draft
lblPlayAnOpponent=Jugar contra un oponente
lblPlayAll7opponents=Juega contra los 7 oponentes
lblBuildorselectadeck=Construye o selecciona un mazo
lblDraftText1=En el modo Draft, tres sobres de cartas giran alrededor de ocho jugadores.
lblDraftText2=Construye un mazo a partir de las cartas que elijas. La IA hará lo mismo.
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
#VSubmenuSealed.java
lblSealedDeck=Mazo Sellado
lblSealedDecks=Mazos de Sellado
lblHeaderSealed=Formato Sancionado: Mazo Sellado
lblSealedText1=Selecciona un juego o crea uno nuevo
lblSealedText2=En modo sellado, construyes un mazo con sobres (máximo 10).
lblSealedText3=Construye un mazo con las cartas que recibas. Un número de oponentes de la IA hará lo mismo.
lblSealedText4=Luego, juega contra uno o todos los oponentes de la IA.
btnBuildNewSealedDeck=Nuevo Mazo Sellado
#FDeckChooser.java
lblViewDeck=Ver Mazo
lblRandomDeck=Mazo Aleatorio
#GameType.java
lblSealed=Sellado
lblDraft=Draft
lblWinston=Winston
lblGauntlet=Desafío
lblTournament=Torneo
lblQuest=Aventura
lblQuestDraft=Draft Aventura
lblPlanarConquest=Conquista Planar
lblPuzzle=Puzzle
lblPuzzleDesc=Resuelve un puzzle del estado del juego dado.
lblDeckManager=Gestor de Mazos
lblVanguardDesc=Cada jugador tiene una carta especial de "Avatar" que afecta el juego.
lblCommandesDesc=
lblTinyLeaders=Tiny Leaders
lblTinyLeadersDesc=Cada jugador tiene una carta legendaria "Comandante" que se puede lanzar en cualquier momento y determina los colores de la baraja. Cada carta debe tener CMC menos de 4.
lblBrawl=Brawl
lblBrawlDesc=Cada jugador tiene una carta legendaria "Comandante" que se puede lanzar en cualquier momento y determina los colores de la baraja. Solo se pueden usar cartas legales en estándar.
lblPlaneswalker=Caminante de Planos
lblPlaneswalkerDesc=Cada jugador tiene una carta de Planeswalker que se puede lanzar en cualquier momento.
lblPlanechase=Planechase
lblPlanechaseDesc=Las cartas de plano aplican efectos globales. La carta de Plano cambia cuando un jugador tira "Planeswalk" en el dado planar.
lblArchenemyDesc=Un jugador es el Archienemigo y lucha contra los otros jugadores jugando cartas de Fenómenos.
lblArchenemyRumble=Archenemy Rumble
lblArchenemyRumbleDesc=Todos los jugadores son Archienemigos y pueden jugar cartas de Fenómenos.
lblMomirBasic=Momir Basic
lblMomirBasicDesc=Each player has a deck containing 60 basic lands and the Momir Vig avatar.
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 avatar

View File

@@ -18,7 +18,6 @@
package forge.match.input;
import java.util.List;
import forge.game.Game;
import forge.game.card.Card;
import forge.game.card.CardCollection;
@@ -29,8 +28,8 @@ import forge.game.zone.ZoneType;
import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.Lang;
import forge.util.Localizer;
import forge.util.ThreadUtil;
import forge.util.Localizer;
/**
* <p>
@@ -68,7 +67,7 @@ public class InputConfirmMulligan extends InputSyncronizedBase {
}
else {
sb.append(startingPlayer.getName()).append(" " + localizer.getMessage("lblIsGoingFirst") +".\n");
sb.append(player).append(", "+ localizer.getMessage("lblYouAreGoing") +"").append(Lang.getOrdinal(game.getPosition(player, startingPlayer))).append(".\n\n");
sb.append(player).append(", "+ localizer.getMessage("lblYouAreGoing") + " ").append(Lang.getOrdinal(game.getPosition(player, startingPlayer))).append(".\n\n");
}
getController().getGui().updateButtons(getOwner(), localizer.getMessage("lblKeep"), localizer.getMessage("lblMulligan"), true, true, true);