gpt4 book ai didi

java - 前端或后端的 api 错误消息的国际化?

转载 作者:IT老高 更新时间:2023-10-28 13:46:19 25 4
gpt4 key购买 nike

我的团队目前正在做一个前端使用后端提供的 json api 的 web 项目。我们使用的技术是 Spring Boot 和 AngularJS。该 api 具有如下所示的标准错误格式:

{
"errorCode": "1111",
"message": "Error occurred: some error message",
"developerMessage": "message for developer"
}

错误响应还可以包含可选的字段验证错误列表。问题是我们应该在哪里翻译用户错误信息?后端是否应该根据请求的语言环境返回已翻译的消息,或者前端是否应该使用 errorCode 和它的 i18n 机制。我们在后端(Spring i18n 支持)和前端( Angular 平移)都有 i18n 机制。

最佳做法是什么?每种方法的优缺点是什么?任何建议表示赞赏。

最佳答案

我会通过本地化前端的所有内容来做到这一点。后端将发送 ids,然后客户端应用程序会将其转换为本地化文本。

好处:

  • 单一翻译来源适用于所有内容 - 按钮、工具提示等以及错误消息
  • 格式支持 - 您可能需要将消息的某些部分设置为粗体/可点击/等,这需要在前端完成
  • 仅客户端验证 - 客户端验证的错误消息应该与服务器端相同错误的错误消息相同(使用后端本地化,您最终可能会复制一些翻译)
  • 语言无关测试是可能的
  • 语言不可知的后端是可能的 - 无需为了翻译而在后端设置语言环境
  • 与一般建议同步,即尽可能靠近客户进行本地化
  • 消除了将来进行更多后端翻译的动机

缺点:

  • 错误的翻译是不可能的。如果在捆绑客户端应用后在后端定义了错误,则客户端需要显示通用消息(但如有必要可以显示新的错误 ID)。
  • 更复杂的捆绑

要支持多个客户端应用程序,您可能需要在构建的捆绑步骤中进行 resx 转换。它将以客户端所需的格式创建资源文件,因此您可以保留单一的翻译来源

关于java - 前端或后端的 api 错误消息的国际化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30109787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com