mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Merge branch 'master' into 'master'
Moving hard-coded text to res files See merge request core-developers/forge!1632
This commit is contained in:
@@ -2,6 +2,7 @@ package forge.screens.home.puzzle;
|
||||
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.util.Localizer;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
@@ -12,7 +13,8 @@ public class PuzzleGameMenu {
|
||||
private static ForgePreferences prefs = FModel.getPreferences();
|
||||
|
||||
public static JMenu getMenu() {
|
||||
JMenu menu = new JMenu("Puzzle");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenu menu = new JMenu(localizer.getMessage("lblPuzzle"));
|
||||
menu.setMnemonic(KeyEvent.VK_G);
|
||||
return menu;
|
||||
}
|
||||
|
||||
@@ -22,10 +22,9 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
|
||||
/** */
|
||||
SINGLETON_INSTANCE;
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
|
||||
// Fields used with interface IVDoc
|
||||
private DragCell parentCell;
|
||||
private final DragTab tab = new DragTab("Quest Challenges");
|
||||
private final DragTab tab = new DragTab(localizer.getMessage("lblQuestChallenges"));
|
||||
|
||||
//========== INSTANTIATION
|
||||
private final JPanel pnlStats = new JPanel();
|
||||
@@ -36,11 +35,11 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
|
||||
|
||||
private final StartButton btnStart = new StartButton();
|
||||
private final FComboBoxWrapper<String> cbxPet = new FComboBoxWrapper<String>();
|
||||
private final FCheckBox cbPlant = new FCheckBox("Summon Plant");
|
||||
private final FCheckBox cbPlant = new FCheckBox(localizer.getMessage("cbSummonPlant"));
|
||||
|
||||
private final FComboBoxWrapper<String> cbxMatchLength = new FComboBoxWrapper<String>();
|
||||
|
||||
private final FLabel lblZep = new FLabel.Builder().text("<html>Launch<br>Zeppelin</html>")
|
||||
private final FLabel lblZep = new FLabel.Builder().text(localizer.getMessage("htmlLaunchZeppelin"))
|
||||
.hoverable(true).icon(FSkin.getIcon(FSkinProp.ICO_QUEST_ZEP))
|
||||
.fontSize(16).build();
|
||||
private final FLabel lblWorld = new FLabel.Builder()
|
||||
@@ -61,24 +60,24 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
|
||||
private final FLabel lblWinStreak = new FLabel.Builder()
|
||||
.icon(FSkin.getIcon(FSkinProp.ICO_QUEST_PLUSPLUS))
|
||||
.fontSize(15).build();
|
||||
private final LblHeader lblTitle = new LblHeader("Quest Mode: Challenges");
|
||||
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblQuestModeChallenges"));
|
||||
|
||||
private final FLabel lblInfo = new FLabel.Builder().text("Which challenge will you attempt?")
|
||||
private final FLabel lblInfo = new FLabel.Builder().text(localizer.getMessage("lblWhichChallenge"))
|
||||
.fontStyle(Font.BOLD).fontSize(16)
|
||||
.fontAlign(SwingConstants.LEFT).build();
|
||||
|
||||
private final FLabel lblCurrentDeck = new FLabel.Builder()
|
||||
.text("Current deck hasn't been set yet.")
|
||||
.text(localizer.getMessage("lblNoDuelDeck"))
|
||||
.fontSize(12).build();
|
||||
|
||||
private final FLabel lblNextChallengeInWins = new FLabel.Builder()
|
||||
.text("Next challenge in wins hasn't been set yet.")
|
||||
.text(localizer.getMessage("lblNextChallengeNotYet"))
|
||||
.fontSize(12).build();
|
||||
|
||||
private final FLabel btnUnlock = new FLabel.ButtonBuilder().text("Unlock Sets").fontSize(16).build();
|
||||
private final FLabel btnTravel = new FLabel.ButtonBuilder().text("Travel").fontSize(16).build();
|
||||
private final FLabel btnBazaar = new FLabel.ButtonBuilder().text("Bazaar").fontSize(16).build();
|
||||
private final FLabel btnSpellShop = new FLabel.ButtonBuilder().text("Spell Shop").fontSize(16).build();
|
||||
private final FLabel btnUnlock = new FLabel.ButtonBuilder().text(localizer.getMessage("btnUnlockSets")).fontSize(16).build();
|
||||
private final FLabel btnTravel = new FLabel.ButtonBuilder().text(localizer.getMessage("btnTravel")).fontSize(16).build();
|
||||
private final FLabel btnBazaar = new FLabel.ButtonBuilder().text(localizer.getMessage("btnBazaar")).fontSize(16).build();
|
||||
private final FLabel btnSpellShop = new FLabel.ButtonBuilder().text(localizer.getMessage("btnSpellShop")).fontSize(16).build();
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
@@ -116,7 +115,7 @@ public enum VSubmenuChallenges implements IVSubmenu<CSubmenuChallenges>, IVQuest
|
||||
*/
|
||||
@Override
|
||||
public String getMenuTitle() {
|
||||
return "Challenges";
|
||||
return localizer.getMessage("lblChallenges");
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
||||
@@ -110,7 +110,7 @@ public enum VSubmenuDuels implements IVSubmenu<CSubmenuDuels>, IVQuestStats {
|
||||
*/
|
||||
@Override
|
||||
public String getMenuTitle() {
|
||||
return "Duels";
|
||||
return localizer.getMessage("lblDuels");
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
||||
@@ -14,6 +14,7 @@ import forge.screens.home.VHomeUI;
|
||||
import forge.screens.home.VHomeUI.PnlDisplay;
|
||||
import forge.toolbox.FLabel;
|
||||
import forge.toolbox.FSkin;
|
||||
import forge.util.Localizer;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -30,39 +31,41 @@ public enum VSubmenuQuestDecks implements IVSubmenu<CSubmenuQuestDecks> {
|
||||
/** */
|
||||
SINGLETON_INSTANCE;
|
||||
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
|
||||
// Fields used with interface IVDoc
|
||||
private DragCell parentCell;
|
||||
private final DragTab tab = new DragTab("Quest Decks");
|
||||
private final DragTab tab = new DragTab(localizer.getMessage("lblQuestDecks"));
|
||||
|
||||
/** */
|
||||
private final LblHeader lblTitle = new LblHeader("Quest Decks");
|
||||
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblQuestDecks"));
|
||||
|
||||
private final DeckManager lstDecks = new DeckManager(GameType.Quest, CDeckEditorUI.SINGLETON_INSTANCE.getCDetailPicture());
|
||||
|
||||
private final FLabel lblInfo = new FLabel.Builder()
|
||||
.fontAlign(SwingConstants.LEFT).fontSize(16).fontStyle(Font.BOLD)
|
||||
.text("Build or select a deck").build();
|
||||
.text(localizer.getMessage("lblBuildorselectadeck")).build();
|
||||
|
||||
private final FLabel lblDir1 = new FLabel.Builder()
|
||||
.text("In Quest mode, you build a deck from a limited inventory.")
|
||||
.text(localizer.getMessage("lblQuestDesc1"))
|
||||
.fontSize(12).build();
|
||||
|
||||
private final FLabel lblDir2 = new FLabel.Builder()
|
||||
.text("Build and enhance decks from the cards in your quest inventory as it grows.")
|
||||
.text(localizer.getMessage("lblQuestDesc2"))
|
||||
.fontSize(12).build();
|
||||
|
||||
private final FLabel lblDir3 = new FLabel.Builder()
|
||||
.text("Then, switch to the Duels or Challenges submenu to play against AI opponents and unlock more cards.")
|
||||
.text(localizer.getMessage("lblQuestDesc3"))
|
||||
.fontSize(12).build();
|
||||
|
||||
private final FLabel btnNewDeck = new FLabel.ButtonBuilder().text("Build a New Deck").fontSize(16).build();
|
||||
private final FLabel btnNewDeck = new FLabel.ButtonBuilder().text(localizer.getMessage("lblBuildaNewDeck")).fontSize(16).build();
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
VSubmenuQuestDecks() {
|
||||
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
|
||||
lstDecks.setCaption("Quest Decks");
|
||||
lstDecks.setCaption(localizer.getMessage("lblQuestDecks"));
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
@@ -100,7 +103,7 @@ public enum VSubmenuQuestDecks implements IVSubmenu<CSubmenuQuestDecks> {
|
||||
*/
|
||||
@Override
|
||||
public String getMenuTitle() {
|
||||
return "Quest Decks";
|
||||
return localizer.getMessage("lblQuestDecks");
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
||||
@@ -29,7 +29,7 @@ import forge.toolbox.FSkin.SkinColor;
|
||||
import forge.toolbox.FSkin.SkinImage;
|
||||
import forge.toolbox.JXButtonPanel;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import forge.util.Localizer;
|
||||
import javax.swing.*;
|
||||
|
||||
import java.awt.*;
|
||||
@@ -46,10 +46,11 @@ import java.awt.geom.Rectangle2D;
|
||||
*/
|
||||
public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestTournamentView {
|
||||
SINGLETON_INSTANCE;
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
|
||||
private final DragTab tab = new DragTab("Tournaments");
|
||||
private final DragTab tab = new DragTab(localizer.getMessage("lblTournaments"));
|
||||
|
||||
private final LblHeader lblTitle = new LblHeader("Quest Mode: Draft Tournament");
|
||||
private final LblHeader lblTitle = new LblHeader(localizer.getMessage("lblQuestModeDraftTournament"));
|
||||
|
||||
private final FLabel lblCredits = new FLabel.Builder()
|
||||
.icon(FSkin.getIcon(FSkinProp.ICO_QUEST_COINSTACK))
|
||||
@@ -59,11 +60,11 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
|
||||
private final FScrollPanel pnlTournaments = new FScrollPanel(new MigLayout("insets 0, gap 0, wrap, ax center"), true,
|
||||
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
|
||||
private final JLabel lblInfo = new FLabel.Builder().text("Select a tournament to join:")
|
||||
private final JLabel lblInfo = new FLabel.Builder().text(localizer.getMessage("lblSelectaTournament")+ ":")
|
||||
.fontStyle(Font.BOLD).fontSize(16)
|
||||
.fontAlign(SwingConstants.LEFT).build();
|
||||
|
||||
private final JLabel lblNoDrafts = new FLabel.Builder().text("There are no tournaments available at this time.")
|
||||
private final JLabel lblNoDrafts = new FLabel.Builder().text(localizer.getMessage("lblNoTournaments"))
|
||||
.fontStyle(Font.PLAIN).fontSize(16)
|
||||
.fontAlign(SwingConstants.LEFT).build();
|
||||
|
||||
@@ -84,10 +85,10 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
|
||||
private final StartButton btnStartTournament = new StartButton();
|
||||
private final StartButton btnStartMatch = new StartButton();
|
||||
|
||||
private final FLabel btnEditDeck = new FLabel.ButtonBuilder().text("Edit Deck").fontSize(24).build();
|
||||
private final FLabel btnLeaveTournament = new FLabel.ButtonBuilder().text("Leave Tournament").fontSize(12).build();
|
||||
private final FLabel btnSpendToken = new FLabel.ButtonBuilder().text("Spend Token").fontSize(14).build();
|
||||
private final FLabel btnStartMatchSmall = new FLabel.ButtonBuilder().text("Start Next Match").fontSize(12).build();
|
||||
private final FLabel btnEditDeck = new FLabel.ButtonBuilder().text(localizer.getMessage("btnEditDeck")).fontSize(24).build();
|
||||
private final FLabel btnLeaveTournament = new FLabel.ButtonBuilder().text(localizer.getMessage("btnLeaveTournament")).fontSize(12).build();
|
||||
private final FLabel btnSpendToken = new FLabel.ButtonBuilder().text(localizer.getMessage("btnSpendToken")).fontSize(14).build();
|
||||
private final FLabel btnStartMatchSmall = new FLabel.ButtonBuilder().text(localizer.getMessage("btnStartMatchSmall")).fontSize(12).build();
|
||||
|
||||
private final PnlMatchup[] matchups = new PnlMatchup[8];
|
||||
|
||||
@@ -102,36 +103,36 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
|
||||
SkinImage avatar = FSkin.getAvatars().get(GuiBase.getInterface().getAvatarCount() - 1);
|
||||
|
||||
matchups[0] = new PnlMatchup(PnlMatchup.LineDirection.DOWN, PnlMatchup.LineSide.RIGHT, PnlMatchup.BoxSize.SMALL);
|
||||
matchups[0].setPlayerOne("Undetermined", avatar);
|
||||
matchups[0].setPlayerTwo("Undetermined", avatar);
|
||||
matchups[0].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
|
||||
matchups[0].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
|
||||
|
||||
matchups[1] = new PnlMatchup(PnlMatchup.LineDirection.UP, PnlMatchup.LineSide.RIGHT, PnlMatchup.BoxSize.SMALL);
|
||||
matchups[1].setPlayerOne("Undetermined", avatar);
|
||||
matchups[1].setPlayerTwo("Undetermined", avatar);
|
||||
matchups[1].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
|
||||
matchups[1].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
|
||||
|
||||
matchups[2] = new PnlMatchup(PnlMatchup.LineDirection.DOWN, PnlMatchup.LineSide.RIGHT, PnlMatchup.BoxSize.SMALL);
|
||||
matchups[2].setPlayerOne("Undetermined", avatar);
|
||||
matchups[2].setPlayerTwo("Undetermined", avatar);
|
||||
matchups[2].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
|
||||
matchups[2].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
|
||||
|
||||
matchups[3] = new PnlMatchup(PnlMatchup.LineDirection.UP, PnlMatchup.LineSide.RIGHT, PnlMatchup.BoxSize.SMALL);
|
||||
matchups[3].setPlayerOne("Undetermined", avatar);
|
||||
matchups[3].setPlayerTwo("Undetermined", avatar);
|
||||
matchups[3].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
|
||||
matchups[3].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
|
||||
|
||||
matchups[4] = new PnlMatchup(PnlMatchup.LineDirection.DOWN, PnlMatchup.LineSide.BOTH, PnlMatchup.BoxSize.MEDIUM);
|
||||
matchups[4].setPlayerOne("Undetermined", avatar);
|
||||
matchups[4].setPlayerTwo("Undetermined", avatar);
|
||||
matchups[4].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
|
||||
matchups[4].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
|
||||
|
||||
matchups[5] = new PnlMatchup(PnlMatchup.LineDirection.UP, PnlMatchup.LineSide.BOTH, PnlMatchup.BoxSize.MEDIUM);
|
||||
matchups[5].setPlayerOne("Undetermined", avatar);
|
||||
matchups[5].setPlayerTwo("Undetermined", avatar);
|
||||
matchups[5].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
|
||||
matchups[5].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
|
||||
|
||||
matchups[6] = new PnlMatchup(PnlMatchup.LineDirection.STRAIGHT, PnlMatchup.LineSide.BOTH, PnlMatchup.BoxSize.LARGE);
|
||||
matchups[6].setPlayerOne("Undetermined", avatar);
|
||||
matchups[6].setPlayerTwo("Undetermined", avatar);
|
||||
matchups[6].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
|
||||
matchups[6].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
|
||||
|
||||
matchups[7] = new PnlMatchup(PnlMatchup.LineDirection.STRAIGHT, PnlMatchup.LineSide.LEFT, PnlMatchup.BoxSize.LARGE_SINGLE, true);
|
||||
matchups[7].setPlayerOne("Undetermined", avatar);
|
||||
matchups[7].setPlayerTwo("Undetermined", avatar);
|
||||
matchups[7].setPlayerOne(localizer.getMessage("lblUndetermined"), avatar);
|
||||
matchups[7].setPlayerTwo(localizer.getMessage("lblUndetermined"), avatar);
|
||||
|
||||
pnlDeckImage = new ProportionalPanel(FSkin.getImage(FSkinProp.IMG_QUEST_DRAFT_DECK), 680, 475);
|
||||
|
||||
@@ -145,7 +146,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
|
||||
pnlStats.add(btnSpendToken, "w 150px!, h 40px!, ax center");
|
||||
pnlStats.setOpaque(false);
|
||||
|
||||
btnSpendToken.setToolTipText("Creates a new tournament that can be played immediately.");
|
||||
btnSpendToken.setToolTipText(localizer.getMessage("btnSpendTokenTT"));
|
||||
|
||||
}
|
||||
|
||||
@@ -249,7 +250,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
|
||||
|
||||
@Override
|
||||
public String getMenuTitle() {
|
||||
return "Tournaments";
|
||||
return localizer.getMessage("lblTournaments");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -299,7 +300,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
|
||||
}
|
||||
|
||||
private void populatePrepareDeck() {
|
||||
lblTitle.setText("Quest Mode: Draft Tournament - " + FModel.getQuest().getAchievements().getCurrentDraft().getTitle());
|
||||
lblTitle.setText(localizer.getMessage("lblQuestModeDraftTournament")+ " - " + FModel.getQuest().getAchievements().getCurrentDraft().getTitle());
|
||||
VHomeUI.SINGLETON_INSTANCE.getPnlDisplay().setLayout(new MigLayout(
|
||||
"insets 0, gap 0, ax center, wrap",
|
||||
"",
|
||||
@@ -316,7 +317,7 @@ public enum VSubmenuQuestDraft implements IVSubmenu<CSubmenuQuestDraft>, IQuestT
|
||||
}
|
||||
|
||||
private void populateTournamentActive() {
|
||||
lblTitle.setText("Quest Mode: Draft Tournament - " + FModel.getQuest().getAchievements().getCurrentDraft().getTitle());
|
||||
lblTitle.setText(localizer.getMessage("lblQuestModeDraftTournament")+ " - " + FModel.getQuest().getAchievements().getCurrentDraft().getTitle());
|
||||
VHomeUI.SINGLETON_INSTANCE.getPnlDisplay().setLayout(new MigLayout("insets 0, gap 0, ax center, wrap 1"));
|
||||
VHomeUI.SINGLETON_INSTANCE.getPnlDisplay().add(lblTitle, "w 80%!, h 40px!, gap 20% 0 15px 10px, ax right, span 2");
|
||||
|
||||
|
||||
@@ -52,6 +52,8 @@ import java.net.MalformedURLException;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import forge.util.Localizer;
|
||||
|
||||
|
||||
/**
|
||||
* Assembles settings from selected or default theme as appropriate. Saves in a
|
||||
@@ -1155,7 +1157,8 @@ public class FSkin {
|
||||
if (preferredName.isEmpty()) { loadLight("default", true); }
|
||||
}
|
||||
|
||||
FView.SINGLETON_INSTANCE.setSplashProgessBarMessage("Processing image sprites: ", 8);
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
FView.SINGLETON_INSTANCE.setSplashProgessBarMessage(localizer.getMessage("splash.loading.processingimagesprites") + ": ", 8);
|
||||
|
||||
// Grab and test various sprite files.
|
||||
final String defaultDir = ForgeConstants.DEFAULT_SKINS_DIR;
|
||||
|
||||
Reference in New Issue
Block a user