从右到左阅读语言的Java消息属性选项

时间:2019-05-13 07:09:39

标签: java properties-file

我的应用程序需要支持大约30种语言。我为每个人提供了一些相当简单的文本,但是在该文本中,我确实需要使用{0,choice,0#... | 0 <...}

做出选择。

目前,我什至还没有测试这种方法是否可行,因为在尝试咨询我的文本编辑器以允许我组合从左到右和从右到左的文本时遇到了很多麻烦,但是我真正想要的是知道这是否有可能...

问题:是否可以将Java消息属性嵌入选项与从右到左流动的语言一起使用。

如果有人能想到用于此问题的任何其他标签,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

简短的回答是可以。这是一个棘手的问题,但是BIDI(双向)支持是文本编辑器而不是您自己的问题。因此,如果您的文本编辑器支持它(大多数编辑器都支持),则有可能。首先,您必须确保使用支持多种语言的编码(字符集)-与ISO-8859-X(其中X代表X)相比,建议使用UTF-8(但也推荐使用UTF-16,并且可能还会有其他功能)是一个数字),仅支持2种语言。您还可以将字符串作为属性以Unicode序列的形式写入属性文件或代码中的任何位置。

有一个开放源代码Java库MgntUtils,它具有一个实用程序,可以将任何语言(包括特殊字符和表情符号)转换为unicode序列,反之亦然:

result = "Hello World";
result = StringUnicodeEncoderDecoder.encodeStringToUnicodeSequence(result);
System.out.println(result);
result = StringUnicodeEncoderDecoder.decodeUnicodeSequenceToString(result);
System.out.println(result);

此代码的输出是:

\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064
Hello World

可以在Maven CentralGithub处找到该库,它是Maven工件,并带有源代码和Javadoc

这里是类StringUnicodeEncoderDecoder的javadoc