DSP

ZK(7.0.1)国际化的简单示例

2019-07-13 16:08发布

1. 准备三个资源文件i3-label.properties、i3-label_en_US.properties、i3-label_zh_CN.properties,将资源文件放在WEB-INF目录下。
i3-label.properties:title=Greeting msg=Hello, {0}! i3-label_en_US.properties: title=Greeting msg=Hello, {0}!i3-label_zh_CN.properties:title=问候 msg=你好,{0}!
2. 在zul页面中添加taglib指令:
3. 有三种方式可以使用国际化资源: EL表达式内置对象labels: 标签库c:l('key'): Java代码中用org.zkoss.util.resource.Labels对象实例获取:String title = Labels.getLabel("title"); String msg = Labels.getLabel("msg", new String[]{"Huey"});
4. 修改 Locale: Locale locale = new Locale("zh", "CN"); session.setAttribute(org.zkoss.web.Attributes.PREFERRED_LOCALE, locale);
5. 示例: 2 ? new Locale(localeValue.substring(0,2),localeValue.substring(3)) : new Locale(localeValue); // 修改Locale session.setAttribute(org.zkoss.web.Attributes.PREFERRED_LOCALE, preferLocale); session.setAttribute("Demo_Locale", self.getSelectedIndex()); execution.sendRedirect(""); ]]>