Skip to main content

i18n-ferdigheter

AI-kommandoer for revisjon og innpakking av i18n-strenger

Problemet

Kodebasen din har 500 hardkodede strenger spredt utover komponenter, maler og visninger. Manuell innpakking tar dagevis med kjedelig søk-og-erstatt-arbeid. Selv etter innpakking går du fortsatt glipp av delte setninger som bryter sammen på tysk, flertallslogikk som feiler på arabisk, og foreldreløse nøkler som blåser opp språkfilene dine.

Manuell i18n-innpakking er feilutsatt: utviklere overser delte setninger, ødelegger pluralformer med ternære operatorer, og lar hardkodede strenger stå igjen i grensetilfeller. Disse feilene dukker først opp etter oversettelse, når det er 10 ganger dyrere å rette dem.

Løsningen

To AI-skråstrekkommandoer som håndterer hele i18n-arbeidsflyten. Kjør /i18n-review for å utføre en skrivebeskyttet revisjon av koden, og kjør deretter /i18n-wrap for å fikse alt automatisk. Begge kommandoene oppdager rammeverket ditt, forstår formatet på språkfilene dine og validerer endringene før innsjekking.

/i18n-review

Skrivebeskyttet revisjon som finner delte setninger, ødelagte pluralformer, uinnpakkede strenger og ubrukte nøkler. Endrer aldri koden din.

/i18n-wrap

Pakker automatisk inn hardkodede strenger med riktig oversettelsesfunksjon, genererer semantiske nøkler, oppdaterer språkfiler og validerer bygget.

/i18n-review-kommandoen

Revisjonskommandoen utfører en skrivebeskyttet revisjon av kodebasen din. Den skanner hver fil for i18n-problemer og lager en prioritert rapport med nøyaktige filplasseringer og løsningsforslag. Koden din endres aldri.

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

Hva den sjekker

  • Delte setninger: sammenslåtte t()-kall som ødelegger ordrekkefølgen i andre språk
  • Overinnpakking: tekniske strenger, CSS-klasser, URL-er og enum-verdier feilaktig pakket inn med t()
  • Underinnpakking: synlige UI-strenger som knappetekster, overskrifter og feilmeldinger som forblir hardkodet
  • Pluralproblemer: ternære operatorer eller === 1-sjekker i stedet for korrekt ICU-pluralsyntaks
  • Ubrukte nøkler: oversettelsesnøkler definert i språkfiler, men aldri referert til i koden
  • Hardkodede formatverdier: datoer, valutaer og tall som ikke bruker Intl-formaterere
Revisjonskommandoen er fullstendig skrivebeskyttet. Kjør den så ofte du vil under utvikling eller i CI/CD-pipeliner uten risiko for utilsiktede endringer.

/i18n-wrap-kommandoen

Innpakkingskommandoen pakker automatisk inn hardkodede strenger med riktig oversettelsesfunksjon for rammeverket ditt. Den oppdager i18n-biblioteket ditt, genererer semantiske nøkler gruppert etter komponent eller funksjon, oppdaterer språkfilene dine og validerer at bygget fortsatt går gjennom.

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

Hva den gjør

  • Rammeverkgjenkjenning: identifiserer i18n-biblioteket ditt og bibliotekets oversettelsesfunksjon (t, $t, $_, gettext, osv.)
  • Semantisk nøkkelgenerering: lager meningsfulle nøkler som nav.signIn og errors.notFound i stedet for generiske etiketter
  • Oppdatering av språkfiler: legger til nye nøkler i kildespråkfilen din i riktig format (JSON, YAML, PO, osv.)
  • Byggvalidering: kjører bygg-, lint- og testkommandoene dine etter innpakking for å fange opp eventuelle regresjoner
Innpakkingskommandoen validerer hver endring ved å kjøre bygget og testsuiten din. Hvis noe feiler, ruller den automatisk tilbake.

Støttede rammeverk

Begge kommandoene oppdager automatisk rammeverket ditt ut fra prosjektavhengighetene dine. Du kan også angi det eksplisitt med flagget --framework. Her er de 10 støttede rammeverkene med sine oversettelsesfunksjoner og flertallsformater.

RammeverkOversettelsesfunksjonPluralformat
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

Installasjon

Kopier kommandofilene til .claude/commands/-mappen din. Det er alt, ingen avhengigheter, ingen konfigurasjon. Kommandoene er vanlige Markdown-filer som enhver AI-kodeassistent kan kjøre.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Dette er standardfiler for skråstrekkommandoer. De fungerer i Claude Code uten ekstra oppsett og kan tilpasses andre AI-kodeassistenter som støtter egendefinerte kommandoer.

Brukseksempler

React-prosjekt

Revider en React-app som bruker react-i18next, og pakk deretter inn alle hardkodede strenger. Kommandoene oppdager react-i18next fra package.json-filen din og bruker riktig t()-funksjon og key_one/key_other-pluralformat.

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

Django-prosjekt

Revider Django-maler og -visninger for i18n-problemer, og pakk deretter inn strenger med gettext. Kommandoene oppdager Django fra settings.py-filen din og bruker _() for enkle strenger og ngettext() for pluralformer.

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

Prøv i18n Agent nå

Slipp oversettelsesfilen din her

JSON, YAML, PO, XML, CSV, Markdown, Properties

eller klikk for å bla gjennom

Målspråk

Ingen registrering krevesUmiddelbart estimat

Ofte stilte spørsmål