feat(i18n): author es/fr/ja annotation translations + merge into manifest

41 clips, 753 string-variants per language, structure-validated (key-sets
and tier-counts identical to en). Escalation semantics preserved.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
BenStullsBets
2026-06-29 18:54:37 -07:00
parent dcdc3d62f7
commit 8df7859c5a
5 changed files with 14323 additions and 7050 deletions
+25
View File
@@ -0,0 +1,25 @@
import json
from pathlib import Path
LANGS = ["en", "es", "fr", "ja"]
MANIFEST = Path("simulator/sample_media/manifest.json")
def _tier_len(v):
return len(v) if isinstance(v, list) else 0 # 0 = plain string
def test_every_clip_has_all_languages_with_matching_shape():
manifest = json.loads(MANIFEST.read_text(encoding="utf-8"))
for clip in manifest["clips"]:
s = clip.get("strings", {})
en = s.get("en")
if not en:
continue
for lang in LANGS:
assert lang in s, f"{clip['id']} missing language {lang}"
assert set(s[lang]) == set(en), f"{clip['id']}/{lang} key-set differs from en"
for key, en_val in en.items():
assert _tier_len(s[lang][key]) == _tier_len(en_val), (
f"{clip['id']}/{lang}/{key} tier-count differs from en"
)