feedback5 WI: English game texts from the official EN client data (data/i18n/en.json) and the i18n core

shared/i18n.js: gettext-style t() / tc() with the Chinese text as msgid (untranslated -> Chinese), {name},
{0} and {n|one|other} params, lists, game-data names (dn / tName), setLang / getLang / onLangChange, and the
server message wire format (msg -> wireMessage -> translateWire). Chinese stays the default, English is a
switch (the owner's decision of 2026-10-05).

tools/build-i18n.mjs (build-data.mjs untouched) walks the zh_CN and EN tables side by side and writes
data/i18n/en.json: the official English of every data/*.json text by record id and field. Blackboard texts
are matched by template (the remake's numbers read back and filled into the English template); stage names
are composed; what the EN client lacks falls back to tools/i18n/fallback-remake.json and fallback-pr70.json
(PR #70 by @YuriRestia). Default EN source ArknightsAssets/ArknightsGamedata (has act2autochess);
Kengxxiao/ArknightsGameData_YoStar is archived (2025-11) and has no 盟约 season (--source yostar).
Coverage: 14 922 / 14 931 texts (99.9 %), 99.3 % official; only 9 CN-only 甄选 operator names stay Chinese.

shared/i18nData.js: the overlay format (index-aligned leaves + a 2-char hash of each Chinese source, so a
stale leaf is never applied). public/js/data.js: setLocale('en') downloads the overlay once; get / lookup /
list return localized copies; getRaw keeps the Chinese file; localeName maps names.
This commit is contained in:
sganggs committed 2026-10-05 20:19:43 +08:00
1 parent a98b02477d
commit e596478bef
8 files changed
+1593 -3

No files matched your search

+76
View File
@@ -0,0 +1,76 @@
{
"_about": "Fallback English for data/*.json texts the official EN tables lack (tools/build-i18n.mjs step 5). Taken from GitHub PR #70 (branch en-translation) by @YuriRestia, reused with credit (the owner's decision of 2026-10-05; NOTICE.md). Entries PR #70 took from ak-spa-database.pages.dev (no licence) are not included. Regenerate the list of untranslated texts with node tools/build-i18n.mjs (report: .cache/build-i18n-report.json `missing`).",
"“新车和新生活”": "\"New Car, New Life\"",
"“独属自己的一隅”": "\"A Corner of One's Own\"",
"“老朋友”": "\"Old Friend\"",
"【炎】6名成员激活时召唤的友方单位;开战时攻击力/生命值增加【炎】干员攻击力/生命值总和的30%(见 bonds.json yanShip)": "A friendly unit summoned when 6 members of [Yan] are active; at battle start, ATK/HP increased by 30% of the total ATK/HP of [Yan] Operators (see bonds.json yanShip)",
"伤心": "Sad",
"再见!": "Bye!",
"剑舞": "Sword Dance",
"博士士 1": "Doctor-tor 1",
"博士士 2": "Doctor-tor 2",
"博士士 3": "Doctor-tor 3",
"博士士 4": "Doctor-tor 4",
"博士士 5": "Doctor-tor 5",
"博士士 6": "Doctor-tor 6",
"合作愉快": "Nice teamwork",
"合作愉快!": "Nice teamwork!",
"在<@ba.kw>生息演算</>中,首次开启技能后,生命上限、攻击力、防御力提升至150%": "In <@ba.kw>Reclamation Algorithm</>, after the skill is activated for the first time, Max HP, ATK, and DEF increase to 150%",
"在<@ba.kw>集成战略</>中,自身和<替身>造成的物理和法术伤害提升40%,受到的物理和法术伤害减少40%": "In <@ba.kw>Integrated Strategies</>, Physical and Arts damage dealt by self and the <Substitute> +40%, Physical and Arts damage taken -40%",
"在生息演算中,首次开启技能后,生命上限、攻击力、防御力提升至150%": "In Reclamation Algorithm, after the skill is activated for the first time, Max HP, ATK, and DEF increase to 150%",
"在集成战略中,自身和<替身>造成的物理和法术伤害提升40%,受到的物理和法术伤害减少40%": "In Integrated Strategies, Physical and Arts damage dealt by self and the <Substitute> +40%, Physical and Arts damage taken -40%",
"害怕": "Scared",
"对不起": "Sorry",
"对不起!": "Sorry!",
"对敌方领袖造成伤害最高(仅胜利时)": "Highest damage dealt to the Enemy Leader (victory only)",
"开心": "Happy",
"归溟幽灵鲨特限证章": "Skadi the Corrupting Heart Limited Badge",
"很快就好!": "Almost done!",
"快死了": "Dying",
"思考": "Thinking",
"战场#04 活性源石": "Battlefield #04 Active Originium",
"战场#05(上半) 涨潮/特制水上平台": "Battlefield #05 (First Half) High Tide/Special Water Platform",
"战场#07(下半) 排气格栅": "Battlefield #07 (Second Half) Exhaust Grille",
"攻击力+8%,攻击被<$ba.tremble>战栗</>的目标时,无视目标33%的防御力,地面敌人首次进入自身攻击范围时,使其<$ba.tremble>战栗</>6秒": "ATK +8%; when attacking <$ba.tremble>Trembling</> targets, ignores 33% of the target's DEF; when a ground enemy first enters Attack Range, inflicts <$ba.tremble>Tremble</> on it for 6 seconds",
"攻击力+8%,攻击被战栗的目标时,无视目标33%的防御力,地面敌人首次进入自身攻击范围时,使其战栗6秒": "ATK +8%; when attacking Trembling targets, ignores 33% of the target's DEF; when a ground enemy first enters Attack Range, inflicts Tremble on it for 6 seconds",
"攻击命中生命值在80%以上的敌人时,3秒内异客对其造成的伤害提升20%;在<@ba.kw>生息演算</>中,每10秒选择场上5个目标进行雷击(密集的目标更易被选中),对范围内所有单位造成异客攻击力500%的法术伤害,并获得该范围内的视野12秒,使命中的友方单位获得2点技力": "When hitting an enemy with more than 80% HP, Passenger deals 20% more damage to it for 3 seconds; in <@ba.kw>Reclamation Algorithm</>, every 10 seconds strikes 5 targets on the field with lightning (dense targets are more likely to be chosen), dealing Arts damage equal to 500% of Passenger's ATK to all units in the area, granting vision of that area for 12 seconds, and giving hit friendly units 2 SP",
"攻击命中生命值在80%以上的敌人时,3秒内异客对其造成的伤害提升20%;在生息演算中,每10秒选择场上5个目标进行雷击(密集的目标更易被选中),对范围内所有单位造成异客攻击力500%的法术伤害,并获得该范围内的视野12秒,使命中的友方单位获得2点技力": "When hitting an enemy with more than 80% HP, Passenger deals 20% more damage to it for 3 seconds; in Reclamation Algorithm, every 10 seconds strikes 5 targets on the field with lightning (dense targets are more likely to be chosen), dealing Arts damage equal to 500% of Passenger's ATK to all units in the area, granting vision of that area for 12 seconds, and giving hit friendly units 2 SP",
"攻击时有25%的几率使目标<$ba.root>束缚</>1.5秒,首次命中敌人时提升至100%且<$ba.root>束缚</>时间提升至3秒": "Attacks have a 25% chance to <$ba.root>Bind</> the target for 1.5 seconds; the first hit on each enemy has a 100% chance and the <$ba.root>Bind</> duration is increased to 3 seconds",
"攻击时有25%的几率使目标束缚1.5秒,首次命中敌人时提升至100%且束缚时间提升至3秒": "Attacks have a 25% chance to Bind the target for 1.5 seconds; the first hit on each enemy has a 100% chance and the Bind duration is increased to 3 seconds",
"攻击范围内存在已受伤的友方干员时,自身造成的伤害提升至110%": "When there is an injured allied Operator within Attack Range, damage dealt increases to 110%",
"攻击范围内存在已受伤的友方干员时,自身造成的伤害提升至<@ba.kw>110%</>": "When there is an injured allied Operator within Attack Range, damage dealt increases to <@ba.kw>110%</>",
"敬礼!": "Salute!",
"新合同": "New Contract",
"晋升精锐次数最多": "Most Elite promotions",
"欢呼!": "Cheers!",
"欲雪时": "When Snow Is Coming",
"沟通小助手": "Little Communication Helper",
"没问题!": "No problem!",
"消耗资金最多": "Most Funds spent",
"激活的盟约层数总和最高": "Highest total activated Alliance Stacks",
"甄选干员": "Selected Operator",
"百炼嘉维尔特限证章": "Gavial the Invincible Limited Badge",
"目标生命值损失最少": "Least LP lost",
"策略【不稳定要素】(昆图斯)": "Strategy [Unstable Element] (Quintus)",
"米米子 1": "Mimiko 1",
"米米子 2": "Mimiko 2",
"米米子 3": "Mimiko 3",
"米米子 4": "Mimiko 4",
"米米子 5": "Mimiko 5",
"米米子 6": "Mimiko 6",
"维维美 1": "Wiwime 1",
"维维美 2": "Wiwime 2",
"维维美 3": "Wiwime 3",
"维维美 4": "Wiwime 4",
"维维美 5": "Wiwime 5",
"维维美 6": "Wiwime 6",
"表情套组:博士士": "Emote Set: Doctor-tor",
"表情套组:米米子": "Emote Set: Mimiko",
"表情套组:维维美": "Emote Set: Wiwime",
"装备配发数量最多": "Most Equipment equipped",
"谢谢": "Thanks",
"谢谢!": "Thanks!",
"造成伤害时有30%概率对敌人施加灼痕效果:攻击力-20%、38%的<$ba.magicfragile>【法术脆弱】</>,不可叠加持续8秒": "When dealing damage, 30% chance to inflict Scorch on the enemy: ATK -20% and 38% <$ba.magicfragile>[Arts Fragility]</>, non-stackable, lasts 8 seconds",
"造成伤害时有30%概率对敌人施加灼痕效果:攻击力-20%、38%的【法术脆弱】,不可叠加持续8秒": "When dealing damage, 30% chance to inflict Scorch on the enemy: ATK -20% and 38% [Arts Fragility], non-stackable, lasts 8 seconds",
"酷!": "Cool!"
}
+11
View File
@@ -0,0 +1,11 @@
{
"_about": "Fallback English for the remake's own data texts (names and notes tools/build-data.mjs writes; no official counterpart). Official EN terms where they exist: 'Active Originium', 'High Tide', 'Mutated Cells', 'Rockrock', 'Stronghold Protocol: Alliance' (the EN activity name). '排气格栅' follows PR #70's wording (no official EN occurrence found).",
"卫戍协议:盟约": "Stronghold Protocol: Alliance",
"活性源石": "Active Originium",
"涨潮": "High Tide",
"排气格栅": "Exhaust Grille",
"联防阵地(1名玩家)": "Unite Field (1 player)",
"联防阵地(2名玩家)": "Unite Field (2 players)",
"维多利亚盟约每25层 / 洛洛的定制品": "Victoria Alliance (every 25 stacks) / Rockrock's custom items",
"生效时原干员销毁,突变细胞与其他装备退回整备区,可再次配发;随后获得一名高一阶的随机初始干员(最高6阶),进入整备区,需要重新部署": "When it takes effect, the Operator is destroyed and the Mutated Cells and other equipment return to the Bench, ready to be equipped again; then a random starting Operator one Tier higher (up to Tier 6) joins the Bench and has to be deployed again"
}