Skip to main content

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 kézi i18n-becsomagolás hibalehetőségekkel teli: a fejlesztők nem veszik észre a szétdarabolt mondatokat, ternáris operátorokkal elrontják a többes számot, és szélső esetekben beégetett karakterláncokat hagynak. Ezek a hibák csak fordítás után derülnek ki, amikor javításuk tízszer drágább.

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.

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

Mit 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
A review parancs teljesen írásvédett. Fejlesztés közben vagy CI/CD-folyamatokban tetszőleges gyakorisággal, nem kívánt módosítások veszélye nélkül futtathatja.

/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.

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

Mit 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
A wrap parancs a build és a tesztcsomag futtatásával minden módosítást ellenőriz. Hiba esetén automatikusan visszaállítja a változtatásokat.

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.

KeretrendszerFordítási függvényTöbbesszám-formátum
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

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.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Ezek szabványos perjeles parancsfájlok. Claude Code-ban azonnal működnek, és más, egyéni parancsokat támogató MI-alapú kódolási segédekhez is hozzáigazíthatók.

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.

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

Django-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.

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

Try i18n Agent Now

Drop your translation file here

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

or click to browse

Target languages

No signup requiredInstant estimate

Gyakran Ismételt Kérdések