Skip to main content

i18n Skills

AI-kommandon för granskning och inkapsling av i18n-strängar

Problemet

Din kodbas har 500 hårdkodade strängar utspridda över komponenter, mallar och vyer. Manuell inkapsling tar flera dagar av enformigt sök- och ersättningsarbete. Även efteråt missar du delade meningar som går sönder på tyska, plurallogik som inte fungerar på arabiska och fristående nycklar som fyller språkfilerna med onödigt innehåll.

Manuell i18n-inkapsling är känslig för fel: utvecklare missar delade meningar, förstör pluralformer med ternära operatorer och lämnar hårdkodade strängar i specialfall. Felen visar sig först efter översättningen, när de är 10 gånger dyrare att åtgärda.

Lösningen

Två AI-snedstreckskommandon hanterar hela i18n-arbetsflödet. Kör /i18n-review för att skrivskyddat granska koden och sedan /i18n-wrap för att åtgärda allt automatiskt. Båda kommandona identifierar ditt ramverk, förstår språkfilernas format och validerar ändringarna innan de committas.

/i18n-review

Skrivskyddad granskning som hittar delade meningar, trasiga pluralformer, oinkapslade strängar och oanvända nycklar. Ändrar aldrig din kod.

/i18n-wrap

Kapslar automatiskt in hårdkodade strängar med rätt översättningsfunktion, genererar semantiska nycklar, uppdaterar språkfiler och validerar bygget.

Kommandot /i18n-review

Granskningskommandot utför en skrivskyddad granskning av kodbasen. Det söker igenom varje fil efter i18n-problem och skapar en prioriterad rapport med exakta filplatser och åtgärdsförslag. Din kod ändras aldrig.

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

Vad som kontrolleras

  • Delade meningar: sammanfogade anrop till t() som förstör ordföljden på andra språk
  • Överinkapsling: tekniska strängar, CSS-klasser, URL:er och uppräkningsvärden som felaktigt kapslats in med t()
  • Underinkapsling: synliga gränssnittssträngar som knappetiketter, rubriker och felmeddelanden som lämnats hårdkodade
  • Pluralproblem: ternära operatorer eller kontroller med === 1 i stället för korrekt ICU-pluralsyntax
  • Oanvända nycklar: översättningsnycklar som har definierats i språkfiler, men aldrig används i koden
  • Hårdkodade formatvärden: datum, valutor och tal som inte använder Intl-formaterare
Granskningskommandot är helt skrivskyddat. Kör det så ofta du vill under utvecklingen eller i CI/CD-arbetsflöden utan risk för oavsiktliga ändringar.

Kommandot /i18n-wrap

Inkapslingskommandot kapslar automatiskt in hårdkodade strängar med rätt översättningsfunktion för ditt ramverk. Det identifierar ditt i18n-bibliotek, genererar semantiska nycklar grupperade efter komponent eller funktion, uppdaterar språkfilerna och kontrollerar att bygget fortfarande fungerar.

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

Vad kommandot gör

  • Ramverksidentifiering: identifierar ditt i18n-bibliotek och dess översättningsfunktion (t, $t, $_, gettext med flera)
  • Generering av semantiska nycklar: skapar meningsfulla nycklar som nav.signIn och errors.notFound i stället för generiska etiketter
  • Uppdatering av språkfiler: lägger till nya nycklar i källspråkets fil med rätt format (JSON, YAML, PO med flera)
  • Byggvalidering: kör dina bygg-, lint- och testkommandon efter inkapslingen för att upptäcka regressioner
Inkapslingskommandot validerar varje ändring genom att köra bygget och testsviten. Om något misslyckas återställs ändringarna automatiskt.

Ramverk som stöds

Båda kommandona identifierar automatiskt ramverket utifrån projektets beroenden. Du kan också ange det uttryckligen med flaggan --framework. Här är de 10 ramverk som stöds med respektive översättningsfunktion och pluralformat.

RamverkÖversättningsfunktionPluralformat
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

Kopiera kommandofilerna till katalogen .claude/commands/. Det är allt – inga beroenden och ingen konfiguration. Kommandona är vanliga Markdown-filer som alla AI-kodassistenter kan köra.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Det här är vanliga filer för snedstreckskommandon. De fungerar direkt i Claude Code och kan anpassas för andra AI-kodassistenter som stöder egna kommandon.

Användningsexempel

React-projekt

Granska en React-app som använder react-i18next och kapsla sedan in alla hårdkodade strängar. Kommandona identifierar react-i18next via package.json och använder rätt t()-funktion och pluralformatet 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

Granska Django-mallar och vyer efter i18n-problem och kapsla sedan in strängar med gettext. Kommandona identifierar Django via settings.py och använder _() för enkla strängar och ngettext() för 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

Prova i18n Agent nu

Släpp din översättningsfil här

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

eller klicka för att välja en fil

Målspråk

Ingen registrering krävsPrisuppskattning direkt

Vanliga frågor