我的应用程序需要支持大约 30 种语言。我为他们每个人提供了一些相当简单的文本,但在该文本中我确实需要使用 {0, choice, 0# ...|0<...}
做出一个选择目前我什至还没有测试这是否有效,因为我在说服我的文本编辑器允许我合并从左到右和从右到左的文本时遇到了很多麻烦,但我真正想要的是知道这是否可能......
问题:是否可以将 Java 消息属性嵌入选择与从右到左流动的语言一起使用。
如果有人能想到用于此问题的任何其他标签,我将不胜感激。
最佳答案
简短的回答是有可能。这是一个棘手的问题,但 BIDI(双向)支持是文本编辑器的问题,而不是您的问题。所以如果你的文本编辑器支持它(大多数编辑器支持)那么它是可能的。首先,您必须确保使用支持多种语言的编码(字符集)——推荐使用 UTF-8(但也可以使用 UTF-16,其他一些可能也可以),而不是 ISO-8859-X(其中 X是一个数字),仅支持 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 Central 找到或在 Github它以 Maven 工件的形式出现,并带有源代码和 javadoc
这是类 StringUnicodeEncoderDecoder 的 javadoc
关于从右到左阅读的语言的 Java 消息属性选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56107308/