In dit gedeelte begeleiden we u door het proces van het implementeren van Internationalisering(i18n) in uw Next.js aanvraag. Met i18n kunt u een meertalige ervaring voor gebruikers creëren en taalspecifieke inhoud aanbieden.
Gebruik van de next-i18next
bibliotheek
next-i18next
is een populaire bibliotheek voor het implementeren van i18n in Next.js applicaties. Zo kunt u i18n aan uw toepassing toevoegen:
Installeren next-i18next
:
npm install next-i18next
Configureer de bibliotheek in uw next.config.js
bestand:
const { i18n } = require('./next-i18next.config');
module.exports = {
i18n,
};
Maak een configuratiebestand met de naam next-i18next.config.js
:
module.exports = {
i18n: {
locales: ['en', 'fr', 'es'],
defaultLocale: 'en',
},
};
Gebruik de bibliotheek in uw toepassing:
import { useTranslation } from 'next-i18next';
function MyComponent() {
const { t } = useTranslation();
return(
<div>
<p>{t('welcome')}</p>
</div>
);
}
Meertalige inhoud creëren
Na de installatie next-i18next
kunt u taalbestanden maken zoals en.json
, fr.json
, es.json
om inhoud in elke taal aan te bieden:
// en.json
{
"welcome": "Welcome!"
}
// fr.json
{
"welcome": "Bienvenue!"
}
// es.json
{
"welcome": "¡Bienvenido!"
}
Taalwisseling
Om taalwisseling mogelijk te maken, kunt u een taalwisseltool maken en de i18n.changeLanguage
functie gebruiken:
import { useTranslation } from 'next-i18next';
function LanguageSwitcher() {
const { i18n } = useTranslation();
const handleChangeLanguage =(newLanguage) => {
i18n.changeLanguage(newLanguage);
};
return(
<div>
<button onClick={() => handleChangeLanguage('en')}>English</button>
<button onClick={() => handleChangeLanguage('fr')}>Français</button>
<button onClick={() => handleChangeLanguage('es')}>Español</button>
</div>
);
}
Conclusie
In dit gedeelte maakte u kennis met het proces van het implementeren van Internationalisering(i18n) in uw Next.js toepassing met behulp van de next-i18next
bibliotheek. Door taalspecifieke inhoud aan te bieden en gebruikers in staat te stellen van taal te wisselen, kunt u een boeiende meertalige ervaring voor uw gebruikers creëren.