《Java 核心技术 卷1》 笔记 第11章 异常、日志、断言和调试(6)本地化_java核心

 

 

11.5.4 本地化

本地化是一个叫 Locale 的类,需要配置文件让本地化生效,这部分内容和日志貌似没有关系,咱先把本地化学了。。。

首先 src 目录下建立两个文件:

《Java 核心技术 卷1》 笔记 第11章 异常、日志、断言和调试(6)本地化_java_02

其中 my_en_US.properties 中的内容为:

apple=apple

pear=pear

My_zh_CN.properties 中的内容为

apple=苹果

pear=鸭梨

public class Main {
public static void main(String[] args) throws IOException {
Main solution = new Main();
ResourceBundle rb = ResourceBundle.getBundle("my",new Locale("zh","CN"));
System.out.println(rb.getString("apple"));
System.out.println(rb.getString("pear"));

rb = ResourceBundle.getBundle("my",Locale.US);
System.out.println(rb.getString("apple"));
System.out.println(rb.getString("pear"));

}
}

《Java 核心技术 卷1》 笔记 第11章 异常、日志、断言和调试(6)本地化_占位符_03

然后其实作者讲到了占位符

文件 my_en_US.properties

apple=apple is sweet {0}

pear=pear is salt {9}

mood=happy

文件 my_zh_CN.properties

apple=苹果真甜{0}

pear=鸭梨真咸{0}

mood=开心

public class Main {
public static void main(String[] args) throws IOException {
Main solution = new Main();
Logger logger = Logger.getGlobal();
ResourceBundle rb = ResourceBundle.getBundle("my",new Locale("zh","CN"));
String apple = rb.getString("apple");
String mood = rb.getString("mood");
logger.log(Level.INFO,apple,new Object[]{mood});

rb = ResourceBundle.getBundle("my",Locale.US);
apple = rb.getString("apple");
mood = rb.getString("mood");

logger.log(Level.INFO,apple,new Object[]{mood});

}
}

结果

《Java 核心技术 卷1》 笔记 第11章 异常、日志、断言和调试(6)本地化_bundle_04

相关内容:选择 《Java核心技术 卷1》查找相关笔记

评论🌹点赞👍收藏✨关注👀,是送给作者最好的礼物,愿我们共同学习,一起进步

公众号 钰娘娘知识汇总