【发布时间】:2018-03-06 18:28:05
【问题描述】:
我正在使用前端 angularJs 和后端 Java API 服务器创建一个网站。我已经在 API 服务器中完成了错误消息国际化,但我想知道是否应该在服务器端进行 api 结果的翻译?例如如果法国用户请求一个苹果对象,我应该返回他翻译的苹果对象,还是让前端为他翻译苹果对象?
【问题讨论】:
我正在使用前端 angularJs 和后端 Java API 服务器创建一个网站。我已经在 API 服务器中完成了错误消息国际化,但我想知道是否应该在服务器端进行 api 结果的翻译?例如如果法国用户请求一个苹果对象,我应该返回他翻译的苹果对象,还是让前端为他翻译苹果对象?
【问题讨论】:
在这个话题上似乎有两种意见。
最流行的观点是:国际化应该在服务器端
我的观点是:国际化应该在服务端
合理但劣等 (IMO) 的选择是:国际化在任一侧或两者兼而有之
我不知道大多数互联网公司在做什么,但我曾在一家大型互联网公司工作,我们在服务器端做了所有的国际化工作。
我相信服务器端是国际化的最佳场所的理由:
以下是我对该主题的一些参考资料:
【讨论】:
通过在 rest 调用中发送语言环境在后端执行错误消息,因为模板中的前端使用 AOT 编译的 Angular i18n 以获得更好的性能 https://angular.io/guide/i18n
【讨论】: