i18n.js 826 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import i18n from '@/i18n'
  2. /**
  3. * 在非组件环境中使用的翻译函数
  4. * @param {string} key - 翻译键
  5. * @param {object} params - 参数
  6. * @returns {string} 翻译后的文本
  7. */
  8. export function t(key, params) {
  9. return i18n.global.t(key, params)
  10. }
  11. /**
  12. * 获取当前语言
  13. * @returns {string} 当前语言代码
  14. */
  15. export function getLocale() {
  16. return i18n.global.locale.value
  17. }
  18. /**
  19. * 设置语言
  20. * @param {string} locale - 语言代码
  21. */
  22. export function setLocale(locale) {
  23. i18n.global.locale.value = locale
  24. try {
  25. uni.setStorageSync('locale', locale)
  26. } catch (e) {
  27. console.error('Failed to save locale:', e)
  28. }
  29. }
  30. /**
  31. * 检查是否存在翻译键
  32. * @param {string} key - 翻译键
  33. * @returns {boolean} 是否存在
  34. */
  35. export function hasKey(key) {
  36. return i18n.global.te(key)
  37. }