import i18n from"i18next";
import { initReactI18next } from"react-i18next";
import LanguageDetector from"i18next-browser-languagedetector";
i18n
// here we are going to detect users default browser language
.use(LanguageDetector)
// here we pass our i18n instance
.use(initReactI18next)
//initialization step
.init({
debug: true,
// fallback language in case language is not detected
fallbackLng: "en",
interpolation: {
escapeValue: false,
},
resources: {
en: {
translation: {
// here we will keep our translations for different languages
},
},
},
});
resources: {
en: {
translation: {
planet: "Planet",
createPlanet: "Create a new planet",
// here we will keep our translations for different languages
},
},
de: {
translation: {
planet: "Planeten",
createPlanet: "Erstellen Sie einen neuen Planeten",
},
},
},
const languages = {
en: { nativeName: "English" },
de: { nativeName: "Deutsch" },
};
functionYourComponent {
return (
// ... rest of your component// place where you want to place the buttons
{Object.keys(languages).map((langauge) => (
<buttonkey={langauge}style={{fontWeight:i18next.resolvedLanguage === langauge ? "bold" : "normal",
}}
type="submit"onClick={() => i18next.changeLanguage(langauge)}
>
{languages[langauge].nativeName}
</button>
))}
// ... rest of your component
)
}