diff --git a/core/core.php b/core/core.php index 3157e133..95b10e04 100644 --- a/core/core.php +++ b/core/core.php @@ -318,8 +318,17 @@ class common if (isset($_SESSION['ZWII_CONTENT'])) { // Déterminé par la session présente self::$i18nContent = $_SESSION['ZWII_CONTENT']; - \setlocale(LC_ALL, self::$i18nContent . '.UTF8'); + } else { + // Détermine la langue par défaut + foreach (self::$languages as $key => $value) { + if (file_exists(self::DATA_DIR . $key . '/.default')) { + self::$i18nContent = $key; + $_SESSION['ZWII_CONTENT'] = $key; + break; + } + } } + \setlocale(LC_ALL, self::$i18nContent . '.UTF8'); // Instanciation de la classe des entrées / sorties // Récupère les descripteurs diff --git a/core/module/install/install.php b/core/module/install/install.php index cad6a80d..35133147 100644 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -98,14 +98,6 @@ class install extends common $success = true; - // Validation de la langue transmise - self::$i18nUI = $_SESSION['ZWII_UI']; - self::$i18nUI = array_key_exists(self::$i18nUI, self::$languages) ? self::$i18nUI : 'fr_FR'; - - // par défaut le contenu est la langue d'installation - self::$i18nContent = self::$i18nUI; - $_SESSION['ZWII_CONTENT'] = self::$i18nContent; - // Double vérification pour le mot de passe if ($this->getInput('installPassword', helper::FILTER_STRING_SHORT, true) !== $this->getInput('installConfirmPassword', helper::FILTER_STRING_SHORT, true)) { self::$inputNotices['installConfirmPassword'] = 'Incorrect'; @@ -150,6 +142,20 @@ class install extends common $this->getData(['config', 'smtp', 'from']), ); + // Validation de la langue transmise + self::$i18nUI = $_SESSION['ZWII_UI']; + self::$i18nUI = array_key_exists(self::$i18nUI, self::$languages) ? self::$i18nUI : 'fr_FR'; + + // par défaut le contenu est la langue d'installation + self::$i18nContent = self::$i18nUI; + $_SESSION['ZWII_CONTENT'] = self::$i18nContent; + + // Création du dossier de langue avec le marqueur de langue par défaut + if (!is_dir(self::DATA_DIR . self::$i18nContent)) { + mkdir(self::DATA_DIR . self::$i18nContent); + touch(self::DATA_DIR . self::$i18nContent . '/.dafault'); + } + // Installation du site de test if ( $this->getInput('installDefaultData', helper::FILTER_BOOLEAN) === false