Skip to main content

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.

Ročno ovijanje za i18n je nagnjeno k napakam: razvijalci spregledajo razdeljene povedi, s ternarnimi operatorji pokvarijo množinske oblike in v robnih primerih pustijo trdo kodirana besedila. Te napake se pokažejo šele po prevodu, ko je njihovo odpravljanje 10-krat dražje.

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.

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

Kaj 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 za pregled deluje izključno samo za branje. Med razvojem ali v pipelineih CI/CD ga lahko brez tveganja neželenih sprememb zaženete tako pogosto, kot želite.

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.

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

Kaj 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
Ukaz za ovijanje vsako spremembo preveri tako, da zažene Vašo gradnjo in zbirko testov. Če kar koli spodleti, spremembe samodejno povrne.

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.

OgrodjePrevajalska funkcijaOblika množine
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

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.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
To so standardne datoteke poševnih ukazov. V Claude Code delujejo brez dodatnih nastavitev in jih lahko prilagodite drugim pomočnikom za programiranje z umetno inteligenco, ki podpirajo ukaze po meri.

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.

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

Projekt 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().

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

Preizkusite i18n Agent zdaj

Spustite prevajalsko datoteko sem

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

ali kliknite za izbiro

Ciljni jeziki

Registracija ni potrebnaTakojšnja ocena

Pogosta vprašanja