diff --git a/core/core.php b/core/core.php
index 273de9d9..cb489a8c 100644
--- a/core/core.php
+++ b/core/core.php
@@ -48,7 +48,7 @@ class common {
// Numéro de version
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/';
- const ZWII_VERSION = '11.6.00-dev007';
+ const ZWII_VERSION = '11.6.00-dev008';
const ZWII_UPDATE_CHANNEL = "test";
public static $actions = [];
@@ -277,8 +277,6 @@ class common {
]
];
-
-
/**
* Constructeur commun
@@ -293,14 +291,19 @@ class common {
$this->input['_COOKIE'] = $_COOKIE;
}
+ // Lire la langue de l'UI sans passer par les méthodes
+ $t = json_decode(file_get_contents('site/data/config.json'), true);
+ self::$i18nUI = $t['config']['i18n']['interface'];
+
// Déterminer la langue du contenu du site
if (isset($this->input['_COOKIE']['ZWII_I18N_SITE'])
) {
+ // Déterminé par le cookie
self::$i18nContent = $this->input['_COOKIE']['ZWII_I18N_SITE'];
setlocale (LC_TIME, self::$i18nContent . '_' . strtoupper (self::$i18nContent) );
-
} else {
- self::$i18nContent = substr(self::$i18nUI, 0, 2);
+ // Absence du cookie, la langue par défaut est celle de l'interface.
+ self::$i18nContent = (isset(self::$i18nUI)) ? substr(self::$i18nUI, 0, 2) : 'fr';
}
// Instanciation de la classe des entrées / sorties
diff --git a/core/module/install/install.php b/core/module/install/install.php
index ab18d9bd..f6406ff5 100644
--- a/core/module/install/install.php
+++ b/core/module/install/install.php
@@ -35,7 +35,7 @@ class install extends common {
public static $newVersion;
// Fichiers des langues de l'interface
- public static $i18nFiles = [];
+ public static $i18nFiles = [];
/**
@@ -50,10 +50,11 @@ class install extends common {
]);
}
// Accès autorisé
- else {
+ else {
// Soumission du formulaire
if($this->isPost()) {
- $this->setData(['config', 'i18n', 'interface', $this->getInput('installLanguage')]);
+ self::$i18nUI = $this->getInput('installLanguage');
+ $this->setData(['config', 'i18n', 'interface', self::$i18nUI]);
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'install/postinstall'
@@ -142,8 +143,21 @@ class install extends common {
'Identifiant du compte : ' . $this->getInput('installId') . '
',
null
);
+
// Nettoyer les cookies de langue d'une précédente installation
helper::deleteCookie('ZWII_I18N_SITE');
+
+ // Créer le contenu dans la langue sélectionnée
+ self::$i18nContent = substr(self::$i18nUI, 0, 2);
+
+ // Effacer le dossier de contenu fr créé par défaut si la langue est différente.
+
+ if (self::$i18nContent !== 'fr_FR'
+ && is_dir('site/data/fr')
+ ) {
+ $this->removeDir('site/data/fr');
+ }
+
// Installation du site de test
if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) {
$this->initData('page', self::$i18nContent, true);
@@ -206,6 +220,9 @@ class install extends common {
]);
}
}
+
+ // Affichage du formulaire
+
// Récupération de la liste des thèmes
$dataThemes = file_get_contents('core/module/install/ressource/themes/themes.json');
$dataThemes = json_decode($dataThemes, true);
diff --git a/site/i18n/es.json b/site/i18n/es.json
index 5e064a9a..f10cc6fa 100644
--- a/site/i18n/es.json
+++ b/site/i18n/es.json
@@ -328,7 +328,6 @@
"Interface": "",
"Contenu du site": "",
"Traductions installées": "",
- "Interface": "",
"Langue de l'administration": "",
"Langues installées": "",
"Dans quelle langue utiliserez-vous Zwii ?": "",
diff --git a/site/i18n/fr_FR.json b/site/i18n/fr_FR.json
index 080ec5a6..b392a2f9 100644
--- a/site/i18n/fr_FR.json
+++ b/site/i18n/fr_FR.json
@@ -328,7 +328,6 @@
"Interface": "",
"Contenu du site": "",
"Traductions installées": "",
- "Interface": "",
"Langue de l'administration": "",
"Langues installées": "",
"Dans quelle langue utiliserez-vous Zwii ?": "",