i18n: Feat/add zig wasm - #1032
livecodes-ci[bot] wants to merge 2 commits into
Conversation
Deploying livecodes with
|
| Latest commit: |
67ba423
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://a7a41011.livecodes.pages.dev |
| Branch Preview URL: | https://i18n-seth0x41-feat-add-zig-w.livecodes.pages.dev |
✅ Deploy Preview for livecodes ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Size Change: 0 B Total Size: 1.13 MB ℹ️ View Unchanged
|
|
There was a problem hiding this comment.
Important
The rustWasm translations are correct, but this pull also rewrites existing link placeholders in unrelated languages. Across 12 locales go.link loses its trailing "LiveCodes Documentation" pair, and across 11 locales java.link does the same; both silently drop the "Load starter template" button and move that label onto the documentation link. hi, ur, ja and zh-CN additionally come back with malformed or non-ASCII tag markers. These are regressions in previously working translations and should be repaired before merge.
Reviewed changes
2 commits / 69 files. Adds Lokalise translations for the new Rust (Wasm) language and, incidentally, rewrites several pre-existing strings.
rustWasmadditions —rustWasm.name/desc/linkplustemplates.starter.rust-wasmin all 17 non-English locales. Placeholder sequences match theensource (rustWasm.desc=<tag-1>for Miri;rustWasm.link=<tag-1>..<tag-10>). No issues found here.go.link/java.linkcorruption — placeholder sets shortened, dropping the docs entry and the starter-template button (details below).- Malformed
csharpWasm.link/jinja.link—hi,urandzh-CNstrings containing non-ASCII/partial markers and unbalanced tags.
⚠️ Corrupted link placeholders break the language-info tooltip in 12 locales
unabstractifyHTML maps each translation tag-N onto the N-th element of the language's default HTML, so when a translation references fewer tags than the default the omitted elements are never created. This pull shortens go.link from en's <tag-1>..<tag-12> to <tag-1>..<tag-10> and java.link from <tag-1>..<tag-10> to <tag-1>..<tag-8>, so the "LiveCodes Documentation" item disappears and the "Load starter template" label is rendered on the docs anchor instead of the (now-missing) starter button.
Technical details
# Corrupted link placeholders
## Affected sites
- `go.link` reduced 12→10 tags: `src/livecodes/i18n/locales/{ar,de,es,fa,fr,hi,it,ja,pt,ru,ur,zh-CN}/language-info.lokalise.json` (new line 241 in each) plus the generated `language-info.ts` (new lines 135–141).
- `java.link` reduced 10→8 tags: `src/livecodes/i18n/locales/{ar,de,es,fr,hi,it,ja,pt,ru,ur,zh-CN}/language-info.lokalise.json` (line 286) plus `language-info.ts` (lines 160–166).
- Tag count intact but nesting/text malformed: `hi/language-info.lokalise.json` `csharpWasm.link` (136) and `jinja.link` (304); `ur/language-info.lokalise.json` `java.link` (286) and `jinja.link` (304). The `zh-CN`, `ja`, `hi`, `ur` `java.link` values collapse all text into `tag-2` or swap closing tags.
- Unrelated non-i18n change: `storybook/solid/src/solid.ts:13` (eslint-disable comment replaced with a trailing space).
## Required outcome
- Every locale's `go.link` again references `<tag-1>`..`<tag-12>` and `java.link` references `<tag-1>`..`<tag-10>`, with the original localized text restored.
- `hi`/`ur` malformed strings repaired using ASCII `tag-N` markers with balanced open/close pairs.
- The `storybook/solid/src/solid.ts` comment restored.
## Suggested approach
- Revert the unrelated `go.link`, `java.link`, `jinja.link` and `csharpWasm.link` hunks to their base values, keeping only the `rustWasm` + `templates.starter.rust-wasm` additions.
- The same broken strings also live in Lokalise and will be re-pulled, so correct the Lokalise `en` source's placeholder layout as well.
- `.ts` files are generated from the sibling `.lokalise.json` by `scripts/i18n-import.mjs`; fix the `.lokalise.json` and regenerate instead of hand-editing both.
## Open questions for the human
- Was the `go.link`/`java.link` shortening intentional (i.e. should `en` + `language-info.html` drop the "LiveCodes Documentation" item), or is this Lokalise drift that should be rejected?ℹ️ Nitpicks
storybook/solid/src/solid.ts:13— the// eslint-disable-next-line import/ordercomment was replaced with a trailing space; restore it so the diff stays scoped to i18n.- PR title/branch say "add zig wasm" but the content adds Rust (Wasm) translations; consider renaming for future archaeology.
openrouter/deepseek/deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏
| }, | ||
| "go.link": { | ||
| "translation": "<tag-1><tag-2>موقع جو</tag-2></tag-1> <tag-3><tag-4>وثائق جو</tag-4></tag-3> <tag-5> <tag-6>مستودع GopherJS</tag-6> </tag-5> <tag-7> <tag-8>تعلم X في Y دقيقة، حيث X=Go</tag-8> </tag-7> <tag-9> <tag-10>وثائق LiveCodes</tag-10> </tag-9> <tag-11> <tag-12>تحميل قالب البداية</tag-12> </tag-11>" | ||
| "translation": "<tag-1><tag-2>موقع جو</tag-2></tag-1> <tag-3><tag-4>وثائق جو</tag-4></tag-3> <tag-5> <tag-6>مستودع GopherJS</tag-6> </tag-5> <tag-7> <tag-8>تعلم X في Y دقيقة، حيث X=Go</tag-8> </tag-7> <tag-9><tag-10>تحميل قالب البداية</tag-10></tag-9>" |
There was a problem hiding this comment.
Systematic go.link regression: the pull cuts the placeholder set from en's <tag-1>..<tag-12> to <tag-1>..<tag-10>. Since unabstractifyHTML maps tag N to the N-th default element, the "LiveCodes Documentation" item (tags 9–10) now carries the "Load starter template" label pointing at the docs URL, and the starter-template button (tags 11–12) is never created. The same shortening appears in 11 other locales (de, es, fa, fr, hi, it, ja, pt, ru, ur, zh-CN).
| }, | ||
| "csharpWasm.link": { | ||
| "translation": "<tag-1> <tag-2>सी# भाषा दस्तावेज़ीकरण</tag-2> </tag-1> <tag-3> <tag-4>एक्स को वाई मिनटों में सीखें, जहां एक्स=सी#</tag-4> </tag-3> <tag-5> <tag-6>लाइवकोड दस्तावेज़ीकरण</tag-6> </tag-5> <tag-7> <tag-8>स्टार्टर टेम्पलेट लोड करें</tag-8> </tag-7>" | ||
| "translation": "<tag-1> <tag-2> सी# भाषा दस्तावेज़ीकरण </tag-2> टैग-2 </tag-1> <tag-3> <tag-4> एक्स को वाई मिनटों में सीखें, जहां एक्स=सी# </tag-4> > </टैग </tag-3> > <tag-5> <tag-6> लाइवकोड दस्तावेज़ीकरण </tag-6> </ <tag-7> </tag-5> <टैग-7> <tag-8> स्टार्टर टेम्पलेट लोड करें </tag-8> </tag-7>" |
There was a problem hiding this comment.
hi's csharpWasm.link came back with non-ASCII/partial markers (टैग-2, </ <tag-7>, <टैग-7>) and unbalanced tags. unabstractifyHTML only recognizes ASCII tag-\d+, so these elements are dropped or mis-applied and the tooltip renders broken.
| }, | ||
| "jinja.link": { | ||
| "translation": "<tag-1> <tag-2>آفیشل ویب سائٹ</tag-2> </tag-1> <tag-3> <tag-4>ٹیمپلیٹ دستاویزات</tag-4> </tag-3> <tag-5> <tag-6>JavaScript کا نفاذ</tag-6> </tag-5> <tag-7> <tag-8>LiveCodes دستاویزات</tag-8> </tag-7>" | ||
| "translation": "<tag-1> <tag-2> آفیشل ویب سائٹ </tag-2> </tag-1> <tag-3> <tag-4> ٹیمپلیٹ دستاویزات </tag-4> </tag-3> <tag-5> <tag-6> JavaScript کا نفاذ </tag-6> </tag-5> <tag-7> <tag-8> LiveCodes Dog- </tag-7> > </tag-8>" |
There was a problem hiding this comment.
Malformed pair: <tag-8> LiveCodes Dog- </tag-7> > </tag-8> closes tag-7 before tag-8 and truncates the label mid-word, so the LiveCodes Documentation link is dropped.
| }, | ||
| "java.link": { | ||
| "translation": "<tag-1> <tag-2>Java 官方网站</tag-2> </tag-1> <tag-3> <tag-4>DoppioJVM</tag-4> </tag-3> <tag-5> <tag-6>在 Y 分钟内学习 X,其中 X=java</tag-6> </tag-5> <tag-7> <tag-8>LiveCodes 文档</tag-8> </tag-7> <tag-9> <tag-10>加载启动模板</tag-10> </tag-9>" | ||
| "translation": "<tag-1> <tag-2>Java 官方网站 DoppioJVM 在 Y 分钟内学习 X,其中 X=java 加载启动模板</tag-2> </tag-1> <tag-3> <tag-4></tag-4> </tag-3> <tag-5> <tag-6></tag-6> </tag-5> <tag-7> <tag-8></tag-8> </tag-7>" |
There was a problem hiding this comment.
The whole java.link text collapsed into the tag-2 anchor and every later tag is empty, so the tooltip renders one overstuffed Java link followed by empty list items.




What type of PR is this? (check all applicable)
Description
i18n Actions:
.i18n-update-pullLocalization pulled from Lokalise.
i18n/Seth0x41/feat/add-zig-wasmRelated Tickets & Documents