5

私は JoomFish 翻訳コンポーネントで Joomla を使用しています。このウェブサイトにはドイツ語と中国語の翻訳があります。私が理解しようとしているのは、.de ドメインをデフォルトでドイツ語の翻訳にする方法です ( domain.com/de または domain.com/cn としてアクセスするとロードされます)。

おそらく.htaccess(ある種のリダイレクト)でこれを行う方法を知っている人はいますか?それともPHP?ドメイン (PHP_URL_HOST) に基づいてある種のセッション変数を設定するかもしれません。

現在、メインの仮想ホストとして wwww.domain.com を使用し、エイリアスとして .de および .cn を使用して apache2 をセットアップしています。

4

3 に答える 3

5

SOへようこそ!

Apache が有効になっている場合は、これをファイルmod_setenvifに追加します。.htaccess

# Site accessed via "example.de" or "example.cn"
SetEnvIf Host "\.de$" SITE_LANGUAGE=de
SetEnvIf Host "\.cn$" SITE_LANGUAGE=zh

# URL dependent
SetEnvIf Request_URI "^/de/" SITE_LANGUAGE=de
SetEnvIf Request_URI "^/cn/" SITE_LANGUAGE=zh

次に、PHP スクリプトでクエリを実行できますSITE_LANGUAGE

switch($_SERVER['SITE_LANGUAGE']) {
   case 'de':
      // german stuff
   case 'zh':
      // chinese stuff
}
于 2011-01-24T17:29:31.323 に答える
3

ありがとうございました!htaccessコードを追加した後、私がしなければならなかったのは/plugins/system/jfrouter.php、約145で編集することだけです。

if (isset($_SERVER['SITE_LANGUAGE'])) {
    switch($_SERVER['SITE_LANGUAGE']) {
        case 'de':
            $client_lang = 'de';
            $lang_known = true; 
            JRequest::setVar('lang', 'de' );
            break;
        case 'zh':
            $client_lang = 'zh';
            $lang_known = true;
            JRequest::setVar('lang', 'zh' );
            break;
    }
}
于 2011-01-24T18:28:26.723 に答える
0

get リクエストに基づいて php で select ケースがあった場合はどうなるでしょうか?

domain.com/?lang=deと組み合わせてのようなもの

$lang = "default";
if (isset($_GET['lang'])) {
    $lang = $_GET['lang'];
}   
if ($lang != "default") {
    if($lang == "de") {
        ....

あなたのコードで。....翻訳者または言語リソースをロードする場所になります。

于 2011-01-24T17:32:41.097 に答える