Frage

Ich benutze Joomla mit der Joomfish -Übersetzungskomponente. Diese Website enthält deutsche und chinesische Übersetzungen. Ich versuche herauszufinden, wie die .DE -Domäne die Deutsche Sprachübersetzung standardmäßig standhalten kann (die geladen werden würde, wenn sie als Domain.com/de oder domain.com/cn besucht werden würde).

Weiß jemand einen Weg, dies mit vielleicht .htaccess (eine Art Umleitung) zu tun? Oder möglicherweise PHP? Stellen Sie vielleicht eine Art von Sitzungsvariablen basierend auf der Domäne (php_url_host) ein?

Im Moment habe ich Apache2 Setup mit der wwww.domain.com als Haupthost und .de und .cn als Aliase.

War es hilfreich?

Lösung

Willkommen bei so!

Vorausgesetzt, Ihr Apache hat mod_setenvif aktiviert, fügen Sie dies zu Ihrem hinzu .htaccess Datei:

# 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

Dann können Sie in Ihrem PHP -Skript abfragen SITE_LANGUAGE:

switch($_SERVER['SITE_LANGUAGE']) {
   case 'de':
      // german stuff
   case 'zh':
      // chinese stuff
}

Andere Tipps

Vielen Dank! Nach dem Hinzufügen des HTaccess -Code musste ich nur bearbeiten /plugins/system/jfrouter.php Gegen 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;
    }
}

Was wäre, wenn Sie einen ausgewählten Fall in PHP hätten, der auf einer Get -Anfrage basiert?

Etwas wie domain.com/?lang=de in Verbindung mit

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

in Ihrem Code. .... wäre dort, wo Sie Ihren Übersetzer oder Ihre Sprachressource laden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top