index.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import ar from "./ar.json";
  2. import cn from "./cn.json";
  3. import de from "./de.json";
  4. import en from "./en.json";
  5. import es from "./es.json";
  6. import fa from "./fa.json";
  7. import ko from "./ko.json";
  8. import ms from "./ms.json";
  9. import pt from "./pt.json";
  10. import th from "./th.json";
  11. import tr from "./tr.json";
  12. import vn from "./vn.json";
  13. import id from "./id.json";
  14. import ug from "./ug.json";
  15. import zhHant from "./zhHant.json";
  16. const localesList = [
  17. "en",
  18. "cn",
  19. "zhHant",
  20. "ug",
  21. "de",
  22. "es",
  23. "ar",
  24. "id",
  25. "ms",
  26. "th",
  27. "vn",
  28. "ko",
  29. "pt",
  30. "fa",
  31. "tr",
  32. ];
  33. const messages = { ar, cn, de, en, es, fa, ko, ms, pt, th, tr, vn, zhHant, id, ug };
  34. const LANG_MAP = {
  35. cn: 'zh-Hans',
  36. zh: 'zh-Hans',
  37. zhHans: 'zh-Hans',
  38. zhHant: 'zh-Hant',
  39. en: 'en',
  40. ar: 'ar',
  41. de: 'de',
  42. es: 'es',
  43. fa: 'fa',
  44. ko: 'ko',
  45. ms: 'ms',
  46. pt: 'pt',
  47. th: 'th',
  48. tr: 'tr',
  49. vn: 'vi',
  50. vi: 'vi',
  51. id: 'id',
  52. ug: 'ug',
  53. };
  54. /**
  55. * 切换应用语言(vue-i18n + 本地存储)
  56. * App 端勿调用 uni.setLocale,否则会触发原生重启
  57. */
  58. function switchAppLanguage(type, { locale, lang }) {
  59. if (!type || !locale || !lang) return
  60. locale.value = type
  61. lang.value = type
  62. // #ifdef H5
  63. const localeValue = LANG_MAP[type] || 'zh-Hans'
  64. uni.setLocale(localeValue)
  65. // #endif
  66. }
  67. export { messages, localesList, LANG_MAP, switchAppLanguage };