4

我正在 Wordpress 中创建一个网站,它基本上是一个英文网站,但是当用户点击翻译时,它会将其翻译成阿拉伯语。有问题ltrrtl我该如何解决。我现在正在使用 qtranslate 插件。情况也是如此与乌尔都语,库尔德语。任何可以帮助我的人请查看附件图片在此处输入图像描述 谢谢

4

2 回答 2

2

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

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

或者

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

如果我了解您,该插件不会为语言呈现正确direction的属性。ltr

第一个选项

一种选择是使用 javascript 来解决这个问题。简单地我们rtl通过它们的 ISO 代码检测语言(这里是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 来设置元素的样式

于 2012-12-24T20:47:28.837 回答
1

一种简单但低效的方法是在主题的头文件中使用 PHP 检查语言,如果它是阿拉伯语或其他 RTL 语言,您可以将 dir="rtl" 添加到 HTML 或任何您想要的标签中。我意识到 qTranslate 有一个 GET 方法模式,并?lang=ar在 URL 中添加了类似的东西。所以你可以很容易地用PHP检查它:if ($_GET["lang"]=='ar') ...

编辑

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

找到<body>标签并将这一行添加到末尾(在>符号之前):

<?php if($_GET["lang"] == "ar") echo "dir='rtl'"; ?>
于 2012-12-24T20:42:30.457 回答