一、首先可以通过一个java.util.Locale测试类获取不同国家的语言形式,代码如下:
- import java.util.Locale;
- /**
- * 获取各国语言方式
- * @author zhezi
- *
- */
- public class TestLanguage {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Locale zh_CN = Locale.getDefault().CHINA;
- Locale zh = Locale.getDefault().CHINESE;
- Locale ja_JP = Locale.getDefault().JAPAN;
- Locale ja = Locale.getDefault().JAPANESE;
- Locale en = Locale.getDefault().ENGLISH;
- Locale en_US = Locale.getDefault().US;
- System.out.println(zh_CN);
- System.out.println(zh);
- System.out.println(ja_JP);
- System.out.println(ja);
- System.out.println(en);
- System.out.println(en_US);
- }
- }
二、js国际化
1.创建两个js文件 analytics_zh_CN.js,analytics_ja_JP.js
2.加入如下代码:
- String lan = request.getLocale().toString();
- <!--添加默认值-->
- if(!lan.equalsIgnoreCase(request.getLocale().CHINA.toString()) && !lan.equalsIgnoreCase(request.getLocale().JAPAN.toString())){
- lan = request.getLocale().JAPAN.toString();
- }
- <script type="text/javascript" src="<%=path%>/jsp/analytics_<%=lan %>.js"></script>
3.js中信息需要国际化
struts2实现了国际化,js文件中直接引用页面创建的变量即可.name是资源文件中key值
步骤:
- <script type="text/javascript">
- var title='<s:property value="getText('name')"/>';
- </script>