Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

和element-ui配合使用的问题 #1

Open
MinatoHikari opened this issue Nov 6, 2023 · 3 comments
Open

和element-ui配合使用的问题 #1

MinatoHikari opened this issue Nov 6, 2023 · 3 comments

Comments

@MinatoHikari
Copy link

const i18n = new VueI18n({
        locale: Cookies.get('locale') || lang, 
        messages: {
            en: Object.assign(en, enLocale), 
            es: Object.assign(es, esLocale), 
            ar: Object.assign(ar, arLocale), 
            pt: Object.assign(pt, ptLocale)
        }})

Vue.use(Element, {
  i18n: function (path, options) {
    i18n.t(key, value))
  }
})

elementUI中如果要使用i18n需要做以上处理,怎么拿到i18n的实例?

@eyelly-wu
Copy link
Contributor

@MinatoHikari hi
虽然可以在现有 API createI18n 返回的方法加上 t 属性来实现多语言的效果,但是会有如下缺陷

  1. 需要将 Element 的语言包的转换成非嵌套的 key|value 的形式,现在是嵌套型的
{
  "a":{
    "b": "xxx"
  }
}
// 转出下面这种
{
  "a.b":"xxx"
}
  1. 必须要提前配置好所有的语言包以及语言,否则不会正确显示对应语言
createI18n({
  langs:{
       en,
       jp,
      zh,
  }
  locale: 'zh',
})
  1. 目前从 Element 官网的文档上看,没有说可以通过什么属性改变来切换它的语言,无法实现静态切换语言

目前来看效果不太好,或许看看你是否有什么高见

@MinatoHikari
Copy link
Author

@MinatoHikari hi 虽然可以在现有 API createI18n 返回的方法加上 t 属性来实现多语言的效果,但是会有如下缺陷

1. 需要将 Element 的语言包的转换成非嵌套的 key|value 的形式,现在是嵌套型的
{
  "a":{
    "b": "xxx"
  }
}
// 转出下面这种
{
  "a.b":"xxx"
}
2. 必须要提前配置好所有的语言包以及语言,否则不会正确显示对应语言
createI18n({
  langs:{
       en,
       jp,
      zh,
  }
  locale: 'zh',
})
3. 目前从 `Element` 官网的文档上看,没有说可以通过什么属性改变来切换它的语言,无法实现静态切换语言

目前来看效果不太好,或许看看你是否有什么高见

目前我是直接换成了 vue-i18n 拿到 i18n 实例,只用了 i18n-pro 的 api 翻译生成 json 文件的功能

@eyelly-wu
Copy link
Contributor

哈哈哈,这也是可以的,主要还是 ' Element' 本身就适配了 vue-i18n, 使用上就会方便很多

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants