C ncurses 应用程序中的希伯来语支持
我们有一个基于 C 护士的应用程序(在大多数 Unix 版本上运行,但我们更喜欢 RHEL)。我们在那里获得了 Unicode 支持,但现在我们必须提供该应用程序的希伯来语版本。有谁知道我们可以通过哪些流程来转换该程序?它主要从Oracle获取和存储数据,Oracle可以支持希伯来语,所以那里应该没有问题。 这实际上只是文本的显示问题。
We have a C nurses based application (runs on most flavours of Unix, but we favour RHEL). We've got Unicode support in there, but now we have to provide a Hebrew version of the application. Does anyone know a process we could go through to convert the program? It mainly gets and stores data from Oracle, which can support Hebrew, so there should not be a problem there.
It really is just the display of the text that is the issue.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
了解他们使用的终端非常重要,因为这定义了您应该如何编写代码。有些终端支持BiDi(即双向文本)。这意味着它们会自动向后翻转希伯来语/阿拉伯语文本。
它有自己的问题,您可以使用 mlterm 检查您的应用程序的外观。
基本上,它会反转包含希伯来语文本的行,同时保留被解释为英语字符 LTR 的内容。打印到 10,70 的希伯来字符将出现在 10,10 中。您可以使用 Unicode LTR RTL 来尝试强制处理破坏格式的内容,但至少在 mlterm 上,当它们工作时,它们会打印垃圾字符。
但是,如果他们使用支持 unicode 的常规终端,则您应该自己滚动字符。
当然,如果它在双向终端上运行,文本将再次向后并且格式丢失。
It is important to know what terminal they are using because that defines how you should write the code. Some terminals support BiDi(ie bidirectional text). That means they automatically turn Hebrew/Arabian text backwards.
It has its own problems, you can check what your app would look like using mlterm.
Basically it reverses the lines that contain hebrew text while keeping what is interpreted as English characters LTR. A Hebrew character printed to 10,70 will appear in 10,10. You can use Unicode LTR RTL to try to force direction for things that break your formatting, but at least on mlterm while they work, they print garbage characters.
If they use regular terminals with unicode support, however, you should roll the characters yourself.
Then of course if it is run on bidirectional terminals the text would be backwards again and the format lost.