理想情况下,我希望它能像这样工作:
只应该发送一种语言,因为webapp有很多文本。
我该如何实现?
答案 0 :(得分:0)
我相信你的答案更理论化?我可以想象在这里尝试的几个场景:
默认加载英文。然后允许用户手动更改语言。或者在页面加载时显示弹出窗口以选择语言。
从节点提供模板,在这种情况下,您将知道要响应的模板。让我们说客户端只是请求index.html或index.js这个案例服务器返回具有正确语言的文件。但要小心缓存。做出同样的反应。
不确定是否有反应,但你在模板{{ctrl.text.helloText}}中有角度。稍后在控制器中,您可以使用所需语言的ajax加载文件。并使用响应填充ctrl.text。角度重新渲染这些碎片。在响应到来之前,页面上的文本将为空。希望如果获取文本文件需要不到100~200毫秒,那就没问题了。
答案 1 :(得分:0)
以下是我们的工作方式:
用户识别语言并将其存储到用户个人资料中。在Web应用程序初始化客户端加载应用程序代码+本地化字典(在我们的例子中是普通JSON文件)
在客户端,您向用户显示的任何字符串都会通过一些转换字符串的函数。
例如_('Welcome!')
字典看起来像这样:
//spanish.json
{
"Welcome!": "Bienvenido!",
...
}
然后,只需要在初始化时获取所需的字典并使用translate函数而不是硬编码字符串。