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

发布于 2024-10-18 01:35:43 字数 633 浏览 4 评论 0原文

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

我们遇到的问题是,当在要以 RTL 读取的句子中插入 LTR 单词时(例如,在阿拉伯语句子中插入英语单词):英语文本是从左到右正确书写的,但问题是之后的阿拉伯语部分最终出现在错误的一侧。 其背景是,我正在开发的程序需要插入一些 ID 或对象标识符,这些 ID 或对象标识符需要保留为英语,但插入本地化句子(在本例中为阿拉伯语)。

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

我想要的输出是:

abc ABC efg

但我们却得到了

abc ABC gfe

获得正确输出的唯一方法是在之前插入 unicode 标记(LTR 表示从左到右,PDF 表示 Pop-Directional-Formatting 将标记它的结尾)在 LTR 文本之后:

abc {LTR} ABC {PDF} efg

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

I'm looking on how to solve problems while mixing words that require right-to-left(like arabic) reading and left-to-right words (like English).

The problem we encounter is that when inserting a LTR word inside a sentence meant to be read in RTL (inserting an English word inside an Arabic sentence for eg): the English text is correctly written from left to right,but the problem is that the Arabic part that comes after ends-up on the wrong side.
The context of this is that the program I'm working on needs for example to insert some IDs or object identifiers that need to be remained in English but inserted in a localized sentence (Arabic in this case).

To illustrate an example, let's say the RTL words are in lowercase and LTR words are in uppercase.

My desired output would be:

abc ABC efg

but we instead get

abc ABC gfe

The only way to get the correct output is to insert the unicode markers (LTR for left-to-right, the PDF for Pop-Directional-Formatting that will mark the end of it) before and after the LTR text :

abc {LTR} ABC {PDF} efg

This is a solution that can be used, but I was wondering if there was not an easier way to handle this, automatically? The RTL words are in the resource files, while the English parts are -usually- coming from Db calls.
Any past experience on how to handle this particular scenario?
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愁以何悠 2024-10-25 01:35:43

只是在黑暗中刺探:您是否尝试过使用 {RTL} 而不是 {PDF}...?

Just a stab in the dark: have you tried using {RTL} instead of {PDF}...?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文