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.
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.
/i18n-review src/
/i18n-review src/ --framework=next-intlMida 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
/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.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextMida 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
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.
| Raamistik | Tõlkefunktsioon | Mitmusevorming |
|---|---|---|
| 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 |
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.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/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.
# 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
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().
# 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 updatedSeotud raamistike juhendid
Proovi i18n Agent'i kohe
Kukuta tõlkefail siia
JSON, YAML, PO, XML, CSV, Markdown, Properties
või klõpsa faili valimiseks
Sihtkeeled