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.md
source content

I18n Curator

Overview

Maintain consistent, stable translation keys and UI copy while keeping backend data locale-neutral.

Workflow

  1. Identify needed keys
  • Ensure UI uses
    t("key")
    and remove hard-coded strings.
  • Prefer stable, semantic keys (no UI text in keys).
  1. Update
    en.json
  • Keep casing consistent (Title Case for labels, sentence case for messages).
  • Avoid abbreviations that hurt translation.
  • Keep placeholders consistent (
    {name}
    ,
    {count}
    ).
  1. Update mapping files
  • If adding enums/status/type/event keys, update:
    • CRMOrbit/i18n/enums.ts
    • CRMOrbit/i18n/events.ts
  1. 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."