index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { createI18n } from 'vue-i18n';
  2. import zh from './zh.json';
  3. import en from './en.json'
  4. import es from './es.json'
  5. import km from './km.json'
  6. import verConfig from '../ver.config';
  7. import { getStorage, setStorage } from '@/utils';
  8. // setStorage(verConfig.langName, 'zh')
  9. const lang = getStorage(verConfig.langName);
  10. const defaultLang = verConfig.lang || "zh"
  11. if (!lang) {
  12. setStorage(verConfig.langName, defaultLang);
  13. }
  14. export const messages = {
  15. zh: { ...zh },
  16. en,
  17. es,
  18. km
  19. }
  20. export const setLan = (_lan, callBack = () => { }) => {
  21. setStorage(verConfig.langName, _lan);
  22. i18n.global.locale = _lan;
  23. uni.setLocale(_lan)
  24. callBack()
  25. };
  26. export const getLan = () => {
  27. const lan = getStorage(verConfig.langName);
  28. if (!lan) {
  29. setLan(defaultLang);
  30. return defaultLang;
  31. }
  32. return lan;
  33. };
  34. export const lans = [
  35. {
  36. label: '中文简体',
  37. value: 'zh'
  38. },
  39. {
  40. label: 'English',
  41. value: 'en'
  42. },
  43. {
  44. label: 'Española',
  45. value: 'es'
  46. }
  47. ,
  48. {
  49. label: 'Khmer',
  50. value: 'km'
  51. }
  52. ]
  53. const locale = getLan();
  54. export const i18n = createI18n({
  55. locale,
  56. messages,
  57. })
  58. export const findLang = (_lan) => {
  59. let find = lans.find(item => _lan === item.value)
  60. return find
  61. }
  62. export const t = (key, spareKey = {}) => {
  63. return i18n.global.t(key, spareKey)
  64. }