i18n Skills
AI naredbe za provjeru i obuhvaćanje i18n tekstova
Problem
Vaša baza koda ima 500 tekstova ugrađenih u kod i raspršenih po komponentama, predlošcima i prikazima. Ručno obuhvaćanje zahtijeva dane zamornog pretraživanja i zamjenjivanja. Čak i nakon obuhvaćanja možete propustiti podijeljene rečenice koje narušavaju red riječi u njemačkom, logiku množine koja ne radi u arapskom i napuštene ključeve koji nepotrebno povećavaju datoteke lokaliteta.
Rješenje
Dvije AI slash naredbe upravljaju cijelim i18n tijekom rada. Pokrenite /i18n-review kako biste provjerili kod bez izmjena, a zatim /i18n-wrap kako biste sve automatski ispravili. Obje naredbe otkrivaju Vaš radni okvir, razumiju format datoteka lokaliteta i provjeravaju izmjene prije commita.
/i18n-review
Provjera samo za čitanje koja pronalazi podijeljene rečenice, oštećene množine, neobuhvaćene tekstove i neupotrijebljene ključeve. Nikada ne mijenja Vaš kod.
/i18n-wrap
Automatski obuhvaća tekstove ugrađene u kod ispravnom funkcijom za prevođenje, generira semantičke ključeve, ažurira datoteke lokaliteta i provjerava izgradnju.
Naredba /i18n-review
Naredba za pregled provodi provjeru Vaše baze koda samo za čitanje. Pregledava svaku datoteku u potrazi za i18n problemima i izrađuje prioritetno izvješće s točnim lokacijama datoteka i prijedlozima ispravaka. Vaš se kod nikada ne mijenja.
/i18n-review src/
/i18n-review src/ --framework=next-intlŠto provjerava
- Podijeljene rečenice: spojeni pozivi t() koji narušavaju red riječi u drugim jezicima
- Prekomjerno obuhvaćanje: tehnički tekstovi, CSS klase, URL-ovi i vrijednosti nabrajanja pogrešno obuhvaćeni funkcijom t()
- Nedovoljno obuhvaćanje: vidljivi tekstovi korisničkog sučelja poput oznaka gumba, naslova i poruka o pogreškama ostavljeni su u kodu
- Problemi s množinom: ternarni operatori ili provjere === 1 umjesto ispravne sintakse ICU množine
- Neupotrijebljeni ključevi: ključevi prijevoda definirani u datotekama lokaliteta, ali nikada navedeni u kodu
- Vrijednosti formata ugrađene u kod: datumi, valute i brojevi koji ne upotrebljavaju Intl oblikovatelje
Naredba /i18n-wrap
Naredba wrap automatski obuhvaća tekstove ugrađene u kod ispravnom funkcijom za prevođenje za Vaš radni okvir. Otkriva Vašu i18n biblioteku, generira semantičke ključeve grupirane po komponenti ili značajci, ažurira datoteke lokaliteta i provjerava prolazi li izgradnja i dalje.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextŠto radi
- Otkrivanje radnog okvira: prepoznaje Vašu i18n biblioteku i njezinu funkciju za prevođenje (t, $t, $_, gettext itd.)
- Generiranje semantičkih ključeva: stvara smislene ključeve poput nav.signIn i errors.notFound umjesto generičkih oznaka
- Ažuriranje datoteka lokaliteta: dodaje nove ključeve u datoteku izvornog lokaliteta u ispravnom formatu (JSON, YAML, PO itd.)
- Provjera izgradnje: pokreće Vaše naredbe za izgradnju, lint i testiranje nakon obuhvaćanja kako bi otkrila regresije
Podržani radni okviri
Obje naredbe automatski otkrivaju Vaš radni okvir na temelju ovisnosti projekta. Možete ga i izričito navesti zastavicom --framework. Slijedi 10 podržanih radnih okvira s njihovim funkcijama za prevođenje i formatima množine.
| Radni okvir | Funkcija za prevođenje | Format množine |
|---|---|---|
| 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 |
Instalacija
Kopirajte datoteke naredbi u svoj direktorij .claude/commands/. To je sve — nema ovisnosti ni konfiguracije. Naredbe su obične Markdown datoteke koje svaki AI pomoćnik za programiranje može izvršiti.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Primjeri upotrebe
React projekt
Pregledajte React aplikaciju koja upotrebljava react-i18next, a zatim obuhvatite sve tekstove ugrađene u kod. Naredbe otkrivaju react-i18next u datoteci package.json i upotrebljavaju ispravnu funkciju t() te format množine 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.jsonDjango projekt
Provjerite Django predloške i prikaze u potrazi za i18n problemima, a zatim obuhvatite tekstove funkcijom gettext. Naredbe otkrivaju Django u datoteci settings.py i upotrebljavaju _() za jednostavne tekstove, a ngettext() za množine.
# 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 updatedPovezani vodiči za radne okvire
Isprobajte i18n Agent odmah
Povucite datoteku za prijevod ovdje
JSON, YAML, PO, XML, CSV, Markdown, Properties
ili kliknite za odabir
Ciljni jezici