语言的方向性,显示在已添加到Drupal中的语言翻译的列表中,如图18-17所示。

图 18-17. 从右到左的语言可以用语言表格中的“读写方向”列标识出来。
Drupal对从右到左的语言的支持,比如以色列语,是在主题层实现的。当Drupal为当前页面加载一个样式表时,如果当前语言的读写方向为从右到左,那么Drupal将检查是否存在一个以-rtl.css结尾的对应的样式表。如果该样式表也存在,那么它也将和被请求的样式表一起被加载进来。图18-18给出了这一逻辑。因此,对于支持从右到左的语言的主题,一般把样式定义在主样式表中,而把覆写的CSS定义在对应的从右到左的样式表中。
例如,如果当前语言为以色列语,主题为Bluemarine,当Drupal添加样式表themes/bluemarine/style.css时,文件themes/bluemarine/style-rtl.css也将被包含进来。在Drupal的默认主题中,检查从右到左的样式表,来看看都有哪些CSS元素被覆写了。
导航到“管理➤站点配置➤语言”,点击相应语言的“编辑”链接,在编辑页面,你可以修改语言的读写方向。
如果想测试当前语言的方向性,那么可以使用下面的代码:
if (defined('LANGUAGE_RTL') && $language->direction == LANGUAGE_RTL) {
// Do something.
}
由于常量LANGUAGE_RTL是由本地模块定义的,所以如果没有加载本地模块,那么也就无法支持从右到左的语言,因此上面的代码是有效的。

图 18-18.如果当前语言的读写方向为从右到左,如果附加的样式表存在的话,那么它将会被包含进来。
老葛的Drupal培训班 Think in Drupal