jQuery的剑道UI免费下载30天试用版

从右到左的语言

从右向左(RTL)支持是指库、网站或应用程序处理和响应使用从右向左语言(如阿拉伯语、希伯来语、中文或日语)进行通信的用户的能力。

大多数网络用户默认的语言输入是从左到右。然而,许多网站和应用程序也希望为访问者提供RTL支持。RTL功能更多地属于国际化领域,但也可以视为一种可访问性特性。毕竟,RTL是为了让使用从右到左语言的访问者更容易获得用户体验。

配置

除非您正在构建一个专门使用RTL语言的应用程序,否则基于外部输入(如语言选择或来自访问者的用户代理的信息)应用RTL支持特性是很直观的。在这种情况下,您可以应用k-rtl类在运行时使用jQueryaddClass方法。

例如,如果您希望允许用户通过从下拉列表中选择语言或单击按钮来触发RTL支持:

  1. 控件向页面添加按钮设置。
  2. 为按钮添加单击处理程序,并通过添加或删除控件来切换RTL支持k-rtl类分配给表单—在本例中是为其分配ID的表单字段集合speakerForm。有了这个处理程序,用户现在可以按需触发RTL支持。

    $ (" # toggleRTL”)。on('click', function(event) {var form = $('#speakerForm');if (form.hasClass('k-rtl')) {form.removeClass('k-rtl')} else {form.addClass('k-rtl');}})

添加样式

您还需要为内容的RTL呈现配置项目的适当样式。

设置

  1. 注册kendo.rtl.css样式表。控件位于同一个文件夹中kendo.common.css文件-剑道UI风格文件夹中的最新版本。

    您必须在公共样式表之后和主题样式表之前注册RTL样式表。
  2. 将Kendo UI小部件封装在HTML元素中k-rtlCSS类。将这个类分配给身体< >标记,这样就不需要额外的DOM元素。

    “k-rtl”类有以下效果:*应用一个“direction:rtl”样式,所以你在创建从右到左的应用程序时不必自己设置它。使小部件按照通用的RTL约定改变它们的布局。这需要' kendo.rtl.css '样式表。*帮助小部件脚本检测RTL模式,并相应地,小部件改变其行为。< span class="k-rtl">  
    Baidu

已知的限制

  • 垂直滚动条的位置可能位于左侧或右侧,这取决于所使用的浏览器。这不能通过CSS或脚本来控制。
  • Kendo UI ListView小部件的布局完全依赖于定义的模板。小部件本身不执行将现有LTR模板转换为RTL布局的操作。如果一个k-rtlCSS类存在并应用于包装器元素,文本方向将被反转,但浮动、边距、填充等将保持其方向。
  • Kendo UI Splitter在RTL模式下不会颠倒其窗格的顺序。

有关剑道UI外观和布局的更多信息,请参考关于剑道UI支持的主题和样式的文章

自动实现

您的项目可能需要您自动触发RTL支持,而不是在用户交互时触发。在这种情况下,您可以检查接收语言HTTP头来确定用户是否喜欢RTL语言。

接收语言header随每个HTTP请求一起提供,通常在服务器端框架中作为请求对象的属性公开。如果你正在使用ASP。. NET,例如,您可以访问接收语言头通过调用userlang = Request.Headers["Accept-Language"];

对于PHP,使用$ _SERVER对象-userlang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];。对于Rails应用程序,使用request.env对象-userlang = request.env["HTTP_ACCEPT_LANGUAGE"]

接收语言Header可以返回一个以逗号分隔的语言列表,按偏好排序。在这种情况下,您必须将返回值拆分为数组或列表,并检查第一个元素以确定是否添加k-rtl类转换为返回的标记是必要的。

另请参阅

在本文中
Baidu
map