Langue du navigateur + désactivation de la langue sélectionnée.
This commit is contained in:
parent
ff4f1489f2
commit
3e53df3e7f
@ -246,19 +246,24 @@ class common {
|
||||
* Traduction automatisée
|
||||
* - Exclure la traduction manuelle
|
||||
* - La mangue du navigateur est lisible
|
||||
* - L'autodétection est active
|
||||
* - L'auto-détection est active
|
||||
*/
|
||||
if ( $this->getData(['config','translate','scriptGoogle']) === true ) {
|
||||
|
||||
if ( $this->getData(['config','translate','scriptGoogle']) === true
|
||||
AND $this->getData(['config','translate','autoDetect']) === true
|
||||
AND $this->getInput('ZWII_I18N_SITE') === ''
|
||||
AND !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) )
|
||||
{
|
||||
/**
|
||||
* Le cookie est prioritaire sur le navigateur
|
||||
* la traduction est celle de la langue du drapeau
|
||||
* */
|
||||
|
||||
if ( $this->getData(['config','translate',$this->getInput('ZWII_I18N_SITE')]) === 'script' )
|
||||
{
|
||||
setrawcookie('googtrans', '/fr/'. $this->getInput('ZWII_I18N_SITE'), time() + 3600, helper::baseUrl());
|
||||
} elseif ( $this->getData(['config','translate','autoDetect']) === true
|
||||
AND $this->getData(['config','translate',$this->getInput('ZWII_I18N_SITE')]) !== 'site'
|
||||
AND !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) )
|
||||
{
|
||||
setrawcookie('googtrans', '/fr/'. substr( $_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ), time() + 3600, helper::baseUrl());
|
||||
if (isset($_COOKIE['googtrans'])
|
||||
AND substr($_COOKIE['googtrans'],4,2) !== substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ) ) {
|
||||
setrawcookie('googtrans', '/fr/'.substr($_COOKIE['googtrans'],4,2), time() + 3600, helper::baseUrl());
|
||||
} else {
|
||||
setrawcookie('googtrans', '/fr/'.substr( $_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ), time() + 3600, helper::baseUrl());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -181,13 +181,25 @@ class translate extends common {
|
||||
* Fonction utilisée par le noyau
|
||||
*/
|
||||
public function language() {
|
||||
// Transmettre le choix au noyau
|
||||
if ($this->getUrl(3) === 'script') {
|
||||
setrawcookie("googtrans", '/fr/'. $this->getUrl(2), time() + 3600, helper::baseUrl());
|
||||
// Sélection et désélection de la lnague active
|
||||
if ( $this->getUrl(2) !== substr($_COOKIE['googtrans'],4,2))
|
||||
{
|
||||
// Transmettre le choix au noyau
|
||||
if ($this->getUrl(3) === 'script') {
|
||||
setrawcookie("googtrans", '/fr/'. $this->getUrl(2), time() + 3600, helper::baseUrl());
|
||||
helper::deleteCookie('ZWII_I18N_SITE');
|
||||
} elseif ($this->getUrl(3) === 'site') {
|
||||
setcookie('ZWII_I18N_SITE', $this->getUrl(2), time() + 3600, helper::baseUrl(false, false) , '', helper::isHttps(), true);
|
||||
setrawcookie("googtrans", '/fr/fr', time() + 3600, helper::baseUrl());
|
||||
}
|
||||
} else {
|
||||
// Langue du navigateur par défaut si dispo
|
||||
helper::deleteCookie('ZWII_I18N_SITE');
|
||||
} elseif ($this->getUrl(3) === 'site') {
|
||||
setcookie('ZWII_I18N_SITE', $this->getUrl(2), time() + 3600, helper::baseUrl(false, false) , '', helper::isHttps(), true);
|
||||
setrawcookie("googtrans", '/fr/fr', time() + 3600, helper::baseUrl());
|
||||
if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) {
|
||||
setrawcookie("googtrans", '/fr/'. substr( $_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ), time() + 3600, helper::baseUrl());
|
||||
} else {
|
||||
setrawcookie("googtrans", '/fr/fr', time() + 3600, helper::baseUrl());
|
||||
}
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
|
Loading…
Reference in New Issue
Block a user