首页 文章

处理阿拉伯语网站的LTR和RTL(国际化)[关闭]

提问于
浏览
4

我在Wordpress中创建一个网站,它基本上是一个英文网站,但当用户点击翻译时,它将其翻译成阿拉伯语 . 有 ltrrtl 的问题,我该如何解决 . 我现在正在使用qtranslate插件 . 乌尔都语,库尔德语言的情况 . 任何可以帮助我的人请看附件
enter image description here
谢谢

2 回答

  • 2

    看来这个wordpress插件正在将语言方向和名称插入到 <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 属性 .

    第一选项

    一种选择是使用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

    一种简单但效率低下的方法是在主题'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> 标签并将此行添加到末尾(在 > 标志之前):

    <?php if($_GET["lang"] == "ar") echo "dir='rtl'"; ?>
    

相关问题