处理阿拉伯语网站的LTR和RTL(国际化)

时间:2012-12-24 19:39:01

标签: css wordpress wordpress-plugin right-to-left qtranslate

我在Wordpress中创建一个网站,它基本上是一个英文网站,但当用户点击翻译时,它将其翻译成阿拉伯语。有ltrrtl的问题,我该如何解决这个问题我现在正在使用qtranslate插件。乌尔都语,库尔德语言就是这种情况。 任何可以帮助我的人 请参阅附件图片enter image description here 感谢

2 个答案:

答案 0 :(得分:2)

似乎这个wordpress插件正在向<html>标签插入语言方向和名称。像这样:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">

OR

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ar-AR">

如果我理解你的插件没有为direction语言呈现正确的ltr属性。

第一个选项

一种选择是使用javascript来解决这个问题。我们只是按照ISO代码检测rtl种语言(这里是阿拉伯语的ar),并在body代码中添加一个类

jQuery(function(){

    jQuery("html[lang=ar]").attr("dir", "rtl")
            .find("body").addClass("right-to-left");

});

现在你可以在主题css文件中设置这些元素的样式,方法是为right-to-left类添加前缀:(这只是一个示例)

body.right-to-left my-element li {
    float:right;
    direction: rtl;
} 

第二选项

正如其他答案所建议的那样使用php将该类名插入页面的body标记中。打开主题中的header.php文件并编辑以下行:

<body class=" <?php if($_GET["lang"] == "ar") echo "right-to-left"; ?> ">

现在使用相同的css为元素设置样式

答案 1 :(得分:1)

一种简单但效率低下的方法是在主题的头文件中使用PHP检查语言,如果是阿拉伯语或其他RTL语言,则可以将dir =“rtl”添加到HTML或任何您想要的标记中。我意识到qTranslate具有GET方法模式,并向URL添加?lang=ar之类的内容。因此,您可以使用PHP轻松检查它:if ($_GET["lang"]=='ar') ...

修改

您可以在主题的头文件中添加这样的内容。 (您可以从path_to_wordpress / wp-content / themes / your_theme / header.php中找到此文件),它可以称为 header.php 或类似的东西。

找到<body>标记并将此行添加到结尾(在&gt; 符号之前):

<?php if($_GET["lang"] == "ar") echo "dir='rtl'"; ?>