java----程序国际化

主程序

package com.zy;
import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.Scanner;

public class Demo {
	public static void main(String[] args) {
		//创建一个本地语言环境
		Locale locale_CN = new Locale("zh","CN");
		Locale locale_US= new Locale("en","US");
		//根据操作系统默认选择语言环境
		//Locale locale_default= Locale.getDefault();

		//如果后面不加参数,找系统默认的语言的配置文件(info_zh_CN)
		ResourceBundle r = ResourceBundle.getBundle("com.property.info");

		//找英语中的配置文件(info_en_US)
		//ResourceBundle r = ResourceBundle.getBundle("com.property.info",locale_US);

		//通过配置文件字段(key)读取的value
		//System.out.println(r.getString("input.username"));

		//示例
		System.out.println(r.getString("System.name"));
		Scanner input = new Scanner(System.in);
		System.out.println(r.getString("input.username"));
		String username = input.nextLine();
		System.out.println(r.getString("input.password"));
		String password = input.next();
		if("admin".equals(username)&&"111".equals(password)){
			System.out.println(r.getString("login.success"));
			//动态文本格式化
			String s = r.getString("welcom");
			s = MessageFormat.format(s, username);
			System.out.println(s);

		}else{
			System.out.println(r.getString("login.error"));
		}
	}

}

新建一个包(com.property),里面放入配置文件(语言数据)

在该包下新建一个文件info_zh_CN.properties

System.name=\u5458\u5DE5\u7BA1\u7406\u7CFB\u7EDF
input.username=\u8BF7\u8F93\u5165\u7528\u6237\u540D\uFF1A
input.password=\u8BF7\u8F93\u5165\u5BC6\u7801\uFF1A
login.success=\u767B\u5F55\u6210\u529F
login.error=\u767B\u5F55\u5931\u8D25
welcom=\u6B22\u8FCE\u4F60\uFF0C{0}

在该包下新建一个文件info_en_US.properties

System.name = EMP Manage System
input.username = Input UserName:
input.password = Input PassWord:
login.success = Login Success
login.error = Login Error
welcom=WelCom,{0}

  

原文地址:https://www.cnblogs.com/yanxiaoge/p/10688705.html

时间: 2024-09-21 04:38:24

java----程序国际化的相关文章

JAVA实现国际化

1 Java国际化的思路 Java程序的国际化的思路是将程序中的标签.提示等信息放在资源文件中,程序需要支持哪些国家.语言环境,就对应提供相应的资源文件.资源文件是key-value对,每个资源文件中的key是不变的,但value则随不同国家.语言改变. Java程序的国际化主要通过如下三个类完成: ? java.util.ResourceBundle:用于加载一个国家.语言资源包. ? java.util.Locale:用于封装一个特定的国家/区域.语言环境. ? java.text.Mess

两种Java实现国际化的方法

目前,公司中很多项目需要国际化的实现,现在的实现方式是通过JS替换显示的方法,切换语言的过程造成了中英文语言的闪烁出现,带来极其不好的用户体验.另外,使用JS替换的方法配置的Json格式的配置文件,不易于读写,造成了开发不同模块同事写入文件时候的冲突,和JS加载对于其他JS加载造成各种意想不到的bug,给开发人员造成了极大的痛苦,故本文基于Struts2和SpringMVC两种方式,简单阐述Struts2和SpringMVC两种国际化的实现. 文章结构 一.使用Struts2方式实现国际化 1.

【Java】利用Java对配置文件操作实现Java程序的国际化

不仅仅是大名鼎鼎的Struts2,即便是小小的Java程序也能够实现国际化,根本就不用像网上大部分所说的那样,非西欧字符,例如我们的中文,岛国的日语之类的,必须使用native2ascii转码,坦诚,国际化字符串的配置文件xx_语言.propreties并不支持非西欧字符,只能转码存储,但你完全可以利用到我在<[Java]配置文件概念,Java对配置文件的操作>(点击打开链接)所介绍的方法,利用Java程序完成这个国际化的配置文件.Java会帮你自动转码. 一.基本目标 完成对大名鼎鼎的hel

《Java程序员面试笔试宝典》终于在万众期待中出版啦~

<Java程序员面试笔试宝典>终于在万众期待中出版啦~它是知名畅销书<程序员面试笔试宝典>的姊妹篇,而定价只要48元哦,恰逢求职季节,希望本书的出版能够让更多的求职者能够走进理想的企业 在这里,众多知名企业面试官将为你撕开神秘的求职面纱: 在这里,各种求职达人将现身说法为你揭开求职谜团: 在这里,各种类型的企业招聘细节都会被展露无疑: 在这里,我们将为你抽丝剥茧,还原IT行业的真相: 在这里,我们将为你指点迷津,告诉你职场上的风风雨雨: 在这里,我们将为你点石成金,成为那盏指引你前

Java程序员面试题集(86-115)

摘 要:下面的内容包括Struts 2和Hibernate的常见面试题,虽然Struts 2在2013年6月曝出高危漏洞后已经显得江河日下,而Spring MVC的异军突起更加加速了Struts 2的陨落,但面试中仍然有可能被问及和此框架相关的内容,毕竟Struts 2曾经被阿里巴巴.京东以及政府企业门户网站广泛采用.另一方面,Hibernate目前仍然是ORM框架中的中坚力量,MyBatis在此领域也有不容 忽视的一席之地,因此了解这两个ORM框架对Java程序员是很有必要的.第一期发布的Ja

java程序

This XML file does not appear to have any style information associated with it. The document tree is shown below.博客园_首页代码改变世界uuid:5de59c50-a92f-4447-96ed-ab86451ed183;id=61182014-07-27T11:59:08Zfeed.cnblogs.comhttp://www.cnblogs.com/jianyus/p/3865670

java基础----&gt;java中国际化的实现

应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产.开发这样的程序的过程,就称为国际化.今天,我们就开始学习java中国际化的代码实现. Java国际化主要通过如下3个类完成 java.util.ResourceBundle:用于加载一个资源包 java.util.Locale:对应一个特定的国家/区域.语言环境. java.text.MessageFormat:用于将消息格式化 为实现程序的国际化,必须提供程序所需要的资源文件.资源文件的内容由key-value对

从java程序员到CTO的成长路线图

很多新人不知道从事java开发,具体的发展路径是怎么样的,甚至很多人都不能区分程序猿和攻城师的区别.包括不少小白,从事java开发都半年,甚至1年了,对职业发展还没有清晰的认证.这非常不利于自己的发展,人要往哪走,首先需要明确的是方向.今天,就给大家揭露一下java开发从程序猿到CTO的路线图,以及每个阶段需要掌握的技术. Java程序员 高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变 参数.可变返回类型.增强循环.静态导入 核心编程 IO.多线程.实体类. 集合类.正则表达式. X

Java程序员面试题收集(6)

<!————————————————————————————基础题122道,代码题19道————————————————————————————> JAVA相关基础知识1.面向对象的特征有哪些方面1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象.2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法

Java程序员从底层到CTO的技术路线图

首先,附一张图片展示所在各个阶段的工作职能: 其次,文字型描述所在各个阶段的工作职能: Java程序员 高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变参数.可变返回类型.增强循环.静态导入. 核心编程 IO.多线程.实体类.集合类.正则表达式.XML和属性文件.图形编程AWT(Java2D/JavaSound/JMF).Swing.SWT.JFace. 网络编程 Applet.Socket/TCP/UDP.NIO.RMI.CORBA. Java语法基础 类.抽象类.接口.最终类.静态