我正在研究RTL对专有UI框架(桌面应用程序)的支持,我想知道:是否有关于如何更改窗口小部件呈现的指导原则?
我正在寻找一系列的事情,例如:
答案 0 :(得分:6)
通常布局应该是水平翻转的镜像。除了你已经提到的控件之外,显然应该镜像单选按钮,组合框(也就是下拉菜单),旋转(或起伏,取决于术语)。最小化,最大化和关闭按钮的窗口装饰或窗口控制盒应位于相对侧。同样关于窗口的标题。
按钮的顺序也应该改变,所以如果你有[确定] [取消] [帮助],在RTL语言中,它将是[帮助] [取消] [确定]。弹出消息中的图标应位于另一侧。
您可能想知道Microsoft如何在其MFC框架中实现RTL支持:它们只是更改了坐标,因此当您移动时,0,0指向屏幕上方的右侧角,x坐标会增加到左边。这有一些副作用,可以在分割器控制中观察到 - 它完全按照预期的方式工作(将其拖动到左侧放大窗口的左侧部分)。
回到控件:LTR语言中显然左对齐的文本框应该在RTL语言中正确对齐等等。
什么是不太明显的,一些位图也应该翻转。特别让我感到惊讶的是,当本地化为阿拉伯语,乌尔都语或波斯语时,应该翻转问号图标(通常显示确认对话框或作为帮助按钮的图标),因为Reversed Question Mark(⸮)是他们使用的。我不确定希伯来语。
请注意,由于文化原因,某些位图需要进行本地化(例如,某些位图可能不合适)。此外,在将本地化为阿拉伯语(和类似语言)时,或多或少地要求使用所谓的Eastern Arabic numerals,但将它们用于希伯来语并不是一个好主意。可以想象,如果你有一些很好的子弹点(包含数字)图像,并且应用程序(或框架)需要翻译成阿拉伯语,这些图像至少需要本地化(可以替换)。