10.10综合交易所原始源码_移动端
1
admin
2026-02-10 c547081aa61be5c7b6d4c12853c675954c2156eb
src/i18n/index.js
@@ -1,5 +1,5 @@
import { createI18n } from 'vue-i18n'
import { getStorage } from '@/utils/index'
import { getStorage, getBrowserLang } from '@/utils/index'
import enLocale from './modules/en'
import cnLocale from './modules/CN'
import zhcnLocale from './modules/zh-CN'
@@ -13,88 +13,42 @@
import Italy from './modules/Italy'
import SpanishLocal from './modules/es'
import PortugueseLocal from './modules/pt'
import gaLocale from './modules/ga'
import nlLocale from './modules/nl'
import svLocale from './modules/sv'
import daLocale from './modules/da'
import noLocale from './modules/no'
import fiLocale from './modules/fi'
import lbLocale from './modules/lb'
import roLocale from './modules/ro'
const lang = getStorage('lang') || 'en'
const messages = {
  'en': {
    ...enLocale
  },
  'CN': {
    ...cnLocale
  },
  'zh-CN': {
    ...zhcnLocale
  },
  'Korean': {
    ...korcnLocale
  },
  'Japanese': {
    ...japcnLocale
  },
  'de': {
    ...Deutsch
  },
  'fr': {
    ...fr
  },
  'vi': {
    ...vi
  },
  'th': {
    ...th
  },
  'Italy': {
    ...Italy
  },
  'es': {
    ...SpanishLocal
  },
  'pt': {
    ...PortugueseLocal
  },
  'gr': {
    ...gr
  },
  'ga': {
    ...gaLocale
  },
  'nl': {
    ...nlLocale
  },
  'sv': {
    ...svLocale
  },
  'da': {
    ...daLocale
  },
  'no': {
    ...noLocale
  },
  'fi': {
    ...fiLocale
  },
  'lb': {
    ...lbLocale
  },
  'ro': {
    ...roLocale
  },
// 支持的 locale 列表,用于校验
const SUPPORTED_LOCALES = ['en', 'CN', 'zh-CN', 'Korean', 'Japanese', 'de', 'fr', 'vi', 'th', 'Italy', 'es', 'pt', 'gr']
// 获取初始语言:缓存 > 浏览器语言,并确保在支持列表中
function getInitialLocale() {
  const cached = getStorage('lang')
  if (cached && SUPPORTED_LOCALES.includes(cached)) return cached
  const browserLang = getBrowserLang()
  return SUPPORTED_LOCALES.includes(browserLang) ? browserLang : 'en'
}
const messages = {
  en: { ...enLocale },
  CN: { ...cnLocale },
  'zh-CN': { ...zhcnLocale },
  Korean: { ...korcnLocale },
  Japanese: { ...japcnLocale },
  de: { ...Deutsch },
  fr: { ...fr },
  vi: { ...vi },
  th: { ...th },
  Italy: { ...Italy },
  es: { ...SpanishLocal },
  pt: { ...PortugueseLocal },
  gr: { ...gr }
}
const i18n = createI18n({
  legacy: false,
  locale: lang, // 首先从缓存里拿,没有的话就用浏览器语言,
  fallbackLocale: 'en', // 设置备用语言
  locale: getInitialLocale(),
  fallbackLocale: ['zh-CN', 'en'], // 缺失 key 时先回退到简体中文,再回退到英文
  messages,
  missingWarn: import.meta.env.DEV, // 仅开发环境输出缺失 key 警告
  fallbackWarn: import.meta.env.DEV,
  silentTranslationWarn: !import.meta.env.DEV
})
export default i18n
export default i18n