simplified translations keys

This commit is contained in:
gnembon committed 2020-05-15 20:00:27 -03:00
1 parent 68093ed54a
commit 74c62e5a13
5 files changed
+93 -87

No files matched your search

@@ -231,7 +231,7 @@ public final class ParsedRule<T> implements Comparable<ParsedRule> {
private String translationKey() private String translationKey()
{ {
return String.format("carpet.rule.%s.name", name); return String.format("rule.%s.name", name);
} }
public String translatedName(){ public String translatedName(){
@@ -241,13 +241,13 @@ public final class ParsedRule<T> implements Comparable<ParsedRule> {
public String translatedDescription() public String translatedDescription()
{ {
return tr(String.format("carpet.rule.%s.desc", (name)), description); return tr(String.format("rule.%s.desc", (name)), description);
} }
public List<String> translatedExtras() public List<String> translatedExtras()
{ {
if (!Translations.hasTranslations()) return extraInfo; if (!Translations.hasTranslations()) return extraInfo;
String keyBase = String.format("carpet.rule.%s.extra.", name); String keyBase = String.format("rule.%s.extra.", name);
List<String> extras = new ArrayList<>(); List<String> extras = new ArrayList<>();
int i = 0; int i = 0;
while (Translations.hasTranslation(keyBase+i)) while (Translations.hasTranslation(keyBase+i))
@@ -352,7 +352,7 @@ public class SettingsManager
String ruleName = StringArgumentType.getString(ctx, "rule"); String ruleName = StringArgumentType.getString(ctx, "rule");
ParsedRule<?> rule = getRule(ruleName); ParsedRule<?> rule = getRule(ruleName);
if (rule == null) if (rule == null)
throw new SimpleCommandExceptionType(Messenger.c("rb "+ tr("carpet.ui.statement.unknown_rule","Unknown rule")+": "+ruleName)).create(); throw new SimpleCommandExceptionType(Messenger.c("rb "+ tr("ui.unknown_rule","Unknown rule")+": "+ruleName)).create();
return rule; return rule;
} }
@@ -370,16 +370,16 @@ public class SettingsManager
literalargumentbuilder.executes((context)-> listAllSettings(context.getSource())). literalargumentbuilder.executes((context)-> listAllSettings(context.getSource())).
then(literal("list"). then(literal("list").
executes( (c) -> listSettings(c.getSource(), String.format(tr("carpet.ui.statement.all_%s_settings","All %s Settings"), fancyName), executes( (c) -> listSettings(c.getSource(), String.format(tr("ui.all_%(mod)s_settings","All %s Settings"), fancyName),
getRules())). getRules())).
then(literal("defaults"). then(literal("defaults").
executes( (c)-> listSettings(c.getSource(), executes( (c)-> listSettings(c.getSource(),
String.format(tr("carpet.ui.statement.current_%s_startup_settings_from_%s","Current %s Startup Settings from %s"), fancyName, (identifier+".conf")), String.format(tr("ui.current_%(mod)s_startup_settings_from_%(conf)s","Current %s Startup Settings from %s"), fancyName, (identifier+".conf")),
findStartupOverrides()))). findStartupOverrides()))).
then(argument("tag",StringArgumentType.word()). then(argument("tag",StringArgumentType.word()).
suggests( (c, b)->suggestMatching(getCategories(), b)). suggests( (c, b)->suggestMatching(getCategories(), b)).
executes( (c) -> listSettings(c.getSource(), executes( (c) -> listSettings(c.getSource(),
String.format(tr("carpet.ui.statement.%s_settings_matching_'%s'","%s Settings matching \"%s\""), fancyName, tr("carpet.ui.category." + StringArgumentType.getString(c, "tag"),StringArgumentType.getString(c, "tag"))), String.format(tr("ui.%(mod)s_settings_matching_'%(query)s'","%s Settings matching \"%s\""), fancyName, tr("category." + StringArgumentType.getString(c, "tag"),StringArgumentType.getString(c, "tag"))),
getRulesMatching(StringArgumentType.getString(c, "tag")))))). getRulesMatching(StringArgumentType.getString(c, "tag")))))).
then(literal("removeDefault"). then(literal("removeDefault").
requires(s -> !locked). requires(s -> !locked).
@@ -414,7 +414,7 @@ public class SettingsManager
} }
catch (CommandSyntaxException e) catch (CommandSyntaxException e)
{ {
Messenger.m(source, "w "+ displayName +" "+ tr( "carpet.ui.statement.is_set_to","is set to")+": ","wb "+rule.getAsString()); Messenger.m(source, "w "+ displayName +" "+ tr( "ui.is_set_to","is set to")+": ","wb "+rule.getAsString());
return 1; return 1;
} }
@@ -425,17 +425,17 @@ public class SettingsManager
rule.translatedExtras().forEach(s -> Messenger.m(player, "g "+s)); rule.translatedExtras().forEach(s -> Messenger.m(player, "g "+s));
List<BaseText> tags = new ArrayList<>(); List<BaseText> tags = new ArrayList<>();
tags.add(Messenger.c("w "+ tr("carpet.ui.statement.tags", "Tags")+": ")); tags.add(Messenger.c("w "+ tr("ui.tags", "Tags")+": "));
for (String t: rule.categories) for (String t: rule.categories)
{ {
String translated = tr("carpet.ui.category." + t, t); String translated = tr("category." + t, t);
tags.add(Messenger.c("c ["+ translated +"]", "^g "+ String.format(tr("list_all_%s_settings","list all %s settings"), translated),"!/"+identifier+" list "+t)); tags.add(Messenger.c("c ["+ translated +"]", "^g "+ String.format(tr("list_all_%s_settings","list all %s settings"), translated),"!/"+identifier+" list "+t));
tags.add(Messenger.c("w , ")); tags.add(Messenger.c("w , "));
} }
tags.remove(tags.size()-1); tags.remove(tags.size()-1);
Messenger.m(player, tags.toArray(new Object[0])); Messenger.m(player, tags.toArray(new Object[0]));
Messenger.m(player, "w "+ tr("carpet.ui.statement.current_value", "Current value")+": ",String.format("%s %s (%s value)",rule.getBoolValue()?"lb":"nb", rule.getAsString(),rule.isDefault()?"default":"modified")); Messenger.m(player, "w "+ tr("ui.current_value", "Current value")+": ",String.format("%s %s (%s value)",rule.getBoolValue()?"lb":"nb", rule.getAsString(),rule.isDefault()?"default":"modified"));
List<BaseText> options = new ArrayList<>(); List<BaseText> options = new ArrayList<>();
options.add(Messenger.c("w Options: ", "y [ ")); options.add(Messenger.c("w Options: ", "y [ "));
for (String o: rule.options) for (String o: rule.options)
@@ -453,8 +453,8 @@ public class SettingsManager
private int setRule(ServerCommandSource source, ParsedRule<?> rule, String newValue) private int setRule(ServerCommandSource source, ParsedRule<?> rule, String newValue)
{ {
if (rule.set(source, newValue) != null) if (rule.set(source, newValue) != null)
Messenger.m(source, "w "+rule.toString()+", ", "c ["+ tr("carpet.ui.statement.change_permanently","change permanently")+"?]", Messenger.m(source, "w "+rule.toString()+", ", "c ["+ tr("ui.change_permanently","change permanently")+"?]",
"^w "+String.format(tr("carpet.ui.statement.click_to_keep_the_settings_in_%s_to_save_across_restarts","Click to keep the settings in %s to save across restarts"), identifier+".conf"), "^w "+String.format(tr("ui.click_to_keep_the_settings_in_%(conf)s_to_save_across_restarts","Click to keep the settings in %s to save across restarts"), identifier+".conf"),
"?/"+identifier+" setDefault "+rule.name+" "+rule.getAsString()); "?/"+identifier+" setDefault "+rule.name+" "+rule.getAsString());
return 1; return 1;
} }
@@ -469,7 +469,7 @@ public class SettingsManager
writeSettingsToConf(conf.getLeft()); // this may feels weird, but if conf writeSettingsToConf(conf.getLeft()); // this may feels weird, but if conf
// is locked, it will never reach this point. // is locked, it will never reach this point.
rule.set(source,stringValue); rule.set(source,stringValue);
Messenger.m(source ,"gi "+String.format(tr("carpet.ui.statement.rule_%s_will_now_default_to_%s","rule %s will now default to %s"), rule.translatedName(), stringValue)); Messenger.m(source ,"gi "+String.format(tr("ui.rule_%(rule)s_will_now_default_to_%(value)s","rule %s will now default to %s"), rule.translatedName(), stringValue));
return 1; return 1;
} }
// removes overrides of the default values in the file // removes overrides of the default values in the file
@@ -516,10 +516,10 @@ public class SettingsManager
} }
String baseText = style + (brackets ? " [" : " ") + option + (brackets ? "]" : ""); String baseText = style + (brackets ? " [" : " ") + option + (brackets ? "]" : "");
if (locked) if (locked)
return Messenger.c(baseText, "^g "+fancyName+" " + tr("carpet.ui.statement.settings_are_locked","settings are locked")); return Messenger.c(baseText, "^g "+fancyName+" " + tr("ui.settings_are_locked","settings are locked"));
if (option.equalsIgnoreCase(rule.getAsString())) if (option.equalsIgnoreCase(rule.getAsString()))
return Messenger.c(baseText); return Messenger.c(baseText);
return Messenger.c(baseText, "^g "+ tr("carpet.ui.statement.switch_to","Switch to") +" " + option+(option.equalsIgnoreCase(rule.defaultAsString)?" (default)":""), "?/"+identifier+" " + rule.name + " " + option); return Messenger.c(baseText, "^g "+ tr("ui.switch_to","Switch to") +" " + option+(option.equalsIgnoreCase(rule.defaultAsString)?" (default)":""), "?/"+identifier+" " + rule.name + " " + option);
} }
private int listSettings(ServerCommandSource source, String title, Collection<ParsedRule<?>> settings_list) private int listSettings(ServerCommandSource source, String title, Collection<ParsedRule<?>> settings_list)
@@ -541,24 +541,25 @@ public class SettingsManager
private int listAllSettings(ServerCommandSource source) private int listAllSettings(ServerCommandSource source)
{ {
//listSettings(source, "Current "+fancyName+" Settings", getNonDefault()); //listSettings(source, "Current "+fancyName+" Settings", getNonDefault());
listSettings(source, String.format(tr("carpet.ui.statement.current_%s_settings","Current %s Settings"), fancyName), getNonDefault()); listSettings(source, String.format(tr("ui.current_%(mod)s_settings","Current %s Settings"), fancyName), getNonDefault());
if (version != null) if (version != null)
//Messenger.m(source, "g "+fancyName+" version: "+ version); //Messenger.m(source, "g "+fancyName+" version: "+ version);
Messenger.m(source, "g "+fancyName+" "+ tr("carpet.ui.statement.version", "version") + ": "+ version); Messenger.m(source, "g "+fancyName+" "+ tr("ui.version", "version") + ": "+ version);
try try
{ {
PlayerEntity player = source.getPlayer(); PlayerEntity player = source.getPlayer();
List<Object> tags = new ArrayList<>(); List<Object> tags = new ArrayList<>();
//tags.add("w Browse Categories:\n"); //tags.add("w Browse Categories:\n");
tags.add("w " + tr("carpet.ui.statement.browse_categories", "Browse Categories") + ":\n"); tags.add("w " + tr("ui.browse_categories", "Browse Categories") + ":\n");
for (String t : getCategories()) for (String t : getCategories())
{ {
String translated = tr("carpet.ui.category." + t, t); String catKey = "category." + t;
String translatedPlus = Translations.hasTranslation("carpet.ui.category." + t) ? tr("carpet.ui.category." + t, t) + String.format(" (%s)", t) : t; String translated = tr(catKey, t);
String translatedPlus = Translations.hasTranslation(catKey) ? String.format("%s (%s)",tr(catKey, t), t) : t;
tags.add("c [" + translated +"]"); tags.add("c [" + translated +"]");
//tags.add("^g list all " + translated + " settings"); //tags.add("^g list all " + translated + " settings");
tags.add("^g " + String.format(tr("carpet.ui.statement.list_all_%s_settings","list all %s settings"), translatedPlus)); tags.add("^g " + String.format(tr("ui.list_all_%(cat)s_settings","list all %s settings"), translatedPlus));
tags.add("!/"+identifier+" list " + t); tags.add("!/"+identifier+" list " + t);
tags.add("w "); tags.add("w ");
} }
@@ -57,6 +57,7 @@ public class Translations
Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create(); Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
Type type = new TypeToken<Map<String, String>>() {}.getType(); Type type = new TypeToken<Map<String, String>>() {}.getType();
translationMap = gson.fromJson(langJs, type); translationMap = gson.fromJson(langJs, type);
translationMap.entrySet().removeIf(e -> e.getKey().startsWith("//"));
} }
@@ -3,47 +3,51 @@
// But it could be a good example for writing the language file for other languages. // But it could be a good example for writing the language file for other languages.
{ {
"carpet.rule.portalSuffocationFix.name": "", "// Rules:": "",
"// the key is genetated as:" : "String.format('carpet.rule.%s.name', rule.name)", "rule.portalSuffocationFix.name": "",
"// the key is genetated as:" : "String.format('rule.%s.name', rule.name)",
"carpet.rule.portalSuffocationFix.desc": "", "rule.portalSuffocationFix.desc": "",
"// the key is genetated as:" : "String.format('carpet.rule.%s.desc', rule.name)", "// the key is genetated as:" : "String.format('rule.%s.desc', rule.name)",
"carpet.rule.portalSuffocationFix.extra.0": "", "rule.portalSuffocationFix.extra.0": "",
"carpet.rule.portalSuffocationFix.extra.1": "", "rule.portalSuffocationFix.extra.1": "",
"// the key is genetated as:" : "String.format('carpet.rule.%s.extra.%i', rule.name, index)", "// the key is genetated as:" : "String.format('rule.%s.extra.%i', rule.name, index)",
"carpet.ui.category.bugfix": "bugfix", "// Categories:": "",
"carpet.ui.category.survival": "survival",
"carpet.ui.category.creative": "creative",
"carpet.ui.category.experimental": "experimental",
"carpet.ui.category.optimization": "optimization",
"carpet.ui.category.feature": "feature",
"carpet.ui.category.command": "command",
"carpet.ui.category.tnt": "TNT",
"carpet.ui.category.dispenser": "dispenser",
"carpet.ui.category.scarpet": "scarpet",
"carpet.ui.category.client": "client",
"category.bugfix": "bugfix",
"category.survival": "survival",
"category.creative": "creative",
"category.experimental": "experimental",
"category.optimization": "optimization",
"category.feature": "feature",
"category.command": "command",
"category.tnt": "TNT",
"category.dispenser": "dispenser",
"category.scarpet": "scarpet",
"category.client": "client",
"carpet.ui.statement.browse_categories": "Brouse categories", "// Settings command UI elements": "",
"carpet.ui.statement.list_all_%s_settings": "list all %s settings",
"carpet.ui.statement.version": "Version", "ui.browse_categories": "Browse categories",
"carpet.ui.statement.current_%s_settings": "Current %s settings", "ui.list_all_%(cat)s_settings": "list all %s settings",
"carpet.ui.statement.switch_to": "Switch to", "ui.version": "Version",
"carpet.ui.statement.settings_are_locked": "settings are locked", "ui.current_%(mod)s_settings": "Current %s settings",
"carpet.ui.statement.is_set_to": "is set to", "ui.switch_to": "Switch to",
"carpet.ui.statement.unknown_rule": "Unknown ruls", "ui.settings_are_locked": "settings are locked",
"carpet.ui.statement.current_%s_startup_settings_from_%s": "current %s startup settings from %s", "ui.is_set_to": "is set to",
"carpet.ui.statement.%s_settings_matching_'%s'": "%s settings matching \"%s\" ", "ui.unknown_rule": "Unknown rule",
"carpet.ui.statement.all_%s_settings": "all %s settings", "ui.current_%(mod)s_startup_settings_from_%(conf)s": "Current %s Startup Settings from %s",
"carpet.ui.statement.tags": "Tags", "ui.%(mod)s_settings_matching_'%(query)s'": "%s settings matching \"%s\" ",
"carpet.ui.statement.change_permanently": "Change permanently", "ui.all_%(mod)s_settings": "All %s settings",
"carpet.ui.statement.click_to_keep_the_settings_in_%s_to_save_across_restarts": "click to keep the settings in %s to save across restarts", "ui.tags": "Tags",
"carpet.ui.statement.rule_%s_will_now_default_to_%s": "rule %s will now default to %s", "ui.change_permanently": "Change permanently",
"carpet.ui.statement.current_value": "current value" "ui.click_to_keep_the_settings_in_%(conf)s_to_save_across_restarts": "click to keep the settings in %s to save across restarts",
"ui.rule_%(rule)s_will_now_default_to_%(value)s": "rule %s will now default to %s",
"ui.current_value": "current value"
} }
@@ -1,41 +1,41 @@
{ {
"carpet.rule.portalSuffocationFix.name": "传送门窒息修复", "rule.portalSuffocationFix.name": "传送门窒息修复",
"carpet.rule.portalSuffocationFix.desc": "使下界传送门正确地传送实体", "rule.portalSuffocationFix.desc": "使下界传送门正确地传送实体",
"carpet.rule.portalSuffocationFix.extra.0": "0000000", "rule.portalSuffocationFix.extra.0": "0000000",
"carpet.rule.portalSuffocationFix.extra.1": "1111111", "rule.portalSuffocationFix.extra.1": "1111111",
"carpet.ui.category.bugfix": "BUG修复", "category.bugfix": "BUG修复",
"carpet.ui.category.survival": "生存", "category.survival": "生存",
"carpet.ui.category.creative": "创造", "category.creative": "创造",
"carpet.ui.category.experimental": "试验性", "category.experimental": "试验性",
"carpet.ui.category.optimization": "优化", "category.optimization": "优化",
"carpet.ui.category.feature": "特性", "category.feature": "特性",
"carpet.ui.category.command": "指令", "category.command": "指令",
"carpet.ui.category.tnt": "TNT", "category.tnt": "TNT",
"carpet.ui.category.dispenser": "发射器", "category.dispenser": "发射器",
"carpet.ui.category.scarpet": "SCarpet脚本语言", "category.scarpet": "scarpet脚本语言",
"carpet.ui.category.client": "客户端", "category.client": "客户端",
"carpet.ui.statement.browse_categories": "浏览分类", "ui.browse_categories": "浏览分类",
"carpet.ui.statement.list_all_%s_settings": "列出所有 %s 选项", "ui.list_all_%(cat)s_settings": "列出所有 %s 选项",
"carpet.ui.statement.version": "版本", "ui.version": "版本",
"carpet.ui.statement.current_%s_settings": "目前启用的 %s 选项", "ui.current_%(mod)s_settings": "目前启用的 %s 选项",
"carpet.ui.statement.switch_to": "切换至", "ui.switch_to": "切换至",
"carpet.ui.statement.settings_are_locked": "选项被锁定", "ui.settings_are_locked": "选项被锁定",
"carpet.ui.statement.is_set_to": "被设置为", "ui.is_set_to": "被设置为",
"carpet.ui.statement.unknown_rule": "未知的规则选项", "ui.unknown_rule": "未知的规则选项",
"carpet.ui.statement.current_%s_startup_settings_from_%s": "目前启用的%s选项,从%s中读取得", "ui.current_%(mod)s_startup_settings_from_%(conf)s": "目前启用的%s选项,从%s中读取得",
"carpet.ui.statement.%s_settings_matching_'%s'": "%s中符合\"%s\"的选项:", "ui.%(mod)s_settings_matching_'%(query)s'": "%s中符合\"%s\"的选项:",
"carpet.ui.statement.all_%s_settings": "所有的%s选项", "ui.all_%(mod)s_settings": "所有的%s选项",
"carpet.ui.statement.tags": "分类", "ui.tags": "分类",
"carpet.ui.statement.change_permanently": "永久更改", "ui.change_permanently": "永久更改",
"carpet.ui.statement.click_to_keep_the_settings_in_%s_to_save_across_restarts": "点击此按钮以使此选项保存于%s,重启后依旧生效", "ui.click_to_keep_the_settings_in_%(conf)s_to_save_across_restarts": "点击此按钮以使此选项保存于%s,重启后依旧生效",
"carpet.ui.statement.rule_%s_will_now_default_to_%s": "规则%s将会被默认设置为%s", "ui.rule_%(rule)s_will_now_default_to_%(value)s": "规则%s将会被默认设置为%s",
"carpet.ui.statement.current_value": "当前的值" "ui.current_value": "当前的值"
} }