Veščine i18n
Ukazi umetne inteligence za pregledovanje in ovijanje besedil i18n
Težava
V Vaši kodni zbirki je 500 trdo kodiranih besedil, razpršenih po komponentah, predlogah in pogledih. Ročno ovijanje zahteva več dni enoličnega iskanja in zamenjevanja. Tudi po ovijanju lahko spregledate razdeljene povedi, ki se v nemščini porušijo, množinsko logiko, ki ne deluje v arabščini, in osirotele ključe, ki napihujejo jezikovne datoteke.
Rešitev
Dva poševna ukaza z umetno inteligenco poskrbita za celoten potek dela i18n. Najprej z /i18n-review izvedite pregled kode samo za branje, nato pa z /i18n-wrap vse samodejno popravite. Oba ukaza zaznata Vaše ogrodje, razumeta obliko Vaših jezikovnih datotek in preverita spremembe pred commitom.
/i18n-review
Pregled samo za branje, ki odkrije razdeljene povedi, poškodovane množinske oblike, neovita besedila in neuporabljene ključe. Vaše kode nikoli ne spremeni.
/i18n-wrap
Trdo kodirana besedila samodejno ovije s pravilno prevajalsko funkcijo, ustvari pomenske ključe, posodobi jezikovne datoteke in preveri gradnjo.
Ukaz /i18n-review
Ukaz za pregled izvede pregled Vaše kodne zbirke samo za branje. V vsaki datoteki poišče težave i18n in pripravi prednostno razvrščeno poročilo s točnimi mesti datotek ter predlogi popravkov. Vaše kode nikoli ne spremeni.
/i18n-review src/
/i18n-review src/ --framework=next-intlKaj preverja
- Razdeljene povedi: združeni klici t(), ki v drugih jezikih porušijo vrstni red besed
- Pretirano ovijanje: tehnična besedila, razredi CSS, naslovi URL in naštevne vrednosti, ki so napačno oviti s t()
- Pomanjkljivo ovijanje: vidna besedila uporabniškega vmesnika, kot so oznake gumbov, naslovi in sporočila o napakah, ki ostanejo trdo kodirana
- Težave z množinskimi oblikami: ternarni operatorji ali preverjanja === 1 namesto ustrezne množinske skladnje ICU
- Neuporabljeni ključi: prevajalski ključi, določeni v jezikovnih datotekah, na katere se koda nikoli ne sklicuje
- Trdo kodirane oblikovne vrednosti: datumi, valute in številke, ki ne uporabljajo oblikovalnikov Intl
Ukaz /i18n-wrap
Ukaz za ovijanje trdo kodirana besedila samodejno ovije s pravilno prevajalsko funkcijo za Vaše ogrodje. Zazna Vašo knjižnico i18n, ustvari pomenske ključe, razvrščene po komponentah ali funkcijah, posodobi Vaše jezikovne datoteke in preveri, ali je gradnja še vedno uspešna.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextKaj naredi
- Zaznavanje ogrodja: prepozna Vašo knjižnico i18n in njeno prevajalsko funkcijo (t, $t, $_, gettext itd.)
- Ustvarjanje pomenskih ključev: namesto splošnih oznak ustvari pomenljive ključe, kot sta nav.signIn in errors.notFound
- Posodobitve jezikovnih datotek: v Vašo izvorno jezikovno datoteko doda nove ključe v pravilni obliki (JSON, YAML, PO itd.)
- Preverjanje gradnje: po ovijanju zažene Vaše ukaze za gradnjo, preverjanje sloga in teste, da odkrije morebitne regresije
Podprta ogrodja
Oba ukaza samodejno zaznata Vaše ogrodje iz odvisnosti projekta. Lahko ga tudi izrecno določite z zastavico --framework. Podprtih je 10 ogrodij z njihovimi prevajalskimi funkcijami in oblikami množine.
| Ogrodje | Prevajalska funkcija | Oblika množine |
|---|---|---|
| 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 |
Namestitev
Datoteke ukazov kopirajte v imenik .claude/commands/. To je vse: brez odvisnosti in brez nastavitev. Ukazi so navadne datoteke Markdown, ki jih lahko izvede kateri koli pomočnik za programiranje z umetno inteligenco.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Primeri uporabe
Projekt React
Preglejte aplikacijo React, ki uporablja react-i18next, nato pa ovijte vsa trdo kodirana besedila. Ukaza iz Vašega package.json zaznata react-i18next ter uporabita pravilno funkcijo t() in obliko množine 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.jsonProjekt Django
Preglejte predloge in poglede Django glede težav i18n, nato pa besedila ovijte z gettext. Ukaza iz Vašega settings.py zaznata Django ter za preprosta besedila uporabita _(), za množinske oblike pa 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 updatedSorodni vodniki za ogrodja
Preizkusite i18n Agent zdaj
Spustite prevajalsko datoteko sem
JSON, YAML, PO, XML, CSV, Markdown, Properties
ali kliknite za izbiro
Ciljni jeziki