Next.js App Routeri projektis kasutage next-intl-i. Reacti SPA-s või rakenduses, mis võib ühest raamistikust välja kasvada, kasutage react-i18next-i. Kui kompileerimisaegne eraldamine ja väikesed bundle’id on teile ökosüsteemi suurusest olulisemad, kasutage Lingui’t. Kõik kolm on käitusaja i18n-teegid: need edastavad tõlked teie komponentidele, kuid ükski neist ei kirjuta teie eest võtmeid ega lokaalifaile. globalize.now on AI-toega lokaliseerimistaristu, mis loob need võtmed ja kataloogid teie koodibaasist ning töötab kõigi kolme teegiga.
Mida need kolm teeki tegelikult teevad?
Kõik lahendavad sama käitusaja probleemi: võtme ja lokaali põhjal tagastada õige string, õigesti mitmusesse pööratud ja vormindatud kujul. See hõlmab interpolatsiooni, kuupäevade ja arvude vormindamist ning ICU-stiilis sõnumite kaudu mitmusereegleid.
Ükski neist ei loo tõlkeid. Käitusteek kasutab juba olemasolevat kataloogi. Keegi peab endiselt leidma teie komponentidest kõik kasutajale nähtavad stringid, asendama need võtmega ja täitma iga keele jaoks lokaalifaili. See on virna eraldi kiht ning nende kahe kihi lahus hoidmine on kiireim viis selle võrdluse mõistmiseks: valite täpselt ühe käitusteegi ja see ei konkureeri tööriistadega, mis selle katalooge täidavad. Meie arendajadokumentatsioon kirjeldab seda jaotust üksikasjalikumalt.
Millal kasutada next-intl-i?
Kui kasutate Next.js-i koos App Routeriga. next-intl on neist kolmest ainus teek, mis on loodud App Routeri primitiivide ümber: asünkroonsed Server Components’id, lokaaliteadlik navigeerimine ja marsruutimise abifunktsioonid ning metaandmete API-d. 2026. aasta septembri seisuga on see versioonil 4 ja seda laaditakse npm-ist umbes viis miljonit korda nädalas, mistõttu on see uute Next.js-i projektide praktiline vaikevalik, mitte ainult teoreetiliselt.
Sõnumid kasutavad ICU MessageFormat’i, seega järgivad mitmus, sugu ja interpolatsioon sama standardit, mida kasutab ülejäänud valdkond. Kui ICU süntaks on teile uus, kirjutasime lihtsas inglise keeles juhendi ICU MessageFormat’i kohta. Kompromiss on seotus: next-intl on Next.js-i teek. Kui lahkute Next.js-ist, peate koos sellega migreerima ka oma i18n-kihi.
Millal kasutada react-i18next-i?
Kui te ei kasuta Next.js-i või soovite enda taha suurimat ökosüsteemi. react-i18next on i18next-i Reacti sidumine ning umbes 14 miljoni npm-i allalaadimisega nädalas on see ülekaalukalt enim kasutatud Reacti i18n-teek. i18next-i tuuma on hooldatud üle kümne aasta ning selle jaoks leidub plugin peaaegu kõigele: HTTP kaudu katalooge laadivad taustsüsteemid, keele tuvastajad, vahemälukihid ja raamistikusidemed ka väljaspool Reacti.
See on teek, mille poole enamik AI-kooditööriistu vaikimisi pöördub. Kui palute Cursoril või Lovable’il lisada Vite + Reacti rakendusele tõlked, saate peaaegu alati i18next-i seadistuse. See vaikevalik on mõistlik: see töötab kõikjal ja selle JSON-kataloogivorming on ökosüsteemis lähim ühisele lingua franca’le. Kompromiss on see, et see eelneb Server Components’idele, mistõttu vajab see App Routeris rohkem ühendamistööd ning suurem osa tõlketööst toimub kliendis, kui te seda teisiti ei korralda.
Millal on Lingui õige valik?
Kui teie prioriteedid on bundle’i suurus ja lähtekoodi kasutusmugavus. 2026. aasta septembri seisuga põhineb Lingui versioonil 6 kompilaatorikesksel lähenemisel: kirjutate sõnumid makrode abil otse koodi ning CLI eraldab need build’i ajal kataloogidesse. Kompileeritud kataloogid tarnitakse ilma käitusaja parsimise lisakuluta, mis hoiab i18n-i mõju bundle’ile väiksena.
Lingui kasutab kataloogivorminguna ka gettexti PO-faile, millega professionaalsed tõlkijad on aastakümneid töötanud. Nädalased allalaadimised jäävad umbes 1,5 miljoni juurde – suurusjärk vähem kui react-i18next-il –, seega leidub vähem Stack Overflow’ vastuseid ja kolmandate osapoolte pluginaid. See töötab Reactiga üldiselt, mitte ainult Next.js-iga, kuid nagu react-i18next, ei ole ka see üles ehitatud App Routeri primitiivide ümber nii, nagu next-intl.
Kuidas need kiire ülevaate põhjal võrreldavad on?
| Küsimus | next-intl | react-i18next | Lingui |
|---|---|---|---|
| Parim sobivus | Next.js App Router | Iga Reacti rakendus, SPA-d | Bundle’i suuruse suhtes tundlikud Reacti rakendused |
| Server Components’i tugi | Esimese klassi tugi | Vajab lisaseadistust | Vajab lisaseadistust |
| Sõnumisüntaks | ICU MessageFormat | i18next JSON (ICU plugina kaudu) | ICU makrode kaudu |
| Kataloogivorming | JSON | JSON | PO (gettext) |
| Nädalased npm-i allalaadimised (september 2026) | ~5 miljonit | ~14 miljonit | ~1,5 miljonit |
| Praegune põhiversioon | v4 | v17 (i18next v26) | v6 |
Millise valida AI loodud koodibaasi jaoks?
Valige raamistikupõhiselt, nagu eespool – kuid teadke, et teegi valik ei ole koht, kus AI abil loodud rakendused tavaliselt hätta jäävad. Cursor, Claude Code ja Lovable loovad vaikimisi hardcoded ingliskeelseid stringe, olenemata sellest, milline i18n-teek on installitud, ning komponenti muutev agent lisab neid ka pärast teegi seadistamist edasi.
Seega on õige järjekord järgmine: valige raamistikule sobiv käitusteek ning lahendage eraldamine ja kataloogide hooldus eraldi probleemina. Next.js-i puhul dokumenteerisime täieliku seadistuse juhendis i18n-i lisamine Cursoriga loodud Next.js-i rakendusele ning Next.js-i integratsioonileht selgitab, kuidas globalize.now valmistab next-intl-i jaoks võtmed ja lokaalifailid ette enne mis tahes käitusaja ühendamist.
Kas vajate käitusteegi kõrval endiselt lokaliseerimistaristut?
Jah, sest teek loeb ainult katalooge – nende loomine ja hooldamine on see osa, mis teie aega kulutab. globalize.now asub selles kihis: ühendage oma hoidla ja see teisendab koodibaasi ühe korraga, asendades hardcoded stringid võtmetega ning genereerides lokaalifailid. Pärast seda ühekordset teisendust tõlgivad push-tööd uued kataloogikirjed, mille teie commit’id lisavad.
Väljund on JSON või PO – next-intl-i ja i18next-i seadistuste jaoks JSON, Lingui loomuliku vormingu jaoks PO –, seega jõuavad kataloogid kujule, mida teie käitusteek juba kasutab. Kui teie rakendusel on i18n juba osaliselt seadistatud, arvestatakse ka sellega: globalize.now töötab olemasoleva i18n-iga ega asenda seda. Paketid ja kasutushinnad leiate hinnalehelt.
Ükski neist kolmest teegist pole vale valik. next-intl, kui kasutate App Routerit; react-i18next, kui soovite maksimaalset ökosüsteemi; Lingui, kui soovite kompileerimisaegset eraldamist ja PO-katalooge. Valige üks, hoidke stringid komponentidest väljas ja laske kataloogikihil ülejäänu ära teha.
globalize.now muudab rakenduse koodis olevad tekstid tõlkeks valmis lokaale failideks ja hoiab neid ajakohasena, kui sa uusi versioone välja lasid.
Proovi globalize.now tasuta