本地化 – 从右到左的UI指南?

我正在研究RTL对专有UI框架(对于桌面应用程序)的支持,我想知道:是否有关于如何更改窗口小部件呈现的指导原则?

我正在寻找一系列的东西,比如:

>复选框标签位于复选框的左侧,右对齐
>工具栏按钮从右向左流动
>垂直滑块位于左侧
>橱窗装饰???
> ……

解决方法

通常布局应该是水平翻转的镜像.除了你已经提到的控件之外,显然应该镜像单选按钮,组合框(也就是下拉菜单),旋转(或上下,取决于术语).最小化,最大化和关闭按钮的窗口装饰或窗口控制盒应位于相对侧.关于窗口标题的问题.
按钮的顺序也应该改变,所以如果你有[确定] [取消] [帮助],在RTL语言中,它将是[帮助] [取消] [确定].弹出消息中的图标应位于另一侧.

您可能想知道Microsoft如何在其MFC框架中实现RTL支持:它们只是更改了坐标,因此当您移动到左侧时,0指向屏幕的右上角,x坐标会增加.这有一些副作用,可以在分割器控制中观察到 – 它完全按照预期的方式工作(将其拖动到左侧放大窗口的左侧部分).

回到控件:LTR语言中显然左对齐的文本框应该在RTL语言中正确对齐,依此类推.

什么是不太明显的,一些位图也应该翻转.特别让我感到惊讶的是,当本地化为阿拉伯语,乌尔都语或波斯语时,应该翻转问号图标(通常显示确认对话框或作为帮助按钮的图标),因为它们使用的是Reversed Question Mark(⸮).我不确定希伯来语.

请记住,出于文化原因需要对某些位图进行本地化(例如,其中一些位图可能不合适).此外,在将本地化为阿拉伯语(和类似语言)时,或多或少地要求使用所谓的Eastern Arabic numerals,但将它们用于希伯来语并不是一个好主意.可以想象,如果你有一些很好的子弹点(包含数字)图像,并且应用程序(或框架)需要翻译成阿拉伯语,这些图像至少需要是可本地化的(可以替换).

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...