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.
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.
/i18n-review src/
/i18n-review src/ --framework=next-intlHva 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
/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.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextHva 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
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.
| Rammeverk | Oversettelsesfunksjon | Pluralformat |
|---|---|---|
| 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 |
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.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/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.
# 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.jsonDjango-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.
# 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 updatedRelaterte rammeverkguider
Prøv i18n Agent nå
Slipp oversettelsesfilen din her
JSON, YAML, PO, XML, CSV, Markdown, Properties
eller klikk for å bla gjennom
Målspråk