Skip to main content

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.

i18n-käärintä käsin on virhealtista: kehittäjiltä jää jaettuja lauseita huomaamatta, ternäärioperaattorit rikkovat monikkomuodot ja reunatapauksiin kovakoodattuja merkkijonoja. Virheet tulevat esiin vasta kääntämisen jälkeen, jolloin niiden korjaaminen maksaa kymmenen kertaa enemmän.

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.

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

Mitä 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
Review-komento on täysin vain luku -tilassa. Suorita se kehityksen aikana tai CI/CD-putkissa niin usein kuin haluat ilman tahattomien muutosten vaaraa.

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

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

Mitä 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
Wrap-komento validoi jokaisen muutoksen suorittamalla koonnin ja testit. Jos jokin epäonnistuu, se peruu muutokset automaattisesti.

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.

OhjelmistokehysKäännösfunktioMonikkomuoto
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

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.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Nämä ovat tavallisia vinoviivakomentotiedostoja. Ne toimivat heti Claude Code:issa ja ne voi mukauttaa muille mukautettuja komentoja tukeville tekoälypohjaisille koodausavustajille.

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.

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

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

Kokeile i18n Agent:ia nyt

Pudota käännöstiedostosi tähän

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

tai valitse napsauttamalla

Kohdekielet

Rekisteröitymistä ei tarvitaVälitön arvio

Usein kysytyt kysymykset