我的团队目前正在开发一个Web项目,前端使用后端提供的json api.我们使用的技术是Spring Boot和AngularJS.api具有标准错误格式,如下所示:
{
"errorCode": "1111",
"message": "Error occurred: some error message",
"developerMessage": "message for developer"
}
Run Code Online (Sandbox Code Playgroud)
错误响应还可以包含可选的字段验证错误列表.问题是我们应该在哪里翻译用户错误消息?后端是否应该根据请求的语言环境返回已经翻译的消息,或者前端是否应该使用errorCode和它的i18n机制.我们在后端(Spring i18n支持)和前端(angular-translate)都有i18n机制.
什么是最佳做法?每种方法的优缺点是什么?任何建议表示赞赏.
java spring internationalization angularjs angular-translate
我们希望将Web应用程序国际化.是否最好输出翻译服务器端(用.net 4 C#编写)或客户端(Javascript)?
我们已经开始通过创建一个JS文件来实现客户端,这个文件包含一个包含英语短语作为键的对象(因此开发人员了解每个消息在上下文中的含义),其值是显示给客户端的字符串任何警报和提示.我们正考虑将其扩展到整个前端的所有措辞.
这是一个好主意还是最好在服务器端执行这种工作?
更新:包含它有助于摆脱争论,我们不会在我们的Web应用程序中大量使用服务器端控件,我们的大多数控件都是基于jQuery/JS的.
更新:此特定应用程序不公开可见(除了登录页面)因此SEO问题不适用.
javascript asp.net server-side client-side internationalization