fill-translations

Installation
SKILL.md

Filling missing and outdated translations

The web app's strings live in apps/web/lib/i18n/locales/<locale>/translation.json (nested i18next JSON). en is the source of truth. Features usually add keys to en only, so the other locales drift.

i18n.mjs in this directory compares every locale against en and reports three kinds of problem per key:

  • MISSING: the key exists in en but is absent or empty in the locale.
  • OUTDATED: the en value changed after the locale's value last changed. The script works this out from the git history of both files plus the working tree, so it also catches en edits you haven't committed yet.
  • OBSOLETE: the key exists in the locale but no longer in en (usually a removed or renamed key).

Plurals follow i18next's _one/_other suffixes. For each plural group in en, the script expects the locale's own CLDR categories (from Intl.PluralRules). Arabic, for example, needs _zero, _one, _two, _few, _many and _other, and Japanese needs only _other.

1. Report

From the repo root:

Installs
11
GitHub Stars
29.7K
First Seen
8 days ago