Skip to main content

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.

Madaling magkamali sa manu-manong i18n wrapping: namimiss ng mga developer ang mga split sentence, nasisira ang plurals dahil sa ternary operator, at may naiiwang hardcoded na string sa mga edge case. Lumilitaw lang ang mga bug na ito pagkatapos ng pagsasalin, kung kailan 10x na mas mahal ang pag-aayos.

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.

Terminal
/i18n-review src/
/i18n-review src/ --framework=next-intl

Ano 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
Ganap na read-only ang review command. Patakbuhin ninyo ito nang kasingdalas ng gusto ninyo habang development o sa mga CI/CD pipeline nang walang panganib ng hindi sinasadyang pagbabago.

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.

Terminal
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18next

Ano 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
Vina-validate ng wrap command ang bawat pagbabago sa pamamagitan ng pagpapatakbo ng inyong build at test suite. Kapag may bumagsak, awtomatiko itong nagro-roll back.

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.

FrameworkFunction ng pagsasalinFormat ng maramihan
react-i18nextt()key_one / key_other
next-intlt()ICU {count, plural, ...}
vue-i18n$t()Pipe syntax | singular | plural
angular i18n$localizeICU {count, plural, ...}
svelte-i18n$_()ICU {count, plural, ...}
flutter intlS.of(context)Intl.plural()
djangogettext / _()ngettext()
rails i18nt()count key
laravel__() / @langtrans_choice()
swiftNSLocalizedString.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.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Mga standard slash command file ang mga ito. Gumagana ang mga ito sa Claude Code out of the box at maaaring i-adapt para sa ibang AI coding assistant na sumusuporta sa custom command.

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.

React Project
# 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.json

Proyektong 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.

Django Project
# 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 updated

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

Hindi kailangan ang signupInstant na estimate

Mga Madalas Itanong