我正在 Wordpress 中创建一个网站,它基本上是一个英文网站,但是当用户点击翻译时,它会将其翻译成阿拉伯语。有问题ltr
,rtl
我该如何解决。我现在正在使用 qtranslate 插件。情况也是如此与乌尔都语,库尔德语。任何可以帮助我的人请查看附件图片
谢谢
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 来设置元素的样式
一种简单但低效的方法是在主题的头文件中使用 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'"; ?>