我在Wordpress中创建一个网站,它基本上是一个英文网站,但当用户点击翻译时,它将其翻译成阿拉伯语 . 有 ltr 和 rtl 的问题,我该如何解决 . 我现在正在使用qtranslate插件 . 乌尔都语,库尔德语言的情况 . 任何可以帮助我的人请看附件谢谢
ltr
rtl
看来这个wordpress插件正在将语言方向和名称插入到 <html> 标签中 . 像这样:
<html>
<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">
如果我理解你的插件没有为 ltr 语言呈现正确的 direction 属性 .
direction
一种选择是使用javascript来解决这个问题 . 我们只是通过ISO代码检测 rtl 语言(这里是阿拉伯语的 ar )并在 body 标签中添加一个类
ar
body
jQuery(function(){ jQuery("html[lang=ar]").attr("dir", "rtl") .find("body").addClass("right-to-left"); });
现在你可以在主题css文件中设置这些元素的样式,方法是为 right-to-left 类添加前缀:(这只是一个示例)
right-to-left
body.right-to-left my-element li { float:right; direction: rtl; }
.
正如其他答案所建议的那样使用php将该类名插入到页面的 body 标签中 . 在主题中打开 header.php 文件并编辑此行:
header.php
<body class=" <?php if($_GET["lang"] == "ar") echo "right-to-left"; ?> ">
现在使用相同的CSS来为元素设置样式
一种简单但效率低下的方法是在主题's header file and if it' s阿拉伯语或其他RTL语言中使用PHP检查语言,您可以将dir = "rtl"添加到HTML或任何您想要的标记中 . 我意识到qTranslate有一个GET方法模式,并在URL中添加了类似 ?lang=ar 的内容 . 所以你可以用PHP轻松检查它: if ($_GET["lang"]=='ar') ...
?lang=ar
if ($_GET["lang"]=='ar') ...
EDIT
你可以在你的主题_2888561中添加这样的东西,或者叫做 header.php 或类似的东西 .
找到 <body> 标签并将此行添加到末尾(在 > 标志之前):
<body>
<?php if($_GET["lang"] == "ar") echo "dir='rtl'"; ?>
2 回答
看来这个wordpress插件正在将语言方向和名称插入到
<html>
标签中 . 像这样:要么
如果我理解你的插件没有为
ltr
语言呈现正确的direction
属性 .第一选项
一种选择是使用javascript来解决这个问题 . 我们只是通过ISO代码检测
rtl
语言(这里是阿拉伯语的ar
)并在body
标签中添加一个类现在你可以在主题css文件中设置这些元素的样式,方法是为
right-to-left
类添加前缀:(这只是一个示例).
第二选项
正如其他答案所建议的那样使用php将该类名插入到页面的
body
标签中 . 在主题中打开header.php
文件并编辑此行:现在使用相同的CSS来为元素设置样式
一种简单但效率低下的方法是在主题's header file and if it' s阿拉伯语或其他RTL语言中使用PHP检查语言,您可以将dir = "rtl"添加到HTML或任何您想要的标记中 . 我意识到qTranslate有一个GET方法模式,并在URL中添加了类似
?lang=ar
的内容 . 所以你可以用PHP轻松检查它:if ($_GET["lang"]=='ar') ...
EDIT
你可以在你的主题_2888561中添加这样的东西,或者叫做 header.php 或类似的东西 .
找到
<body>
标签并将此行添加到末尾(在 > 标志之前):