mirror of
https://git.netzspielplatz.de/docker-multiarch/openwrt-firmware-selector.git
synced 2025-11-08 23:39:37 +00:00
Uses react-i18next library to provide APIs for translational
purposes.
Translation data is loaded from `src/locales/{{lng}}/translation.json`
and is accessed by dot notation.
The data can be translated in two ways:
1. In functional components, a method `t` can be instantiated using the
`useTranslation` method from rect-18next.
2. In class components, a method `t` can be accessed via props while
exporting the component with `withTranslation` method from react-i18next
library.
The syntax will look like `t('data.data')` or `this.props.t('data.data')`
Signed-off-by: Sudhanshu Gautam <me@sudhanshug.com>
36 lines
No EOL
874 B
JavaScript
36 lines
No EOL
874 B
JavaScript
import i18n from 'i18next';
|
|
import { initReactI18next } from 'react-i18next';
|
|
import LanguageDetector from 'i18next-browser-languagedetector';
|
|
import translationEN from './locales/en/translation.json';
|
|
import translationDE from './locales/de/translation.json';
|
|
|
|
|
|
const resources = {
|
|
en: {
|
|
translation: translationEN
|
|
},
|
|
de: {
|
|
translation: translationDE
|
|
}
|
|
};
|
|
|
|
i18n
|
|
// detect user language
|
|
// learn more: https://github.com/i18next/i18next-browser-languageDetector
|
|
.use(LanguageDetector)
|
|
// pass the i18n instance to react-i18next.
|
|
.use(initReactI18next)
|
|
// init i18next
|
|
// for all options read: https://www.i18next.com/overview/configuration-options
|
|
.init({
|
|
resources,
|
|
fallbackLng: 'en',
|
|
debug: true,
|
|
|
|
interpolation: {
|
|
escapeValue: false, // not needed for react as it escapes by default
|
|
}
|
|
});
|
|
|
|
|
|
export default i18n; |