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

Css 处理阿拉伯语网站的LTR和RTL(国际化),css,wordpress,right-to-left,qtranslate,Css,Wordpress,Right To Left,Qtranslate,我正在Wordpress中创建一个网站,它基本上是一个英文网站,但当用户点击translate时,将其翻译成阿拉伯语。存在ltr和rtl的问题,我如何解决这个问题。我现在正在使用qtranslate插件。乌尔都语和库尔德语也是如此。 有人能帮我吗 请参阅所附图片 谢谢一种简单但低效的方法是在主题的头文件中使用PHP检查语言,如果是阿拉伯语或其他RTL语言,您可以将dir=“RTL”添加到HTML或任何您想要的标记中。我意识到qTranslate有一个GET方法模式,并向URL添加了类似于?lan

我正在Wordpress中创建一个网站,它基本上是一个英文网站,但当用户点击translate时,将其翻译成阿拉伯语。存在
ltr
rtl
的问题,我如何解决这个问题。我现在正在使用qtranslate插件。乌尔都语和库尔德语也是如此。 有人能帮我吗 请参阅所附图片
谢谢

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

编辑

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

找到
标记并将此行添加到末尾(在符号之前):


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

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
现在,您可以在主题css文件中设置该元素的样式,方法是从右到左前缀
类,如下所示:(这只是一个示例)

第二种选择 正如另一个答案所建议的,使用php将该类名插入页面的
body
标记中。在主题中打开
header.php
文件并编辑此行:

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

@SergeyS当我点击阿拉伯语时,我的网站看起来不太好,rtl和ltr存在问题,我如何处理?我可以处理单词并在.po文件中添加单词。你必须更加具体。什么样的方向性问题?列顺序?字符顺序?拉丁语/标点符号与阿拉伯语共舞?@bmargulies阿拉伯语不是rtlIt,如果您可以添加屏幕截图或其他内容,将非常有帮助。@请查看QTranslate不转发任何带有“lang”URL的内容,我的意思是没有名称值pairqTranslate有3种模式,其中一种是URL模式。请参见my header.php以div开头my header.php以div开头根据主题可能位于不同的位置。查找具有
开始标记的文件。并将更改应用到该文件中。人们说它位于header.php中
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ar-AR">
jQuery(function(){

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

});
body.right-to-left my-element li {
    float:right;
    direction: rtl;
} 
<body class=" <?php if($_GET["lang"] == "ar") echo "right-to-left"; ?> ">