i18n prasmes
MI komandas i18n virkņu auditēšanai un ietveršanai
Problēma
Kodu bāzē ir 500 tieši ierakstītu virkņu, kas izkaisītas komponentos, veidnēs un skatos. Manuāla ietveršana nozīmē vairākas dienas apnicīga meklēšanas un aizstāšanas darba. Pat pēc ietveršanas joprojām palaižat garām sadalītus teikumus, kas sabojājas vācu valodā, daudzskaitļa loģiku, kas nedarbojas arābu valodā, un bāreņatslēgas, kas uzpūš lokalizācijas failus.
Risinājums
Divas MI slīpsvītras komandas, kas apstrādā visu i18n darbplūsmu. Palaidiet /i18n-review tikai lasāmam koda auditam, pēc tam /i18n-wrap, lai visu automātiski izlabotu. Abas komandas nosaka jūsu sistēmu, izprot lokalizācijas failu formātu un pirms komitēšanas validē izmaiņas.
/i18n-review
Tikai lasāms audits, kas atrod sadalītus teikumus, bojātu daudzskaitli, neietvertas virknes un neizmantotas atslēgas. Nekad nemaina kodu.
/i18n-wrap
Automātiski ietver tieši ierakstītas virknes ar pareizo tulkošanas funkciju, ģenerē semantiskas atslēgas, atjaunina lokalizācijas failus un validē būvējumu.
/i18n-review komanda
Pārskatīšanas komanda veic tikai lasāmu kodu bāzes auditu. Tā skenē katru failu, meklējot i18n problēmas, un izveido prioritizētu pārskatu ar precīzām failu atrašanās vietām un labošanas ieteikumiem. Jūsu kods nekad netiek mainīts.
/i18n-review src/
/i18n-review src/ --framework=next-intlKo tā pārbauda
- Sadalīti teikumi: savienoti t() izsaukumi, kas citās valodās sabojā vārdu secību
- Pārmērīga ietveršana: tehniskas virknes, CSS klases, URL un uzskaitījumu vērtības nepareizi ietvertas ar t()
- Nepietiekama ietveršana: redzamas UI virknes, piemēram, pogu etiķetes, virsraksti un kļūdu ziņojumi, atstātas tieši ierakstītas
- Daudzskaitļa problēmas: ternārie operatori vai === 1 pārbaudes pareizas ICU daudzskaitļa sintakses vietā
- Neizmantotas atslēgas: lokalizācijas failos definētas tulkojumu atslēgas, uz kurām kodā nekad nav atsauces
- Tieši ierakstītas formāta vērtības: datumi, valūtas un skaitļi neizmanto Intl formatētājus
/i18n-wrap komanda
Ietveršanas komanda automātiski ietver tieši ierakstītas virknes ar jūsu sistēmai pareizo tulkošanas funkciju. Tā nosaka i18n bibliotēku, ģenerē pēc komponenta vai funkcijas grupētas semantiskas atslēgas, atjaunina lokalizācijas failus un validē, vai būvējums joprojām izdodas.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextKo tā dara
- Sistēmas noteikšana: identificē i18n bibliotēku un tās tulkošanas funkciju (t, $t, $_, gettext u.c.)
- Semantisku atslēgu ģenerēšana: izveido jēgpilnas atslēgas, piemēram, nav.signIn un errors.notFound, nevis vispārīgas etiķetes
- Lokalizācijas failu atjauninājumi: pievieno jaunas atslēgas avota lokalizācijas failam pareizajā formātā (JSON, YAML, PO u.c.)
- Būvējuma validācija: pēc ietveršanas palaiž būvējuma, analīzes un testu komandas, lai atrastu regresijas
Atbalstītās sistēmas
Abas komandas automātiski nosaka sistēmu pēc projekta atkarībām. Varat to arī skaidri norādīt ar karodziņu --framework. Lūk, 10 atbalstītās sistēmas, to tulkošanas funkcijas un daudzskaitļa formāti.
| Sistēma | Tulkošanas funkcija | Daudzskaitļa formāts |
|---|---|---|
| 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 |
Instalēšana
Nokopējiet komandu failus uz direktoriju .claude/commands/. Tas arī viss — bez atkarībām vai konfigurācijas. Komandas ir vienkārši Markdown faili, ko var izpildīt jebkurš MI kodēšanas asistents.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Lietošanas piemēri
React projekts
Pārskatiet React lietotni, kas izmanto react-i18next, pēc tam ietveriet visas tieši ierakstītās virknes. Komandas nosaka react-i18next no package.json un izmanto pareizo t() funkciju un key_one/key_other daudzskaitļa formātu.
# 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 projekts
Auditējiet Django veidnes un skatus, lai atrastu i18n problēmas, pēc tam ietveriet virknes ar gettext. Komandas nosaka Django no settings.py un vienkāršām virknēm izmanto _(), bet daudzskaitlim — 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 updatedSaistītie sistēmu ceļveži
Izmēģiniet i18n Agent tūlīt
Nometiet tulkošanas failu šeit
JSON, YAML, PO, XML, CSV, Markdown, Properties
vai noklikšķiniet, lai izvēlētos
Mērķa valodas