i18n Skills
Príkazy AI na audit a obaľovanie reťazcov i18n
Problém
Vo Vašej kódovej základni je 500 pevne zapísaných reťazcov roztrúsených po komponentoch, šablónach a zobrazeniach. Manuálne obaľovanie znamená celé dni zdĺhavého vyhľadávania a nahrádzania. Aj po obalení Vám uniknú rozdelené vety, ktoré sa v nemčine rozpadnú, logika množného čísla, ktorá zlyhá v arabčine, a osirelé kľúče, ktoré zbytočne zväčšujú lokalizačné súbory.
Riešenie
Dva lomkové príkazy AI zvládnu celý pracovný postup i18n. Spustením /i18n-review vykonáte audit kódu iba na čítanie a následným spustením /i18n-wrap automaticky všetko opravíte. Oba príkazy rozpoznajú Váš framework, porozumejú formátu lokalizačných súborov a pred vytvorením commitu overia zmeny.
/i18n-review
Audit iba na čítanie, ktorý nájde rozdelené vety, poškodené tvary množného čísla, neobalené reťazce a nepoužívané kľúče. Váš kód nikdy neupraví.
/i18n-wrap
Automaticky obalí pevne zapísané reťazce správnou prekladovou funkciou, vygeneruje sémantické kľúče, aktualizuje lokalizačné súbory a overí zostavenie.
Príkaz /i18n-review
Príkaz review vykoná audit Vašej kódovej základne iba na čítanie. Prehľadá každý súbor, nájde problémy i18n a vytvorí prioritizovaný prehľad s presnými umiestneniami súborov a návrhmi opráv. Váš kód sa nikdy neupraví.
/i18n-review src/
/i18n-review src/ --framework=next-intlČo kontroluje
- Rozdelené vety: zreťazené volania t(), ktoré v iných jazykoch narušia poradie slov
- Nadmerné obaľovanie: technické reťazce, triedy CSS, adresy URL a hodnoty enum nesprávne obalené pomocou t()
- Nedostatočné obaľovanie: viditeľné reťazce rozhrania, ako sú štítky tlačidiel, nadpisy a chybové hlásenia, zostali pevne zapísané
- Problémy s množným číslom: ternárne operátory alebo kontroly === 1 namiesto správnej syntaxe množného čísla ICU
- Nepoužívané kľúče: prekladové kľúče definované v lokalizačných súboroch, na ktoré sa kód nikde neodvoláva
- Pevne zapísané formátované hodnoty: dátumy, meny a čísla, ktoré nepoužívajú formátovače Intl
Príkaz /i18n-wrap
Príkaz wrap automaticky obalí pevne zapísané reťazce správnou prekladovou funkciou pre Váš framework. Rozpozná Vašu knižnicu i18n, vygeneruje sémantické kľúče zoskupené podľa komponentu alebo funkcie, aktualizuje lokalizačné súbory a overí, že zostavenie naďalej prejde.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextČo robí
- Rozpoznanie frameworku: identifikuje Vašu knižnicu i18n a jej prekladovú funkciu (t, $t, $_, gettext atď.)
- Generovanie sémantických kľúčov: namiesto všeobecných označení vytvára zmysluplné kľúče, ako sú nav.signIn a errors.notFound
- Aktualizácie lokalizačných súborov: pridá nové kľúče do Vášho zdrojového lokalizačného súboru v správnom formáte (JSON, YAML, PO atď.)
- Overenie zostavenia: po obalení spustí Vaše príkazy na zostavenie, lintovanie a testovanie, aby odhalil všetky regresie
Podporované frameworky
Oba príkazy automaticky rozpoznajú Váš framework podľa závislostí projektu. Môžete ho určiť aj explicitne príznakom --framework. Tu je 10 podporovaných frameworkov s ich prekladovými funkciami a formátmi množného čísla.
| Framework | Prekladová funkcia | Formát množného čísla |
|---|---|---|
| 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 |
Inštalácia
Skopírujte súbory príkazov do svojho adresára .claude/commands/. To je všetko – bez závislostí a konfigurácie. Príkazy sú obyčajné súbory Markdown, ktoré môže spustiť každý asistent programovania s AI.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Príklady použitia
Projekt React
Skontrolujte aplikáciu React používajúcu react-i18next a potom obaľte všetky pevne zapísané reťazce. Príkazy rozpoznajú react-i18next podľa Vášho package.json a použijú správnu funkciu t() a formát množného čísla 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
Auditujte šablóny a zobrazenia Django z hľadiska problémov i18n a potom obaľte reťazce pomocou gettext. Príkazy rozpoznajú Django podľa Vášho settings.py a použijú _() pre jednoduché reťazce a ngettext() pre tvary množného čísla.
# 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 updatedSúvisiace príručky k frameworkom
Vyskúšajte i18n Agent teraz
Potiahnite súbor na preklad sem
JSON, YAML, PO, XML, CSV, Markdown, Properties
alebo kliknite a vyberte súbor
Cieľové jazyky