WPML

RTL 表示从右到左。世界上只有少数几种语言使用 RTL 文本方向,但这些语言覆盖了超过 10 亿人口。为您的主题添加 RTL 支持非常简单,并且可以大大增加其市场份额。


以下是两个页面,一个采用 RTL 方向,另一个采用 LTR(正常)方向:
英语 – LTR 希伯来语 – RTL
从左到右页面 从右到左页面

您可以看到 RTL 页面中的所有内容是如何在水平方向上“翻转”的。这就像透过镜子看“常规”的 LTR 页面。创建这种镜像效果实际上非常容易。CSS 中的“dir”方向属性将完成大部分工作,您只需修补几个地方即可。

为 RTL 语言加载不同的 CSS 文件


WordPress 知道哪些语言具有 RTL 流,这使您可以轻松自定义其布局。创建一个新的 rtl.css 文件并将其放在主题的根目录中。

WordPress 将在加载常规的 styles.css 之后加载 rtl.css 文件,因此 RTL CSS 文件只需覆盖需要更改的属性。这意味着对于大多数主题来说,rtl.css 文件通常非常小。

将页面方向设置为 RTL


CSS 中的“direction”属性告诉浏览器页面的方向。对于 RTL 语言,您需要将其设置为“rtl”。为了正确显示 RTL,您还应该设置另一个“神奇”的属性。它被称为“unicode-bidi”。当您习惯了以 RTL 方式书写时,这个“神奇”的属性就很容易理解了。它控制字符在行内的显示方式。

为了正确显示 RTL,请将以下内容添加到 .body 选择器中:


{
direction:rtl;
unicode-bidi:embed;
}

大功告成!您的主题现在以 RTL 方式显示了。差不多吧。这两条语句将使页面上的大部分内容看起来正确。现在,您需要处理例外情况。

翻转文本方向、浮动和清除


在 CSS 中,您设置文本方向和浮动元素的每个地方都需要手动关注。

找到 text-align、float 和 clear 的所有选择器。如果其中任何一个指定了方向,请在“right”和“left”之间进行翻转。请记住我们要实现的镜像效果,这将使理解这种转换变得更加容易。

暗示方向的图形


另一件需要注意的事情是具有“方向”含义的图形。例如,如果您正在创建一个幻灯片,您可能会有指向下一个和上一个项目的箭头。请记住,您的网站在 RTL 语言中将呈现镜像效果,因此您也应该翻转方向图形。如果您在 LTR 中使用向右的箭头表示“下一个”,则应在 RTL 中提供向左的箭头表示“下一个”。

自定义字体选择


RTL 语言没有与 LTR 语言相同的字体。如果您使用的是花哨的字体,并且您的主题布局依赖于它们,您应该为这些语言寻找替代字体。如果您选择了一种在 RTL 语言中不存在的字体,浏览器将恢复为其已知的字体。最好指定您喜欢的现有替代字体。

如果您使用标准的 Web 字体,那就没问题。

如何在 RTL 中测试您的主题


在开发 RTL CSS 文件时,最好始终测试您正在执行的操作。

  1. 将 wp-config.php 文件中的语言更改为该语言。如果您使用的是 WPML,只需向您的网站添加一种 RTL 语言即可。

    添加 RTL 语言
    添加 RTL 语言


  2. 将主题的硬编码文本(至少是前端的文本)翻译成该语言。WPML 允许您使用字符串翻译模块执行此操作。

    翻译主题文本
    翻译主题文本


  3. 获取该语言的示例内容。为了在 WordPress 管理后台中轻松进行 RTL 编辑,请前往您的个人资料,滚动到管理后台语言设置,并将语言设置为与编辑语言相同。

    在 RTL 模式下编辑内容
    在 RTL 模式下编辑内容


不懂任何 RTL 语言?只需使用 Google 翻译即可。翻译结果可能大多毫无意义,但对于 CSS 开发目的来说,这已经足够了。

现在,浏览您网站中不同类型的内容。确保包括文章、页面、主页以及您创建的任何自定义内容。

为了获得最佳结果,请找一位会说该语言的人为您做一次合理性检查。您会说 RTL 语言的朋友会发现您遗漏的剩余 5% 的问题。这是“锦上添花”的事情,因此,如果您不认识任何可以帮助测试的人,也不要停止您的 RTL 工作。一旦您发布了启用 RTL 的主题版本,您就会收到来自客户的大量反馈。如果您完成了 95% 的工作,他们会很乐意为剩余的 5% 提供修复建议。

额外内容 – RTL 语言的主题管理后台


拥有兼容 RTL 的主题的基本要求是,前端(公共内容)在 RTL 语言中正确显示。这是真正的基础,如果没有它,任何人都无法使用您的主题来构建 RTL 语言的网站。

除此之外,许多用户还希望使用其语言的 WordPress 管理后台。这也意味着需要以 RTL 方向查看主题的管理后台屏幕。

实现主题管理后台屏幕 RTL 兼容性的简单方法是,对 GUI 元素使用标准的 WordPress CSS 类。诚然,这意味着您无法使用花哨的 CSS 效果来点亮您的 GUI。但这也意味着您的 GUI 可以完美融入 WordPress 管理后台,并以 LTR / RTL 正确显示。

RTL 模式下的 2014 主题管理后台。未完全翻译,但所有内容位置正确。
RTL 模式下的 2014 主题管理后台。未完全翻译,但所有内容位置正确。

如果您必须在管理后台屏幕使用自定义 CSS,请检查它在 RTL 语言中的外观。您在前端 CSS 遵循的相同规则也适用于后端。翻转对齐、浮动和清除;避免绝对定位,并处理好图像。

绝佳参考 – 默认 WordPress 主题


供您参考,默认的 WordPress 主题都已完美适配 RTL 语言。打开默认主题并查找 rtl.css 文件。您会看到它对默认主题的 CSS 进行了哪些更改。通常,这些更改非常小且易于理解。

作者:Amir · 最后更新时间:2024年10月18日