从右到左的 UI 指南?

2024-01-31

我正在研究对专有 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(使用前将#替换为@)

从右到左的 UI 指南? 的相关文章

  • Localized.strings 已损坏?

    我试图包含我的应用程序的国际化 并且仅出于测试目的 我在文件 Localized string 中添加了一行简单的代码 这是我的整个文件 测试区域设置 测试区域设置 当我尝试运行我的应用程序时 我收到此错误 Localized string
  • Angular 5 - 在 TypeScript 中翻译字符串

    我使用 i18n 进行翻译 并且对它在 html 方面的工作方式感到满意 但是 如果我在打字稿的字符串中定义了错误消息等 我想要一种方法来翻译这些内容 但找不到方法来做到这一点 有解决方法可以实现这一目标吗 到目前为止 通过库的 API 还
  • 多语言 PHP 应用程序:最佳实践?

    我想获得您对我在 PHP MVC Web 应用程序上实现多语言支持的方式的反馈 我就是这样做的 在 app 文件夹中 我创建了一个 linguals 文件夹 其中包含每种语言一个文件 english php spanish php 等 每个
  • 为什么我的 XIB 文件无法本地化 (iPhone)?

    情况 我正在启动 XCode 为 iPhone 创建一个新项目 查看应用程序 并将 XIB 文件加载到 IB 中 我操作视图 添加带有字符串 hello 的标签 保存 构建 运行应用程序 一切都很好 现在我正在本地化 XIB 我所做的 右键
  • PHP date() 外语 - 例如3 月 25 日 Aoû 09 [重复]

    这个问题在这里已经有答案了 我有一个脚本需要向国际观众显示日期数据 例如 于 2009 年 8 月 25 日星期二提交 有没有一种更简单 更干净的方法可以将其转换为法语 等 等效项 Mar 25 Ao 09 而不是 设置常数LANG and
  • 如何动态有效地应用 RTL

    每当我应用时 我都会在线性布局中动态创建和添加 TextViewlayoutAmount setRotationY 180 布局改变了方向 这是正确的 但是里面的 TextViews 的单词也改变了方向 这是错误的 例如 如果这个单词很抱歉
  • 禁用 ActionBar RTL 方向

    Android 4 2 引入了 RTL BiDi 支持 要开始使用它 我只需按照说明进行操作 清单文件中元素的 android supportsRtl 属性并将其设置为 true 但随后我的 ActionBar 徽标也将方向更改为右侧 徽标
  • 桌面上的 UWP 通过顶部 X 按钮关闭 - 无事件

    在桌面上运行的 UWP 应用程序可以通过顶部的 X 按钮关闭 但它没有任何事件 众所周知 在手机和平 板电脑上 应用程序应该依赖Suspending事件 无论它是如何触发的 然后应用程序应该依赖ApplicationExecutionSta
  • 更改区域设置:强制活动重新加载资源?

    所以我的应用程序中有一个语言设置 切换语言时 我希望所有文本视图等立即更改语言 目前我只是更改配置中的区域设置 因此当用户重新启动活动时语言已更改 我的问题的一个丑陋的解决方案是让每个文本视图在每次更改语言时加载新资源 有更好的解决方案吗
  • 如何从 App.Config 文件设置 CultureInfo.CurrentCulture?

    我需要通过 App Config 文件设置应用程序的区域性 以便自动使用 pt BR 来解析日期 而无需手动告知每个操作的区域性 据我所知 有一个globalization可以在内部定义的部分system webWeb Config 文件中
  • toLocaleLowerCase() 和 toLowerCase() 之间的区别[重复]

    这个问题在这里已经有答案了 我试图fiddle http jsfiddle net xameeramir kr33b0aL with toLocaleLowerCase http www w3schools com jsref jsref
  • Xcode 6 本地化无法读取字符串文件

    Xcode 无法生成 xliff 本地化文件并出现错误本地化无法读取字符串文件 请检查系统日志以获取更多详细信息 有谁知道我在哪里可以找到这些日志 它是 Xcode 6 3 2 GM 但我也尝试过 6 3 1 版本 同 6 3 1 错误发生
  • 本地化 html 文档(事后看来)

    我正在用 PHP 构建一个 Web 应用程序 我已经决定 在整个过程中 以不同的语言提供该应用程序 我的问题是这样的 我不想费力地浏览模板文件中的所有 HTMl 代码来查找需要用动态生成的 lang 变量替换的 单词 有没有一个工具可以突出
  • 列表本地化

    本地化字符串列表的正确方法是什么 我知道分隔符可以本地化为逗号或分号 但是连词是否本地化 如果是这样 任意长度列表的格式字符串会是什么样子 Example 蝙蝠 猫和狗 我可以根据区域设置使用分隔符并构建列表 如下所示 LIST UNIT
  • 无法在 TFS 中签入 UserControl.xaml 文件。接收错误:TF10169

    Visual Studio 2013 中的项目类型是桌面应用程序 我在该桌面应用程序中添加了 XAML 格式的用户控件 我使用了一些兼容性函数和库 以便 xaml 控件能够与简单的桌面应用程序集成 TFS 正在检查其他相关文件 但是当将 x
  • ElectronJS 捕获屏幕质量低

    我正在使用 ElectronJS 测试屏幕捕获 我可以捕获屏幕 但捕获的视频质量低于原始视频 操作系统 Linux Mint 20 电子版本 11 1 0 这是我的代码 我选择我的屏幕 然后使用以下命令在电子应用程序中显示捕获的屏幕vide
  • WPF XAML 绑定和 CurrentCulture 显示

    当 CurrentCulture 更改时 我发现 XAML 文档出现一些无效行为 当我在窗口中有一些这样的元素时
  • 是否有一个包可以维护所有带有符号的货币列表?

    是否有一个 python 包提供所有 或相当完整 货币的列表与符号 如美元的 有优秀的pycountry 贪财的 https github com limist py moneyed and ccy http code google com
  • 更改应用程序语言运行时而不重新创建活动

    我需要的 我想提供在应用程序中更改语言的选项 仅更改应用程序的语言 而不是整个手机语言 我做了什么 我尝试在运行时更改区域设置 它正在更改语言 问题是什么 我想要的是 我不想在更改语言时重新创建活动或片段 我尝试过的如下所示 测试活动 ja
  • 在 Rails 中本地化嵌套虚拟属性

    怎么可能本地化嵌套虚拟属性在 Rails 中 该模型 class User lt ActiveRecord Base attr accessor company information This is used in callbacks e

随机推荐

  • 用 C/C++ 编译 DLL,然后从另一个程序调用它

    我想制作一个简单的DLL 它导出一个或两个函数 然后尝试从另一个程序调用它 到目前为止我所看到的都是复杂的问题 将事物链接在一起的不同方式 奇怪的问题我什至还没有开始意识到存在 我只是想开始 通过做这样的事情 制作一个导出一些函数的 DLL
  • 测试一个封闭的ios应用程序

    我目前正在尝试处理不同的应用程序状态 关闭 后台或在应用程序的不同选项卡中 但是当我尝试测试应用程序在关闭并收到推送通知时如何工作 双击主页并强制关闭应用程序然后重新打开它 我不确定代码中哪里出了问题 由于我是从手机本身而不是 xcode
  • 使用 Axios 下载文件然后上传到 Amazon S3

    我已经看到关于使用 Axios 下载文件并将其上传到 S3 的各种问题 但没有一个将它们联系在一起 而且我对流 blob 多部分表单等感到困惑 到目前为止 这是我的代码 下载文件 const downloadResponse await a
  • MySQL 中的事务暂停是如何工作的?

    在 Spring 框架手册中 他们声明对于 PROPAGATION REQUIRES NEW 当前事务将被挂起 暂停交易 是什么意思 超时计时器停止对当前事务计数 这种暂停的实际影响是什么 谢谢你 Asaf 这并不意味着什么特别的 暂停的交
  • Mathematica 协助:使用 /。将方法替换为 IF[] 条件

    首先我要声明 我是一名 Mathematica 新手 这个问题可能很容易回答 但到目前为止 我在互联网上找不到任何针对这个特定问题的帮助 在这里 我基本上总结了我需要我的代码做什么 使用时出现一些问题 将命令替换为IF条件语句 基本上 我有
  • Sql Server 2008 - 换行符和全文查询

    我有一个数据库和一个全文索引表 我们称这张表为test 该表有一个名为testfield 现在 我们只插入一条记录 如下所示 insert into test values word Char 13 test 该查询插入一个带有LINE B
  • 如何选择 numpy 二维数组中唯一元素的所有位置及其周围的边界框?

    我有一个 2D numpy 数组 我想找到所有唯一元素的 每个 位置 我们可以使用以下方法找到独特的元素numpy unique numpyarray 这是棘手的部分 现在我必须知道每个独特元素的所有位置 让我们考虑以下示例 array 1
  • MySQL自动增量加上一列中的字母数字

    我是来自 Oracle 的 MySQL 新手 我需要创建一个表 其中主键位于一列中 但格式如下 X A注明原产国的信件 例如S对于西班牙来说 Z津巴布韦等 我们只有五个原籍国 YYYYMMDD 该格式的日期 9999 4 位办公代码 999
  • 奇怪的超时::控制器操作中的 render_to_string 和 HTTParty 出现错误

    在我的控制器操作中 我使用带有 jbuilder 模板的 render to string 来将 http post 操作的对象渲染到 API 此 API 调用的结果是控制器应该渲染的结果 但是在通过 render to string 渲染
  • Apache Commons Math 的标准差

    我正在使用 Apache Commons Math 计算向量的 SD 问题 我得到的值与手工得到的值不同 DescriptiveStatistics stats new DescriptiveStatistics stats addValu
  • iOS 10 iMessage 贴纸应用中 MSSticker Peels 的回调

    我正在 iOS 10 中尝试贴纸 iMessage 应用程序 但遇到了问题override func didStartSending message MSMessage conversation MSConversation 中的方法MSM
  • 数据绑定布局约束

    我在添加要查看的结束约束时遇到问题
  • Blazor 导航:更新 URL 而不更改重新加载页面

    我在应用程序中使用 URL 参数来表示页面状态 如何在不实际导航的情况下更改 URL Thanks 使用 Blazor 服务器端 您可以使用 JS Interop 来完成此操作并调用history pushState null url 这是
  • 禁用日期选择器弹出窗口中的过去日期

    我有下面的代码片段 其中有日期选择器控件
  • LinearLayoutManager.findFirstVisibleItemPosition() 返回 POSITION_NONE

    我正在尝试做这样的事情 RecyclerAdapter recyclerAdapter LinearLayoutManager recyclerManager set items recyclerAdapter notifyDataSetC
  • 在方向更改时保持列表片段选定项目的位置

    我在另一个片段的左侧有一个列表片段 本质上是标准的单击一个项目并更新右侧的片段模式 当他们单击列表片段中的一项时 他们正在选择新闻文章类别 我需要保留他们旋转设备时选择的任何一项 我怎么做 我当前的代码不起作用 我的代码如下 public
  • Django 1.7+ 相当于 South 的 add_ignored_fields() 是什么?

    回到 Django 的早期版本 我们都使用 South 进行迁移 并且由于它没有我们希望的那么智能 我们有时需要告诉它显式忽略某些字段 因为这些字段太复杂而无法处理 我们这样做是用add ignored fields一切都很顺利 在我们的例
  • 正确地从 DOM 中删除角度组件

    我创建了一个芯片组件 它有一个删除按钮 单击此按钮后 我想从 DOM 中删除整个组件 包括它的包装 HTML 标记 芯片组件 ts Component selector app chips template div class close
  • 在我的 Mac 上制作一个 C 启动器

    我想为我制作的 C 程序制作一个启动器 并且希望它在终端中运行 我该怎么做 我连一丁点的想法都没有 只需创建一个文本文件 将其保存到桌面 例如my C program command 注意 command后缀 然后在文本文件中您可以输入您喜
  • 从右到左的 UI 指南?

    我正在研究对专有 UI 框架 用于桌面应用程序 的 RTL 支持 我想知道 是否有关于如何更改小部件渲染的指南 我正在寻找诸如以下内容的列表 复选框标签位于复选框的左侧 并且右对齐 工具栏按钮从右向左流动 垂直滑块位于左侧 窗户装饰 一般布