java 多语言_JAVA实现多语言

做web服务器,为了实现全球业务,服务器端就要实现多语言。针对不同的国家、语言。返回不同语言的描述。

第一:JAVA对多语言是支持的

JAVA对语言的描述使用java.util.Locale,它主要包含语言、国家信息。

例如几个常量,

中国的简体中文:

Locale SIMPLIFIED_CHINESE = createConstant(“zh”, “CN”);

台湾的繁体

Locale TRADITIONAL_CHINESE = createConstant(“zh”, “TW”);

也可以只包含语言信息:

Locale CHINESE = createConstant(“zh”, “”);

以上几种语言,用字符串写就是zh_CN, zh_TW, zh(也有用中划线的)。

第二:语言资源文件

你可以在i18n目录(或者是com/zhaoyanblog/i18n, com/zhaoyanblog/i18n/resource, 这个是类路径)下为每一种语言创建一个资源文件。命名格式如下:

lang_zh_CN.properties

lang_zh_TW.properties

lang_zh.properties

再创建一个默认的语言对应的资源文件:

lang.properties

注:这里的文件名lang和路径都可以随便起。为什么路径要包含i18n,这个就是个习惯,随便你。i18n的意思就是国际化(internationalization, i和n之间有18个字符)。

资源文件里配置不同的配置

lang_zh_CN.properties里:

TITLE=我的苹果

lang_en.properties里:

TITLE=my apple

配置文件为了防止乱码,properties文件里3个字节以上表示的字符(例如中文)一般使用unicode配置。

TITLE=\u6211\u7684\u82f9\u679c

第三:读取配置文件的内容

JAVA加载语言资源文件使用java.util.ResourceBundle类。

ResourceBundle lang = ResourceBundle.getBundle(“com.zhaoyanblog.i18n.resource.lang”, Locale.SIMPLIFIED_CHINESE);

lang.getString(“TITLE”) 返回的就是我的苹果

第四:HTTP协议的多语言支持。

HTTP协议规定了一个header:Accept-Language支持多语言。多少客户端期望返回的语言类型。

格式如下:

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

q=0.8代表前面语言的比重。如果有中文就返回中文,没有中文就返回美式英文。再没有就返回中文。

第五:java web应用,获取客户端需要的语言。

servlet的HttpServletRequest参数对象里可以得到对Accept-Language的解析结果。

protected void service(HttpServletRequest req, HttpServletResponse resp)

{

Locale locale = req.getLocale();

}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值