loading...

# 多语言

在本项目中多语言的设计与实现被划分为两个部分:数据校验、组件交互。

# 数据校验

本项目基于 Zod 提供的类 DSL 数据类型结构定义语法,所以我们可以使用 Zod 提供的多语言支持来实现数据校验的多语言。在这里我们推荐使用 zod-i18n-map 来实现多语言的数据校验。

# 安装

安装 zod-i18n-mapi18next(如果你没有安装过)。

npm
yarn
pnpm
content_copy
npm install zod-i18n-map i18next
content_copy
yarn add zod-i18n-map i18next
content_copy
pnpm add zod-i18n-map i18next

# 使用

content_copy
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)
arrow_upward
comment

摘要