# 多语言
在本项目中多语言的设计与实现被划分为两个部分:数据校验、组件交互。
# 数据校验
本项目基于 Zod 提供的类 DSL 数据类型结构定义语法,所以我们可以使用 Zod 提供的多语言支持来实现数据校验的多语言。在这里我们推荐使用 zod-i18n-map 来实现多语言的数据校验。
# 安装
安装 zod-i18n-map
与 i18next
(如果你没有安装过)。
npm
yarn
pnpm
npm install zod-i18n-map i18next
yarn add zod-i18n-map i18next
pnpm add zod-i18n-map i18next
# 使用
import i18next from 'i18next'
import { z } from '@zodui/core/external'
import { zodI18nMap } from 'zod-i18n-map'
// 引入你需要的语言包
import translation from 'zod-i18n-map/locales/zh-CN/zod.json'
// 注册语言包资源到 i18next
i18next.init({
lng: 'zh-CN',
resources: {
'zh-CN': { zod: translation }
}
})
// 设置 zod 的错误信息映射为 zod-i18n-map 提供的映射
z.setErrorMap(zodI18nMap)