开发人员可以将本地(Locale-dependent)数据从ZUML页面(和JSP页面)分离出来,只需将它们在WEB-INF
目录下的i3-label_lang_CNTY.properties内排序。此处lang为一种语言,如en和fr ,CNTY 为国家,如 US 和 FR 。
为获得本地(Locale-dependent )属性,你可以在Java中使用org.zkoss.util.resource.Labels
,或在EL表达式中使用${c:l('key')}
。为了在EL中使用它,你可以按如下方式包含TLD文件。
<%@ taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c" %> <window title="${c:l('app.title')}"> ... </window>
文件位置: cor
e.dsp.tld
文件位于 dist/WEB-INF
目录。 你不需要将它复制到你的Web应用程序中。
当将要获得一个本地标签时, i3-label_lang_CNTY.properties中的一个文件会被加载。例如,若地域(locale) 为de_DE
,那么WEB-INF/i3-label_de_DE.properties
将会被加载。若没用这个文件,ZK将会尝试加载WEB-INF/i3-label_de.properties
和WEB-INF/i3-label.properties
并返回(in turn)。
为了在Java代码(包括zscript )中访问到标签,可以使用org.zkoss.util.resource.Labels
类的getLabel
方法。
此外,你可以继承标签加载器(label loader),以从别的位置,例如数据库,加载标签,需要注册一个实现了org.zkoss.util.resource.LabelLocator
接口的 locator。