如何在NestJS和Next.js中翻译多语言前端显示的后端错误消息,包括验证消息?

9bfwbjaz  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(121)

我正在构建一个带有NestJS后端和Next.js前端的Web应用程序。对于本地化和翻译,我在前端使用“next-i18 next”库,对于验证和错误处理,我使用NestJS的类验证器和其他错误消息。
错误示例:username must be a stringusername should not be emptyusername must be longer than or equal to 10 characters
我的后端目前提供错误消息,包括验证错误消息,在一种语言。在前端,我想以多种语言显示这些错误消息,以提供更好的用户体验。
具体来说,我使用类验证器进行验证,需要翻译这些验证错误消息。此外,我还想处理后端生成的其他错误消息的翻译。
如何在前端高效地翻译这些错误消息,同时保持后端错误处理的完整性?当使用“next-i18 next”进行本地化时,在NestJS(后端)和Next.js(前端)之间处理不同语言的错误消息(包括验证错误)的最佳方法是什么?
我非常感谢任何关于如何有效地实现这个解决方案的指导或代码示例。

czfnxgou

czfnxgou1#

很好的问题,这里是我如何使用类验证器为NestJs验证做自定义消息。

// Your validation class. Note that we are sending a METHOD as the message
export class PostEntryDto {
  @ApiProperty({ description: 'Api Key' })
  @IsString({ message: stringValidationMessage })
  readonly apiKey: string;
}

个字符
这里唯一需要记住的是始终使用message键发送@ Ismail()中的函数。
查看ValidationArguments类型,您可以在那里提取更多内容,例如value,以用于自定义消息。
对于其他地方,你可以简单地将你的i18 n字符串直接注入到我假设的错误中。我不会将后端和客户端混合在一起。
希望这对你有帮助!

相关问题