diff --git a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java index e2b43bc5927..b3ef6504aa8 100644 --- a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java +++ b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java @@ -33,23 +33,25 @@ import forge.planarconquest.ConquestRegion; import forge.quest.QuestWorld; import forge.util.gui.SGuiChoose; import forge.util.gui.SOptionPane; +import forge.util.Localizer; +import forge.util.CardTranslation; public class AdvancedSearch { public enum FilterOption { NONE("(none)", null, null, null), - CARD_NAME("Name", PaperCard.class, FilterOperator.STRING_OPS, new StringEvaluator() { + CARD_NAME("lblName", PaperCard.class, FilterOperator.STRING_OPS, new StringEvaluator() { @Override protected String getItemValue(PaperCard input) { return input.getName(); } }), - CARD_RULES_TEXT("Rules Text", PaperCard.class, FilterOperator.STRING_OPS, new StringEvaluator() { + CARD_RULES_TEXT("lblRulesText", PaperCard.class, FilterOperator.STRING_OPS, new StringEvaluator() { @Override protected String getItemValue(PaperCard input) { return input.getRules().getOracleText(); } }), - CARD_KEYWORDS("Keywords", PaperCard.class, FilterOperator.COLLECTION_OPS, new CustomListEvaluator(Keyword.getAllKeywords()) { + CARD_KEYWORDS("lblKeywords", PaperCard.class, FilterOperator.COLLECTION_OPS, new CustomListEvaluator(Keyword.getAllKeywords()) { @Override protected Keyword getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -59,13 +61,13 @@ public class AdvancedSearch { return Keyword.getKeywordSet(input); } }), - CARD_SET("Set", PaperCard.class, FilterOperator.SINGLE_LIST_OPS, new CustomListEvaluator(FModel.getMagicDb().getSortedEditions(), CardEdition.FN_GET_CODE) { + CARD_SET("lblSet", PaperCard.class, FilterOperator.SINGLE_LIST_OPS, new CustomListEvaluator(FModel.getMagicDb().getSortedEditions(), CardEdition.FN_GET_CODE) { @Override protected CardEdition getItemValue(PaperCard input) { return FModel.getMagicDb().getEditions().get(input.getEdition()); } }), - CARD_FORMAT("Format", PaperCard.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator((List)FModel.getFormats().getFilterList()) { + CARD_FORMAT("lblFormat", PaperCard.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator((List)FModel.getFormats().getFilterList()) { @Override protected GameFormat getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -75,7 +77,7 @@ public class AdvancedSearch { return FModel.getFormats().getAllFormatsOfCard(input); } }), - CARD_PLANE("Plane", PaperCard.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator(ImmutableList.copyOf(FModel.getPlanes())) { + CARD_PLANE("lblPlane", PaperCard.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator(ImmutableList.copyOf(FModel.getPlanes())) { @Override protected ConquestPlane getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -85,7 +87,7 @@ public class AdvancedSearch { return ConquestPlane.getAllPlanesOfCard(input); } }), - CARD_REGION("Region", PaperCard.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator(ConquestRegion.getAllRegions()) { + CARD_REGION("lblRegion", PaperCard.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator(ConquestRegion.getAllRegions()) { @Override protected ConquestRegion getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -95,7 +97,7 @@ public class AdvancedSearch { return ConquestRegion.getAllRegionsOfCard(input); } }), - CARD_QUEST_WORLD("Quest World", PaperCard.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator(ImmutableList.copyOf(FModel.getWorlds())) { + CARD_QUEST_WORLD("lblQuestWorld", PaperCard.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator(ImmutableList.copyOf(FModel.getWorlds())) { @Override protected QuestWorld getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -105,7 +107,7 @@ public class AdvancedSearch { return QuestWorld.getAllQuestWorldsOfCard(input); } }), - CARD_COLOR("Color", PaperCard.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { + CARD_COLOR("lblColor", PaperCard.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { @Override protected MagicColor.Color getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -115,7 +117,7 @@ public class AdvancedSearch { return input.getRules().getColor().toEnumSet(); } }), - CARD_COLOR_IDENTITY("Color Identity", PaperCard.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { + CARD_COLOR_IDENTITY("lblColorIdentity", PaperCard.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { @Override protected MagicColor.Color getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -125,13 +127,13 @@ public class AdvancedSearch { return input.getRules().getColorIdentity().toEnumSet(); } }), - CARD_COLOR_COUNT("Color Count", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 5) { + CARD_COLOR_COUNT("lblColorCount", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 5) { @Override protected Integer getItemValue(PaperCard input) { return input.getRules().getColor().countColors(); } }), - CARD_TYPE("Type", PaperCard.class, FilterOperator.COMBINATION_OPS, new CustomListEvaluator(CardType.getCombinedSuperAndCoreTypes()) { + CARD_TYPE("lblType", PaperCard.class, FilterOperator.COMBINATION_OPS, new CustomListEvaluator(CardType.getCombinedSuperAndCoreTypes()) { @Override protected String getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -149,7 +151,7 @@ public class AdvancedSearch { return types; } }), - CARD_SUB_TYPE("Subtype", PaperCard.class, FilterOperator.COMBINATION_OPS, new CustomListEvaluator(CardType.getSortedSubTypes()) { + CARD_SUB_TYPE("lblSubtype", PaperCard.class, FilterOperator.COMBINATION_OPS, new CustomListEvaluator(CardType.getSortedSubTypes()) { @Override protected String getItemValue(PaperCard input) { throw new RuntimeException("getItemValues should be called instead"); @@ -159,19 +161,19 @@ public class AdvancedSearch { return (Set)input.getRules().getType().getSubtypes(); } }), - CARD_CMC("CMC", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { + CARD_CMC("lblCMC", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { @Override protected Integer getItemValue(PaperCard input) { return input.getRules().getManaCost().getCMC(); } }), - CARD_GENERIC_COST("Generic Cost", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { + CARD_GENERIC_COST("lblGenericCost", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { @Override protected Integer getItemValue(PaperCard input) { return input.getRules().getManaCost().getGenericCost(); } }), - CARD_POWER("Power", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { + CARD_POWER("lblPower", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { @Override protected Integer getItemValue(PaperCard input) { CardRules rules = input.getRules(); @@ -181,7 +183,7 @@ public class AdvancedSearch { return null; } }), - CARD_TOUGHNESS("Toughness", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { + CARD_TOUGHNESS("lblToughness", PaperCard.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { @Override protected Integer getItemValue(PaperCard input) { CardRules rules = input.getRules(); @@ -191,19 +193,19 @@ public class AdvancedSearch { return null; } }), - CARD_MANA_COST("Mana Cost", PaperCard.class, FilterOperator.STRING_OPS, new StringEvaluator() { + CARD_MANA_COST("lblManaCost", PaperCard.class, FilterOperator.STRING_OPS, new StringEvaluator() { @Override protected String getItemValue(PaperCard input) { return input.getRules().getManaCost().toString(); } }), - CARD_RARITY("Rarity", PaperCard.class, FilterOperator.SINGLE_LIST_OPS, new CustomListEvaluator(Arrays.asList(CardRarity.FILTER_OPTIONS), CardRarity.FN_GET_LONG_NAME, CardRarity.FN_GET_LONG_NAME) { + CARD_RARITY("lblRarity", PaperCard.class, FilterOperator.SINGLE_LIST_OPS, new CustomListEvaluator(Arrays.asList(CardRarity.FILTER_OPTIONS), CardRarity.FN_GET_LONG_NAME, CardRarity.FN_GET_LONG_NAME) { @Override protected CardRarity getItemValue(PaperCard input) { return input.getRarity(); } }), - CARD_FIRST_PRINTING("First Printing", PaperCard.class, FilterOperator.BOOLEAN_OPS, new BooleanEvaluator() { + CARD_FIRST_PRINTING("lblFirstPrinting", PaperCard.class, FilterOperator.BOOLEAN_OPS, new BooleanEvaluator() { @Override protected Boolean getItemValue(PaperCard input) { List cards = FModel.getMagicDb().getCommonCards().getAllCards(input.getName()); @@ -213,25 +215,25 @@ public class AdvancedSearch { return cards.get(0) == input; } }), - DECK_NAME("Name", DeckProxy.class, FilterOperator.STRING_OPS, new StringEvaluator() { + DECK_NAME("lblName", DeckProxy.class, FilterOperator.STRING_OPS, new StringEvaluator() { @Override protected String getItemValue(DeckProxy input) { return input.getName(); } }), - DECK_FOLDER("Folder", DeckProxy.class, FilterOperator.STRING_OPS, new StringEvaluator() { + DECK_FOLDER("lblFolder", DeckProxy.class, FilterOperator.STRING_OPS, new StringEvaluator() { @Override protected String getItemValue(DeckProxy input) { return input.getPath(); } }), - DECK_FAVORITE("Favorite", DeckProxy.class, FilterOperator.BOOLEAN_OPS, new BooleanEvaluator() { + DECK_FAVORITE("ttFavorite", DeckProxy.class, FilterOperator.BOOLEAN_OPS, new BooleanEvaluator() { @Override protected Boolean getItemValue(DeckProxy input) { return input.isFavoriteDeck(); } }), - DECK_FORMAT("Format", DeckProxy.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator((List)FModel.getFormats().getFilterList()) { + DECK_FORMAT("lblFormat", DeckProxy.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator((List)FModel.getFormats().getFilterList()) { @Override protected GameFormat getItemValue(DeckProxy input) { throw new RuntimeException("getItemValues should be called instead"); @@ -241,7 +243,7 @@ public class AdvancedSearch { return input.getExhaustiveFormats(); } }), - DECK_QUEST_WORLD("Quest World", DeckProxy.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator(ImmutableList.copyOf(FModel.getWorlds())) { + DECK_QUEST_WORLD("lblQuestWorld", DeckProxy.class, FilterOperator.MULTI_LIST_OPS, new CustomListEvaluator(ImmutableList.copyOf(FModel.getWorlds())) { @Override protected QuestWorld getItemValue(DeckProxy input) { throw new RuntimeException("getItemValues should be called instead"); @@ -251,7 +253,7 @@ public class AdvancedSearch { return QuestWorld.getAllQuestWorldsOfDeck(input.getDeck()); } }), - DECK_COLOR("Color", DeckProxy.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { + DECK_COLOR("lblColor", DeckProxy.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { @Override protected MagicColor.Color getItemValue(DeckProxy input) { throw new RuntimeException("getItemValues should be called instead"); @@ -261,7 +263,7 @@ public class AdvancedSearch { return input.getColor().toEnumSet(); } }), - DECK_COLOR_IDENTITY("Color Identity", DeckProxy.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { + DECK_COLOR_IDENTITY("lblColorIdentity", DeckProxy.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { @Override protected MagicColor.Color getItemValue(DeckProxy input) { throw new RuntimeException("getItemValues should be called instead"); @@ -271,25 +273,25 @@ public class AdvancedSearch { return input.getColorIdentity().toEnumSet(); } }), - DECK_COLOR_COUNT("Color Count", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 5) { + DECK_COLOR_COUNT("lblColorCount", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 5) { @Override protected Integer getItemValue(DeckProxy input) { return input.getColor().countColors(); } }), - DECK_AVERAGE_CMC("Average CMC", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { + DECK_AVERAGE_CMC("lblAverageCMC", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { @Override protected Integer getItemValue(DeckProxy input) { return input.getAverageCMC(); } }), - DECK_MAIN("Main Deck", DeckProxy.class, FilterOperator.DECK_CONTENT_OPS, new DeckContentEvaluator() { + DECK_MAIN("lblMainDeck", DeckProxy.class, FilterOperator.DECK_CONTENT_OPS, new DeckContentEvaluator() { @Override protected Map getItemValue(DeckProxy input) { return input.getDeck().getMain().toNameLookup(); } }), - DECK_SIDEBOARD("Sideboard", DeckProxy.class, FilterOperator.DECK_CONTENT_OPS, new DeckContentEvaluator() { + DECK_SIDEBOARD("lblSideboard", DeckProxy.class, FilterOperator.DECK_CONTENT_OPS, new DeckContentEvaluator() { @Override protected Map getItemValue(DeckProxy input) { CardPool sideboard = input.getDeck().get(DeckSection.Sideboard); @@ -299,31 +301,31 @@ public class AdvancedSearch { return null; } }), - DECK_MAIN_SIZE("Main Deck Size", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(40, 250) { + DECK_MAIN_SIZE("lblMainDeckSize", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(40, 250) { @Override protected Integer getItemValue(DeckProxy input) { return input.getMainSize(); } }), - DECK_SIDE_SIZE("Sideboard Size", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 15) { + DECK_SIDE_SIZE("lblSideboardSize", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 15) { @Override protected Integer getItemValue(DeckProxy input) { return Math.min(input.getSideSize(), 0); } }), - COMMANDER_NAME("Name", ConquestCommander.class, FilterOperator.STRING_OPS, new StringEvaluator() { + COMMANDER_NAME("lblName", ConquestCommander.class, FilterOperator.STRING_OPS, new StringEvaluator() { @Override protected String getItemValue(ConquestCommander input) { return input.getName(); } }), - COMMANDER_ORIGIN("Origin", ConquestCommander.class, FilterOperator.SINGLE_LIST_OPS, new CustomListEvaluator(ImmutableList.copyOf(FModel.getPlanes())) { + COMMANDER_ORIGIN("lblOrigin", ConquestCommander.class, FilterOperator.SINGLE_LIST_OPS, new CustomListEvaluator(ImmutableList.copyOf(FModel.getPlanes())) { @Override protected ConquestPlane getItemValue(ConquestCommander input) { return input.getOriginPlane(); } }), - COMMANDER_COLOR("Color", ConquestCommander.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { + COMMANDER_COLOR("lblColor", ConquestCommander.class, FilterOperator.COMBINATION_OPS, new ColorEvaluator() { @Override protected MagicColor.Color getItemValue(ConquestCommander input) { throw new RuntimeException("getItemValues should be called instead"); @@ -333,25 +335,25 @@ public class AdvancedSearch { return input.getCard().getRules().getColorIdentity().toEnumSet(); } }), - COMMANDER_COLOR_COUNT("Color Count", ConquestCommander.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 5) { + COMMANDER_COLOR_COUNT("lblColorCount", ConquestCommander.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 5) { @Override protected Integer getItemValue(ConquestCommander input) { return input.getCard().getRules().getColorIdentity().countColors(); } }), - COMMANDER_DECK_AVERAGE_CMC("Deck Average CMC", ConquestCommander.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { + COMMANDER_DECK_AVERAGE_CMC("lblDeckAverageCMC", ConquestCommander.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(0, 20) { @Override protected Integer getItemValue(ConquestCommander input) { return DeckProxy.getAverageCMC(input.getDeck()); } }), - COMMANDER_DECK_CONTENTS("Deck Contents", ConquestCommander.class, FilterOperator.DECK_CONTENT_OPS, new DeckContentEvaluator() { + COMMANDER_DECK_CONTENTS("lblDeckContents", ConquestCommander.class, FilterOperator.DECK_CONTENT_OPS, new DeckContentEvaluator() { @Override protected Map getItemValue(ConquestCommander input) { return input.getDeck().getMain().toNameLookup(); } }), - COMMANDER_DECK_SIZE("Deck Size", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(40, 250) { + COMMANDER_DECK_SIZE("lblDeckSize", DeckProxy.class, FilterOperator.NUMBER_OPS, new NumericEvaluator(40, 250) { @Override protected Integer getItemValue(DeckProxy input) { return input.getMainSize(); @@ -364,7 +366,7 @@ public class AdvancedSearch { private final FilterEvaluator evaluator; FilterOption(String name0, Class type0, FilterOperator[] operatorOptions0, FilterEvaluator evaluator0) { - name = name0; + name = Localizer.getInstance().getMessage(name0); type = type0; operatorOptions = operatorOptions0; evaluator = evaluator0; @@ -378,7 +380,7 @@ public class AdvancedSearch { public enum FilterOperator { //Boolean operators - IS_TRUE("is true", "%1$s is true", FilterValueCount.ZERO, new OperatorEvaluator() { + IS_TRUE("lblIsTrue", "%1$s is true", FilterValueCount.ZERO, new OperatorEvaluator() { @Override public boolean apply(Boolean input, List values) { if (input != null) { @@ -387,7 +389,7 @@ public class AdvancedSearch { return false; } }), - IS_FALSE("is false", "%1$s is false", FilterValueCount.ZERO, new OperatorEvaluator() { + IS_FALSE("lblIsFalse", "%1$s is false", FilterValueCount.ZERO, new OperatorEvaluator() { @Override public boolean apply(Boolean input, List values) { if (input != null) { @@ -398,7 +400,7 @@ public class AdvancedSearch { }), //Numeric operators - EQUALS("=", "%1$s = %2$d", FilterValueCount.ONE, new OperatorEvaluator() { + EQUALS("lblEqual", "%1$s = %2$d", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(Integer input, List values) { if (input != null) { @@ -407,7 +409,7 @@ public class AdvancedSearch { return false; } }), - NOT_EQUALS("<>", "%1$s <> %2$d", FilterValueCount.ONE, new OperatorEvaluator() { + NOT_EQUALS("lblNotEqual", "%1$s <> %2$d", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(Integer input, List values) { if (input != null) { @@ -416,7 +418,7 @@ public class AdvancedSearch { return true; } }), - GREATER_THAN(">", "%1$s > %2$d", FilterValueCount.ONE, new OperatorEvaluator() { + GREATER_THAN("lblGreaterThan", "%1$s > %2$d", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(Integer input, List values) { if (input != null) { @@ -425,7 +427,7 @@ public class AdvancedSearch { return false; } }), - LESS_THAN("<", "%1$s < %2$d", FilterValueCount.ONE, new OperatorEvaluator() { + LESS_THAN("lblLessThan", "%1$s < %2$d", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(Integer input, List values) { if (input != null) { @@ -434,7 +436,7 @@ public class AdvancedSearch { return false; } }), - GT_OR_EQUAL(">=", "%1$s >= %2$d", FilterValueCount.ONE, new OperatorEvaluator() { + GT_OR_EQUAL("lblGreaterThanOrEqual", "%1$s >= %2$d", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(Integer input, List values) { if (input != null) { @@ -443,7 +445,7 @@ public class AdvancedSearch { return false; } }), - LT_OR_EQUAL("<=", "%1$s <= %2$d", FilterValueCount.ONE, new OperatorEvaluator() { + LT_OR_EQUAL("lblLessThanOrEqual", "%1$s <= %2$d", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(Integer input, List values) { if (input != null) { @@ -452,7 +454,7 @@ public class AdvancedSearch { return false; } }), - BETWEEN_INCLUSIVE("<=|<=", "%2$d <= %1$s <= %3$d", FilterValueCount.TWO, new OperatorEvaluator() { + BETWEEN_INCLUSIVE("lblBetweenInclusive", "%2$d <= %1$s <= %3$d", FilterValueCount.TWO, new OperatorEvaluator() { @Override public boolean apply(Integer input, List values) { if (input != null) { @@ -462,7 +464,7 @@ public class AdvancedSearch { return false; } }), - BETWEEN_EXCLUSIVE("<|<", "%2$d < %1$s < %3$d", FilterValueCount.TWO, new OperatorEvaluator() { + BETWEEN_EXCLUSIVE("lblBetweenExclusive", "%2$d < %1$s < %3$d", FilterValueCount.TWO, new OperatorEvaluator() { @Override public boolean apply(Integer input, List values) { if (input != null) { @@ -474,7 +476,7 @@ public class AdvancedSearch { }), //String operators - CONTAINS("contains", "%1$s contains '%2$s'", FilterValueCount.ONE, new OperatorEvaluator() { + CONTAINS("lblContains", "%1$s contains '%2$s'", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(String input, List values) { if (input != null) { @@ -483,7 +485,7 @@ public class AdvancedSearch { return false; } }), - STARTS_WITH("starts with", "%1$s starts with '%2$s'", FilterValueCount.ONE, new OperatorEvaluator() { + STARTS_WITH("lblStartsWith", "%1$s starts with '%2$s'", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(String input, List values) { if (input != null) { @@ -492,7 +494,7 @@ public class AdvancedSearch { return false; } }), - ENDS_WITH("ends with", "%1$s ends with '%2$s'", FilterValueCount.ONE, new OperatorEvaluator() { + ENDS_WITH("lblEndsWith", "%1$s ends with '%2$s'", FilterValueCount.ONE, new OperatorEvaluator() { @Override public boolean apply(String input, List values) { if (input != null) { @@ -503,7 +505,7 @@ public class AdvancedSearch { }), //Custom list operators - IS_EXACTLY("is exactly", "%1$s is %2$s", FilterValueCount.MANY, new OperatorEvaluator() { + IS_EXACTLY("lblIsExactly", "%1$s is %2$s", FilterValueCount.MANY, new OperatorEvaluator() { @Override public boolean apply(Object input, List values) { if (input != null && values.size() == 1) { @@ -524,7 +526,7 @@ public class AdvancedSearch { return false; } }), - IS_ANY("is any of", "%1$s is %2$s", FilterValueCount.MANY_OR, new OperatorEvaluator() { + IS_ANY("lblIsAnyOf", "%1$s is %2$s", FilterValueCount.MANY_OR, new OperatorEvaluator() { @Override public boolean apply(Object input, List values) { if (input != null) { @@ -548,7 +550,7 @@ public class AdvancedSearch { return false; } }), - CONTAINS_ANY("contains any of", "%1$s contains %2$s", FilterValueCount.MANY_OR, new OperatorEvaluator() { + CONTAINS_ANY("lblContainsAnyOf", "%1$s contains %2$s", FilterValueCount.MANY_OR, new OperatorEvaluator() { @Override public boolean apply(Object input, List values) { if (input != null) { @@ -572,7 +574,7 @@ public class AdvancedSearch { return false; } }), - CONTAINS_ALL("contains all of", "%1$s contains %2$s", FilterValueCount.MANY_AND, new OperatorEvaluator() { + CONTAINS_ALL("lblContainsAllOf", "%1$s contains %2$s", FilterValueCount.MANY_AND, new OperatorEvaluator() { @Override public boolean apply(Object input, List values) { if (input != null && values.size() == 1) { @@ -593,7 +595,7 @@ public class AdvancedSearch { return false; } }), - CONTAIN_ANY("contain any of", "%1$s contain %2$s", FilterValueCount.MANY_OR, new OperatorEvaluator() { + CONTAIN_ANY("lblContainAnyOf", "%1$s contain %2$s", FilterValueCount.MANY_OR, new OperatorEvaluator() { @Override public boolean apply(Object input, List values) { throw new RuntimeException("shouldn't be called with a single input"); @@ -610,7 +612,7 @@ public class AdvancedSearch { return false; } }), - CONTAIN_ALL("contain all of", "%1$s contain %2$s", FilterValueCount.MANY_AND, new OperatorEvaluator() { + CONTAIN_ALL("lblContainAllOf", "%1$s contain %2$s", FilterValueCount.MANY_AND, new OperatorEvaluator() { @Override public boolean apply(Object input, List values) { throw new RuntimeException("shouldn't be called with a single input"); @@ -630,7 +632,7 @@ public class AdvancedSearch { }), //Deck content operators - CONTAINS_CARD("contains card", "%1$s contains %2$s", FilterValueCount.ONE, new OperatorEvaluator>() { + CONTAINS_CARD("lblContainsCard", "%1$s contains %2$s", FilterValueCount.ONE, new OperatorEvaluator>() { @Override public boolean apply(Map input, List> values) { if (input != null) { @@ -640,7 +642,7 @@ public class AdvancedSearch { return false; } }), - CONTAINS_X_COPIES_OF_CARD("contains X copies of card", "%1$s contains %3$d %2$s", FilterValueCount.TWO, new OperatorEvaluator>() { + CONTAINS_X_COPIES_OF_CARD("lblContainsXCopiesCard", "%1$s contains %3$d %2$s", FilterValueCount.TWO, new OperatorEvaluator>() { @Override public boolean apply(Map input, List> values) { if (input != null) { @@ -681,7 +683,7 @@ public class AdvancedSearch { private final OperatorEvaluator evaluator; FilterOperator(String caption0, String formatStr0, FilterValueCount valueCount0, OperatorEvaluator evaluator0) { - caption = caption0; + caption = Localizer.getInstance().getMessage(caption0); formatStr = formatStr0; valueCount = valueCount0; evaluator = evaluator0; @@ -930,7 +932,7 @@ public class AdvancedSearch { Integer amount = -1; if (operator == FilterOperator.CONTAINS_X_COPIES_OF_CARD) { //prompt for quantity if needed - amount = SGuiChoose.getInteger("How many copies of " + card.getName() + "?", 0, 4); + amount = SGuiChoose.getInteger(Localizer.getInstance().getMessage("lblHowManyCopiesOfN", CardTranslation.getTranslatedName(card.getName())), 0, 4); if (amount == null) { return null; } } @@ -967,7 +969,7 @@ public class AdvancedSearch { options.add(opt); } } - option = SGuiChoose.oneOrNone("Select a filter type", options, defaultOption, null); + option = SGuiChoose.oneOrNone(Localizer.getInstance().getMessage("lblSelectAFilterType"), options, defaultOption, null); if (option == null) { return editFilter; } } else { @@ -979,7 +981,7 @@ public class AdvancedSearch { final FilterOperator operator; if (option.operatorOptions.length > 1) { final FilterOperator defaultOperator = option == defaultOption ? editFilter.operator : null; - operator = SGuiChoose.oneOrNone("Select an operator for " + option.name, option.operatorOptions, defaultOperator, null); + operator = SGuiChoose.oneOrNone(Localizer.getInstance().getMessage("lblSelectOperatorFor", option.name), option.operatorOptions, defaultOperator, null); if (operator == null) { return editFilter; } } else { @@ -1049,7 +1051,7 @@ public class AdvancedSearch { } public static class Model { - private static final String EMPTY_FILTER_TEXT = "Select Filter..."; + private static final String EMPTY_FILTER_TEXT = Localizer.getInstance().getMessage("lblSelectingFilter"); private final List expression = new ArrayList<>(); private final List> controls = new ArrayList<>(); @@ -1162,7 +1164,7 @@ public class AdvancedSearch { //the first time the user selects keywords, preload keywords for all cards Runnable preloadTask = Keyword.getPreloadTask(); if (preloadTask != null) { - GuiBase.getInterface().runBackgroundTask("Loading keywords...", preloadTask); + GuiBase.getInterface().runBackgroundTask(Localizer.getInstance().getMessage("lblLoadingKeywords"), preloadTask); } } }