Een React- of Next.js-site meertalig maken

Gids voor i18n in React en Next.js

Een React- of Next.js-site meertalig maken (next-intl) | We.Inc

Vertaal een React- of Next.js-site op de juiste manier: berichtbestanden, locale-routing met next-intl, Intl-opmaak voor datums, bedragen en meervouden, rechts-naar-links-layouts en hreflang-tags.

Bewaar elke tekst in één JSON-berichtbestand per taal, geef elke taal een eigen URL zoals /de/about, en maak datums, prijzen en meervouden op met de ingebouwde Intl API's van de browser. In de Next.js App Router verbindt next-intl dit allemaal: een [locale]-routesegment, een proxy die de taal kiest, en useTranslations in componenten.

De onderdelen van een vertaalde site

Vertalen is meer dan woorden uitwisselen. De woordvolgorde verandert, meervoudsregels verschillen, Arabisch leest van rechts naar links en elk land schrijft datums op zijn eigen manier. Probeer de schakelaar hieronder om één kleine productkaart van taal te zien wisselen, en bouw daarna hetzelfde in uw app met de setupbestanden en de hreflang-generator.

Veelgestelde vragen

Welke i18n-bibliotheek gebruik ik met React?

Voor de Next.js App Router is next-intl er speciaal voor gemaakt en ondersteunt het Server Components. Voor een gewone React-app zonder Next.js kiest u een bibliotheek die berichten als JSON opslaat, zodat later overstappen naar een andere beheersbaar blijft.

Horen talen in submappen, subdomeinen of aparte domeinen?

Submappen zoals example.com/de/ zijn het eenvoudigst te beheren, omdat één site en één domein alles dragen. next-intl ondersteunt ook routing op basis van domeinen als u de.example.com of een landendomein nodig hebt.

Hoe voeg ik hreflang toe in Next.js?

Geef alternates.languages terug vanuit metadata of generateMetadata, met één item per taal-URL. Next.js schrijft voor elk ervan een link rel="alternate" hreflang-tag. Elke taalversie moet alle andere en zichzelf vermelden, anders kunnen zoekmachines de set negeren.

Kan ik mijn site machinaal vertalen?

U kunt machinevertaling gebruiken als eerste versie, maar laat een vloeiende spreker het nakijken, vooral koppen, prijzen en juridische tekst. Magere of niet-nagekeken vertalingen kunnen lezers verwarren en het vertrouwen schaden.

Berichten, geen teksten in componenten

Laat Intl de opmaak doen

Talen die van rechts naar links lezen

next-intl-setup voor de App Router

Installeer met npm install next-intl. Deze bestanden volgen de structuur uit de eigen startgids van next-intl voor routing op basis van locale.

Eén bestand per taal, met in elk dezelfde keys. ICU-syntaxis regelt meervouden binnen het bericht.

src/i18n/routing.ts en src/proxy.ts

Routing somt uw locales één keer op. De proxy (vóór Next.js 16 middleware.ts genoemd) stuurt bezoekers door naar een taalprefix.

src/i18n/request.ts

Leest de locale uit het [locale]-segment, weigert onbekende locales en laadt de berichten van die taal.

next.config.ts, layout en een pagina

De plugin koppelt request.ts. Verplaats uw pagina's naar app/[locale]/ en lees berichten met useTranslations. next/root-params staat standaard aan vanaf Next.js 16.3; eerdere versies hebben experimental.rootParams nodig.

Opmaak zonder bibliotheek

Intl in gewoon JavaScript

Werkt in elke React-app, vertaald of niet.

hreflang-regels die zoekmachines controleren

Taalannotaties goed instellen

Probeer het: één kaart in vijf talen

Wissel van taal en wijzig het aantal artikelen. Teksten komen uit een berichtobject, en de prijs, datum en meervoudsvorm komen uit de Intl API's van de browser.

Taal

Artikelen in winkelwagen: {n}

Gekozen meervoudscategorie:

Richting:

De demo rekent geen valuta om; hij maakt alleen hetzelfde getal op.

hreflang-generator

Vul uw domein, een paginapad en uw taalcodes in om de link-tags voor de head te krijgen, of het alternates-object voor Next.js.

Domein

Paginapad

Taalcodes (gescheiden door komma's)

x-default-taal

Ongeldige codes overgeslagen: {codes}. Gebruik een vorm zoals de of en-GB.

Uitvoerformaat

HTML link-tags

Next.js-metadata

Kopiëren

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap