i18n Skills
AI-kommandoer til kontrol og indpakning af i18n-tekststrenge
Problemet
Din kodebase har 500 hardcodede tekststrenge spredt på tværs af komponenter, skabeloner og visninger. Manuel indpakning kræver flere dages ensformigt søg og erstat-arbejde. Selv efter indpakningen overser du stadig opdelte sætninger, der ikke fungerer på tysk; flertalslogik, der fejler på arabisk; forældreløse nøgler, der fylder dine landestandardfiler.
Løsningen
To AI-skråstregskommandoer håndterer hele i18n-arbejdsgangen. Kør /i18n-review for at kontrollere din kode skrivebeskyttet og kør derefter /i18n-wrap for automatisk at rette alt. Begge kommandoer registrerer dit framework, forstår formatet på din landestandardfil og validerer ændringer før commit.
/i18n-review
Skrivebeskyttet kontrol, der finder opdelte sætninger, fejlbehæftede flertalsformer, uindpakkede tekststrenge og ubrugte nøgler. Ændrer aldrig din kode.
/i18n-wrap
Indpakker automatisk hardcodede tekststrenge med den korrekte oversættelsesfunktion, genererer semantiske nøgler, opdaterer landestandardfiler og validerer dit build.
Kommandoen /i18n-review
Review-kommandoen udfører en skrivebeskyttet kontrol af din kodebase. Den scanner alle filer for i18n-problemer og udarbejder en prioriteret rapport med præcise filplaceringer og forslag til rettelser. Din kode ændres aldrig.
/i18n-review src/
/i18n-review src/ --framework=next-intlDet kontrollerer den
- Opdelte sætninger: sammenkædede t()-kald, der bryder ordstillingen på andre sprog
- Overindpakning: tekniske tekststrenge, CSS-klasser, URL'er og enum-værdier, der fejlagtigt er indpakket med t()
- Manglende indpakning: synlige UI-tekststrenge som knaptekster, overskrifter og fejlmeddelelser, der stadig er hardcodede
- Problemer med flertalsformer: ternære operatorer eller === 1-kontroller i stedet for korrekt ICU-flertalssyntaks
- Ubrugte nøgler: oversættelsesnøgler, der er defineret i landestandardfiler, men aldrig bruges i koden
- Hardcodede formatværdier: datoer, valutaer og tal, der ikke bruger Intl-formattering
Kommandoen /i18n-wrap
Wrap-kommandoen indpakker automatisk hardcodede tekststrenge med den korrekte oversættelsesfunktion til dit framework. Den registrerer dit i18n-bibliotek, genererer semantiske nøgler grupperet efter komponent eller funktion, opdaterer dine landestandardfiler og validerer, at dit build stadig gennemføres.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextDet gør den
- Frameworkregistrering: identificerer dit i18n-bibliotek og dets oversættelsesfunktion (t, $t, $_, gettext osv.)
- Generering af semantiske nøgler: opretter meningsfulde nøgler som nav.signIn og errors.notFound i stedet for generiske etiketter
- Opdatering af landestandardfiler: føjer nye nøgler til din kildelandestandardfil i det korrekte format (JSON, YAML, PO osv.)
- Buildvalidering: kører dine build-, lint- og testkommandoer efter indpakning for at opdage eventuelle regressioner
Understøttede frameworks
Begge kommandoer registrerer automatisk dit framework ud fra projektets afhængigheder. Du kan også angive det eksplicit med flaget --framework. Her er de 10 understøttede frameworks med deres oversættelsesfunktioner og flertalsformater.
| Framework | Oversættelsesfunktion | Flertalsformat |
|---|---|---|
| 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 |
Installation
Kopiér kommandofilerne til mappen .claude/commands/. Det er alt — ingen afhængigheder og ingen konfiguration. Kommandoerne er almindelige Markdown-filer, som enhver AI-kodeassistent kan udføre.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Eksempler på brug
React-projekt
Gennemgå en React-app med react-i18next. Indpak derefter alle hardcodede tekststrenge. Kommandoerne registrerer react-i18next ud fra din package.json og bruger den korrekte t()-funktion og flertalsformatet key_one/key_other.
# 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-projekt
Kontrollér Django-skabeloner og -visninger for i18n-problemer og indpak derefter tekststrenge med gettext. Kommandoerne registrerer Django ud fra din settings.py og bruger _() til enkle tekststrenge og ngettext() til flertalsformer.
# 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 updatedRelaterede frameworkvejledninger
Prøv i18n Agent nu
Slip din oversættelsesfil her
JSON, YAML, PO, XML, CSV, Markdown, Properties
eller klik for at vælge en fil
Målsprog