helexa.ai i18n: ma/images.json is Kabyle, not Moroccan Darija; and the key check covers only 21 of 42 locales #364

Open
opened 2026-09-30 07:45:42 +00:00 by grenade · 0 comments
Owner

Found while adding the playground's decisions namespace (#362).

  1. Wrong language. helexa.ai/src/i18n/resources/ma/images.json is written in Kabyle (Berber), not Moroccan Darija, which is what ma stands for in this app. The new ma/decisions.json is Darija in Arabic script, so the two namespaces now disagree within one locale. Re-translate ma/images.json, and check the other ma/*.json files for the same mix-up.
  2. Partial coverage. scripts/check-i18n-keys.mjs compares only 21 of the 42 locales against English, so the other half can drift silently. #362 added src/i18n/decisions.test.ts, which checks all 42 for the new namespace: identical keys, identical {{placeholders}}, no empty strings. Extend the same all-locales check to every namespace, or fix the script's language list.
Found while adding the playground's `decisions` namespace (#362). 1. **Wrong language.** `helexa.ai/src/i18n/resources/ma/images.json` is written in **Kabyle** (Berber), not **Moroccan Darija**, which is what `ma` stands for in this app. The new `ma/decisions.json` is Darija in Arabic script, so the two namespaces now disagree within one locale. Re-translate `ma/images.json`, and check the other `ma/*.json` files for the same mix-up. 2. **Partial coverage.** `scripts/check-i18n-keys.mjs` compares only **21 of the 42** locales against English, so the other half can drift silently. #362 added `src/i18n/decisions.test.ts`, which checks all 42 for the new namespace: identical keys, identical `{{placeholders}}`, no empty strings. Extend the same all-locales check to every namespace, or fix the script's language list.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: helexa/helexa#364