1

英語版とアラビア語版で表示する 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 スタイルシートの切り替えに使用しました。そうするより良い方法はありますか?

今、私が直面している問題は次のとおりです。

  1. 現在のページやブログを他の言語に切り替えるリンクを使用するにはどうすればよいですか? 切り替えには domain/ar と domain/en を使用しましたが、最初に家に帰ります。
  2. domain.com/ar/someslugsoranythingとのようなURLを保持したいdomain.com/en/someslugsoranything
  3. テンプレートにいくつかの画像、スライドがあり、言語の変更に合わせて切り替える必要があります。最善の方法は何ですか?また、HTML 形式のテキストも含まれていますが、これも切り替える必要があります。

編集:qTranslate独自の言語スイッチャーを有効にすると、選択された言語の永続性が維持されるため、後で以下をコメントアウトしました。実際、関数全体inspectVarsを省略できます。

            $GLOBALS['q_config']['language']= $_SESSION['custom_lang'];
4

1 に答える 1

0

私はほとんどの問題を解決しました。

.htaccessファイルの 2 行をコメントアウトします。

#RewriteRule ^ar[\/]?$ index.php?lang=ar
#RewriteRule ^en[\/]?$ index.php?lang=en 

そして、問題の多くは、私が今見つけた次の投稿で解決されました。

qTranslate を使用して言語に基づいてコンテンツを表示する 現在私が抱えている最大の問題は、アラビア語に切り替える必要がある HTML テキストが混在していることです。テンプレート内で qTranslate ショートコードと<!--:lang--><!--:-->タグを試しましたが、そこでは機能しません。また、アラビア語を HTML に直接書き込むのは良い考えではないと思います。

于 2012-12-04T19:11:13.250 に答える