我正在为我的角度Web应用程序实现多语言支持的第一步。
有以下两种方法。两者都有优点和缺点利弊。但需要你的意见。
拥有json格式的键值对的每种语言的master json文件。 根据语言选择加载整个主文件。在该特定页面的$ scope变量中使用它。
赞成
每种语言都会更改一个文件。
减少维护。
更多地使用客户端内存。
缺点
需要从json文件加载/保留未使用的键值对。
拥有json格式的键值对的每种语言的master json文件。拥有一个本地json文件,该文件只有当前页面显示时才需要的键。
赞成
使用本地json文件从Master文件中提取唯一需要的键值对。仅在内存中保留这些键值对。
客户端内存使用率较低。
缺点
由于我们维护本地文件,因此我们需要确保引入添加任何新密钥。
维护更多。
需要你的输入。
由于 戈库尔
答案 0 :(得分:1)
使用最简单的方法。仅在需要时进行优化。
我有一个AngularJS应用程序(不是很大,但也不是玩具应用程序),其中给定语言的每个翻译都在同一个JSON文件中。 JSON文件大小为40 KB,已经很小了。 Gzipped,它使它成为8.5 KB,这很小。
在我不错的DSL线路上下载文件所需的时间(不包括延迟)不到1毫秒。这是在应用程序启动时完成的一次。如果您正确配置缓存并在每次更改时更改文件名,则浏览器可以将其永久保存在缓存中。