forked from ZwiiCMS-Team/ZwiiCMS
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
|
* Traduction automatisée
|
||||||
* - Exclure la traduction manuelle
|
* - Exclure la traduction manuelle
|
||||||
* - La mangue du navigateur est lisible
|
* - 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' )
|
if (isset($_COOKIE['googtrans'])
|
||||||
{
|
AND substr($_COOKIE['googtrans'],4,2) !== substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ) ) {
|
||||||
setrawcookie('googtrans', '/fr/'. $this->getInput('ZWII_I18N_SITE'), time() + 3600, helper::baseUrl());
|
setrawcookie('googtrans', '/fr/'.substr($_COOKIE['googtrans'],4,2), time() + 3600, helper::baseUrl());
|
||||||
} elseif ( $this->getData(['config','translate','autoDetect']) === true
|
} else {
|
||||||
AND $this->getData(['config','translate',$this->getInput('ZWII_I18N_SITE')]) !== 'site'
|
setrawcookie('googtrans', '/fr/'.substr( $_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ), time() + 3600, helper::baseUrl());
|
||||||
AND !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) )
|
|
||||||
{
|
|
||||||
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
|
* Fonction utilisée par le noyau
|
||||||
*/
|
*/
|
||||||
public function language() {
|
public function language() {
|
||||||
// Transmettre le choix au noyau
|
// Sélection et désélection de la lnague active
|
||||||
if ($this->getUrl(3) === 'script') {
|
if ( $this->getUrl(2) !== substr($_COOKIE['googtrans'],4,2))
|
||||||
setrawcookie("googtrans", '/fr/'. $this->getUrl(2), time() + 3600, helper::baseUrl());
|
{
|
||||||
|
// 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');
|
helper::deleteCookie('ZWII_I18N_SITE');
|
||||||
} elseif ($this->getUrl(3) === 'site') {
|
if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) {
|
||||||
setcookie('ZWII_I18N_SITE', $this->getUrl(2), time() + 3600, helper::baseUrl(false, false) , '', helper::isHttps(), true);
|
setrawcookie("googtrans", '/fr/'. substr( $_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ), time() + 3600, helper::baseUrl());
|
||||||
setrawcookie("googtrans", '/fr/fr', time() + 3600, helper::baseUrl());
|
} else {
|
||||||
|
setrawcookie("googtrans", '/fr/fr', time() + 3600, helper::baseUrl());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
|
Loading…
Reference in New Issue
Block a user