Schnelle Antwort
Um react-intl mit Next.js Pages Router zu verwenden: Installieren Sie react-intl, erstellen Sie ICU-Nachrichtendateien und umwickeln Sie _app.tsx mit IntlProvider.
Installation
Terminalnpm install react-intl
next.config.js:
JavaScript1module.exports = { 2 i18n: { 3 locales: ['de', 'en', 'es'], 4 defaultLocale: 'de', 5 }, 6};
Nachrichten
lang/de.json:
JSON1{ 2 "app.titel": "Willkommen bei Meiner App", 3 "app.items": "{count, plural, =0 {Keine Artikel} one {# Artikel} other {# Artikel}}" 4}
_app.tsx Konfiguration
TSX1import { IntlProvider } from 'react-intl'; 2import { useRouter } from 'next/router'; 3 4export default function App({ Component, pageProps }) { 5 const { locale } = useRouter(); 6 return ( 7 <IntlProvider locale={locale} messages={pageProps.messages}> 8 <Component {...pageProps} /> 9 </IntlProvider> 10 ); 11}
Verwendung
TSXimport { FormattedMessage } from 'react-intl'; <FormattedMessage id="app.titel" />
