i18n-taidot
Tekoälykomennot i18n-merkkijonojen auditointiin ja käärintään
Ongelma
Koodikannassasi on 500 kovakoodattua merkkijonoa hajallaan komponenteissa, malleissa ja näkymissä. Niiden kääriminen käsin vaatii päiviä puuduttavaa etsi ja korvaa -työtä. Käärimisen jälkeenkin jäävät huomaamatta jaetut lauseet, jotka rikkoutuvat saksaksi, arabiassa epäonnistuva monikkologiikka ja kieliversiotiedostoja paisuttavat orvot avaimet.
Ratkaisu
Kaksi tekoälyn vinoviivakomentoa hoitaa koko i18n-työnkulun. Auditoi koodisi muuttamatta komennolla /i18n-review ja korjaa sitten kaikki automaattisesti komennolla /i18n-wrap. Molemmat komennot tunnistavat ohjelmistokehyksesi, ymmärtävät kieliversiotiedostojesi muodon ja validoivat muutokset ennen committia.
/i18n-review
Vain luku -auditointi löytää jaetut lauseet, rikkoutuneet monikkomuodot, käärimättömät merkkijonot ja käyttämättömät avaimet. Se ei koskaan muuta koodiasi.
/i18n-wrap
Käärii kovakoodatut merkkijonot automaattisesti oikealla käännösfunktiolla, luo merkitykselliset avaimet, päivittää kieliversiotiedostot ja validoi koonnin.
/i18n-review-komento
Review-komento auditoi koodikantasi vain luku -tilassa. Se tarkistaa jokaisen tiedoston i18n-ongelmien varalta ja tuottaa priorisoidun raportin, jossa on tarkat tiedostosijainnit ja korjausehdotukset. Koodiasi ei koskaan muuteta.
/i18n-review src/
/i18n-review src/ --framework=next-intlMitä se tarkistaa
- Jaetut lauseet: yhteen liitetyt t()-kutsut, jotka rikkovat muiden kielten sanajärjestyksen
- Liiallinen käärintä: tekniset merkkijonot, CSS-luokat, URL-osoitteet ja luettelointiarvot on kääritty virheellisesti t()-funktiolla
- Riittämätön käärintä: näkyvät käyttöliittymätekstit, kuten painikkeiden nimikkeet, otsikot ja virheilmoitukset, on jätetty kovakoodatuiksi
- Monikkomuoto-ongelmat: ternäärioperaattorit tai === 1 -tarkistukset oikean ICU-monikkosyntaksin sijaan
- Käyttämättömät avaimet: kieliversiotiedostoissa määritetyt käännösavaimet, joihin koodi ei koskaan viittaa
- Kovakoodatut muotoiluarvot: päivämäärät, valuutat ja luvut eivät käytä Intl-muotoilijoita
/i18n-wrap-komento
Wrap-komento käärii kovakoodatut merkkijonot automaattisesti ohjelmistokehyksesi oikealla käännösfunktiolla. Se tunnistaa i18n-kirjastosi, luo komponentin tai ominaisuuden mukaan ryhmitellyt merkitykselliset avaimet, päivittää kieliversiotiedostosi ja validoi koonnin onnistumisen.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextMitä se tekee
- Ohjelmistokehyksen tunnistus: tunnistaa i18n-kirjastosi ja sen käännösfunktion (t, $t, $_, gettext ja muut)
- Merkityksellisten avainten luonti: luo yleisten nimikkeiden sijaan kuvaavia avaimia, kuten nav.signIn ja errors.notFound
- Kieliversiotiedostojen päivitys: lisää uudet avaimet lähdekielen tiedostoon oikeassa muodossa (JSON, YAML, PO ja muut)
- Koonnin validointi: suorittaa käärinnän jälkeen koonti-, lint- ja testikomennot regressioiden löytämiseksi
Tuetut ohjelmistokehykset
Molemmat komennot tunnistavat ohjelmistokehyksesi automaattisesti projektin riippuvuuksista. Voit määrittää sen myös erikseen --framework-valitsimella. Tässä ovat kymmenen tuettua ohjelmistokehystä, niiden käännösfunktiot ja monikkomuodot.
| Ohjelmistokehys | Käännösfunktio | Monikkomuoto |
|---|---|---|
| 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 |
Asennus
Kopioi komentotiedostot .claude/commands/-hakemistoosi. Siinä kaikki — ei riippuvuuksia tai määrityksiä. Komennot ovat tavallisia Markdown-tiedostoja, joita mikä tahansa tekoälypohjainen koodausavustaja voi suorittaa.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Käyttöesimerkit
React-projekti
Tarkista react-i18next:iä käyttävä React-sovellus ja kääri sitten kaikki kovakoodatut merkkijonot. Komennot tunnistavat react-i18next:in package.json-tiedostosta ja käyttävät oikeaa t()-funktiota sekä key_one/key_other-monikkomuotoa.
# 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-projekti
Auditoi Django-mallien ja -näkymien i18n-ongelmat ja kääri merkkijonot sitten gettextillä. Komennot tunnistavat Django:n settings.py-tiedostosta ja käyttävät yksinkertaisiin merkkijonoihin _()-funktiota ja monikkomuotoihin ngettext()-funktiota.
# 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 updatedAiheeseen liittyvät ohjelmistokehysoppaat
Kokeile i18n Agent:ia nyt
Pudota käännöstiedostosi tähän
JSON, YAML, PO, XML, CSV, Markdown, Properties
tai valitse napsauttamalla
Kohdekielet