index.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import Taro from '@tarojs/taro';
  2. import LanguageDetector from 'i18next-browser-languagedetector';
  3. import i18n from 'i18next';
  4. import zh from './zh'
  5. import en from './en'
  6. import { initReactI18next } from 'react-i18next';
  7. function getLanguageSetting() {
  8. if (process.env.TARO_ENV == 'weapp') {
  9. var key = Taro.getStorageSync('language')
  10. if (key) {
  11. initLocale(key)
  12. }
  13. else {
  14. initLocale('zh')
  15. }
  16. }
  17. else {
  18. initLocale('en')
  19. }
  20. }
  21. function initLocale(strLocale: string) {
  22. i18n.use(LanguageDetector) //嗅探当前浏览器语言
  23. .use(initReactI18next) //init i18next
  24. .init({
  25. //引入资源文件
  26. resources: {
  27. en: {
  28. translation: en,
  29. },
  30. zh: {
  31. translation: zh,
  32. },
  33. },
  34. //选择默认语言,选择内容为上述配置中的key,即en/zh
  35. lng: strLocale,//Taro.getStorageSync('language') ? Taro.getStorageSync('language') : 'en',
  36. debug: false,
  37. interpolation: {
  38. escapeValue: false, // not needed for react as it escapes by default
  39. },
  40. })
  41. }
  42. getLanguageSetting();
  43. export default i18n;