element-plus/website/docs/zh-CN/i18n.md
三咲智子 55348b30b6
style: use prettier (#3228)
* style: use prettier

* style: just prettier format, no code changes

* style: eslint fix
object-shorthand, prefer-const

* style: fix no-void

* style: no-console
2021-09-04 19:29:28 +08:00

4.0 KiB
Raw Blame History

国际化

ElementPlus 组件内部默认使用英语,若希望使用其他语言,可以参考下面的方案。

全局配置

ElementPlus 提供了全局配置国际化的设置。

import ElementPlus from 'element-plus'
import zhCn from 'element-plus/es/locale/lang/zh-cn'

app.use(ElementPlus, {
  locale: zhCn,
})

ConfigProvider

ElementPlus 还提供了一个 Vue 组件 ConfigProvider 用于全局配置国际化的设置。

<template>
  <el-config-provider :locale="locale">
    <app />
  </el-config-provider>
</template>

<script>
  import { defineComponent } from 'vue'
  import { ElConfigProvider } from 'element-plus'

  import zhCn from 'element-plus/lib/locale/lang/zh-cn'

  export default defineComponent({
    components: {
      ElConfigProvider,
    },
    setup() {
      return {
        locale: zhCn,
      }
    },
  })
</script>

详细配置见:ConfigProvider

CDN 用法

如果你是使用 CDN 引入的 ElementPlus那你将需要这样做以 unpkg 举例

<script src="//unpkg.com/element-plus/dist/locale/zh-cn">
  <script>
  app.use(ElementPlus, {
    locale: ElementPlus.lang.zhCn
  })
</script>

支持的语言列表

  • 简体中文zh-cn
  • 英语en
  • 德语de
  • 葡萄牙语pt
  • 西班牙语es
  • 丹麦语da
  • 法语fr
  • 挪威语nb-no
  • 繁体中文zh-tw
  • 意大利语it
  • 韩语ko
  • 日语ja
  • 荷兰语nl
  • 越南语vi
  • 俄语ru
  • 土耳其语tr
  • 巴西葡萄牙语pt-br
  • 波斯语fa
  • 泰语th
  • 印尼语id
  • 保加利亚语bg
  • 波兰语pl
  • 芬兰语fi
  • 瑞典语sv
  • 希腊语el
  • 斯洛伐克语sk
  • 加泰罗尼亚语ca
  • 捷克语cs
  • 乌克兰语uk
  • 土库曼语tk
  • 泰米尔语ta
  • 拉脱维亚语lv
  • 南非荷兰语af
  • 爱沙尼亚语et
  • 斯洛文尼亚语sl
  • 阿拉伯语ar
  • 希伯来语he
  • 立陶宛语lt
  • 蒙古语mn
  • 哈萨克斯坦语kk
  • 匈牙利语hu
  • 罗马尼亚语ro
  • 库尔德语ku
  • 维吾尔语ug-cn
  • 高棉语km
  • 塞尔维亚语sr
  • 巴斯克语eu
  • 吉尔吉斯语ky
  • 亚美尼亚语 (hy-am)
  • 克罗地亚 (hr)
  • 世界语 (eo)

如果你需要使用其他的语言,欢迎贡献 PR 只需在这里 添加一个语言配置文件即可。

常见问题

如果我想要替换默认语言包来减小打包体积,应该怎么做?

当你的应用默认不是使用英语的时候,你需要额外引入一个新的语言,这样会使得没有用到的语言文件被打包,会增加最终产物的文件大小,如果你非常在意最终产物文件的大小,你可以使用 webpack 提供的 NormalModuleReplacementPlugin 插件替换默认语言包。你可以把以下代码添加进 webpack.config.js 文件中来应用这个插件。

webpack.config.js

{
  plugins: [
    new webpack.NormalModuleReplacementPlugin(
      /element-plus[\/\\]lib[\/\\]locale[\/\\]lang[\/\\]en/,
      'element-plus/lib/locale/lang/zh-cn'
    ),
  ]
}