i18n Skills
Mga AI Command para sa Pag-audit at Pag-wrap ng i18n Strings
Ang Problema
May 500 hardcoded na string ang inyong codebase na nakakalat sa mga component, template, at view. Tumatagal ng ilang araw ang manu-manong pag-wrap dahil sa nakakapagod na find-and-replace. Kahit matapos mag-wrap, may namimiss pa rin kayong mga split sentence na sumisira sa German, plural logic na pumapalya sa Arabic, at mga orphaned key na nagpapalaki sa inyong mga locale file.
Ang Solusyon
Dalawang AI slash command na humahawak sa buong i18n workflow. Patakbuhin ang /i18n-review para mag-audit nang read-only, pagkatapos patakbuhin ang /i18n-wrap para awtomatikong ayusin ang lahat. Parehong nagde-detect ng inyong framework, nauunawaan ang format ng inyong locale file, at nagva-validate ng mga pagbabago bago mag-commit.
/i18n-review
Read-only na audit na nakakakita ng mga split sentence, sirang plurals, mga string na hindi na-wrap, at mga unused key. Hindi kailanman binabago ang inyong code.
/i18n-wrap
Awtomatikong nagwa-wrap ng mga hardcoded na string gamit ang tamang translation function, bumubuo ng mga semantic key, nag-a-update ng mga locale file, at nagva-validate ng build.
Command na /i18n-review
Nagsasagawa ang review command ng read-only na audit ng inyong codebase. Ini-scan nito ang bawat file para sa mga isyu sa i18n at gumagawa ng prioritized na report na may eksaktong lokasyon ng file at mga mungkahing ayos. Hindi kailanman binabago ang inyong code.
/i18n-review src/
/i18n-review src/ --framework=next-intlAno ang Sinusuri Nito
- Mga split sentence: pinagdudugtong-dugtong na t() call na sumisira sa ayos ng salita sa ibang wika
- Over-wrapping: mga technical string, CSS class, URL, at enum value na maling na-wrap gamit ang t()
- Under-wrapping: mga nakikitang UI string tulad ng mga label ng button, heading, at error message na naiwan na hardcoded
- Mga isyu sa plural: paggamit ng ternary operator o === 1 check sa halip na tamang ICU plural syntax
- Mga unused key: mga translation key na naka-define sa mga locale file pero hindi kailanman nare-reference sa code
- Mga hardcoded na format value: mga petsa, currency, at numero na hindi gumagamit ng Intl formatter
Command na /i18n-wrap
Awtomatikong nagwa-wrap ang wrap command ng mga hardcoded na string gamit ang tamang translation function para sa inyong framework. Dine-detect nito ang inyong i18n library, bumubuo ng mga semantic key na naka-grupo ayon sa component o feature, nag-a-update ng inyong mga locale file, at nagva-validate na pumapasa pa rin ang build.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextAno ang Ginagawa Nito
- Framework detection: tinutukoy ang inyong i18n library at ang translation function nito (t, $t, $_, gettext, atbp.)
- Semantic key generation: lumilikha ng makahulugang key tulad ng nav.signIn at errors.notFound sa halip na generic na label
- Pag-update ng locale file: nagdaragdag ng mga bagong key sa inyong source locale file sa tamang format (JSON, YAML, PO, atbp.)
- Build validation: pinapatakbo ang inyong build, lint, at test command pagkatapos mag-wrap para mahuli ang anumang regression
Mga Sinusuportahang Framework
Awtomatikong dine-detect ng parehong command ang inyong framework mula sa mga project dependency. Maaari rin ninyong tukuyin ito nang tahasan gamit ang --framework flag. Narito ang 10 sinusuportahang framework kasama ang kanilang translation function at plural format.
| Framework | Function ng pagsasalin | Format ng maramihan |
|---|---|---|
| react-i18next | t() | key_one / key_other |
| next-intl | t() | ICU {count, plural, ...} |
| vue-i18n | $t() | Pipe syntax | singular | plural |
| angular i18n | $localize | ICU {count, plural, ...} |
| svelte-i18n | $_() | ICU {count, plural, ...} |
| flutter intl | S.of(context) | Intl.plural() |
| django | gettext / _() | ngettext() |
| rails i18n | t() | count key |
| laravel | __() / @lang | trans_choice() |
| swift | NSLocalizedString | .stringsdict |
Pag-install
Kopyahin ang mga command file sa inyong .claude/commands/ directory. Iyon lang — walang dependency, walang configuration. Plain Markdown file ang mga command na kayang i-execute ng anumang AI coding assistant.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Mga Halimbawa ng Paggamit
Proyektong React
I-review ang isang React app na gumagamit ng react-i18next, pagkatapos i-wrap ang lahat ng hardcoded na string. Dine-detect ng mga command ang react-i18next mula sa inyong package.json at ginagamit ang tamang t() function at key_one/key_other na plural format.
# Review a React project for i18n issues
/i18n-review src/ --framework=react-i18next
# Wrap all hardcoded strings automatically
/i18n-wrap src/components/ --framework=react-i18next
# Result: t() calls inserted, keys added to en/translation.jsonProyektong Django
I-audit ang mga Django template at view para sa mga isyu sa i18n, pagkatapos i-wrap ang mga string gamit ang gettext. Dine-detect ng mga command ang Django mula sa inyong settings.py at ginagamit ang _() para sa mga simpleng string at ngettext() para sa mga plural.
# Review Django templates and views
/i18n-review myapp/ --framework=django
# Wrap hardcoded strings with gettext
/i18n-wrap myapp/templates/ --framework=django
# Result: _() calls inserted, .po file updatedMga Kaugnay na Framework Guide
Subukan ang i18n Agent Ngayon
I-drop dito ang inyong translation file
JSON, YAML, PO, XML, CSV, Markdown, Properties
o i-click para mag-browse
Mga target language