Java程序国际化-Question

为了使程序能够个根据不同的国家/语言环境来输出不同的内容,通常需要把将需要输出的内容定义在资源文件中。

而在创建资源文件的过程中难免会出现问题,我遇到了在创建资源文件后,运行程序找不到资源文件的情况,做个记录:

工具:ideaUi-2021

程序:

package BaseClass.Country_PropertiesClass;
import java.util.Locale;
import java.util.ResourceBundle; // 国际化程序
public class InternationalizationTest
{
public static void main(String[] args)
{
// 将 Hello,wrold根据不同国家/语言而显示
System.out.println("Hello,wrold!"); // 取得系统默认的国家/语言环境
var mylocal = Locale.getDefault(Locale.Category.FORMAT);
System.out.println(mylocal);
// 根据指定国家/语言环境加载资源文件
var bundle = ResourceBundle.getBundle("mess",mylocal);
// 打印从资源文件中取得的信息
System.out.println(bundle.getString("hello"));
}
}

 资源文件: 

    

 

 错误:

Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name mess, locale zh_CN
at java.base/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2045)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1683)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1586)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1549)
at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:932)
at BaseClass.Country_PropertiesClass.InternationalizationTest.main(InternationalizationTest.java:17)

 解决方案:

  将资源文件 mess_en_US.properties & mess_zh_CN.properties 文件放到 src 文件目录下

(如果需要再添加资源文件,则直接在src文件下创建)," .properties " 后缀需要保留,Ctrl+Shift+F10运行程序(正常运行)

如果需要进行在英文环境下运行,可在电脑控制面板进行机器的语言环境切换成美国后再次运行程序。

Hello,wrold!
zh_CN
你好!

在进行程序国际化时(Locale)遇到的问题的更多相关文章

  1. Java程序国际化学习代码一

    Java程序国际化初识 1.基本思路 Java程序的国际化的思路是将程序中的标签.提示等信息放在资源文件中,程序需要支持哪些国家.语言环境,就对应提供相应的资源文件.资源文件是key-value对,每 ...

  2. 微信小程序国际化

    微信小程序国际化 现状 小程序国际化官方没有支持,也没有现成的插件. 网上有人做了国际化的尝试.但是只能替换静态文本,就是简单的键值匹配. vue-i18n 由于是基于html 和 vue, 不同于w ...

  3. 基于Struts2框架实现登录案例 之 程序国际化

    国际化牵涉的知识非常多,这里只能简单的介绍,程序国际化的一般做法是:在jsp页面时, 不是直接输出信息,而是输出一个key值,该key值在不同语言环境下找到对应资源文件下的 对应信息,因此首先要创建满 ...

  4. qt 单文档程序关闭时在delete ui处出现segmentation fault

    做了个显示图片的单文档程序. qt 单文档程序关闭时在delete ui处出现segmentation fault. 调试发现调用两次mainwindow析构函数. http://blog.csdn. ...

  5. VC++ 实现VC程序启动时最小化到任务栏(完美解决闪烁问题)

    之前写的一个VC应用程序,是程序启动时就直接出现在任务栏, 窗体不出现,等用户点击任务栏图标再出现窗口.和一些防火墙什么的软件类似. 这种效果实现并不是很困难的,硬是找不到最好的.为什么呢? 首先,在 ...

  6. FormatJS – 让你的 Web 应用程序国际化

    FormatJS 是一个模块化的集合,保护各种 JavaScript 国际化库,例如格式化数字,日期和字符串.它包括一组建立在 JavaScript 的国际内置插件和全行业的国际化标准,再加上一套集成 ...

  7. C/C++程序终止时执行的函数——atexit()函数详解

    很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束.在程序的某个地方用exit()结束程序.用户通过Ctrl+C或Ctrl+break操作 ...

  8. c/c++编译时,指定程序运行时查找的动态链接库路径

    http://blog.csdn.net/tsxw24/article/details/10220735 c/c++编译时,指定程序运行时查找的动态链接库路径 分类: c/c++ linux 2013 ...

  9. 是什么在.NET程序关闭时阻碍进程的退出?

    在平时使用软件或是.NET程序开发的过程中,我们有时会遇到程序关闭后但进程却没有退出的情况,这往往预示着代码中有问题存在,不能正确的在程序退出时停止代码执行和销毁资源.这个现象有时并不容易被察觉,但在 ...

  10. iOS之应用程序国际化

    一.程序国际化 准备工作: 1.首先我们要先创建一个工程,我们给他命名Internationalization-Demo,然后添加语言. 从代码中分离文本: 目前,应用展示的所有文本都是以硬编码字符串 ...

随机推荐

  1. applicationContext.xml及springMVC.xml详解

    在前面的web.xml详解里,我们引入applicationContext.xml和springMVC.xml两个配置文件, 前者是spring 全局配置文件,用来控制spring 特性的, 后者则是 ...

  2. vue表单校验限制输入数字后小数点两位(包括避开通过中文输入法的那些坑)

    <el-form-item label="海运运费系数"> <el-input v-model.trim="ruleForm.oceanFreightC ...

  3. 类内函数的override问题-方法

    Question: have a base class with a virtual function: class Base { public: virtual void Function(); } ...

  4. js使用sort将JSON数据进行排序

    在把数据通过Echarts展示成统计图模式时,柱状统计图需要将数据进行从大到小来排序! 下面为所需要的数据: 1 { 2 mapData: [ 3 {name: '北京',value: '555'}, ...

  5. 网易-java线程的interrupt

    java线程的interrupt方法初一接触的时候,会和过去各种面向过程语言线程中断线程的方法有点不一样. java里不提倡直接将线程kill掉,实际上如果想直接kill线程可以用stop方法 可以看 ...

  6. Shell写脚本关于ssh执行jar包,需要刷新JDK路径的问题

    比如脚本中下面这一段 ssh $i "java -jar /applog/$PROJECT/$APPNAME --server.port=$SERVER_PORT >/dev/null ...

  7. react 微信h5跳转小程序

    componentDidMount() { this.getWxConfig() } getWxConfig () { // 请求后台接口拿到 data信息 wx.config({ debug: fa ...

  8. 图模配置文件之 flow.json

    flow.json文件是用来配置图模导入时,各种不同的图模导入时,分别应该使用哪个映射文件对模型进行处理.在不同地区使用不同的格式的图模文件时,需要修改flow.json中相关的配置,来适应相应的图模 ...

  9. html:表格

    HTML:表格1.表格三标签:(1)<table> 表格(2)<tr>  行(3)<td>  单元格 2.表格的基本语法和结构<table> <t ...

  10. linux环境变量配置错误后命令无法使用解决方案

    环境变量配置时多复制了一个空格,导致执行source /etc/profile后提示错误,无法编辑和查看文件 解决方案: 查看当前系统变量:echo $PATH 临时修改:export PATH=/u ...