C#本地化。在同一句子中混合从左到右单词与从右到左单词的问题

时间:2011-02-17 15:56:41

标签: c# localization arabic

我正在研究如何在混合需要从右到左(如阿拉伯语)阅读和从左到右的单词(如英语)的单词时解决问题。

我们遇到的问题是,在一个意思是在RTL中读取的句子中插入一个LTR单词(例如在阿拉伯语句子中插入一个英文单词):英文文本是从左到右正确书写的,但问题是阿拉伯语部分是在错误的一面结束后出现的。 这样做的背景是我正在处理的程序需要插入一些ID或对象标识符,这些标识符或对象标识符需要保留为英文但插入到本地化的句子中(在本例中为阿拉伯语)。

为了举例说明,假设RTL单词为小写,LTR单词为大写。

我想要的输出是:

abc ABC efg

但我们改为

abc ABC gfe

获得正确输出的唯一方法是在LTR文本之前和之后插入unicode标记(从左到右的LTR,用于标记其结尾的Pop-Directional-Formatting的PDF): / p>

abc {LTR} ABC {PDF} efg

这是一个可以使用的解决方案,但我想知道是否有更简单的方法来自动处理这个问题? RTL单词位于资源文件中,而英语部分通常来自Db调用。 过去有关如何处理这种特殊情况的经验吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

只是在黑暗中刺伤:你尝试过使用{RTL}代替{PDF} ......?