-2

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

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

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

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

因此我有两个问题:

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

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

4

3 回答 3

2

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

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

更多关于 ZK 应用国际化的信息,请参考ZK 开发者参考 - 标签

顺便说一句,我曾经创建一个 LabelManager 并以不同的语言/语言环境管理源。

于 2011-02-15T17:08:01.537 回答
1

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

对我来说,我总是使用 ascii 作为键,所以没有键编码问题。

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

于 2011-02-15T16:00:31.710 回答
0

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

于 2011-02-18T05:57:10.627 回答