index.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import zhHans from './locales/zh-Hans.json'
  2. import zhHant from './locales/zh-Hant.json'
  3. import en from './locales/en.json'
  4. import es from './locales/es.json'
  5. import fr from './locales/fr.json'
  6. import de from './locales/de.json'
  7. import ko from './locales/ko.json'
  8. import ja from './locales/ja.json'
  9. import ru from './locales/ru.json'
  10. let settings = {
  11. lang: uni.getLocale(),
  12. locales: {
  13. en,
  14. es,
  15. fr,
  16. de,
  17. ko,
  18. ja,
  19. ru,
  20. 'zh-Hant': zhHant,
  21. 'zh-Hans': zhHans
  22. }
  23. };
  24. uni.onLocaleChange((locale) => {
  25. settings.lang = locale;
  26. })
  27. /**
  28. * 多语言方法
  29. */
  30. export function t(value, params = {}) {
  31. // console.log(settings.locales[settings.lang])
  32. if (value) {
  33. let result = settings.locales[settings.lang][value] || value;
  34. // 替换{xxx}格式的变量
  35. Object.keys(params).forEach(key => {
  36. const reg = new RegExp(`{${key}}`, 'g');
  37. result = result.replace(reg, params[key]);
  38. });
  39. return result;
  40. } else {
  41. return value;
  42. }
  43. }
  44. export default {
  45. settings: settings
  46. }