mirror of
https://github.com/balena-io/etcher.git
synced 2025-04-19 21:07:18 +00:00
45 lines
991 B
TypeScript
45 lines
991 B
TypeScript
import * as i18next from 'i18next';
|
|
import { initReactI18next } from 'react-i18next';
|
|
import zh_CN_translation from './i18n/zh-CN';
|
|
import zh_TW_translation from './i18n/zh-TW';
|
|
import en_translation from './i18n/en';
|
|
|
|
export function langParser() {
|
|
if (process.env.LANG !== undefined) {
|
|
// Bypass mocha, where lang-detect don't works
|
|
return 'en';
|
|
}
|
|
|
|
const lang = Intl.DateTimeFormat().resolvedOptions().locale;
|
|
|
|
switch (lang.substr(0, 2)) {
|
|
case 'zh':
|
|
if (lang === 'zh-CN' || lang === 'zh-SG') {
|
|
return 'zh-CN';
|
|
} // Simplified Chinese
|
|
else {
|
|
return 'zh-TW';
|
|
} // Traditional Chinese
|
|
default:
|
|
return lang.substr(0, 2);
|
|
}
|
|
}
|
|
|
|
i18next.use(initReactI18next).init({
|
|
lng: langParser(),
|
|
fallbackLng: 'en',
|
|
nonExplicitSupportedLngs: true,
|
|
interpolation: {
|
|
escapeValue: false,
|
|
},
|
|
resources: {
|
|
'zh-CN': zh_CN_translation,
|
|
'zh-TW': zh_TW_translation,
|
|
en: en_translation,
|
|
},
|
|
});
|
|
|
|
export const supportedLocales = ['en', 'zh'];
|
|
|
|
export default i18next;
|