我在Wordpress中创建一个网站,它基本上是一个英文网站,但当用户点击翻译时,它将其翻译成阿拉伯语。有ltr
和rtl
的问题,我该如何解决这个问题我现在正在使用qtranslate插件。乌尔都语,库尔德语言就是这种情况。
任何可以帮助我的人
请参阅附件图片
感谢
答案 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'"; ?>