mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-14 09:48:02 +00:00
Update Lang.java so it can support other languages.
Also translated phase/step names
This commit is contained in:
@@ -6,6 +6,8 @@ import java.util.regex.Pattern;
|
|||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import forge.util.lang.*;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
@@ -13,12 +15,39 @@ import com.google.common.collect.Lists;
|
|||||||
/**
|
/**
|
||||||
* Static library containing language-related utility methods.
|
* Static library containing language-related utility methods.
|
||||||
*/
|
*/
|
||||||
public final class Lang {
|
public abstract class Lang {
|
||||||
|
|
||||||
/**
|
private static Lang instance;
|
||||||
* Private constructor to prevent instantiation.
|
|
||||||
*/
|
protected String languageCode;
|
||||||
private Lang() {
|
protected String countryCode;
|
||||||
|
|
||||||
|
public static void createInstance(String localeID) {
|
||||||
|
String[] splitLocale = localeID.split("-");
|
||||||
|
String language = splitLocale[0];
|
||||||
|
String country = splitLocale[1];
|
||||||
|
if (language.equals("de")) {
|
||||||
|
instance = new LangGerman();
|
||||||
|
} else if (language.equals("es")) {
|
||||||
|
instance = new LangSpanish();
|
||||||
|
} else if (language.equals("it")) {
|
||||||
|
instance = new LangItalian();
|
||||||
|
} else if (language.equals("zh")) {
|
||||||
|
instance = new LangChinese();
|
||||||
|
} else if (language.equals("ja")) {
|
||||||
|
instance = new LangJapanese();
|
||||||
|
} else { // default is English
|
||||||
|
instance = new LangEnglish();
|
||||||
|
}
|
||||||
|
instance.languageCode = language;
|
||||||
|
instance.countryCode = country;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Lang getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Lang() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,17 +58,7 @@ public final class Lang {
|
|||||||
* the number to get the ordinal suffix for.
|
* the number to get the ordinal suffix for.
|
||||||
* @return a string containing two characters.
|
* @return a string containing two characters.
|
||||||
*/
|
*/
|
||||||
public static String getOrdinal(final int position) {
|
public abstract String getOrdinal(final int position);
|
||||||
final String[] sufixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
|
|
||||||
switch (position % 100) {
|
|
||||||
case 11:
|
|
||||||
case 12:
|
|
||||||
case 13:
|
|
||||||
return position + "th";
|
|
||||||
default:
|
|
||||||
return position + sufixes[position % 10];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String joinHomogenous(final String s1, final String s2) {
|
public static String joinHomogenous(final String s1, final String s2) {
|
||||||
final boolean has1 = StringUtils.isNotBlank(s1);
|
final boolean has1 = StringUtils.isNotBlank(s1);
|
||||||
@@ -121,16 +140,8 @@ public final class Lang {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getPossesive(final String name) {
|
public abstract String getPossesive(final String name);
|
||||||
if ("You".equalsIgnoreCase(name)) {
|
public abstract String getPossessedObject(final String owner, final String object);
|
||||||
return name + "r"; // to get "your"
|
|
||||||
}
|
|
||||||
return name.endsWith("s") ? name + "'" : name + "'s";
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getPossessedObject(final String owner, final String object) {
|
|
||||||
return getPossesive(owner) + " " + object;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean startsWithVowel(final String word) {
|
public static boolean startsWithVowel(final String word) {
|
||||||
return isVowel(word.trim().charAt(0));
|
return isVowel(word.trim().charAt(0));
|
||||||
|
|||||||
22
forge-core/src/main/java/forge/util/lang/LangChinese.java
Normal file
22
forge-core/src/main/java/forge/util/lang/LangChinese.java
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
package forge.util.lang;
|
||||||
|
|
||||||
|
import forge.util.Lang;
|
||||||
|
|
||||||
|
public class LangChinese extends Lang {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getOrdinal(final int position) {
|
||||||
|
return "第" + position;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossesive(final String name) {
|
||||||
|
return name + "的";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossessedObject(final String owner, final String object) {
|
||||||
|
return getPossesive(owner) + object;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
33
forge-core/src/main/java/forge/util/lang/LangEnglish.java
Normal file
33
forge-core/src/main/java/forge/util/lang/LangEnglish.java
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
package forge.util.lang;
|
||||||
|
|
||||||
|
import forge.util.Lang;
|
||||||
|
|
||||||
|
public class LangEnglish extends Lang {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getOrdinal(final int position) {
|
||||||
|
final String[] sufixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
|
||||||
|
switch (position % 100) {
|
||||||
|
case 11:
|
||||||
|
case 12:
|
||||||
|
case 13:
|
||||||
|
return position + "th";
|
||||||
|
default:
|
||||||
|
return position + sufixes[position % 10];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossesive(final String name) {
|
||||||
|
if ("You".equalsIgnoreCase(name)) {
|
||||||
|
return name + "r"; // to get "your"
|
||||||
|
}
|
||||||
|
return name.endsWith("s") ? name + "'" : name + "'s";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossessedObject(final String owner, final String object) {
|
||||||
|
return getPossesive(owner) + " " + object;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
29
forge-core/src/main/java/forge/util/lang/LangGerman.java
Normal file
29
forge-core/src/main/java/forge/util/lang/LangGerman.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package forge.util.lang;
|
||||||
|
|
||||||
|
import forge.util.Lang;
|
||||||
|
|
||||||
|
public class LangGerman extends Lang {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getOrdinal(final int position) {
|
||||||
|
if (position < 20) {
|
||||||
|
return position + "te";
|
||||||
|
}
|
||||||
|
return position + "ste";
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Please update this when you modified lblYou in de-DE.properties
|
||||||
|
@Override
|
||||||
|
public String getPossesive(final String name) {
|
||||||
|
if ("You".equalsIgnoreCase(name)) {
|
||||||
|
return name + "r"; // to get "your"
|
||||||
|
}
|
||||||
|
return name.endsWith("s") ? name + "'" : name + "'s";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossessedObject(final String owner, final String object) {
|
||||||
|
return getPossesive(owner) + " " + object;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
26
forge-core/src/main/java/forge/util/lang/LangItalian.java
Normal file
26
forge-core/src/main/java/forge/util/lang/LangItalian.java
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
package forge.util.lang;
|
||||||
|
|
||||||
|
import forge.util.Lang;
|
||||||
|
|
||||||
|
public class LangItalian extends Lang {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getOrdinal(final int position) {
|
||||||
|
return position + "º";
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Please update this when you modified lblYou in it-IT.properties
|
||||||
|
@Override
|
||||||
|
public String getPossesive(final String name) {
|
||||||
|
if ("You".equalsIgnoreCase(name)) {
|
||||||
|
return name + "r"; // to get "your"
|
||||||
|
}
|
||||||
|
return name.endsWith("s") ? name + "'" : name + "'s";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossessedObject(final String owner, final String object) {
|
||||||
|
return getPossesive(owner) + " " + object;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
22
forge-core/src/main/java/forge/util/lang/LangJapanese.java
Normal file
22
forge-core/src/main/java/forge/util/lang/LangJapanese.java
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
package forge.util.lang;
|
||||||
|
|
||||||
|
import forge.util.Lang;
|
||||||
|
|
||||||
|
public class LangJapanese extends Lang {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getOrdinal(final int position) {
|
||||||
|
return position + "番";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossesive(final String name) {
|
||||||
|
return name + "の";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossessedObject(final String owner, final String object) {
|
||||||
|
return getPossesive(owner) + object;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
26
forge-core/src/main/java/forge/util/lang/LangSpanish.java
Normal file
26
forge-core/src/main/java/forge/util/lang/LangSpanish.java
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
package forge.util.lang;
|
||||||
|
|
||||||
|
import forge.util.Lang;
|
||||||
|
|
||||||
|
public class LangSpanish extends Lang {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getOrdinal(final int position) {
|
||||||
|
return position + "º";
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Please update this when you modified lblYou in es-ES.properties
|
||||||
|
@Override
|
||||||
|
public String getPossesive(final String name) {
|
||||||
|
if ("You".equalsIgnoreCase(name)) {
|
||||||
|
return name + "r"; // to get "your"
|
||||||
|
}
|
||||||
|
return name.endsWith("s") ? name + "'" : name + "'s";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPossessedObject(final String owner, final String object) {
|
||||||
|
return getPossesive(owner) + " " + object;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -172,7 +172,7 @@ public class GameLogFormatter extends IGameEventVisitor.Base<GameLogEntry> {
|
|||||||
@Override
|
@Override
|
||||||
public GameLogEntry visit(GameEventTurnPhase ev) {
|
public GameLogEntry visit(GameEventTurnPhase ev) {
|
||||||
Player p = ev.playerTurn;
|
Player p = ev.playerTurn;
|
||||||
return new GameLogEntry(GameLogEntryType.PHASE, ev.phaseDesc + Lang.getPossesive(p.getName()) + " " + ev.phase.nameForUi);
|
return new GameLogEntry(GameLogEntryType.PHASE, ev.phaseDesc + Lang.getInstance().getPossesive(p.getName()) + " " + ev.phase.nameForUi);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class DigEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (final Player p : tgtPlayers) {
|
for (final Player p : tgtPlayers) {
|
||||||
sb.append(Lang.getPossesive(p.getName())).append(" ");
|
sb.append(Lang.getInstance().getPossesive(p.getName())).append(" ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sb.append("library.");
|
sb.append("library.");
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class RearrangeTopOfLibraryEffect extends SpellAbilityEffect {
|
|||||||
ret.append(numCards);
|
ret.append(numCards);
|
||||||
ret.append(" cards of ");
|
ret.append(" cards of ");
|
||||||
for (final Player p : tgtPlayers) {
|
for (final Player p : tgtPlayers) {
|
||||||
ret.append(Lang.getPossesive(p.getName()));
|
ret.append(Lang.getInstance().getPossesive(p.getName()));
|
||||||
ret.append(" & ");
|
ret.append(" & ");
|
||||||
}
|
}
|
||||||
ret.delete(ret.length() - 3, ret.length());
|
ret.delete(ret.length() - 3, ret.length());
|
||||||
|
|||||||
@@ -30,6 +30,6 @@ public class GameEventManaPool extends GameEvent {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return TextUtil.concatWithSpace(Lang.getPossesive(player.getName()),"mana pool", mode.toString(), "-", TextUtil.addSuffix(mana.toString()," "));
|
return TextUtil.concatWithSpace(Lang.getInstance().getPossesive(player.getName()),"mana pool", mode.toString(), "-", TextUtil.addSuffix(mana.toString()," "));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,6 @@ public class GameEventPlayerLivesChanged extends GameEvent {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return TextUtil.concatWithSpace(Lang.getPossesive(player.getName()),"lives changed:", String.valueOf(oldLives),"->", String.valueOf(newLives));
|
return TextUtil.concatWithSpace(Lang.getInstance().getPossesive(player.getName()),"lives changed:", String.valueOf(oldLives),"->", String.valueOf(newLives));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class GameEventTurnPhase extends GameEvent {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
String playerName = Lang.getPossesive(playerTurn.getName());
|
String playerName = Lang.getInstance().getPossesive(playerTurn.getName());
|
||||||
return TextUtil.concatWithSpace(playerName,"turn,", phaseDesc+phase.nameForUi, "phase");
|
return TextUtil.concatWithSpace(playerName,"turn,", phaseDesc+phase.nameForUi, "phase");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class GameEventZone extends GameEvent {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
String owners = player == null ? "Game" : Lang.getPossesive(player.getName());
|
String owners = player == null ? "Game" : Lang.getInstance().getPossesive(player.getName());
|
||||||
return card == null
|
return card == null
|
||||||
? TextUtil.concatWithSpace(owners, zoneType.toString(), ":", mode.toString())
|
? TextUtil.concatWithSpace(owners, zoneType.toString(), ":", mode.toString())
|
||||||
: TextUtil.concatWithSpace(owners, zoneType.toString(), ":", mode.toString(), card.toString()
|
: TextUtil.concatWithSpace(owners, zoneType.toString(), ":", mode.toString(), card.toString()
|
||||||
|
|||||||
@@ -3,23 +3,25 @@ package forge.game.phase;
|
|||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import forge.util.Localizer;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
public enum PhaseType {
|
public enum PhaseType {
|
||||||
UNTAP("Untap"),
|
UNTAP("lblUntapStep", "Untap"),
|
||||||
UPKEEP("Upkeep"),
|
UPKEEP("lblUpkeepStep", "Upkeep"),
|
||||||
DRAW("Draw"),
|
DRAW("lblDrawStep", "Draw"),
|
||||||
MAIN1("Main, precombat", "Main1"),
|
MAIN1("lblMainPhase1", "Main1"),
|
||||||
COMBAT_BEGIN("Begin Combat", "BeginCombat"),
|
COMBAT_BEGIN("lblCombatBeginStep", "BeginCombat"),
|
||||||
COMBAT_DECLARE_ATTACKERS("Declare Attackers"),
|
COMBAT_DECLARE_ATTACKERS("lblCombatDeclareAttackersStep", "Declare Attackers"),
|
||||||
COMBAT_DECLARE_BLOCKERS("Declare Blockers"),
|
COMBAT_DECLARE_BLOCKERS("lblCombatDeclareBlockersStep", "Declare Blockers"),
|
||||||
COMBAT_FIRST_STRIKE_DAMAGE("First Strike Damage"),
|
COMBAT_FIRST_STRIKE_DAMAGE("lblCombatFirstStrikeDamageStep", "First Strike Damage"),
|
||||||
COMBAT_DAMAGE("Combat Damage"),
|
COMBAT_DAMAGE("lblCombatDamageStep", "Combat Damage"),
|
||||||
COMBAT_END("End Combat", "EndCombat"),
|
COMBAT_END("lblCombatEndStep", "EndCombat"),
|
||||||
MAIN2("Main, postcombat", "Main2"),
|
MAIN2("lblMainPhase2", "Main2"),
|
||||||
END_OF_TURN("End of Turn"),
|
END_OF_TURN("lblEndStep", "End of Turn"),
|
||||||
CLEANUP("Cleanup");
|
CLEANUP("lblCleanupStep", "Cleanup");
|
||||||
|
|
||||||
public static final List<List<PhaseType>> PHASE_GROUPS = Arrays.asList(
|
public static final List<List<PhaseType>> PHASE_GROUPS = Arrays.asList(
|
||||||
Arrays.asList(UNTAP, UPKEEP, DRAW),
|
Arrays.asList(UNTAP, UPKEEP, DRAW),
|
||||||
@@ -50,11 +52,8 @@ public enum PhaseType {
|
|||||||
public final String nameForUi;
|
public final String nameForUi;
|
||||||
public final String nameForScripts;
|
public final String nameForScripts;
|
||||||
|
|
||||||
PhaseType(String name) {
|
|
||||||
this(name, name);
|
|
||||||
}
|
|
||||||
PhaseType(String name, String name_for_scripts) {
|
PhaseType(String name, String name_for_scripts) {
|
||||||
nameForUi = name;
|
nameForUi = Localizer.getInstance().getMessage(name);
|
||||||
nameForScripts = name_for_scripts;
|
nameForScripts = name_for_scripts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
if (!haveDuplicates) {
|
if (!haveDuplicates) {
|
||||||
return nameCandidate;
|
return nameCandidate;
|
||||||
}
|
}
|
||||||
nameCandidate = Lang.getOrdinal(i) + " " + originalName;
|
nameCandidate = Lang.getInstance().getOrdinal(i) + " " + originalName;
|
||||||
}
|
}
|
||||||
return nameCandidate;
|
return nameCandidate;
|
||||||
}
|
}
|
||||||
@@ -3131,7 +3131,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static DetachedCardEffect createCompanionEffect(Game game, Card companion) {
|
public static DetachedCardEffect createCompanionEffect(Game game, Card companion) {
|
||||||
final String name = Lang.getPossesive(companion.getName()) + " Companion Effect";
|
final String name = Lang.getInstance().getPossesive(companion.getName()) + " Companion Effect";
|
||||||
DetachedCardEffect eff = new DetachedCardEffect(companion, name);
|
DetachedCardEffect eff = new DetachedCardEffect(companion, name);
|
||||||
|
|
||||||
String addToHandAbility = "Mode$ Continuous | EffectZone$ Command | Affected$ Card.YouOwn+EffectSource | AffectedZone$ Command | AddAbility$ MoveToHand";
|
String addToHandAbility = "Mode$ Continuous | EffectZone$ Command | Affected$ Card.YouOwn+EffectSource | AffectedZone$ Command | AddAbility$ MoveToHand";
|
||||||
@@ -3144,7 +3144,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static DetachedCardEffect createCommanderEffect(Game game, Card commander) {
|
public static DetachedCardEffect createCommanderEffect(Game game, Card commander) {
|
||||||
final String name = Lang.getPossesive(commander.getName()) + " Commander Effect";
|
final String name = Lang.getInstance().getPossesive(commander.getName()) + " Commander Effect";
|
||||||
DetachedCardEffect eff = new DetachedCardEffect(commander, name);
|
DetachedCardEffect eff = new DetachedCardEffect(commander, name);
|
||||||
|
|
||||||
if (game.getRules().hasAppliedVariant(GameType.Oathbreaker) && commander.getRules().canBeSignatureSpell()) {
|
if (game.getRules().hasAppliedVariant(GameType.Oathbreaker) && commander.getRules().canBeSignatureSpell()) {
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ public class PlayerZone extends Zone {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final String toString() {
|
public final String toString() {
|
||||||
return TextUtil.concatWithSpace(Lang.getPossesive(player.toString()), zoneType.toString());
|
return TextUtil.concatWithSpace(Lang.getInstance().getPossesive(player.toString()), zoneType.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public CardCollectionView getCardsPlayerCanActivate(Player who) {
|
public CardCollectionView getCardsPlayerCanActivate(Player who) {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ public class MessageUtil {
|
|||||||
public static String formatMessage(String message, Player player, Object related) {
|
public static String formatMessage(String message, Player player, Object related) {
|
||||||
if (related instanceof Player && message.indexOf("{player") >= 0) {
|
if (related instanceof Player && message.indexOf("{player") >= 0) {
|
||||||
String noun = mayBeYou(player, related);
|
String noun = mayBeYou(player, related);
|
||||||
message = TextUtil.fastReplace(TextUtil.fastReplace(message, "{player}", noun),"{player's}", Lang.getPossesive(noun));
|
message = TextUtil.fastReplace(TextUtil.fastReplace(message, "{player}", noun),"{player's}", Lang.getInstance().getPossesive(noun));
|
||||||
}
|
}
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
@@ -22,7 +22,7 @@ public class MessageUtil {
|
|||||||
public static String formatMessage(String message, PlayerView player, Object related) {
|
public static String formatMessage(String message, PlayerView player, Object related) {
|
||||||
if (related instanceof PlayerView && message.indexOf("{player") >= 0) {
|
if (related instanceof PlayerView && message.indexOf("{player") >= 0) {
|
||||||
String noun = mayBeYou(player, related);
|
String noun = mayBeYou(player, related);
|
||||||
message = TextUtil.fastReplace(TextUtil.fastReplace(message, "{player}", noun),"{player's}", Lang.getPossesive(noun));
|
message = TextUtil.fastReplace(TextUtil.fastReplace(message, "{player}", noun),"{player's}", Lang.getInstance().getPossesive(noun));
|
||||||
}
|
}
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
@@ -48,7 +48,7 @@ public class MessageUtil {
|
|||||||
case FlipACoin:
|
case FlipACoin:
|
||||||
String flipper = StringUtils.capitalize(mayBeYou(player, target));
|
String flipper = StringUtils.capitalize(mayBeYou(player, target));
|
||||||
return sa.hasParam("NoCall")
|
return sa.hasParam("NoCall")
|
||||||
? Localizer.getInstance().getMessage("lblPlayerFlipComesUpValue", Lang.getPossesive(flipper), value)
|
? Localizer.getInstance().getMessage("lblPlayerFlipComesUpValue", Lang.getInstance().getPossesive(flipper), value)
|
||||||
: Localizer.getInstance().getMessage("lblPlayerActionFlip", flipper, Lang.joinVerb(flipper, value));
|
: Localizer.getInstance().getMessage("lblPlayerActionFlip", flipper, Lang.joinVerb(flipper, value));
|
||||||
case Protection:
|
case Protection:
|
||||||
return Localizer.getInstance().getMessage("lblPlayerChooseValue", choser, value);
|
return Localizer.getInstance().getMessage("lblPlayerChooseValue", choser, value);
|
||||||
@@ -66,9 +66,9 @@ public class MessageUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String mayBeYou(Player player, Object what) {
|
public static String mayBeYou(Player player, Object what) {
|
||||||
return what == null ? "(null)" : what == player ? "you" : what.toString();
|
return what == null ? "(null)" : what == player ? Localizer.getInstance().getMessage("lblYou") : what.toString();
|
||||||
}
|
}
|
||||||
public static String mayBeYou(PlayerView player, Object what) {
|
public static String mayBeYou(PlayerView player, Object what) {
|
||||||
return what == null ? "(null)" : what == player ? "you" : what.toString();
|
return what == null ? "(null)" : what == player ? Localizer.getInstance().getMessage("lblYou") : what.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public class CCombat implements ICDoc {
|
|||||||
|
|
||||||
if (defender instanceof CardView) {
|
if (defender instanceof CardView) {
|
||||||
final PlayerView controller = ((CardView) defender).getController();
|
final PlayerView controller = ((CardView) defender).getController();
|
||||||
display.append(Lang.getPossesive(controller.getName())).append(" ");
|
display.append(Lang.getInstance().getPossesive(controller.getName())).append(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
display.append(defender).append(" is attacked by:\n");
|
display.append(defender).append(" is attacked by:\n");
|
||||||
|
|||||||
@@ -1944,6 +1944,20 @@ lblRepeatAddCard=Wiederhole letztes Karten-hinzufügen
|
|||||||
lblRemoveFromGame=Entferne Karte aus dem Spiel
|
lblRemoveFromGame=Entferne Karte aus dem Spiel
|
||||||
lblRiggedRoll=Gezinkter Weltenwürfelwurf
|
lblRiggedRoll=Gezinkter Weltenwürfelwurf
|
||||||
lblWalkTo=Weltenwandere zu
|
lblWalkTo=Weltenwandere zu
|
||||||
|
#PhaseType.java
|
||||||
|
lblUntapStep=Untap step
|
||||||
|
lblUpkeepStep=Upkeep step
|
||||||
|
lblDrawStep=Draw step
|
||||||
|
lblMainPhase1=Main phase, precombat
|
||||||
|
lblCombatBeginStep=Beginning of Combat Step
|
||||||
|
lblCombatDeclareAttackersStep=Declare Attackers Step
|
||||||
|
lblCombatDeclareBlockersStep=Declare Blockers Step
|
||||||
|
lblCombatFirstStrikeDamageStep=First Strike Damage Step
|
||||||
|
lblCombatDamageStep=Combat Damage Step
|
||||||
|
lblCombatEndStep=End of Combat Step
|
||||||
|
lblMainPhase2=Main phase, postcombat
|
||||||
|
lblEndStep=End step
|
||||||
|
lblCleanupStep=Cleanup step
|
||||||
#ZoneType.java
|
#ZoneType.java
|
||||||
lblHandZone=Hand
|
lblHandZone=Hand
|
||||||
lblLibraryZone=Bibliothek
|
lblLibraryZone=Bibliothek
|
||||||
@@ -2052,6 +2066,8 @@ lblPlayerChooseValue={0} wähle {1}
|
|||||||
lblPlayerVoteValue={0} stimme für {1}
|
lblPlayerVoteValue={0} stimme für {1}
|
||||||
lblCardEffectValueIs=Der Wert von {0}s Effekt ist {1}
|
lblCardEffectValueIs=Der Wert von {0}s Effekt ist {1}
|
||||||
lblCardEffectToTargetValueIs=Der Wert von {0}s Effekt für {1} ist {2}
|
lblCardEffectToTargetValueIs=Der Wert von {0}s Effekt für {1} ist {2}
|
||||||
|
# TODO: If below is changed, also need to modify LangGerman.getPossesive() function
|
||||||
|
lblYou=you
|
||||||
#CardListChooser.java
|
#CardListChooser.java
|
||||||
lblAreYouSureWantPickCard=Willst du wirklich "{0}" nehmen?
|
lblAreYouSureWantPickCard=Willst du wirklich "{0}" nehmen?
|
||||||
lblSelectThisCardConfirm=Wähle diese Karte?
|
lblSelectThisCardConfirm=Wähle diese Karte?
|
||||||
|
|||||||
@@ -1944,6 +1944,20 @@ lblRepeatAddCard=Repeat Last Add Card
|
|||||||
lblRemoveFromGame=Remove Card from Game
|
lblRemoveFromGame=Remove Card from Game
|
||||||
lblRiggedRoll=Rigged Planar Roll
|
lblRiggedRoll=Rigged Planar Roll
|
||||||
lblWalkTo=Planeswalk to
|
lblWalkTo=Planeswalk to
|
||||||
|
#PhaseType.java
|
||||||
|
lblUntapStep=Untap step
|
||||||
|
lblUpkeepStep=Upkeep step
|
||||||
|
lblDrawStep=Draw step
|
||||||
|
lblMainPhase1=Main phase, precombat
|
||||||
|
lblCombatBeginStep=Beginning of Combat Step
|
||||||
|
lblCombatDeclareAttackersStep=Declare Attackers Step
|
||||||
|
lblCombatDeclareBlockersStep=Declare Blockers Step
|
||||||
|
lblCombatFirstStrikeDamageStep=First Strike Damage Step
|
||||||
|
lblCombatDamageStep=Combat Damage Step
|
||||||
|
lblCombatEndStep=End of Combat Step
|
||||||
|
lblMainPhase2=Main phase, postcombat
|
||||||
|
lblEndStep=End step
|
||||||
|
lblCleanupStep=Cleanup step
|
||||||
#ZoneType.java
|
#ZoneType.java
|
||||||
lblHandZone=hand
|
lblHandZone=hand
|
||||||
lblLibraryZone=library
|
lblLibraryZone=library
|
||||||
@@ -2052,6 +2066,7 @@ lblPlayerChooseValue={0} choose {1}
|
|||||||
lblPlayerVoteValue={0} vote {1}
|
lblPlayerVoteValue={0} vote {1}
|
||||||
lblCardEffectValueIs={0} effect''s value is {1}
|
lblCardEffectValueIs={0} effect''s value is {1}
|
||||||
lblCardEffectToTargetValueIs={0} effect''s value for {1} is {2}
|
lblCardEffectToTargetValueIs={0} effect''s value for {1} is {2}
|
||||||
|
lblYou=you
|
||||||
#CardListChooser.java
|
#CardListChooser.java
|
||||||
lblAreYouSureWantPickCard=Are you sure you want to pick ''{0}'' ?
|
lblAreYouSureWantPickCard=Are you sure you want to pick ''{0}'' ?
|
||||||
lblSelectThisCardConfirm=Select this card?
|
lblSelectThisCardConfirm=Select this card?
|
||||||
|
|||||||
@@ -1942,6 +1942,20 @@ lblRepeatAddCard=Repetir añadir última carta
|
|||||||
lblRemoveFromGame=Quitar carta del juego
|
lblRemoveFromGame=Quitar carta del juego
|
||||||
lblRiggedRoll=Rollo Plano montado
|
lblRiggedRoll=Rollo Plano montado
|
||||||
lblWalkTo=Planeswalk a
|
lblWalkTo=Planeswalk a
|
||||||
|
#PhaseType.java
|
||||||
|
lblUntapStep=Untap step
|
||||||
|
lblUpkeepStep=Upkeep step
|
||||||
|
lblDrawStep=Draw step
|
||||||
|
lblMainPhase1=Main phase, precombat
|
||||||
|
lblCombatBeginStep=Beginning of Combat Step
|
||||||
|
lblCombatDeclareAttackersStep=Declare Attackers Step
|
||||||
|
lblCombatDeclareBlockersStep=Declare Blockers Step
|
||||||
|
lblCombatFirstStrikeDamageStep=First Strike Damage Step
|
||||||
|
lblCombatDamageStep=Combat Damage Step
|
||||||
|
lblCombatEndStep=End of Combat Step
|
||||||
|
lblMainPhase2=Main phase, postcombat
|
||||||
|
lblEndStep=End step
|
||||||
|
lblCleanupStep=Cleanup step
|
||||||
#ZoneType.java
|
#ZoneType.java
|
||||||
lblHandZone=mano
|
lblHandZone=mano
|
||||||
lblLibraryZone=biblioteca
|
lblLibraryZone=biblioteca
|
||||||
@@ -2050,6 +2064,8 @@ lblPlayerChooseValue={0} elige {1}
|
|||||||
lblPlayerVoteValue={0} vota {1}
|
lblPlayerVoteValue={0} vota {1}
|
||||||
lblCardEffectValueIs=El valor del efecto de {0} es {1}
|
lblCardEffectValueIs=El valor del efecto de {0} es {1}
|
||||||
lblCardEffectToTargetValueIs=El valor del efecto de {0} para {1} es {2}
|
lblCardEffectToTargetValueIs=El valor del efecto de {0} para {1} es {2}
|
||||||
|
# TODO: If below is changed, also need to modify LangSpanish.getPossesive() function
|
||||||
|
lblYou=you
|
||||||
#CardListChooser.java
|
#CardListChooser.java
|
||||||
lblAreYouSureWantPickCard=¿Estás seguro de que quieres elegir ''{0}''?
|
lblAreYouSureWantPickCard=¿Estás seguro de que quieres elegir ''{0}''?
|
||||||
lblSelectThisCardConfirm=¿Selecciona esta carta?
|
lblSelectThisCardConfirm=¿Selecciona esta carta?
|
||||||
|
|||||||
@@ -1944,6 +1944,20 @@ lblRepeatAddCard=Repeat Last Add Card
|
|||||||
lblRemoveFromGame=Remove Card from Game
|
lblRemoveFromGame=Remove Card from Game
|
||||||
lblRiggedRoll=Rigged Planar Roll
|
lblRiggedRoll=Rigged Planar Roll
|
||||||
lblWalkTo=Planeswalk to
|
lblWalkTo=Planeswalk to
|
||||||
|
#PhaseType.java
|
||||||
|
lblUntapStep=Untap step
|
||||||
|
lblUpkeepStep=Upkeep step
|
||||||
|
lblDrawStep=Draw step
|
||||||
|
lblMainPhase1=Main phase, precombat
|
||||||
|
lblCombatBeginStep=Beginning of Combat Step
|
||||||
|
lblCombatDeclareAttackersStep=Declare Attackers Step
|
||||||
|
lblCombatDeclareBlockersStep=Declare Blockers Step
|
||||||
|
lblCombatFirstStrikeDamageStep=First Strike Damage Step
|
||||||
|
lblCombatDamageStep=Combat Damage Step
|
||||||
|
lblCombatEndStep=End of Combat Step
|
||||||
|
lblMainPhase2=Main phase, postcombat
|
||||||
|
lblEndStep=End step
|
||||||
|
lblCleanupStep=Cleanup step
|
||||||
#ZoneType.java
|
#ZoneType.java
|
||||||
lblHandZone=hand
|
lblHandZone=hand
|
||||||
lblLibraryZone=library
|
lblLibraryZone=library
|
||||||
@@ -2052,6 +2066,8 @@ lblPlayerChooseValue={0} choose {1}
|
|||||||
lblPlayerVoteValue={0} vote {1}
|
lblPlayerVoteValue={0} vote {1}
|
||||||
lblCardEffectValueIs={0} effect''s value is {1}
|
lblCardEffectValueIs={0} effect''s value is {1}
|
||||||
lblCardEffectToTargetValueIs={0} effect''s value for {1} is {2}
|
lblCardEffectToTargetValueIs={0} effect''s value for {1} is {2}
|
||||||
|
# TODO: If below is changed, also need to modify LangItalian.getPossesive() function
|
||||||
|
lblYou=you
|
||||||
#CardListChooser.java
|
#CardListChooser.java
|
||||||
lblAreYouSureWantPickCard=Are you sure you want to pick ''{0}'' ?
|
lblAreYouSureWantPickCard=Are you sure you want to pick ''{0}'' ?
|
||||||
lblSelectThisCardConfirm=Select this card?
|
lblSelectThisCardConfirm=Select this card?
|
||||||
|
|||||||
@@ -337,10 +337,10 @@ lblTeam=チーム
|
|||||||
lblKeep=キープ
|
lblKeep=キープ
|
||||||
lblYouAreGoingFirst=あなたが先攻です
|
lblYouAreGoingFirst=あなたが先攻です
|
||||||
lblIsGoingFirst=が先攻です
|
lblIsGoingFirst=が先攻です
|
||||||
lblYouAreGoing=あなたは後攻です
|
lblYouAreGoing=あなたの順番は
|
||||||
lblMulligan=マリガン
|
lblMulligan=マリガン
|
||||||
lblDoYouWantToKeepYourHand=手札をキープしますか?
|
lblDoYouWantToKeepYourHand=手札をキープしますか?
|
||||||
lblReturnForLondon=ライブラリの一番下に %d枚カードを返してください
|
lblReturnForLondon=ライブラリの一番下に %d枚カードを戻してください
|
||||||
lblOk=Ok
|
lblOk=Ok
|
||||||
lblReset=リセット
|
lblReset=リセット
|
||||||
lblAuto=自動
|
lblAuto=自動
|
||||||
@@ -1158,7 +1158,7 @@ lblPriority=優先権
|
|||||||
lblTurn=ターン
|
lblTurn=ターン
|
||||||
lblPhase=フェイズ
|
lblPhase=フェイズ
|
||||||
lblEmpty=なし
|
lblEmpty=なし
|
||||||
lbltoResolve=に対して解決する。
|
lbltoResolve=つ解決中。
|
||||||
lblStormCount=ストームカウント
|
lblStormCount=ストームカウント
|
||||||
#InputAttack.java
|
#InputAttack.java
|
||||||
lblCallBack=呼び戻す
|
lblCallBack=呼び戻す
|
||||||
@@ -1304,9 +1304,9 @@ lblErrorEntityWithId=Error: Entity with ID
|
|||||||
lblNotFound=not found
|
lblNotFound=not found
|
||||||
lblChooseAnnounceForCard={1}の{0}を選ぶ
|
lblChooseAnnounceForCard={1}の{0}を選ぶ
|
||||||
lblSacrifice=生け贄
|
lblSacrifice=生け贄
|
||||||
lblLookCardInPlayerZone={0}の{1}のカードを見る
|
lblLookCardInPlayerZone={0} {1}のカードを見る
|
||||||
lblPlayerZone={0} {1}
|
lblPlayerZone={0} {1}
|
||||||
lblActionFromPlayerDeck={1}のデッキから{0}
|
lblActionFromPlayerDeck={1}デッキから{0}
|
||||||
#AbstractGuiGame.java
|
#AbstractGuiGame.java
|
||||||
lblConcedeCurrentGame=これは現在のゲームを投了し、負けます。とにかく投了しますか?
|
lblConcedeCurrentGame=これは現在のゲームを投了し、負けます。とにかく投了しますか?
|
||||||
lblConcedeTitle=ゲームを投了する?
|
lblConcedeTitle=ゲームを投了する?
|
||||||
@@ -1384,24 +1384,24 @@ lblLogSurveiledToLibraryGraveyard={0}は諜報で {1}枚のカードをカード
|
|||||||
lblLogSurveiledToLibrary={0}は諜報で {1}枚のカードをカードをライブラリーのトップに置きました
|
lblLogSurveiledToLibrary={0}は諜報で {1}枚のカードをカードをライブラリーのトップに置きました
|
||||||
lblLogSurveiledToGraveyard={0}は諜報で {1}枚のカードを墓地に置きました
|
lblLogSurveiledToGraveyard={0}は諜報で {1}枚のカードを墓地に置きました
|
||||||
lblLogCardAbilityFizzles={0}の能力が立ち消えしました
|
lblLogCardAbilityFizzles={0}の能力が立ち消えしました
|
||||||
lblCast=唱える
|
lblCast=を唱えた
|
||||||
lblTriggered=誘発された
|
lblTriggered=が誘発された
|
||||||
lblActivated=起動された
|
lblActivated=を起動した
|
||||||
lblLogPlayerActionObjectWitchTarget={3}を対象に{0} {1} {2}
|
lblLogPlayerActionObjectWitchTarget={0}: {3}を対象に {2} {1}
|
||||||
lblLogPlayerActionObject={0} {1} {2}
|
lblLogPlayerActionObject={0}: {2} {1}
|
||||||
lblLogPlayerChosenModeForCard={0}は {2}の {1}を選択しました。
|
lblLogPlayerChosenModeForCard={0}は {2}の {1}を選択しました。
|
||||||
lblLogPlayerHasRestoredControlThemself={0}は自身の制御が戻りました
|
lblLogPlayerHasRestoredControlThemself={0}は自身の制御が戻りました
|
||||||
lblLogPlayerControlledTargetPlayer={0}は {1}によって制御されます
|
lblLogPlayerControlledTargetPlayer={0}は {1}によって制御されます
|
||||||
lblDeathtouch=接死
|
lblDeathtouch=接死
|
||||||
lblAsM1M1Counters=同等の -1/-1カウンター
|
lblAsM1M1Counters=同等の -1/-1カウンター
|
||||||
lblRemovingNLoyaltyCounter={0}個忠誠カウンターを除去
|
lblRemovingNLoyaltyCounter={0}個忠誠カウンターを除去
|
||||||
lblSourceDealsNDamageToDest={0}は {3}に対して {1}のダメージ({2})。
|
lblSourceDealsNDamageToDest={0}は {3}に対して {1}点のダメージ({2})。
|
||||||
lblLogPlayerPlayedLand={0}が {1}を置きました
|
lblLogPlayerPlayedLand={0}が {1}を置きました
|
||||||
lblLogTurnNOwnerByPlayer=ターン{0}({1})
|
lblLogTurnNOwnerByPlayer=ターン{0}({1})
|
||||||
lblLogAsPoisonCounters=(同等の毒カウンター)
|
lblLogAsPoisonCounters=(同等の毒カウンター)
|
||||||
lblCombat=戦闘
|
lblCombat=戦闘
|
||||||
lblNonCombat=非戦闘
|
lblNonCombat=非戦闘
|
||||||
lblLogSourceDealsNDamageOfTypeToDest={0}は {3}{4}に対して{1} {2}のダメージを与えました。
|
lblLogSourceDealsNDamageOfTypeToDest={0}は {3}{4}に対して{1} {2}点のダメージを与えました。
|
||||||
lblLogPlayerReceivesNPosionCounterFrom={0}は {2}から {1}個毒カウンターを貰いました。
|
lblLogPlayerReceivesNPosionCounterFrom={0}は {2}から {1}個毒カウンターを貰いました。
|
||||||
lblLogPlayerAssignedAttackerToAttackTarget={0}は {1}を {2}の攻撃に指定しました。
|
lblLogPlayerAssignedAttackerToAttackTarget={0}は {1}を {2}の攻撃に指定しました。
|
||||||
lblLogPlayerDidntBlockAttacker={0}が {1}をブロックしていません。
|
lblLogPlayerDidntBlockAttacker={0}が {1}をブロックしていません。
|
||||||
@@ -1736,14 +1736,14 @@ lblChooseColorReplace=置き換える色を表す単語を選ぶ
|
|||||||
lblChooseNewColor=別の色の単語を選ぶ
|
lblChooseNewColor=別の色の単語を選ぶ
|
||||||
#ChangeZoneEffect.java
|
#ChangeZoneEffect.java
|
||||||
lblDoYouWantMoveTargetFromOriToDest={0}を {1}から {2}へ移動しますか?
|
lblDoYouWantMoveTargetFromOriToDest={0}を {1}から {2}へ移動しますか?
|
||||||
lblPutThatCardFromPlayerOriginToDestination=カードを {0}の {1}から {2}へ移動します
|
lblPutThatCardFromPlayerOriginToDestination=カードを {0} {1}から {2}へ移動します
|
||||||
lblSearchPlayerZoneConfirm={0}の {1}を探しますか?
|
lblSearchPlayerZoneConfirm={0} {1}を探しますか?
|
||||||
lblCardMatchSearchingTypeInAlternateZones=枚もう一つの領域のカードが探すタイプと一致します。
|
lblCardMatchSearchingTypeInAlternateZones=枚もう一つの領域のカードが探すタイプと一致します。
|
||||||
lblLookingCardIn=カードを見る
|
lblLookingCardIn=カードを見る
|
||||||
lblDoYouWantPlayCard={0}をプレイしますか?
|
lblDoYouWantPlayCard={0}をプレイしますか?
|
||||||
lblSelectCardFromPlayerZone={0}の {1}から 1枚のカードを選ぶ
|
lblSelectCardFromPlayerZone={0} {1}から 1枚のカードを選ぶ
|
||||||
lblSelectUpToNumCardFromPlayerZone={1}の {2}から最大 {0}枚のカードを選ぶ
|
lblSelectUpToNumCardFromPlayerZone={1} {2}から最大 {0}枚のカードを選ぶ
|
||||||
lblSelectCardsFromPlayerZone={0}の {1}からカードを選ぶ
|
lblSelectCardsFromPlayerZone={0} {1}からカードを選ぶ
|
||||||
lblCancelSearchUpToSelectNumCards=探しを中止しますか? あと {0}枚までカードを選びます。
|
lblCancelSearchUpToSelectNumCards=探しを中止しますか? あと {0}枚までカードを選びます。
|
||||||
#ChangeZoneAllEffect.java
|
#ChangeZoneAllEffect.java
|
||||||
lblMoveTargetFromOriginToDestination={0}を {1}から {2}へ移動しますか?
|
lblMoveTargetFromOriginToDestination={0}を {1}から {2}へ移動しますか?
|
||||||
@@ -1754,7 +1754,7 @@ lblTotalPowerNum=パワーの合計:{0}
|
|||||||
lblCancelChooseConfirm=選びを中止しますか?
|
lblCancelChooseConfirm=選びを中止しますか?
|
||||||
#ChooseCardNameEffect.java
|
#ChooseCardNameEffect.java
|
||||||
lblChooseACardName=カード名 1つを選ぶ
|
lblChooseACardName=カード名 1つを選ぶ
|
||||||
lblChooseASpecificCard={0}のカード名 1つを選ぶ
|
lblChooseASpecificCard={0}カード名 1つを選ぶ
|
||||||
lblPlayerPickedChosen={0}が {1}を選択した
|
lblPlayerPickedChosen={0}が {1}を選択した
|
||||||
#ChooseColorEffect.java
|
#ChooseColorEffect.java
|
||||||
lblChooseAColor=色 1色を選ぶ
|
lblChooseAColor=色 1色を選ぶ
|
||||||
@@ -1944,6 +1944,20 @@ lblRepeatAddCard=Repeat Last Add Card
|
|||||||
lblRemoveFromGame=Remove Card from Game
|
lblRemoveFromGame=Remove Card from Game
|
||||||
lblRiggedRoll=Rigged Planar Roll
|
lblRiggedRoll=Rigged Planar Roll
|
||||||
lblWalkTo=Planeswalk to
|
lblWalkTo=Planeswalk to
|
||||||
|
#PhaseType.java
|
||||||
|
lblUntapStep=アンタップ・ステップ
|
||||||
|
lblUpkeepStep=アップキープ・ステップ
|
||||||
|
lblDrawStep=ドロー・ステップ
|
||||||
|
lblMainPhase1=戦闘前メイン・フェイズ
|
||||||
|
lblCombatBeginStep=戦闘開始ステップ
|
||||||
|
lblCombatDeclareAttackersStep=攻撃クリーチャー指定ステップ
|
||||||
|
lblCombatDeclareBlockersStep=ブロック・クリーチャー指定ステップ
|
||||||
|
lblCombatFirstStrikeDamageStep=先制戦闘ダメージ・ステップ
|
||||||
|
lblCombatDamageStep=通常戦闘ダメージ・ステップ
|
||||||
|
lblCombatEndStep=戦闘終了ステップ
|
||||||
|
lblMainPhase2=戦闘後メイン・フェイズ
|
||||||
|
lblEndStep=終了ステップ
|
||||||
|
lblCleanupStep=クリンナップ・ステップ
|
||||||
#ZoneType.java
|
#ZoneType.java
|
||||||
lblHandZone=手札
|
lblHandZone=手札
|
||||||
lblLibraryZone=ライブラリー
|
lblLibraryZone=ライブラリー
|
||||||
@@ -2052,6 +2066,7 @@ lblPlayerChooseValue={0}は{1}を選択します
|
|||||||
lblPlayerVoteValue={0}は{1}票を投票した
|
lblPlayerVoteValue={0}は{1}票を投票した
|
||||||
lblCardEffectValueIs={0}の効果の値は{1}です
|
lblCardEffectValueIs={0}の効果の値は{1}です
|
||||||
lblCardEffectToTargetValueIs={1}の{0}効果の値は{2}です
|
lblCardEffectToTargetValueIs={1}の{0}効果の値は{2}です
|
||||||
|
lblYou=あなた
|
||||||
#CardListChooser.java
|
#CardListChooser.java
|
||||||
lblAreYouSureWantPickCard=「{0}」選択してもいいですか?
|
lblAreYouSureWantPickCard=「{0}」選択してもいいですか?
|
||||||
lblSelectThisCardConfirm=このカードを選択しますか?
|
lblSelectThisCardConfirm=このカードを選択しますか?
|
||||||
|
|||||||
@@ -336,7 +336,7 @@ lblTeam=团队
|
|||||||
lblKeep=保留
|
lblKeep=保留
|
||||||
lblYouAreGoingFirst=你先手
|
lblYouAreGoingFirst=你先手
|
||||||
lblIsGoingFirst=是先手
|
lblIsGoingFirst=是先手
|
||||||
lblYouAreGoing=你将
|
lblYouAreGoing=你是
|
||||||
lblMulligan=调度
|
lblMulligan=调度
|
||||||
lblDoYouWantToKeepYourHand=你想保留这个手牌吗?
|
lblDoYouWantToKeepYourHand=你想保留这个手牌吗?
|
||||||
lblReturnForLondon=放回%d张牌到牌库底
|
lblReturnForLondon=放回%d张牌到牌库底
|
||||||
@@ -1942,6 +1942,20 @@ lblRepeatAddCard=重复上一张添加的牌
|
|||||||
lblRemoveFromGame=从游戏中删除牌
|
lblRemoveFromGame=从游戏中删除牌
|
||||||
lblRiggedRoll=触发时空骰
|
lblRiggedRoll=触发时空骰
|
||||||
lblWalkTo=时空换入
|
lblWalkTo=时空换入
|
||||||
|
#PhaseType.java
|
||||||
|
lblUntapStep=Untap step
|
||||||
|
lblUpkeepStep=Upkeep step
|
||||||
|
lblDrawStep=Draw step
|
||||||
|
lblMainPhase1=Main phase, precombat
|
||||||
|
lblCombatBeginStep=Beginning of Combat Step
|
||||||
|
lblCombatDeclareAttackersStep=Declare Attackers Step
|
||||||
|
lblCombatDeclareBlockersStep=Declare Blockers Step
|
||||||
|
lblCombatFirstStrikeDamageStep=First Strike Damage Step
|
||||||
|
lblCombatDamageStep=Combat Damage Step
|
||||||
|
lblCombatEndStep=End of Combat Step
|
||||||
|
lblMainPhase2=Main phase, postcombat
|
||||||
|
lblEndStep=End step
|
||||||
|
lblCleanupStep=Cleanup step
|
||||||
#ZoneType.java
|
#ZoneType.java
|
||||||
lblHandZone=手牌
|
lblHandZone=手牌
|
||||||
lblLibraryZone=牌库
|
lblLibraryZone=牌库
|
||||||
@@ -2050,6 +2064,7 @@ lblPlayerChooseValue={0}选择{1}
|
|||||||
lblPlayerVoteValue={0}投票给{1}
|
lblPlayerVoteValue={0}投票给{1}
|
||||||
lblCardEffectValueIs={0}效应的值为{1}
|
lblCardEffectValueIs={0}效应的值为{1}
|
||||||
lblCardEffectToTargetValueIs={0}对{1}的影响的值为{2}
|
lblCardEffectToTargetValueIs={0}对{1}的影响的值为{2}
|
||||||
|
lblYou=你
|
||||||
#CardListChooser.java
|
#CardListChooser.java
|
||||||
lblAreYouSureWantPickCard=确定要选择''{0}''吗?
|
lblAreYouSureWantPickCard=确定要选择''{0}''吗?
|
||||||
lblSelectThisCardConfirm=选择这张牌?
|
lblSelectThisCardConfirm=选择这张牌?
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
|
|||||||
final List<CardView> options = Lists.newArrayList();
|
final List<CardView> options = Lists.newArrayList();
|
||||||
for (final Entry<Player, Card> kv : ev.cards.entries()) {
|
for (final Entry<Player, Card> kv : ev.cards.entries()) {
|
||||||
//use fake card so real cards appear with proper formatting
|
//use fake card so real cards appear with proper formatting
|
||||||
final CardView fakeCard = new CardView(-1, null, " -- From " + Lang.getPossesive(kv.getKey().getName()) + " deck --");
|
final CardView fakeCard = new CardView(-1, null, " -- From " + Lang.getInstance().getPossesive(kv.getKey().getName()) + " deck --");
|
||||||
options.add(fakeCard);
|
options.add(fakeCard);
|
||||||
options.add(kv.getValue().getView());
|
options.add(kv.getValue().getView());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public class InputConfirmMulligan extends InputSyncronizedBase {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sb.append(startingPlayer.getName()).append(" ").append(localizer.getMessage("lblIsGoingFirst")).append(".\n");
|
sb.append(startingPlayer.getName()).append(" ").append(localizer.getMessage("lblIsGoingFirst")).append(".\n");
|
||||||
sb.append(player).append(", ").append(localizer.getMessage("lblYouAreGoing")).append(" ").append(Lang.getOrdinal(game.getPosition(player, startingPlayer))).append(".\n\n");
|
sb.append(player).append(", ").append(localizer.getMessage("lblYouAreGoing")).append(" ").append(Lang.getInstance().getOrdinal(game.getPosition(player, startingPlayer))).append(".\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
getController().getGui().updateButtons(getOwner(), localizer.getMessage("lblKeep"), localizer.getMessage("lblMulligan"), true, true, true);
|
getController().getGui().updateButtons(getOwner(), localizer.getMessage("lblKeep"), localizer.getMessage("lblMulligan"), true, true, true);
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ import forge.quest.data.QuestPreferences;
|
|||||||
import forge.tournament.TournamentData;
|
import forge.tournament.TournamentData;
|
||||||
import forge.util.CardTranslation;
|
import forge.util.CardTranslation;
|
||||||
import forge.util.FileUtil;
|
import forge.util.FileUtil;
|
||||||
|
import forge.util.Lang;
|
||||||
import forge.util.Localizer;
|
import forge.util.Localizer;
|
||||||
import forge.util.storage.IStorage;
|
import forge.util.storage.IStorage;
|
||||||
import forge.util.storage.StorageBase;
|
import forge.util.storage.StorageBase;
|
||||||
@@ -126,6 +127,7 @@ public final class FModel {
|
|||||||
throw new RuntimeException(exn);
|
throw new RuntimeException(exn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Lang.createInstance(FModel.getPreferences().getPref(FPref.UI_LANGUAGE));
|
||||||
Localizer.getInstance().initialize(FModel.getPreferences().getPref(FPref.UI_LANGUAGE), ForgeConstants.LANG_DIR);
|
Localizer.getInstance().initialize(FModel.getPreferences().getPref(FPref.UI_LANGUAGE), ForgeConstants.LANG_DIR);
|
||||||
|
|
||||||
final ProgressObserver progressBarBridge = (progressBar == null) ?
|
final ProgressObserver progressBarBridge = (progressBar == null) ?
|
||||||
|
|||||||
@@ -1874,7 +1874,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
|||||||
@Override
|
@Override
|
||||||
public void revealAnte(final String message, final Multimap<Player, PaperCard> removedAnteCards) {
|
public void revealAnte(final String message, final Multimap<Player, PaperCard> removedAnteCards) {
|
||||||
for (final Player p : removedAnteCards.keySet()) {
|
for (final Player p : removedAnteCards.keySet()) {
|
||||||
getGui().reveal(localizer.getMessage("lblActionFromPlayerDeck", message, Lang.getPossessedObject(MessageUtil.mayBeYou(player, p), "")),
|
getGui().reveal(localizer.getMessage("lblActionFromPlayerDeck", message, Lang.getInstance().getPossessedObject(MessageUtil.mayBeYou(player, p), "")),
|
||||||
ImmutableList.copyOf(removedAnteCards.get(p)));
|
ImmutableList.copyOf(removedAnteCards.get(p)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user