Conversation
First full Claude translation of Nepali: locale strings, complete + quick tutorials, 27 how-tos, and CLDR-derived emoji names. Validated: $?=0 across locale and both tutorials, no marker accumulation. Glossary words and embedded how-to code came back in English (Claude's tendency for Nepali technical vocabulary, not a pipeline defect) and are left for the human Nepali translator to refine. (#1204, #1205) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…etadata
Make emoji generation part of the translation run, and remove the one-off
LocaleToCLDR map by deriving CLDR annotation codes from canonical language
metadata.
- start.ts now generates a locale's {locale}-emojis.json in-process during a
translate/override run (best-effort; a CLDR/network failure warns and the run
continues), so a new/updated locale gets emojis without a separate step.
- Convert scripts/generate-emojis.mjs → src/util/verify-locales/generateEmojis.ts:
a typed module that imports SupportedLocales + getCLDRCandidates directly
(no regex-parsing, no hardcoded map), writes via writeFormatted (Prettier-clean,
write-if-changed), and exports generateEmojisForLocale + a CLI entry.
- LanguageCode.ts: add `cldr` (base override, tl→fil) and `cldrByRegion` (script
overrides, zh→zh_Hant for TW/HK/MO) to LanguageMetadata, plus getCLDRCandidates
that derives the per-locale candidate list. This also fixes locales the hand
map had missed/mistyped (sv-SE, bn-BD, id-ID, ro-RO, pt-PT) which silently fell
back to English emoji names.
- Enable Nepali (ne-NP) in DraftLocales (wordplaydev#1204/wordplaydev#1205).
- npm: locales-emojis → tsx; delete the old .mjs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thank you for this, @AJT14-cmd, and I'm sorry it sat open so long. Nepali is on the site. It shipped in c946044, with the interface, the tutorials, the how-tos and the emoji names. You started that, and it's live for Nepali readers now. Because it landed on
Your hand-written translations are not lost. 103 of them are in #1402, with you as co-author. Several fix places where the machine translation had plainly failed —
Two things I couldn't carry over, so you know where they went:
If you'd like to keep going, the most useful thing now is review, not translation. Almost all 5,500 Nepali strings are marked Closing in favour of #1402. Thank you again — and if you'd rather reopen this and bring the branch up to date yourself, say so and I'll leave it to you. |
Nepali landed on main in c946044 as a machine translation while #1205 sat open, so the branch cannot be merged: it is structurally older and mostly `$?` placeholders, and merging it would replace working Nepali with English. But 103 of its strings were written by hand, and in places where the machine translation had failed outright — main has been shipping `token.Function` as "$~function", `token.SetOpen` as "$~set/map खुला" and `token.Access` as "$~property पहुँच", Latin script and all, in the names Nepali readers see throughout the editor and the guide. Those 103 are taken here and #1205 is closed pointing at this. Two further filters, each of which the verifier or the schema would otherwise have caught: 50 hand-written `term.*` strings are dropped because en-US no longer has that key, and two unmarked values (`token.URL`, `ui.localize.emotion`) are dropped because they are still the English — an unmarked English string is what `checkUntranslated` exists to find, and salvaging one would ship English as Nepali. The strings carry no write status, which is what keeps a later translation run from overwriting a person's work with a machine's. Co-Authored-By: Anuj Jung Thapa <anujcaeli@gmail.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Context
Begins the Nepali (
ne-NP) localization. Thetermandtokensections are manually translated. Other entries retain their
$?English fallback text and still require translation and review.
Related issues
Verification
ne-NP.jsonChecklist
termandtokenin ne-NP.json