Skip to main content

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.

Manuel i18n-indpakning er fejlbehæftet: Udviklere overser opdelte sætninger, ødelægger flertalsformer med ternære operatorer og efterlader hardcodede tekststrenge i særtilfælde. Fejlene viser sig først efter oversættelsen, hvor de er 10 gange dyrere at rette.

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.

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

Det 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
Review-kommandoen er fuldstændig skrivebeskyttet. Kør den så ofte, du vil, under udvikling eller i CI/CD-pipelines uden risiko for utilsigtede ændringer.

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.

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

Det 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
Wrap-kommandoen validerer hver ændring ved at køre dit build og din testpakke. Hvis noget fejler, ruller den automatisk ændringerne tilbage.

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.

FrameworkOversættelsesfunktionFlertalsformat
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

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.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Det er almindelige skråstregskommandofiler. De fungerer direkte i Claude Code og kan tilpasses andre AI-kodeassistenter, der understøtter brugerdefinerede kommandoer.

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.

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

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 nu

Slip din oversættelsesfil her

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

eller klik for at vælge en fil

Målsprog

Kræver ingen tilmeldingEstimat med det samme

Ofte stillede spørgsmål