Zod 国际化:让你的错误消息更友好

Zod 国际化:让你的错误消息更友好

zod-i18n Useful for translating zod error messages. zod-i18n 项目地址: https://gitcode.com/gh_mirrors/zo/zod-i18n

在开发多语言应用时,错误消息的本地化是一个不可忽视的环节。Zod 是一个强大的 TypeScript 验证库,但在默认情况下,它的错误消息是英文的。为了让你的应用支持多语言,Zod Internationalization 项目应运而生。这个开源库可以帮助你轻松地将 Zod 的默认错误消息翻译成多种语言,让你的用户无论使用哪种语言,都能获得友好的错误提示。

项目介绍

Zod Internationalization 是一个用于翻译 Zod 默认错误消息的库。它基于 i18next 国际化框架,支持多种语言的翻译文件。通过简单的配置,你可以将 Zod 的错误消息翻译成你需要的语言,从而提升用户体验。

项目技术分析

技术栈

  • Zod: 一个 TypeScript 验证库,用于定义和验证数据结构。
  • i18next: 一个流行的国际化框架,支持多种语言和动态翻译。
  • zod-i18n-map: 本项目的主要库,用于将 Zod 的错误消息映射到 i18next 的翻译文件中。

核心功能

  • 多语言支持: 内置了多种语言的翻译文件,包括中文、英文、西班牙语、法语等。
  • 自定义错误消息: 支持自定义错误消息的翻译,适用于 refine 等高级用法。
  • 命名空间支持: 可以通过命名空间来管理不同场景下的错误消息,例如表单验证和 API 验证。
  • 路径处理: 支持在错误消息中包含对象路径,方便用户理解错误的来源。

项目及技术应用场景

应用场景

  • 多语言 Web 应用: 适用于需要支持多语言的 Web 应用,特别是那些使用 Zod 进行数据验证的项目。
  • 国际化 API: 如果你的 API 需要支持多语言的错误消息返回,Zod Internationalization 可以帮助你轻松实现。
  • 表单验证: 在表单验证中,用户可能会因为语言问题而难以理解错误提示,使用本库可以确保错误消息的本地化。

技术应用

  • 动态翻译: 通过 i18next 的动态翻译功能,可以在运行时切换语言,无需重启应用。
  • 自定义翻译: 支持自定义翻译文件,可以根据业务需求调整错误消息的表达方式。
  • 集成 next-i18next: 如果你使用的是 Next.js,可以轻松集成 next-i18next,实现全站的多语言支持。

项目特点

1. 简单易用

只需几行代码,即可将 Zod 的错误消息翻译成你需要的语言。无需复杂的配置,即可实现多语言支持。

import i18next from "i18next";
import { z } from "zod";
import { zodI18nMap } from "zod-i18n-map";
import translation from "zod-i18n-map/locales/es/zod.json";

i18next.init({
  lng: "es",
  resources: {
    es: { zod: translation },
  },
});
z.setErrorMap(zodI18nMap);

const schema = z.string().email();
schema.parse("foo"); // => correo inválido

2. 高度可定制

通过 makeZodI18nMap 函数,你可以对翻译进行详细的定制,包括命名空间、路径处理等。

z.setErrorMap(makeZodI18nMap({ ns: "formValidation" }));
z.string().parse(1); // => it is expected to provide string but you provided number

3. 丰富的语言支持

内置了多种语言的翻译文件,包括中文、英文、西班牙语、法语等。你也可以轻松添加新的语言翻译。

4. 社区支持

项目开源,欢迎社区贡献。如果你有新的语言翻译文件,可以通过 Pull Request 提交,帮助更多人受益。

结语

Zod Internationalization 是一个强大的工具,可以帮助你在多语言环境中轻松管理 Zod 的错误消息。无论你是开发 Web 应用、API 还是表单验证,它都能为你提供极大的便利。快来试试吧,让你的应用更加国际化!

GitHub 地址: Zod Internationalization


如果你有任何问题或建议,欢迎在 GitHub 上提交 Issue 或 Pull Request。让我们一起打造一个更加友好的国际化开发环境!

zod-i18n Useful for translating zod error messages. zod-i18n 项目地址: https://gitcode.com/gh_mirrors/zo/zod-i18n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贺妤娅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值