|
import i18n from 'i18next'; |
|
import LanguageDetector from 'i18next-browser-languagedetector'; |
|
import { initReactI18next } from 'react-i18next'; |
|
|
|
import translation_en from './en'; |
|
import translation_es from './es'; |
|
import translation_id from './id'; |
|
import translation_ja from './ja'; |
|
import translation_pt_br from './pt-br'; |
|
import { createTranslationTable, flattenObject } from './until'; |
|
import translation_vi from './vi'; |
|
import translation_zh from './zh'; |
|
import translation_zh_traditional from './zh-traditional'; |
|
|
|
const resources = { |
|
en: translation_en, |
|
zh: translation_zh, |
|
'zh-TRADITIONAL': translation_zh_traditional, |
|
id: translation_id, |
|
ja: translation_ja, |
|
es: translation_es, |
|
vi: translation_vi, |
|
'pt-BR': translation_pt_br, |
|
}; |
|
const enFlattened = flattenObject(translation_en); |
|
const viFlattened = flattenObject(translation_vi); |
|
const esFlattened = flattenObject(translation_es); |
|
const zhFlattened = flattenObject(translation_zh); |
|
const jaFlattened = flattenObject(translation_ja); |
|
const pt_brFlattened = flattenObject(translation_pt_br); |
|
const zh_traditionalFlattened = flattenObject(translation_zh_traditional); |
|
export const translationTable = createTranslationTable( |
|
[ |
|
enFlattened, |
|
viFlattened, |
|
esFlattened, |
|
zhFlattened, |
|
zh_traditionalFlattened, |
|
jaFlattened, |
|
pt_brFlattened, |
|
], |
|
['English', 'Vietnamese', 'Spanish', 'zh', 'zh-TRADITIONAL', 'ja', 'pt-BR'], |
|
); |
|
i18n |
|
.use(initReactI18next) |
|
.use(LanguageDetector) |
|
.init({ |
|
detection: { |
|
lookupLocalStorage: 'lng', |
|
}, |
|
supportedLngs: [ |
|
'en', |
|
'zh', |
|
'zh-TRADITIONAL', |
|
'id', |
|
'es', |
|
'vi', |
|
'ja', |
|
'pt-BR', |
|
], |
|
resources, |
|
fallbackLng: 'en', |
|
interpolation: { |
|
escapeValue: false, |
|
}, |
|
}); |
|
|
|
export default i18n; |
|
|