JavaFX中显示的不一致括号,用于本地化的从右到左的语言字符串

时间:2017-04-25 21:51:23

标签: java javafx localization javafx-8 right-to-left

对于从右到左的语言,什么控制JavaFX 8如何显示括号?例如:

my_en.properties: TEST=Three (equals) five.
my_ar.properties: TEST=\u062B\u0644\u0627\u062B\u0629 (\u064A\u0633\u0627\u0648\u064A) \u062E\u0645\u0633\u0629.

在JavaFX场景中设置nodeOrientation会正确显示阿拉伯语:
enter image description here

但其他时候,括号不符合预期:

my_en.properties: TEST=Three (4) five.
my_ar.properties: TEST=\u062B\u0644\u0627\u062B\u0629 (4) \u062E\u0645\u0633\u0629.

结果:
 enter image description here

对于括号内的各种短语会发生这种情况,但对于所有操作系统(Windows 32/64,特别是OSX)都不一致。

如何让R2L语言正确“正常”工作?

1 个答案:

答案 0 :(得分:1)

在每个括号之前添加从右到左标记的字符解决问题:

my_ar.properties: TEST=\u062B\u0644\u0627\u062B\u0629 \u200F(4)\u200F \u062E\u0645\u0633\u0629.