forked from ZwiiCMS-Team/ZwiiCMS
Ajout de l'option de langue - onglets à ajouter
This commit is contained in:
parent
0eac2b11c9
commit
a91de0528b
@ -159,7 +159,7 @@ class common {
|
||||
];
|
||||
// Langue du contenu courante
|
||||
public static $i18nContent = 'fr';
|
||||
//public static $i18n = 'fr';
|
||||
public static $i18n = 'fr';
|
||||
// Langue de l'interface, tableau des dialogues
|
||||
public static $dialog;
|
||||
// Zone de temps
|
||||
@ -289,12 +289,7 @@ class common {
|
||||
]);;
|
||||
}
|
||||
|
||||
// Langue de l'administration
|
||||
//self::$i18n = $this->getData(['config', 'i18n', 'default']);
|
||||
// La langue par défaut du contenu est celle du site si le cookie est absent.
|
||||
//if (self::$i18nContent === '') {
|
||||
// self::$i18nContent = self::$i18n;
|
||||
//}
|
||||
|
||||
|
||||
// Installation fraîche, initialisation des modules manquants
|
||||
// La langue d'installation par défaut est fr
|
||||
@ -308,6 +303,16 @@ class common {
|
||||
}
|
||||
}
|
||||
|
||||
// Langue de l'administration
|
||||
self::$i18n = $this->getData(['config', 'i18n', 'default']);
|
||||
// La langue par défaut du contenu est celle du site si le cookie est absent.
|
||||
self::$i18n = (empty(self::$i18n) || is_null(self::$i18n)) ? self::$i18n = 'fr' : self::$i18n ;
|
||||
|
||||
// Le fichier existe-t-il ?
|
||||
if (!file_exists(self::I18N_DIR . self::$i18n . '.json')) {
|
||||
self::$i18n = 'fr';
|
||||
}
|
||||
|
||||
// Utilisateur connecté
|
||||
if($this->user === []) {
|
||||
$this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]);
|
||||
|
@ -30,6 +30,8 @@ class translate extends common {
|
||||
public static $languagesInstalled = [];
|
||||
// Liste des langues cibles
|
||||
public static $languagesTarget = [];
|
||||
// Fichiers des langues de l'interface
|
||||
public static $i18nFiles = [];
|
||||
// Activation du bouton de copie
|
||||
public static $siteTranslate = true;
|
||||
|
||||
@ -175,13 +177,16 @@ class translate extends common {
|
||||
]
|
||||
]);
|
||||
// Sauvegarder les langues de contenu
|
||||
$this->setData(['config', 'i18n', 'fr', $this->getInput('translateFR') ]);
|
||||
$this->setData(['config', 'i18n', 'de', $this->getInput('translateDE')]);
|
||||
$this->setData(['config', 'i18n', 'en', $this->getInput('translateEN')]);
|
||||
$this->setData(['config', 'i18n', 'es', $this->getInput('translateES')]);
|
||||
$this->setData(['config', 'i18n', 'it', $this->getInput('translateIT')]);
|
||||
$this->setData(['config', 'i18n', 'nl', $this->getInput('translateNL')]);
|
||||
$this->setData(['config', 'i18n', 'pt', $this->getInput('translatePT')]);
|
||||
$this->setData(['config', 'i18n', [
|
||||
'default' => $this->getInput('translateI18n'),
|
||||
'fr' => $this->getInput('translateFR'),
|
||||
'de' => $this->getInput('translateDE'),
|
||||
'en' => $this->getInput('translateEN'),
|
||||
'es' => $this->getInput('translateES'),
|
||||
'it' => $this->getInput('translateIT'),
|
||||
'nl' => $this->getInput('translateNL'),
|
||||
'pt' => $this->getInput('translatePT')
|
||||
]]);
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
@ -190,6 +195,20 @@ class translate extends common {
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
// Préparation de l'affichage du formulaire
|
||||
|
||||
// Liste des langues disponibles
|
||||
if (is_dir(self::I18N_DIR)) {
|
||||
$dir = getcwd();
|
||||
chdir(self::I18N_DIR);
|
||||
$files = glob('*.json');
|
||||
// Ajouter une clé au tableau avec le code de langue
|
||||
foreach( $files as $file) {
|
||||
self::$i18nFiles[basename($file, '.json')] = $file;
|
||||
}
|
||||
chdir($dir);
|
||||
}
|
||||
|
||||
// Modification des options de suppression de la langue installée.
|
||||
foreach (self::$i18nList as $key => $value) {
|
||||
if ($this->getData(['config','i18n',$key]) === 'site') {
|
||||
@ -225,7 +244,7 @@ class translate extends common {
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => 'Contenu du site multilangues',
|
||||
'title' => 'Multilangues',
|
||||
'view' => 'index'
|
||||
]);
|
||||
}
|
||||
|
@ -28,6 +28,21 @@
|
||||
<?php echo template::submit('translateFormSubmit'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block" id="flagsWrapper">
|
||||
<h4>Traduite ZwiiCMS</h4>
|
||||
<div class="row">
|
||||
<div class="col3">
|
||||
<?php echo template::select('translateI18n', $module::$i18nFiles, [
|
||||
'label' => 'Traductions installées',
|
||||
'selected' => $this->getData(['config', 'i18n' , 'default']),
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block" id="flagsWrapper">
|
||||
|
@ -5,5 +5,6 @@
|
||||
"Format incorrect" : "Incorrect format",
|
||||
"Les modifications que vous avez apportées ne seront peut-être pas enregistrées." : "Edition might be lost.",
|
||||
"Oui" : "Yes",
|
||||
"Non" : "No"
|
||||
"Non" : "No",
|
||||
"Utilisateurs": "Users"
|
||||
}
|
Loading…
Reference in New Issue
Block a user