Skip to main content

i18n-i oskused

Tehisintellekti käsud i18n-i stringide auditeerimiseks ja mähkimiseks

Probleem

Sinu koodibaasis on 500 jäigalt kodeeritud stringi komponentide, mallide ja vaadete vahel laiali. Käsitsi mähkimine nõuab päevi tüütut otsimise ja asendamise tööd. Isegi pärast mähkimist jäävad märkamata saksa keeles katki minevad poolitatud laused, araabia keeles nurjuv mitmuseloogika ja lokaadifaile paisutavad orvuks jäänud võtmed.

Käsitsi i18n-i mähkimine on veaohtlik: arendajad jätavad poolitatud laused märkamata, rikuvad kolmikoperaatoritega mitmusevormid ja jätavad äärejuhtudesse jäigalt kodeeritud stringe. Need vead ilmnevad alles pärast tõlkimist, mil nende parandamine maksab kümme korda rohkem.

Lahendus

Kaks tehisintellekti kaldkriipsukäsku haldavad kogu i18n-i töövoogu. Käivita /i18n-review, et auditeerida koodi kirjutuskaitstult, seejärel /i18n-wrap, et kõik automaatselt parandada. Mõlemad käsud tuvastavad sinu raamistiku, mõistavad lokaadifaili vormingut ja valideerivad muudatused enne commiti.

/i18n-review

Kirjutuskaitstud audit leiab poolitatud laused, katkised mitmusevormid, mähkimata stringid ja kasutamata võtmed. See ei muuda kunagi sinu koodi.

/i18n-wrap

Mähib jäigalt kodeeritud stringid automaatselt õige tõlkefunktsiooniga, loob semantilised võtmed, värskendab lokaadifaile ja valideerib ehituse.

/i18n-review käsk

Review-käsk auditeerib koodibaasi kirjutuskaitstult. See skannib iga faili i18n-i probleemide suhtes ja loob prioriseeritud aruande täpsete failiasukohtade ning parandamissoovitustega. Sinu koodi ei muudeta kunagi.

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

Mida see kontrollib

  • Poolitatud laused: ühendatud t()-kutsed, mis rikuvad teistes keeltes sõnajärje
  • Liigne mähkimine: tehnilised stringid, CSS-klassid, URL-id ja enum-väärtused on ekslikult t()-funktsiooniga mähitud
  • Puudulik mähkimine: nähtavad kasutajaliidese stringid, nagu nuppude sildid, pealkirjad ja veateated, on jäetud jäigalt kodeerituks
  • Mitmusevormide probleemid: kolmikoperaatorid või === 1 kontrollid õige ICU mitmusesüntaksi asemel
  • Kasutamata võtmed: lokaadifailides määratletud tõlkevõtmed, millele koodis kunagi ei viidata
  • Jäigalt kodeeritud vormindusväärtused: kuupäevad, valuutad ja arvud ei kasuta Intl-vormindajaid
Review-käsk on täielikult kirjutuskaitstud. Käivita seda arenduse ajal või CI/CD-konveierites nii sageli kui soovid ilma soovimatute muudatuste ohuta.

/i18n-wrap käsk

Wrap-käsk mähib jäigalt kodeeritud stringid automaatselt sinu raamistiku õige tõlkefunktsiooniga. See tuvastab i18n-teegi, loob komponendi või funktsiooni järgi rühmitatud semantilised võtmed, värskendab lokaadifaile ja valideerib ehituse õnnestumise.

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

Mida see teeb

  • Raamistiku tuvastamine: tuvastab sinu i18n-teegi ja selle tõlkefunktsiooni (t, $t, $_, gettext jne)
  • Semantiliste võtmete loomine: loob üldiste siltide asemel tähenduslikud võtmed, nagu nav.signIn ja errors.notFound
  • Lokaadifailide värskendamine: lisab uued võtmed lähtekeele faili õiges vormingus (JSON, YAML, PO jne)
  • Ehituse valideerimine: käitab pärast mähkimist ehitus-, lint- ja testikäsud regressioonide leidmiseks
Wrap-käsk valideerib iga muudatuse, käitades ehituse ja testikomplekti. Kui midagi nurjub, võtab see muudatused automaatselt tagasi.

Toetatud raamistikud

Mõlemad käsud tuvastavad raamistiku automaatselt projekti sõltuvustest. Selle saab ka valikuga --framework selgesõnaliselt määrata. Siin on kümme toetatud raamistikku koos tõlkefunktsioonide ja mitmusevormingutega.

RaamistikTõlkefunktsioonMitmusevorming
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

Paigaldamine

Kopeeri käsufailid kataloogi .claude/commands/. See ongi kõik — sõltuvusi ega seadistamist pole. Käsud on lihtsad Markdown-failid, mida saab käitada iga tehisintellekti programmeerimisabiline.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Need on standardsed kaldkriipsukäsufailid. Need töötavad Claude Code'is kohe ja neid saab kohandada teistele kohandatud käske toetavatele tehisintellekti programmeerimisabilistele.

Kasutusnäited

React'i projekt

Vaata üle react-i18next'i kasutav React'i rakendus ja mähi seejärel kõik jäigalt kodeeritud stringid. Käsud tuvastavad react-i18next'i failist package.json ning kasutavad õiget t()-funktsiooni ja mitmusevormingut 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

Auditeeri Django mallide ja vaadete i18n-probleeme ning mähi stringid seejärel gettextiga. Käsud tuvastavad Django failist settings.py ning kasutavad lihtsate stringide jaoks _() ja mitmusevormide jaoks ngettext().

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

Proovi i18n Agent'i kohe

Kukuta tõlkefail siia

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

või klõpsa faili valimiseks

Sihtkeeled

Registreerumine pole vajalikKohene hinnang

Korduma kippuvad küsimused