diff --git a/core/core.php b/core/core.php index 53ae5eaa..21e8af47 100755 --- a/core/core.php +++ b/core/core.php @@ -227,14 +227,19 @@ class common { $this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]); } - // Auto traduction + // Traduction du site avec le script Google if ( $this->getData(['config','translate','activated'])) { - // Lire la langue du navigateur si pas de choix manuel + // Lire la langue stockée dans le cookie (choix manuel) if ( isset($_COOKIE['ZWII_USER_I18N']) ) { - $lan = $_COOKIE['ZWII_USER_I18N']; - } else { - $lan = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); + $lan_cookie = $_COOKIE['ZWII_USER_I18N']; } + // Lire la langue du navigateur + if ( $this->getData(['config','translate','autoDetect'])) { + $lan_browser = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); + } + + // Priorité : choix manuel - navigateur - fr + $lan = isset($lan_cookie) ? $lan_cookie : (isset($lan_browser) ? $lan_browser : 'fr'); // Changer la locale if ( $lan !== 'fr') { diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index 6b5f2b16..91697787 100755 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -51,7 +51,7 @@ class translate extends common { public function language() { // Transmettre le choix au noyau setcookie('ZWII_USER_I18N', $this->getUrl(2), time() + 3600, helper::baseUrl(false, false) , '', helper::isHttps(), true); - // Valeurs en sortie sans post + // Valeurs en sortie sans post $this->addOutput([ 'redirect' => helper::baseUrl(false) ]);