Next.js App Router projektam izmantojiet next-intl. React SPA lietotnei vai jebkam, kas varētu izaugt no viena karkasa robežām, izmantojiet react-i18next. Ja kompilēšanas laika ekstrakcija un kompaktāki komplekti jums ir svarīgāki par ekosistēmas apjomu, izmantojiet Lingui. Visas trīs ir izpildlaika i18n bibliotēkas: tās piegādā tulkojumus jūsu komponentiem, un neviena no tām nerada jūsu atslēgas vai lokalizācijas failus jūsu vietā. globalize.now ir AI darbināta lokalizācijas infrastruktūra, kas ģenerē šīs atslēgas un katalogus no jūsu koda bāzes, un tā darbojas ar visām trim bibliotēkām.
Ko šīs trīs bibliotēkas īsti dara?
Visas tās risina vienu un to pašu izpildlaika problēmu: pēc atslēgas un valodas atgriezt pareizo tekstu ar pareizu daudzskaitļa formu un formatējumu. Tas ietver interpolāciju, datumu un skaitļu formatēšanu, un daudzskaitļa noteikumus ar ICU stila ziņojumiem.
To, ko nedara neviena no tām, ir tulkojumu radīšana. Izpildlaika bibliotēka izmanto katalogu, kas jau eksistē. Kādam vēl jāatrod katrs lietotājam redzamais teksts jūsu komponentos, jāaizstāj tas ar atslēgu un jāaizpilda lokalizācijas fails katrai valodai. Tas ir atsevišķs kopējās sistēmas slānis, un šo divu slāņu nošķiršana ir ātrākais veids, kā šis salīdzinājums sāk būt saprotams: jūs izvēlēsities tieši vienu izpildlaika bibliotēku, un tā nekonkurē ar rīkiem, kas aizpilda tās katalogus. Mūsu izstrādātāju dokumentācija apraksta šo sadalījumu detalizētāk.
Kad vajadzētu izmantot next-intl?
Kad strādājat ar Next.js, izmantojot App Router. next-intl ir vienīgā no šīm trim bibliotēkām, kas veidota ap App Router pamatelementiem: asinhroniem servera komponentiem (Server Components), valodai pielāgotiem navigācijas un maršrutēšanas palīgrīkiem un metadatu API. 2026. gada septembrī tā ir 4. versijā un ik nedēļu sasniedz aptuveni piecus miljonus npm lejupielāžu, kas praksē, ne tikai teorijā, padara to par noklusējuma izvēli jauniem Next.js projektiem.
Ziņojumi izmanto ICU MessageFormat, tāpēc daudzskaitļa formas, dzimtes un interpolācija seko tam pašam standartam, ko izmanto pārējā nozare. Ja ICU sintakse jums ir jauna, mēs esam sarakstījuši vienkāršu ceļvedi par ICU MessageFormat. Kompromiss ir piesaiste: next-intl ir Next.js bibliotēka. Ja pametat Next.js, jums kopā ar to jāpārceļ arī sava i18n kārta.
Kad vajadzētu izmantot react-i18next?
Ja jūs nestrādājat ar Next.js vai vēlaties izmantot vislielāko ekosistēmu. react-i18next ir React piesaiste i18next bibliotēkai, un ar aptuveni četrpadsmit miljoniem npm lejupielāžu nedēļā tā ir daudz plašāk lietota par jebkuru citu React i18n bibliotēku. i18next kodols tiek uzturēts jau vairāk nekā desmit gadus, un tam ir spraudņi gandrīz visam — aizmugursistēmas kataloga ielādei caur HTTP, valodas noteikšanas rīki, kešatmiņas slāņi, kā arī citas piesaistes ārpus React.
Šī ir bibliotēka, ko lielākā daļa AI kodēšanas rīku izvēlas pēc noklusējuma. Ja lūgsiet Cursor vai Lovable „pievienot tulkojumus” Vite + React lietotnei, gandrīz vienmēr saņemsiet i18next konfigurāciju. Šī izvēle ir saprātīga — tā darbojas visur, un tās JSON kataloga formāts ir tuvākais, kas ekosistēmā pastāv kopīgai valodai. Kompromiss ir tāds, ka bibliotēka radās pirms Server Components, tāpēc App Router gadījumā tai nepieciešams vairāk manuālas konfigurācijas nekā next-intl, un lielākā daļa tulkošanas darba notiek klienta pusē, ja vien to speciāli nenokārtojat citādi.
Kad Lingui ir pareizā izvēle?
Kad prioritāte ir pakotnes izmērs un ērtība darbā ar avota kodu. Lingui, kuras aktuālā galvenā versija 2026. gada septembrī ir 6, izmanto kompilatoram orientētu pieeju: ziņas rakstāt tieši kodā, izmantojot makro, un tās CLI izgūst tās katalogos jau kompilācijas laikā. Kompilētie katalogi tiek piegādāti bez izpildlaika parsēšanas papildu izmaksām, tāpēc i18n izmaksas jūsu pakotnē paliek zemas.
Lingui par sava kataloga formātu izmanto gettext PO failus, ar kuriem profesionāli tulkotāji strādā jau vairākas desmitgades. Tās nedēļas lejupielāžu skaits ir aptuveni pusotrs miljons — par kārtu mazāk nekā react-i18next, tāpēc gaidiet mazāk atbilžu Stack Overflow un mazāk trešo pušu spraudņu. Tā strādā ar React kopumā, ne tikai ar Next.js, bet, tāpat kā react-i18next, tā nav veidota ap App Router pamatprincipiem tā, kā tas ir next-intl gadījumā.
Kā tās salīdzinās īsumā?
| Jautājums | next-intl | react-i18next | Lingui |
|---|---|---|---|
| Vislabāk piemērots | Next.js App Router | Jebkurai React lietotnei, SPA | React lietotnēm, kurām svarīgs pakotnes izmērs |
| Server Components atbalsts | Pilnvērtīgs | Nepieciešama papildu konfigurācija | Nepieciešama papildu konfigurācija |
| Ziņu sintakse | ICU MessageFormat | i18next JSON (ICU ar spraudni) | ICU ar makro |
| Kataloga formāts | JSON | JSON | PO (gettext) |
| Nedēļas npm lejupielādes (2026. g. septembris) | ~5 milj. | ~14 milj. | ~1,5 milj. |
| Aktuālā galvenā versija | v4 | v17 (i18next v26) | v6 |
Ko izvēlēties AI ģenerētam kodam?
Izvēlieties atbilstoši ietvaram, tāpat kā iepriekš — bet ņemiet vērā, ka bibliotēkas izvēle nav tā vieta, kur AI veidotas lietotnes visbiežāk kļūdās. Cursor, Claude Code un Lovable pēc noklusējuma visas rada burtiskus angļu valodas tekstus, neatkarīgi no tā, kura i18n bibliotēka ir instalēta, un aģents, kas rediģē komponenti, turpinās tos pievienot arī pēc bibliotēkas iestatīšanas.
Tātad reālā secība ir šāda: izvēlieties izpildlaika bibliotēku, ko prasa jūsu ietvars, un tad risiniet tekstu izgūšanu un kataloga uzturēšanu kā atsevišķu uzdevumu. Next.js gadījumam esam aprakstījuši pilnu iestatīšanu rakstā i18n pievienošana Cursor veidotai Next.js lietotnei, un Next.js integrācijas lapa apraksta, kā globalize.now sagatavo atslēgas un lokalizācijas failus next-intl vajadzībām pirms jebkādas izpildlaika konfigurēšanas.
Vai jums joprojām ir vajadzīga lokalizācijas infrastruktūra, ja izmantojat izpildlaika bibliotēku?
Jā, jo bibliotēka tikai nolasa katalogus — to sagatavošana un uzturēšana ir tā daļa, kas patērē jūsu laiku. globalize.now darbojas tieši šajā slānī: pievienojiet savu repozitoriju, un rīks vienreiz pārveido kodabāzi, aizstājot burtiskus tekstus ar atslēgām un ģenerējot lokalizācijas failus. Pēc šīs vienreizējās pārveides, katrā izsūtīšanas darbā (push job) tiek tulkoti jaunie kataloga ieraksti, ko rada jūsu commiti.
Rezultāts ir JSON vai PO — JSON next-intl un i18next konfigurācijām, PO Lingui dabiskajam formātam — tāpēc katalogi nonāk tieši tādā formā, kādu jau izmanto jūsu izpildlaika bibliotēka. Ja jūsu lietotnē jau ir daļēja i18n konfigurācija, arī tas tiek risināts: globalize.now darbojas ar esošu i18n, nevis to aizstāj. Plāni un lietošanas tarifi ir pieejami cenu lapā.
Neviena no šīm trim bibliotēkām nav nepareiza izvēle. next-intl, ja izmantojat App Router, react-i18next, ja vēlaties vislielāko ekosistēmu, Lingui, ja vēlaties izgūšanu kompilācijas laikā un PO katalogus. Izvēlieties vienu, turiet tekstus ārpus saviem komponentiem, un ļaujiet kataloga slānim paveikt pārējo.
globalize.now pārvērš burtiski ierakstītus lietotnes tekstus tulkošanai gatavos lokalizācijas failos un pastāvīgi tos atjaunina līdz ar katru jauno versiju.
Izmēģiniet globalize.now bez maksas