Java i18n - Java中的国际化

Java或Java i18n的国际化是一个非常重要的特性。Java通过资源包提供国际化(i18n)支持。

Java的国际化

为了使您的应用程序支持不同的语言环境,我们需要创建特定于语言环境的属性文件。例如,文件名遵循包名称的模式,包括语言代码和国家/地区代码ApplicationMessages_en_US.properties

一旦特定语言环境的属性文件准备就绪,您需要做的就是使用正确的Locale初始化资源包。Java提供了两个类java.util.ResourceBundlejava.util.Locale被用于此目的。ResourceBundle读取特定于语言环境的属性文件,您可以获取任何键的特定于语言环境的值。

这对于使您的Web应用程序文本特定于区域设置非常有用,您可以从HTTP请求获取区域设置信息并生成包含该区域设置资源包文件的动态页面。您还可以为用户提供选项以选择区域设置并动态更新标签。

Java i18n示例

对于java i18n示例,我创建了一个项目,其结构如下图所示。

这是JavaInternationalizationExample类的java代码。


package com.journaldev.i18n;import java.util.Locale;
import java.util.ResourceBundle;public class JavaInternationalizationExample {public static void main(String[] args) {//default localeResourceBundle bundle = ResourceBundle.getBundle("ApplicationMessages");//Get ResourceBundle with Locale that are already definedResourceBundle bundleFR = ResourceBundle.getBundle("ApplicationMessages", Locale.FRANCE);//Get resource bundle when Locale needs to be createdResourceBundle bundleSWE = ResourceBundle.getBundle("ApplicationMessages", new Locale("sv", "SE"));//lets print some messagesprintMessages(bundle);printMessages(bundleFR);printMessages(bundleSWE);}private static void printMessages(ResourceBundle bundle) {System.out.println(bundle.getString("CountryName"));System.out.println(bundle.getString("CurrencyCode"));}}

这里捆绑名称是ApplicationMessages,我有2个特定于语言环境的资源包和一个默认资源包。

ApplicationMessages.properties


CountryName=USA
CurrencyCode=USD

ApplicationMessages_fr_FR.properties


CountryName=France
CurrencyCode=Euro

ApplicationMessages_sv_SE.properties


CountryName=Sweden
CurrencyCode=Kr

注意Locale类的使用,已经定义了一些语言环境但我们总是可以通过将语言代码和国家代码传递给它的构造函数来创建新的语言环境。

当我运行上面的程序时,这是输出。


USA
USD
France
Euro
Sweden
Kr

这就是快速java i18n示例。java中的国际化在Web应用程序中非常有用,可以以语言环境特定语言提供页面。

原创翻译 原文:https://www.journaldev.com/1370/java-i18n-internationalization-in-java

Java i18n - Java中的国际化相关推荐

  1. java i18n实例_Java国际化(i18n)格式化日期

    本篇文章帮大家学习java国际化(i18n)格式化日期,包含了Java国际化(i18n)格式化日期使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. DateFormat类提 ...

  2. java i18n_Java i18n – Java的国际化

    java i18n Internationalization in Java or Java i18n is a very important feature. Java provides inter ...

  3. 深圳Java培训:Java中的国际化

    深圳Java培训:Java中的国际化 国际化,就是项目能够让所有的国家的语言都能够支持.Java既然作为一个跨平台的语言就必然要在各种不同的语言环境中使用.而为了解决这个问题Java给我们提供了一个工 ...

  4. java struts2国际化代码下载_【Java框架】java struts2框架中页面表示国际化的方法 - 思诚科技...

    在struts2框架中,前端页面表示国际化的实现更加简单.简单的应用struts2框架提供的支持国际化的表达式即可快速方便的进行页面的国际化的实现.如何做呢?本文以英文和中文为例进行说明. 1,自定义 ...

  5. java i18n utf_Java国际化(i18n)字符串与Unicode转换

    在java中,文本是以Unicode格式内部存储的. 如果输入/输出格式不同,则需要转换. 转换 以下示例将展示将Unicode字符串转换为UTF8字节,以及将UTF8字节转为Unicode字节转换. ...

  6. java i18n 转换_Java国际化(i18n)Reader/Writer与Unicode转换

    Reader和Writer类是面向字符的流类. 这些可用于读取和转换Unicode字符. 转换 以下示例将使用Reader和Writer类展示Unicode字符串到UTF8 byte [],以及UTF ...

  7. Java导出excel中response.setHeader()参数设置

    response.setHeader() 1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cac ...

  8. java解决properties中中文乱码问题

    Java解决properties中中文乱码的问题 Properties文件介绍 与Properties文件的前世今生 native2ascii.exe的使用 首先编写配置文件 实验 修改测试代码进行更 ...

  9. JAVA 编程中的汉字处理(1)---java 编程技术中汉子问题的分析与解决

    Java 编程技术中汉字问题的分析及解决 段明辉, 自由撰稿人 简介: 在基于 Java 语言的编程中,我们经常碰到汉字的处理及显示的问题.一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够 ...

最新文章

  1. SpringBoot初步入门
  2. 今天,我们来详细的聊一聊SpringBoot自动配置原理,学了这么久,你学废了吗?
  3. 科学计算机js代码,JavaScript实现科学计算器
  4. 2018 hncpc 部分题
  5. SAP Commerce Cloud 2011装好之后,访问Accelerator时遇到错误
  6. 一些学习教程资料等你来拿
  7. java web junit_如何使用junit测试javaweb工程
  8. 图解算法学习笔记(三):递归
  9. 如何将 Linux 系统转移至 LVM 卷
  10. 【转载】浅析游戏引擎开发
  11. PostgreSQL 优化器案例之 - order by limit 索引选择问题
  12. 360浏览器没有声音_你用的浏览器好用吗?该国产电脑浏览器,极速、安全,值得使用...
  13. 字节跳动斩获支付牌照欲建金融帝国,技术实力配得上野心吗?
  14. bzoj2002:[Hnoi2010]Bounce 弹飞绵羊
  15. springboot框架学习理解上
  16. 接口文档生成工具ApiPost挺好用
  17. 教你如何用PS轻松制作ico图标
  18. Linux入门三:安装CentOS 7(桌面版);
  19. Android Things:外设I/O接口-PWM
  20. 土壤微生物多样性分析

热门文章

  1. 12 个非常有用的 JavaScript 技巧
  2. Data URL和图片,及Data URI的利弊
  3. 在Ubuntu 上怎么连接装有iOS 7的iPhone或iPad
  4. Netbeans加入CI的代码提示
  5. Qemu-KVM基本工作原理分析
  6. 机器学习速成课程 | 练习 | Google Development——编程练习:神经网络简介
  7. MongoDB基本概念和常用操作(二)
  8. 【今日CV 计算机视觉论文速览 第124期】Tue, 4 Jun 2019
  9. 外键约束 mysql
  10. python列表数据类型-入门学习