zh locale: translate skill names and descriptions
skilldesc.txt takes Longju's name, description and condition columns and its affect texts where their format arguments match 40250's; a reviewed overlay fills the gaps and renames the empire languages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
f8bbfc7fb3
commit
34c6049199
@@ -82,6 +82,23 @@ class LocaleBuildTest(unittest.TestCase):
|
||||
self.assertEqual((root / "out.txt").read_bytes().decode("gbk"), "1\t金币\n2\t剑\n")
|
||||
self.assertEqual(result["overlaid"], 1)
|
||||
|
||||
def test_skilldesc_keeps_format_arguments(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
root = Path(directory)
|
||||
blank = [""] * 22
|
||||
en_row = ["20", "WARRIOR", "Sword Strike", "Bolt", "Hurl", "Attack.", "Long-Range", "Multi", "Faint"] + blank
|
||||
en_row[17], en_row[20] = "Attack Power %.0f-%.0f", "Faint Chance %.0f%%"
|
||||
zh_row = ["20", "WARRIOR", "剑风", "斩气决", "剑气冲霄", "快速挥动 |打击敌人", "远程攻击", "", "击晕"] + blank
|
||||
zh_row[17] = "攻击力 %.0f-%.0f"
|
||||
(root / "en.txt").write_bytes(("\t".join(en_row) + "\n").encode("cp1252"))
|
||||
(root / "zh.txt").write_bytes(("\t".join(zh_row) + "\n").encode("gbk"))
|
||||
(root / "overlay.txt").write_text("VNUM\tCOLUMN\tTEXT\n20\t7\t多目标攻击\n20\t20\t气绝 %.0f\n")
|
||||
result = MODULE.merge_skilldesc(root / "en.txt", root / "zh.txt", root / "out.txt", root / "overlay.txt")
|
||||
row = (root / "out.txt").read_bytes().decode("gbk").rstrip("\n").split("\t")
|
||||
self.assertEqual(row[2:9], ["剑风", "斩气决", "剑气冲霄", "快速挥动 |打击敌人", "远程攻击", "多目标攻击", "击晕"])
|
||||
self.assertEqual((row[17], row[20]), ("攻击力 %.0f-%.0f", "Faint Chance %.0f%%"))
|
||||
self.assertEqual(result["incompatible_format_cells"], ["20:20"])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user