Wordpressでサイトを作成していますが、基本的には英語のサイトですが、ユーザーが翻訳をクリックするとアラビア語に翻訳されます.問題がltr
ありrtl
、どうすればそれを解決できますか.私は現在qtranslateプラグインを使用しています.同じですウルドゥー語、クルド語で。これで私を助けることができる人は、添付の画像を参照してください
ありがとう
2 に答える
このワードプレス プラグインは、言語の方向と名前を<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">
プラグインが言語direction
の正しい属性をレンダリングしていないことがわかりました。ltr
最初のオプション
1 つのオプションは、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;
}
.
2 番目のオプション
他の回答で示唆されているように、php を使用してそのクラス名をbody
ページのタグに挿入します。header.php
テーマでファイルを開き、次の行を編集します。
<body class=" <?php if($_GET["lang"] == "ar") echo "right-to-left"; ?> ">
同じ CSS を使用して要素のスタイルを設定する
シンプルだが非効率的な方法の 1 つは、テーマのヘッダー ファイルで 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'"; ?>