Fork me on GitHub

Rapport de message :*
 

Re: Site bilingue xlanguage XOOPS_URL

Titre du sujet : Re: Site bilingue xlanguage XOOPS_URL
par smart sur 08/10/2007 12:28:54

Ok ca fonctionne nickel.
Je récapitule le hack avant de tenter une réelle modification du module prenant en compte cette possibilité.

Pour avoir une site web multilingue (avec xlanguage) avec url distinctes pour chaque langue et ainsi être correctement référencé, il vous faut procéder comme suit:

Modifiez votre mainfile.php ainsi:

Ligne 40:
// XOOPS Virtual Path (URL)
// Virtual path to your main XOOPS directory WITHOUT trailing slash
// Example: define('XOOPS_URL', 'http://www.example.com');
$http_host getenv("HTTP_HOST");
define('XOOPS_URL''http://'.$http_host);


Modifiez le fichier /modules/xlanguage/inclule/function.php ainsi:

Ligne 109:
function xlanguage_detectLang()
{
    global 
$available_languages,$_SERVER;

    
// if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
        // $HTTP_ACCEPT_LANGUAGE = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    // }

    // if (!empty($_SERVER['HTTP_USER_AGENT'])) {
        // $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
    // }

    
$lang '';
    
$xoops_lang ='';
    
// 1. try to findout user's language by checking its HTTP_ACCEPT_LANGUAGE
    // variable
    // if (empty($lang) && !empty($HTTP_ACCEPT_LANGUAGE)) {
        // $accepted = explode(',', $HTTP_ACCEPT_LANGUAGE);
        // $acceptedCnt = count($accepted);
        // reset($accepted);
        // for ($i = 0; $i < $acceptedCnt; $i++) {
            // $lang = xlanguage_lang_detect($accepted[$i], 1);
            // if(strncasecmp($lang,'en',2)){
                // break;
            // }
        // }
    // }
    // 2. try to findout user's language by checking its HTTP_USER_AGENT variable
    // if (empty($lang) && !empty($HTTP_USER_AGENT)) {
        // $lang = xlanguage_lang_detect($HTTP_USER_AGENT, 2);
    // }
    // 3. If we catch a valid language, configure it
    // if (!empty($lang)) {
        // $xoops_lang = $available_languages[$lang][1];
    // }

    //Hack by smart
    
$http_host getenv("HTTP_HOST");
    if (
$http_host=='www.example.com'){ //your english url
    
$xoops_lang 'english';
    }
    elseif (
$http_host=='www.example.fr'){  //your french url
    
$xoops_lang 'french';
    }
    else {
    
$xoops_lang 'english';
    }


    return 
$xoops_lang;
}


Merci Dugris

J'espère que cette modification vous sera utile.
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

52 Personne(s) en ligne (44 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 52 | Plus ...