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.
Scanned 2/10/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: i18n-curator
description: 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.
---
# 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).
2) Update `en.json`
- Keep casing consistent (Title Case for labels, sentence case for messages).
- Avoid abbreviations that hurt translation.
- Keep placeholders consistent (`{name}`, `{count}`).
3) Update mapping files
- If adding enums/status/type/event keys, update:
- `CRMOrbit/i18n/enums.ts`
- `CRMOrbit/i18n/events.ts`
4) 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."
No comments yet. Be the first to comment!