我正在研究对专有 UI 框架(用于桌面应用程序)的 RTL 支持,我想知道:是否有关于如何更改小部件渲染的指南?
我正在寻找诸如以下内容的列表:
- 复选框标签位于复选框的左侧,并且右对齐
- 工具栏按钮从右向左流动
- 垂直滑块位于左侧
- 窗户装饰???
- ...
一般布局应该是mirrored即水平翻转。除了您已经提到的控件之外,显然单选按钮、组合框(又名下拉菜单)、旋转(或上下,取决于术语)应该被镜像。窗口装饰或窗口控制框,即最小化、最大化和关闭按钮应位于另一侧。窗口标题也是如此。
按钮的顺序也应该改变,所以如果你有[确定][取消][帮助],在RTL语言中,它将是[帮助][取消][确定]。弹出消息中的图标应位于另一侧。
您可能想知道 Microsoft 如何在其 MFC 框架中实现 RTL 支持:他们只是更改坐标,以便 0,0 指向上方right当您移动到左侧时,屏幕的一角和 x 坐标会增加。这有一些副作用,可以在分割器控制中观察到 - 它的工作方式与人们期望的完全相反(将其拖动到左侧会放大窗口的左侧部分)。
回到控件:显然,LTR 语言中的文本框是左对齐的,而 RTL 语言中的文本框应该是右对齐的,等等。
绝对不太明显的是,一些位图也应该翻转。让我特别惊讶的是,当本地化为阿拉伯语、乌尔都语或波斯语时,问号图标(通常与确认对话框一起显示或作为帮助按钮显示)应该翻转,例如颠倒的问号 http://en.wikipedia.org/wiki/File:Arabic_Question_mark_%28RTL%29.svg(⸮) 是他们使用的。不过我不确定希伯来语。
请记住,由于文化原因,某些位图需要本地化(例如其中一些可能不合适)。此外,或多或少需要使用所谓的东方阿拉伯数字 http://en.wikipedia.org/wiki/Eastern_Arabic_numerals虽然本地化为阿拉伯语(和类似语言),但将它们用于希伯来语并不是一个好主意。正如您可以想象的那样,如果您有一些漂亮的项目符号图像(包含数字)并且应用程序(或框架)需要翻译成阿拉伯语,那么这些图像至少需要可本地化(即可替换)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)