i18n Skills
MI-parancsok i18n-karakterláncok ellenőrzéséhez és becsomagolásához
A probléma
A kódbázis 500 beégetett karakterláncot tartalmaz komponensekben, sablonokban és nézetekben szétszórva. A kézi becsomagolás napokig tartó, fáradságos keresés és csere. Még utána is kimaradnak a németben hibás mondatsorrendet okozó szétdarabolt mondatok, az arabban rosszul működő többesszám-logika és a területifájlokat felfújó árva kulcsok.
A megoldás
Két MI-alapú perjeles parancs, amelyek a teljes i18n-munkafolyamatot kezelik. Futtassa az /i18n-review parancsot a kód írásvédett ellenőrzéséhez, majd az /i18n-wrap parancsot minden probléma automatikus javításához. Mindkettő felismeri a keretrendszert, megérti a területifájl formátumát, és véglegesítés előtt ellenőrzi a változásokat.
/i18n-review
Írásvédett ellenőrzés, amely szétdarabolt mondatokat, hibás többes számokat, becsomagolatlan karakterláncokat és nem használt kulcsokat talál. Sosem módosítja a kódot.
/i18n-wrap
Automatikusan becsomagolja a beégetett karakterláncokat a megfelelő fordítási függvénnyel, szemantikus kulcsokat hoz létre, frissíti a területifájlokat, és ellenőrzi a buildet.
/i18n-review parancs
A review parancs írásvédett ellenőrzést végez a kódbázison. Minden fájlt átvizsgál i18n-problémák után, majd pontos fájlhelyeket és javítási javaslatokat tartalmazó, fontossági sorrendbe rendezett jelentést készít. A kódot sosem módosítja.
/i18n-review src/
/i18n-review src/ --framework=next-intlMit ellenőriz?
- Szétdarabolt mondatok: összefűzött t() hívások, amelyek más nyelveken elrontják a szórendet
- Túlzott becsomagolás: a t() függvénnyel tévesen becsomagolt műszaki karakterláncok, CSS-osztályok, URL-ek és felsorolásértékek
- Hiányos becsomagolás: beégetve hagyott látható felületi szövegek, például gombcímkék, címsorok és hibaüzenetek
- Többesszám-hibák: ternáris operátorok vagy === 1 ellenőrzések a helyes ICU többesszám-szintaxis helyett
- Nem használt kulcsok: területifájlokban meghatározott, de a kódban sosem hivatkozott fordítási kulcsok
- Beégetett formátumértékek: Intl-formázók nélkül kezelt dátumok, pénznemek és számok
/i18n-wrap parancs
A wrap parancs automatikusan becsomagolja a beégetett karakterláncokat a keretrendszer megfelelő fordítási függvényével. Felismeri az i18n-könyvtárat, komponens vagy funkció szerint csoportosított szemantikus kulcsokat hoz létre, frissíti a területifájlokat, és ellenőrzi, hogy a build továbbra is sikeres-e.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextMit végez el?
- Keretrendszer-felismerés: azonosítja az i18n-könyvtárat és annak fordítási függvényét (t, $t, $_, gettext stb.)
- Szemantikus kulcsgenerálás: általános címkék helyett olyan jelentésteli kulcsokat hoz létre, mint a nav.signIn és az errors.notFound
- Területifájl-frissítés: az új kulcsokat a megfelelő formátumban (JSON, YAML, PO stb.) adja hozzá a forrás területifájlhoz
- Buildellenőrzés: a becsomagolás után futtatja a build-, lint- és tesztparancsokat a regressziók észleléséhez
Támogatott keretrendszerek
Mindkét parancs automatikusan felismeri a keretrendszert a projekt függőségeiből. A --framework kapcsolóval kifejezetten is megadhatja. Íme a 10 támogatott keretrendszer fordítási függvényeikkel és többesszám-formátumaikkal.
| Keretrendszer | Fordítási függvény | Többesszám-formátum |
|---|---|---|
| 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 |
Telepítés
Másolja a parancsfájlokat a .claude/commands/ könyvtárba. Ennyi — nincs függőség vagy beállítás. A parancsok egyszerű Markdown-fájlok, amelyeket bármely MI-alapú kódolási segéd végrehajthat.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Használati példák
React-projekt
Ellenőrizzen egy react-i18next alapú React-alkalmazást, majd csomagoljon be minden beégetett karakterláncot. A parancsok a package.json alapján felismerik a react-i18next csomagot, és a megfelelő t() függvényt, valamint key_one/key_other többesszám-formátumot használják.
# 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
Ellenőrizze a Django-sablonok és -nézetek i18n-problémáit, majd csomagolja be a karakterláncokat a gettext segítségével. A parancsok a settings.py alapján felismerik a Djangót, és egyszerű karakterláncokhoz _(), többes számhoz ngettext() függvényt használnak.
# 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 updatedKapcsolódó keretrendszer-útmutatók
Try i18n Agent Now
Drop your translation file here
JSON, YAML, PO, XML, CSV, Markdown, Properties
or click to browse
Target languages