diff --git a/forge-core/src/main/java/forge/card/MagicColor.java b/forge-core/src/main/java/forge/card/MagicColor.java index 941a6a821f0..0eb9a7b6470 100644 --- a/forge-core/src/main/java/forge/card/MagicColor.java +++ b/forge-core/src/main/java/forge/card/MagicColor.java @@ -1,6 +1,8 @@ package forge.card; import com.google.common.collect.ImmutableList; + +import forge.util.ITranslatable; import forge.util.Localizer; /** @@ -157,7 +159,7 @@ public final class MagicColor { } } - public enum Color { + public enum Color implements ITranslatable { WHITE(Constant.WHITE, MagicColor.WHITE, "W", "lblWhite"), BLUE(Constant.BLUE, MagicColor.BLUE, "U", "lblBlue"), BLACK(Constant.BLACK, MagicColor.BLACK, "B", "lblBlack"), @@ -188,6 +190,7 @@ public final class MagicColor { } } + @Override public String getName() { return name; } @@ -195,7 +198,8 @@ public final class MagicColor { return shortName; } - public String getLocalizedName() { + @Override + public String getTranslatedName() { return Localizer.getInstance().getMessage(label); } @@ -205,10 +209,6 @@ public final class MagicColor { public String getSymbol() { return symbol; } - @Override - public String toString() { - return getLocalizedName(); - } } } diff --git a/forge-core/src/main/java/forge/deck/DeckRecognizer.java b/forge-core/src/main/java/forge/deck/DeckRecognizer.java index 0e486c85929..1723a1942e4 100644 --- a/forge-core/src/main/java/forge/deck/DeckRecognizer.java +++ b/forge-core/src/main/java/forge/deck/DeckRecognizer.java @@ -994,7 +994,7 @@ public class DeckRecognizer { private static String getMagicColourLabel(MagicColor.Color magicColor) { if (magicColor == null) // Multicolour return String.format("%s {W}{U}{B}{R}{G}", getLocalisedMagicColorName("Multicolour")); - return String.format("%s %s", magicColor.getLocalizedName(), magicColor.getSymbol()); + return String.format("%s %s", magicColor.getTranslatedName(), magicColor.getSymbol()); } private static final HashMap manaSymbolsMap = new HashMap() {{ @@ -1013,8 +1013,8 @@ public class DeckRecognizer { if (magicColor2 == null || magicColor2 == MagicColor.Color.COLORLESS || magicColor1 == MagicColor.Color.COLORLESS) return String.format("%s // %s", getMagicColourLabel(magicColor1), getMagicColourLabel(magicColor2)); - String localisedName1 = magicColor1.getLocalizedName(); - String localisedName2 = magicColor2.getLocalizedName(); + String localisedName1 = magicColor1.getTranslatedName(); + String localisedName2 = magicColor2.getTranslatedName(); String comboManaSymbol = manaSymbolsMap.get(magicColor1.getColorMask() | magicColor2.getColorMask()); return String.format("%s/%s {%s}", localisedName1, localisedName2, comboManaSymbol); } diff --git a/forge-core/src/main/java/forge/item/IPaperCard.java b/forge-core/src/main/java/forge/item/IPaperCard.java index 9d16618c2c4..af12c23c78e 100644 --- a/forge-core/src/main/java/forge/item/IPaperCard.java +++ b/forge-core/src/main/java/forge/item/IPaperCard.java @@ -52,9 +52,4 @@ public interface IPaperCard extends InventoryItem, Serializable { default String getUntranslatedType() { return getRules().getType().toString(); } - - @Override - default String getUntranslatedOracle() { - return getRules().getOracleText(); - } } \ No newline at end of file diff --git a/forge-core/src/main/java/forge/util/ITranslatable.java b/forge-core/src/main/java/forge/util/ITranslatable.java index 6bbba27afb3..6f75fcd96cc 100644 --- a/forge-core/src/main/java/forge/util/ITranslatable.java +++ b/forge-core/src/main/java/forge/util/ITranslatable.java @@ -10,13 +10,11 @@ public interface ITranslatable extends IHasName { default String getUntranslatedName() { return getName(); } + default String getTranslatedName() { + return getName(); + } default String getUntranslatedType() { return ""; } - - default String getUntranslatedOracle() { - return ""; - } - } diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 246b405263b..776f9f6a0ae 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -7849,8 +7849,8 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr return currentState.getUntranslatedType(); } @Override - public String getUntranslatedOracle() { - return currentState.getUntranslatedOracle(); + public String getTranslatedName() { + return CardTranslation.getTranslatedName(this); } @Override diff --git a/forge-game/src/main/java/forge/game/card/CardState.java b/forge-game/src/main/java/forge/game/card/CardState.java index bdc892d36b0..57f9cf39896 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -40,6 +40,7 @@ import forge.game.spellability.SpellAbilityPredicates; import forge.game.spellability.SpellPermanent; import forge.game.staticability.StaticAbility; import forge.game.trigger.Trigger; +import forge.util.CardTranslation; import forge.util.ITranslatable; import forge.util.IterableUtil; import forge.util.collect.FCollection; @@ -946,7 +947,7 @@ public class CardState extends GameObject implements IHasSVars, ITranslatable { } @Override - public String getUntranslatedOracle() { - return getOracleText(); + public String getTranslatedName() { + return CardTranslation.getTranslatedName(this); } } diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index ab00531d2e3..52fbf98b263 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -1841,8 +1841,8 @@ public class CardView extends GameEntityView { } @Override - public String getUntranslatedOracle() { - return getOracleText(); + public String getTranslatedName() { + return CardTranslation.getTranslatedName(this); } } diff --git a/forge-game/src/main/java/forge/game/event/GameEventDoorChanged.java b/forge-game/src/main/java/forge/game/event/GameEventDoorChanged.java index 1b5d0ba7874..bf846625b1f 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventDoorChanged.java +++ b/forge-game/src/main/java/forge/game/event/GameEventDoorChanged.java @@ -3,7 +3,6 @@ package forge.game.event; import forge.card.CardStateName; import forge.game.card.Card; import forge.game.player.Player; -import forge.util.CardTranslation; import forge.util.Lang; public record GameEventDoorChanged(Player activatingPlayer, Card card, CardStateName state, boolean unlock) implements GameEvent { @@ -15,7 +14,7 @@ public record GameEventDoorChanged(Player activatingPlayer, Card card, CardState @Override public String toString() { - String doorName = CardTranslation.getTranslatedName(card.getState(state)); + String doorName = card.getState(state).getTranslatedName(); StringBuilder sb = new StringBuilder(); sb.append(activatingPlayer); diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementEffect.java b/forge-game/src/main/java/forge/game/replacement/ReplacementEffect.java index f81dbb8f47d..a1c82f30a5e 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementEffect.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementEffect.java @@ -242,7 +242,7 @@ public abstract class ReplacementEffect extends TriggerReplacementBase { String desc = AbilityUtils.applyDescriptionTextChangeEffects(getParam("Description"), this); ITranslatable nameSource = getHostName(this); desc = CardTranslation.translateMultipleDescriptionText(desc, nameSource); - String translatedName = CardTranslation.getTranslatedName(nameSource); + String translatedName = nameSource.getTranslatedName(); desc = TextUtil.fastReplace(desc, "CARDNAME", translatedName); desc = TextUtil.fastReplace(desc, "NICKNAME", Lang.getInstance().getNickName(translatedName)); if (desc.contains("EFFECTSOURCE")) { diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index 2f91be78f11..f404a3bb148 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -1121,7 +1121,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit if (node.getHostCard() != null && !desc.isEmpty()) { ITranslatable nameSource = getHostName(node); desc = CardTranslation.translateMultipleDescriptionText(desc, nameSource); - String translatedName = CardTranslation.getTranslatedName(nameSource); + String translatedName = nameSource.getTranslatedName(); desc = TextUtil.fastReplace(desc, "CARDNAME", translatedName); desc = TextUtil.fastReplace(desc, "NICKNAME", Lang.getInstance().getNickName(translatedName)); if (node.getOriginalHost() != null) { diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java index 957f10a494f..1d362b75a98 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java @@ -206,7 +206,7 @@ public class StaticAbility extends CardTraitBase implements IIdentifiable, Clone if (hasParam("Description") && !this.isSuppressed()) { ITranslatable nameSource = getHostName(this); String desc = CardTranslation.translateSingleDescriptionText(getParam("Description"), nameSource); - String translatedName = CardTranslation.getTranslatedName(nameSource); + String translatedName = nameSource.getTranslatedName(); desc = TextUtil.fastReplace(desc, "CARDNAME", translatedName); desc = TextUtil.fastReplace(desc, "NICKNAME", Lang.getInstance().getNickName(translatedName)); diff --git a/forge-game/src/main/java/forge/game/trigger/Trigger.java b/forge-game/src/main/java/forge/game/trigger/Trigger.java index 926e12d18f8..21e3ce718ac 100644 --- a/forge-game/src/main/java/forge/game/trigger/Trigger.java +++ b/forge-game/src/main/java/forge/game/trigger/Trigger.java @@ -124,7 +124,7 @@ public abstract class Trigger extends TriggerReplacementBase { String desc = getParam("TriggerDescription"); if (!desc.contains("ABILITY")) { desc = CardTranslation.translateSingleDescriptionText(getParam("TriggerDescription"), nameSource); - String translatedName = CardTranslation.getTranslatedName(nameSource); + String translatedName = nameSource.getTranslatedName(); desc = TextUtil.fastReplace(desc,"CARDNAME", translatedName); desc = TextUtil.fastReplace(desc,"NICKNAME", Lang.getInstance().getNickName(translatedName)); if (desc.contains("ORIGINALHOST") && this.getOriginalHost() != null) { @@ -218,7 +218,7 @@ public abstract class Trigger extends TriggerReplacementBase { result = TextUtil.fastReplace(result, "ABILITY", saDesc); result = CardTranslation.translateMultipleDescriptionText(result, sa.getHostCard()); - String translatedName = CardTranslation.getTranslatedName(sa.getHostCard()); + String translatedName = sa.getHostCard().getTranslatedName(); result = TextUtil.fastReplace(result,"CARDNAME", translatedName); result = TextUtil.fastReplace(result,"NICKNAME", Lang.getInstance().getNickName(translatedName)); } diff --git a/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java b/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java index 988e762e765..335f37dcb50 100644 --- a/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java +++ b/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java @@ -451,7 +451,7 @@ public class CardDetailUtil { if (card.getMarkedColors() != null && !card.getMarkedColors().isColorless()) { area.append("\n"); area.append("(").append(Localizer.getInstance().getMessage("lblSelected")).append(": "); - area.append(Lang.joinHomogenous(card.getMarkedColors().stream().map(MagicColor.Color::getLocalizedName).collect(Collectors.toList()))); + area.append(Lang.joinHomogenous(card.getMarkedColors().stream().map(MagicColor.Color::getTranslatedName).collect(Collectors.toList()))); area.append(")"); }