ZK的最佳国际化战略

时间:2011-02-15 09:25:24

标签: internationalization zk

您使用什么策略来国际化用ZK编写的Web应用程序?

我目前正在使用他们的“有趣”语法$ {c:l('LABEL_NAME')},但它使用的机制有两个问题:

1)它不接受\ uchcode语法,这是java中资源包的标准。无法从NetBeans编辑此类文件。

2)他们只使用一个文件用于整个webapp,这可能非常大,我担心可能的性能因素。

因此我有两个问题:

1)使用单个大型属性文件是否存在性能问题?

2)有没有其他好的方法来国际化ZK应用程序(zscript我不认为好的方法)?

3 个答案:

答案 0 :(得分:2)

1)这不是我的问题。语言文件比其他文件小很多(因此读取它们的负载非常轻)

2)imo,我不会在我的在线项目中使用zscript,你可以查看官方性能提示 - Not to Use zscript for Better Performance

有关国际化ZK应用的更多信息,请参阅ZK Developer's Reference - Labels

顺便说一下,我曾经创建过LabelManager并在不同的langs / locales中管理源代码。

答案 1 :(得分:1)

我认为在加载i18n消息时没有性能问题,它使用快速哈希来定位消息,但是内存问题(在加载消息文本到内存中为不同的本地)。但是我不关心内存问题,因为它只是文本消息而且服务器功能强大且内存很大。

对我而言,我总是使用ascii作为密钥,因此没有密钥编码问题。

有一件事是不方便的是我可以在一个i3文件中设置消息,如果我想设置多个(用于模块化消息)文件,我必须将标签注册到标签。

答案 2 :(得分:0)

据我所知,c:l()只是检索I18N标签的默认方式。如果您愿意,可以使用标准资源包。您所要做的就是实现静态方法,然后使用它将其映射到ZUL页面。