国际化

Vexip UI 的默认语言为简体中文,并提供其他语言包,你可以通过 全局配置ConfigProvider 快速切换。

切换语言#

在使用 app.use 安装组件库,则可以通过第二个参数的 locale 选项修改语言:

ts
import { enUSLocale, install } from 'vexip-ui'

app.use(install, {
  locale: enUSLocale()
})

使用 app.use 会引入所有组件,如果你需要按需引入,可以在顶层包裹一个 ConfigProvider 组件进行配置:

vue
<template>
  <ConfigProvider :locale="taINLocale()">
    <App></App>
  </ConfigProvider>
</template>

<script setup lang="ts">
import { taINLocale } from 'vexip-ui'
</script>

如果你需要支持动态切换语言,可以在配置时传入一个响应式数据:

ts
import { ref } from 'vue'
import { enUSLocale, install, taINLocale } from 'vexip-ui'

const vexipuiLocale = ref(enUSLocale())

app.use(install, {
  locale: vexipuiLocale
})

// 切换
vexipuiLocale.value = taINLocale()

你也可以通过 registerLocale 方法注册并缓存一个语言包,随后通过修改 locale.locale 属性快速切换。

ts
import { ref } from 'vue'
import { enUSLocale, install, registerLocale, taINLocale } from 'vexip-ui'

registerLocale(enUSLocale())
registerLocale(taINLocale())

const vexipuiLocale = ref({ locale: 'en-US' })

app.use(install, {
  locale: vexipuiLocale
})

// 切换
vexipuiLocale.value = 'ta-IN'

支持的语言#

语言名称配置始于
ar-EG阿拉伯语arEGLocale2.2.24
de-DE德语deDELocale2.2.9
en-US英语enUSLocale-
fa-IR波斯语faIRLocale2.3.14
fr-FR法语frFRLocale2.3.3
ta-IN泰米尔语taINLocale2.1.11
zh-CN简体中文zhCNLocale-
zh-HK繁体中文(中国香港)zhHKLocale2.2.2
zh-TW繁体中文(中国台湾)zhTWLocale2.2.2

局部修改#

你可以通过只传入部分的选项,实现局部修改某个语言包的配置。

通过 app.use 传入选项修改:

ts
import { enUSLocale, install, registerLocale } from 'vexip-ui'

// 如果为中文则无需注册
registerLocale(enUSLocale())

app.use(install, {
  locale: {
    locale: 'en-US',
    input: {
      placeholder: 'Awesome'
    }
  }
})

通过 ConfigProvider 修改:

vue
<template>
  <ConfigProvider :locale="locale">
    <App></App>
  </ConfigProvider>
</template>

<script setup lang="ts">
import type { LocaleOptions } from 'vexip-ui'

const locale: LocaleOptions = {
  input: {
    placeholder: 'Awesome'
  }
}
</script>

增加语言#

如果在支持的语言中未有你想要的,可以创建一个语言包。

借助 defineLocaleConfig 帮助函数,你可以获得更好的类型提示和推导。

ts
import { defineLocaleConfig } from 'vexip-ui'

function enUSLocale() {
  return defineLocaleConfig({
    locale: 'en-US',
    wordSpace: true,

    // config
  })
}

完整的国际化选项可以浏览 此处

如果你愿意发起一个 PR,可以跟随下面的步骤:

  1. 参考 en-US 配置 在 Vexip UI 项目的 common/config/src/locale 目录下创建一个配置;
  2. <root>/common/config/src/locale/index.ts<root>/index.ts 中增加该配置的导出;
  3. 更新 <root>/docs/en-US/guide/i18n.md<root>/docs/zh-CN/guide/i18n.md支持的语言 章节,添加该语言的信息;
  4. 创建一个 PR,可参考 泰米尔语 的 PR,随后等待代码审查与合并。