Wielojęzyczna strona w React lub Next.js

Przewodnik i18n dla React i Next.js

Wielojęzyczna strona w React lub Next.js (next-intl) | We.Inc

Przetłumacz stronę React lub Next.js poprawnie: pliki komunikatów, routing językowy next-intl, formatowanie dat, kwot i liczby mnogiej przez Intl, układy od prawej do lewej i tagi hreflang.

Trzymaj każdy tekst w jednym pliku komunikatów JSON na język, daj każdemu językowi własny URL, na przykład /de/about, a daty, ceny i liczbę mnogą formatuj wbudowanymi w przeglądarkę API Intl. W Next.js App Router łączy to wszystko next-intl: segment trasy [locale], proxy wybierające język i useTranslations w komponentach.

Elementy przetłumaczonej strony

Tłumaczenie to coś więcej niż zamiana słów. Zmienia się szyk zdania, reguły liczby mnogiej są różne, arabski czyta się od prawej do lewej, a każdy kraj zapisuje daty po swojemu. Wypróbuj przełącznik poniżej, aby zobaczyć, jak mała karta produktu zmienia język, a potem zbuduj to samo w swojej aplikacji z plikami konfiguracyjnymi i generatorem hreflang.

Najczęściej zadawane pytania

Której biblioteki i18n użyć z React?

Dla Next.js App Router next-intl jest stworzony specjalnie do tego celu i obsługuje Server Components. Dla zwykłej aplikacji React bez Next.js wybierz bibliotekę przechowującą komunikaty w JSON, aby późniejsze przejście na inną pozostało wykonalne.

Czy języki powinny być w podfolderach, subdomenach czy na osobnych domenach?

Podfoldery, takie jak example.com/de/, najłatwiej utrzymać, bo jedna strona i jedna domena obsługują wszystko. next-intl obsługuje też routing oparty na domenach, jeśli potrzebujesz de.example.com lub domeny krajowej.

Jak dodać hreflang w Next.js?

Zwróć alternates.languages z metadata lub generateMetadata, z jednym wpisem na każdy URL językowy. Next.js wypisze dla każdego tag link rel="alternate" hreflang. Każda wersja językowa musi wskazywać wszystkie pozostałe i samą siebie, inaczej wyszukiwarki mogą zignorować cały zestaw.

Czy mogę przetłumaczyć stronę maszynowo?

Możesz użyć tłumaczenia maszynowego jako pierwszej wersji, ale niech sprawdzi je osoba biegle znająca język, zwłaszcza nagłówki, ceny i teksty prawne. Ubogie lub niesprawdzone tłumaczenia mogą dezorientować czytelników i osłabiać zaufanie.

Komunikaty zamiast tekstów w komponentach

Formatowanie zostaw Intl

Języki pisane od prawej do lewej

Konfiguracja next-intl dla App Routera

Zainstaluj przez npm install next-intl. Te pliki mają strukturę z oficjalnego przewodnika next-intl dotyczącego routingu opartego na locale.

Jeden plik na język, w każdym te same klucze. Składnia ICU obsługuje liczbę mnogą wewnątrz komunikatu.

src/i18n/routing.ts i src/proxy.ts

Routing wymienia Twoje locale tylko raz. Proxy (przed Next.js 16 nazywane middleware.ts) przekierowuje odwiedzających na prefiks językowy.

src/i18n/request.ts

Odczytuje locale z segmentu [locale], odrzuca nieznane i ładuje komunikaty dla danego języka.

next.config.ts, layout i strona

Plugin podłącza request.ts. Przenieś strony do app/[locale]/ i odczytuj komunikaty przez useTranslations. next/root-params jest domyślnie włączone od Next.js 16.3; wcześniejsze wersje wymagają experimental.rootParams.

Formatowanie bez biblioteki

Intl w czystym JavaScript

Działa w każdej aplikacji React, przetłumaczonej lub nie.

Reguły hreflang sprawdzane przez wyszukiwarki

Poprawne oznaczenia językowe

Wypróbuj: jedna karta w pięciu językach

Zmień język i liczbę produktów. Teksty pochodzą z obiektu komunikatów, a cena, data i forma liczby mnogiej z API Intl przeglądarki.

Język

Produkty w koszyku: {n}

Wybrana kategoria liczby mnogiej:

Kierunek:

Demo nie przelicza walut; jedynie formatuje tę samą liczbę.

Generator hreflang

Wpisz domenę, ścieżkę strony i kody języków, aby otrzymać tagi link do sekcji head lub obiekt alternates dla Next.js.

Domena

Ścieżka strony

Kody języków (oddzielone przecinkami)

Język x-default

Pominięto nieprawidłowe kody: {codes}. Użyj formy takiej jak de lub en-GB.

Format wyniku

Tagi link HTML

Metadata Next.js

Kopiuj

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony