Claude-skill-registry i18n-curator
Curate CRM Orbit UI i18n strings and mappings. Use when adding or editing user-facing copy, auditing en.json, or keeping i18n/events.ts and i18n/enums.ts in sync with new keys. Scope: CRMOrbit/i18n/en.json and mapping files.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/i18n-curator" ~/.claude/skills/majiayu000-claude-skill-registry-i18n-curator && rm -rf "$T"
manifest:
skills/data/i18n-curator/SKILL.mdsource content
I18n Curator
Overview
Maintain consistent, stable translation keys and UI copy while keeping backend data locale-neutral.
Workflow
- Identify needed keys
- Ensure UI uses
and remove hard-coded strings.t("key") - Prefer stable, semantic keys (no UI text in keys).
- Update
en.json
- Keep casing consistent (Title Case for labels, sentence case for messages).
- Avoid abbreviations that hurt translation.
- Keep placeholders consistent (
,{name}
).{count}
- Update mapping files
- If adding enums/status/type/event keys, update:
CRMOrbit/i18n/enums.tsCRMOrbit/i18n/events.ts
- Validate
- Scan for missing keys and dead keys.
- Confirm no translated strings are persisted in domain state or events.
Guardrails
- Keys are stable once released.
- No translated strings in Automerge, events, reducers, persistence.
- If other locales must be updated, ask before editing.
- Per the coding guidelines, files in /views//*.{ts,tsx} must be "read-only projections that subscribe to Automerge changes — never mutate domain state, apply business logic, emit events, or localize strings directly."