使用Angular JS实现多语言支持 - 需要最佳方法

时间:2015-03-27 13:42:11

标签: angularjs angular-translate

我正在为我的角度Web应用程序实现多语言支持的第一步。

有以下两种方法。两者都有优点和缺点利弊。但需要你的意见。

方法1。

拥有json格式的键值对的每种语言的master json文件。 根据语言选择加载整个主文件。在该特定页面的$ scope变量中使用它。

赞成

每种语言都会更改一个文件。

减少维护。

更多地使用客户端内存。

缺点

需要从json文件加载/保留未使用的键值对。

方法2。

拥有json格式的键值对的每种语言的master json文件。拥有一个本地json文件,该文件只有当前页面显示时才需要的键。

赞成

使用本地json文件从Master文件中提取唯一需要的键值对。仅在内存中保留这些键值对。

客户端内存使用率较低。

缺点

由于我们维护本地文件,因此我们需要确保引入添加任何新密钥。

维护更多。

需要你的输入。

由于 戈库尔

1 个答案:

答案 0 :(得分:1)

使用最简单的方法。仅在需要时进行优化。

我有一个AngularJS应用程序(不是很大,但也不是玩具应用程序),其中给定语言的每个翻译都在同一个JSON文件中。 JSON文件大小为40 KB,已经很小了。 Gzipped,它使它成为8.5 KB,这很小。

在我不错的DSL线路上下载文件所需的时间(不包括延迟)不到1毫秒。这是在应用程序启动时完成的一次。如果您正确配置缓存并在每次更改时更改文件名,则浏览器可以将其永久保存在缓存中。