zs
2025-05-06 55bf797dcc730b37bc691ebab2b51ff9db8ed245
HIAWms/web/src/libs/Language/Language.ts
对比新文件
@@ -0,0 +1,66 @@
// @ts-nocheck
import sdk from 'sdk'
import EN from './i18n/langEN'
import TH from './i18n/langTH'
import ZH from './i18n/langZH'
const { models } = sdk
export const Language = models.Language
export const t = Language.t
export const globalT = Language._t
export const _t = Language.scope ? Language.scope('MesSuite') : Language._t
export const scope = Language.scope || (() => Language._t)
// 鏆傛椂鏂规
// const keys = {}
// export const scope = (key: string) => {
//   const scope = Language.scope || (() => Language._t)
//   const fn = (langKey) => {
//     keys[key] = keys[key] || {}
//     keys[key][langKey] = langKey
//     return scope(key)(langKey)
//   }
//   return fn
// }
export const lang = window.app.current.project.current.language
export const getLang = (key: string) => {
  const langMap: Record<string, any> = {
    'en-US': EN,
    th: TH,
    'zh-CN': ZH,
    original: ZH,
  }
  const langKey: Record<string, string> = {
    'en-US': 'EN',
    th: 'TH',
    'zh-CN': 'ZH',
    original: 'ZH',
  }
  return {
    lang: langMap[key] || ZH,
    key: langKey[key],
  }
}
export const getScopeT = (namespace?: string) => {
  if (namespace && scope) {
    return scope(namespace)
  }
  return _t
}
export const getCurrentLang = () => {
  const lang = window.app.current.project.current.language.followLang
  if (lang.includes('zh')) {
    return 'zh'
  }
  return lang
}