英語版とアラビア語版で表示する 2 つの Web サイトがあります。
周りを見回した後、qTranslateプラグインが単純なソリューションに非常に適していることがわかりました.
私.htaccess
は次のように使用しました:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^ar[\/]?$ index.php?lang=ar
RewriteRule ^en[\/]?$ index.php?lang=en
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
functions.php
そして、言語を検出するためのテーマは次のとおりです。
function inspectVars($vars) {
session_start();
if ($_GET['lang'] == "ar") {
$_SESSION['custom_lang'] = "ar";
} elseif ($_GET['lang'] == "en") {
$_SESSION['custom_lang'] = "en";
} elseif (!isset($_GET['lang']) && !isset($_SESSION['custom_lang'])) {
$_SESSION['custom_lang'] = "en";
}
$GLOBALS['q_config']['language']= $_SESSION['custom_lang'];
return $vars;
}
add_filter("query_vars", "inspectVars");
このセッション設定は、RTL/LTR スタイルシートの切り替えに使用しました。そうするより良い方法はありますか?
今、私が直面している問題は次のとおりです。
- 現在のページやブログを他の言語に切り替えるリンクを使用するにはどうすればよいですか? 切り替えには domain/ar と domain/en を使用しましたが、最初に家に帰ります。
domain.com/ar/someslugsoranything
とのようなURLを保持したいdomain.com/en/someslugsoranything
。- テンプレートにいくつかの画像、スライドがあり、言語の変更に合わせて切り替える必要があります。最善の方法は何ですか?また、HTML 形式のテキストも含まれていますが、これも切り替える必要があります。
編集:qTranslate独自の言語スイッチャーを有効にすると、選択された言語の永続性が維持されるため、後で以下をコメントアウトしました。実際、関数全体inspectVars
を省略できます。
$GLOBALS['q_config']['language']= $_SESSION['custom_lang'];