Skip to main content

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.

Manuálne obaľovanie i18n je náchylné na chyby: vývojári prehliadnu rozdelené vety, narušia tvary množného čísla ternárnymi operátormi a v okrajových prípadoch ponechajú pevne zapísané reťazce. Tieto chyby sa prejavia až po preklade, keď je ich oprava 10-krát drahšia.

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

Terminal
/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 review pracuje výhradne v režime iba na čítanie. Počas vývoja alebo v pipeline CI/CD ho môžete spúšťať ľubovoľne často bez rizika nechcených zmien.

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.

Terminal
/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
Príkaz wrap overí každú zmenu spustením zostavenia a súboru testov. Ak čokoľvek zlyhá, zmeny automaticky vráti späť.

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.

FrameworkPrekladová funkciaFormát množného čísla
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

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.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Ide o štandardné súbory lomkových príkazov. V Claude Code fungujú bez ďalšieho nastavovania a možno ich prispôsobiť pre iných asistentov programovania s AI, ktorí podporujú vlastné príkazy.

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.

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

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.

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

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

Bez registrácieOkamžitý odhad

Často kladené otázky