UI page de traduction

This commit is contained in:
fredtempez 2020-11-29 08:48:29 +01:00
parent 966e88abd0
commit 867b0d3d0b
3 changed files with 52 additions and 46 deletions

View File

@ -44,7 +44,7 @@ class common {
const ACCESS_TIMER = 1800; const ACCESS_TIMER = 1800;
// Numéro de version // Numéro de version
const ZWII_VERSION = '10.4.00.009'; const ZWII_VERSION = '10.4.00.010';
const ZWII_UPDATE_CHANNEL = "v10"; const ZWII_UPDATE_CHANNEL = "v10";
public static $actions = []; public static $actions = [];

View File

@ -38,6 +38,7 @@ class translate extends common {
setrawcookie('googtrans', '/fr/fr', time() + 3600, helper::baseUrl()); setrawcookie('googtrans', '/fr/fr', time() + 3600, helper::baseUrl());
$_SESSION['googtrans'] = '/fr/fr'; $_SESSION['googtrans'] = '/fr/fr';
} }
$script = $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN);
// Edition des langues // Edition des langues
foreach (self::$i18nList as $keyi18n => $value) { foreach (self::$i18nList as $keyi18n => $value) {
if ($keyi18n === 'fr') {continue;} if ($keyi18n === 'fr') {continue;}
@ -68,21 +69,25 @@ class translate extends common {
} }
} }
} }
// Active le script si une langue est en trad auto
if ($script === false
AND $this->getInput('translate'. strtoupper($keyi18n)) === 'script') {
$script = true;
}
} }
// Enregistrement des données // Enregistrement des données
$this->setData(['config','translate', [ $this->setData(['config','translate', [
'scriptGoogle' => $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN), 'scriptGoogle' => $script,
'showCredits' => $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) ? $this->getInput('translateCredits', helper::FILTER_BOOLEAN) : false, 'showCredits' => $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) ? $this->getInput('translateCredits', helper::FILTER_BOOLEAN) : false,
'autoDetect' => $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) ? $this->getInput('translateAutoDetect', helper::FILTER_BOOLEAN) : false, 'autoDetect' => $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) ? $this->getInput('translateAutoDetect', helper::FILTER_BOOLEAN) : false,
'admin' => $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) ? $this->getInput('translateAdmin', helper::FILTER_BOOLEAN) : false, 'admin' => $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) ? $this->getInput('translateAdmin', helper::FILTER_BOOLEAN) : false,
'fr' => $this->getInput('translateFR'), 'fr' => $this->getInput('translateFR'),
'de' => ($this->getInput('translateDE') === 'script' AND $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) === false) ? 'none' : $this->getInput('translateDE'), 'de' => $this->getInput('translateDE'),
'en' => ($this->getInput('translateEN') === 'script' AND $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) === false) ? 'none' : $this->getInput('translateEN'), 'en' => $this->getInput('translateEN'),
'es' => ($this->getInput('translateES') === 'script' AND $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) === false) ? 'none' : $this->getInput('translateES'), 'es' => $this->getInput('translateES'),
'it' => ($this->getInput('translateIT') === 'script' AND $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) === false) ? 'none' : $this->getInput('translateIT'), 'it' => $this->getInput('translateIT'),
'nl' => ($this->getInput('translateNL') === 'script' AND $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) === false) ? 'none' : $this->getInput('translateNL'), 'nl' => $this->getInput('translateNL'),
'pt' => ($this->getInput('translatePT') === 'script' AND $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN) === false) ? 'none' : $this->getInput('translatePT') 'pt' => $this->getInput('translatePT')
]]); ]]);
// Valeurs en sortie // Valeurs en sortie
@ -94,7 +99,7 @@ class translate extends common {
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => 'Paramètres', 'title' => 'Gestion des langues',
'view' => 'index' 'view' => 'index'
]); ]);
} }

View File

@ -15,41 +15,7 @@
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block">
<h4>Traduction automatique</h4> <h4>Activation</h4>
<div class="row">
<div class="col6">
<?php echo template::checkbox('translateScriptGoogle', true, 'Active le script de traduction automatique', [
'checked' => $this->getData(['config','translate', 'scriptGoogle'])
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('translateCredits', true, 'Afficher les crédits du script Google', [
'checked' => $this->getData(['config','translate', 'showCredits']),
'help' => 'Option recommandée dans le respect du droit d\'auteur'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('translateAutoDetect', true, 'Détection automatique de la langue', [
'checked' => $this->getData(['config','translate', 'autoDetect']),
'help' => 'Détecte la langue du navigateur.'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('translateAdmin', true, 'Traduction en mode connecté', [
'checked' => $this->getData(['config','translate', 'admin']),
'help' => 'Traduit le site et l\'interface de ZwiiCMS une fois connecté'
]); ?>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Drapeaux des langues supportées</h4>
<div class="row"> <div class="row">
<div class="col4 offset4"> <div class="col4 offset4">
<?php echo template::select('translateFR', ['non'=>'Masqué','site'=>'Affiché'], [ <?php echo template::select('translateFR', ['non'=>'Masqué','site'=>'Affiché'], [
@ -103,4 +69,39 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Paramètres de la traduction automatique</h4>
<div class="row">
<div class="col6">
<?php echo template::checkbox('translateScriptGoogle', true, 'Active le script de traduction automatique', [
'checked' => $this->getData(['config','translate', 'scriptGoogle']),
'help' => 'Le script Google Translate assure la traduction automatique du site.'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('translateCredits', true, 'Afficher les crédits du script Google', [
'checked' => $this->getData(['config','translate', 'showCredits']),
'help' => 'Option recommandée pour le respect du droit d\'auteur'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('translateAutoDetect', true, 'Détection automatique de la langue', [
'checked' => $this->getData(['config','translate', 'autoDetect']),
'help' => 'Détecte la langue du navigateur, dans ce mode il n\'est pas nécessaire d\'afficher les drapeaux.'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('translateAdmin', true, 'Traduction en mode connecté', [
'checked' => $this->getData(['config','translate', 'admin']),
'help' => 'Traduit le site et l\'interface de ZwiiCMS quand un utilisateur est connecté'
]); ?>
</div>
</div>
</div>
</div>
</div>
<?php echo template::formClose(); ?> <?php echo template::formClose(); ?>