0
回答
java-getopt中使用的消息资源文件没起作用
开发十年,就只剩下这套Java开发体系了   

java-getopt是getopt的java版本,一个命令行参数解析包。

它使用了消息资源文件支持国际化,从https://github.com/arenn/java-getopt/tree/master/gnu/getopt

可以看到,里面包含了MessagesBundle.properties, MessagesBundle_chs.properties,MessagesBundle_cht.properties等文件。不过我用了这个包后,国际化没起作用,中文环境下还是显示英文的错误信息。

这里有点不一样的地方,它的名称是_chs.properties, _cht.properties, 而不是我们平时用的_zh_CN.properties, _zh_TW.properties.

另外MessagesBundle_chs.properties的内容如下:

getopt.ambigious={0}: 选项 ''{1}'' 有歧义
getopt.arguments1={0}:选项''--{1}'' 不能带参数
getopt.arguments2={0}:选项''{1}{2}''不能带参数
getopt.requires={0}: 选项 ''{1}'' 要求带有参数
getopt.unrecognized={0}: 无法识别的选项 ''--{1}''
getopt.unrecognized2={0}:无法识别的选项''{1}{2}''
getopt.illegal={0}: 非法选项 -- {1}
getopt.invalid={0}: 无效选项 -- {1}
getopt.requires2={0}:选项需要有参数 -- {1}
getopt.invalidValue=选项 'has_arg'的值 {0} 非法

它里面的内容不是转换成unicode的值,而是用的明文。

为什么是这种情况呢?

<无标签>
举报
绝对零度
发帖于5年前 0回/220阅
顶部