diff --git a/core/core.php b/core/core.php index 1b483cc0..89fdb7b2 100644 --- a/core/core.php +++ b/core/core.php @@ -29,9 +29,10 @@ class common { const DATA_DIR = 'site/data/'; const FILE_DIR = 'site/file/'; const TEMP_DIR = 'site/tmp/'; + const I18N_DIR = 'site/i18n/'; // Numéro de version - const ZWII_VERSION = '10.0.86.dev'; + const ZWII_VERSION = '10.0.87.dev'; public static $actions = []; public static $coreModuleIds = [ @@ -45,30 +46,6 @@ class common { 'user', 'i18n' ]; - public static $i18nList = [ - 'de' => 'Allemand (de)' , - 'en' => 'Anglais (en)', - 'bg' => 'Bulgare (bg)', - 'dk' => 'Danois (dk)', - 'es' => 'Espagnol (es)', - 'fi' => 'Finnois (fi)', - 'fr' => 'Français (fr)', - 'is' => 'Islandais (is)', - 'it' => 'Italien (it)', - 'nl' => 'Néerlandais (nl)', - 'no' => 'Norvégien (no)' , - 'pt' => 'Portugais (pt)', - 'se' => 'Suédois (se)', - 'ro' => 'Roumain (ro)', - 'cz' => 'Tchèque (cz)', - 'tr' => 'Turc (tr)', - 'eu' => 'Basque (eu)', - 'br' => 'Breton (br)', - 'co' => 'Corse (co)', - 'ha' => 'Flamand (ha)', - 'oc' => 'Occitan (oc)', - 'pi' => 'Picard (pi)' - ]; public static $dataStage = [ 'config', 'core', @@ -77,6 +54,15 @@ class common { 'user', 'theme' ]; + public static $i18nList = [ + 'de' => 'Allemand (de)' , + 'en' => 'Anglais (en)', + 'es' => 'Espagnol (es)', + 'fr' => 'Français (fr)', + 'it' => 'Italien (it)', + 'nl' => 'Néerlandais (nl)', + 'pt' => 'Portugais (pt)', + ]; private $data = []; private $hierarchy = [ 'all' => [], @@ -158,6 +144,10 @@ class common { * Constructeur commun */ public function __construct() { + + // Charger la liste des langues + require_once (self::I18N_DIR . 'init.php'); + // Extraction des données http if(isset($_POST)) { $this->input['_POST'] = $_POST; @@ -2469,13 +2459,13 @@ class layout extends common { if (sizeof($this->i18nInstalled()) > 1) { $items .= '
  • '; $items .= 'geti18n().'" src="' . helper::baseUrl(false) .'core/vendor/icon-flags/png/'. $this->geti18n() .'.png" data-tippy-content="' . self::$i18nList[$this->geti18n()] . '" />'; + $items .= ' name="'.$this->geti18n().'" src="' . helper::baseUrl(false) .self::I18N_DIR . 'png/'. $this->geti18n() .'.png" data-tippy-content="' . self::$i18nList[$this->geti18n()] . '" />'; $items .= '
  • '; foreach ($this->i18nInstalled() as $itemKey => $item) { if ($this->geti18n() !== $itemKey ) { $items .= '
  • '; $items .= ''; + $items .= ' name="'.$itemKey.'" src="' . helper::baseUrl(false) .self::I18N_DIR . 'png/'. $itemKey .'.png" data-tippy-content="'. $item .'" />'; $items .= '
  • '; } } diff --git a/site/i18n/init.php b/site/i18n/init.php new file mode 100644 index 00000000..1a8e660b --- /dev/null +++ b/site/i18n/init.php @@ -0,0 +1,43 @@ + 'Bulgare (bg)', + 'dk' => 'Danois (dk)', + //'fi' => 'Finnois (fi)', + //'is' => 'Islandais (is)', + 'no' => 'Norvégien (no)', + //'se' => 'Suédois (se)', + //'ro' => 'Roumain (ro)', + 'cz' => 'Tchèque (cz)', + //'tr' => 'Turc (tr)', + // Langues régionales + //'eu' => 'Basque (eu)', + //'br' => 'Breton (br)', + //'co' => 'Corse (co)', + //'ha' => 'Flamand (ha)', + //'oc' => 'Occitan (oc)', + //'pi' => 'Picard (pi)' +]; + +// ---------------------------------- +// Ne rien modifier ci-dessous +// Vérifier l'existence des drapeaux +foreach ($i18nOptions as $itemKey => $itemValue) { + if (file_exists(self::I18N_DIR . 'png/' . $itemKey . '.png') === false) { + unset($i18nOptions[$itemKey]); + } +} +// Incorporer les nouvelles langues valides +self::$i18nList = array_merge (self::$i18nList, $i18nOptions); diff --git a/core/vendor/icon-flags/png/bg.png b/site/i18n/png/bg.png similarity index 100% rename from core/vendor/icon-flags/png/bg.png rename to site/i18n/png/bg.png diff --git a/core/vendor/icon-flags/png/br.png b/site/i18n/png/br.png similarity index 100% rename from core/vendor/icon-flags/png/br.png rename to site/i18n/png/br.png diff --git a/core/vendor/icon-flags/png/co.png b/site/i18n/png/co.png similarity index 100% rename from core/vendor/icon-flags/png/co.png rename to site/i18n/png/co.png diff --git a/core/vendor/icon-flags/png/cz.png b/site/i18n/png/cz.png similarity index 100% rename from core/vendor/icon-flags/png/cz.png rename to site/i18n/png/cz.png diff --git a/core/vendor/icon-flags/png/de.png b/site/i18n/png/de.png similarity index 100% rename from core/vendor/icon-flags/png/de.png rename to site/i18n/png/de.png diff --git a/core/vendor/icon-flags/png/dk.png b/site/i18n/png/dk.png similarity index 100% rename from core/vendor/icon-flags/png/dk.png rename to site/i18n/png/dk.png diff --git a/core/vendor/icon-flags/png/en.png b/site/i18n/png/en.png similarity index 100% rename from core/vendor/icon-flags/png/en.png rename to site/i18n/png/en.png diff --git a/core/vendor/icon-flags/png/es.png b/site/i18n/png/es.png similarity index 100% rename from core/vendor/icon-flags/png/es.png rename to site/i18n/png/es.png diff --git a/core/vendor/icon-flags/png/eu.png b/site/i18n/png/eu.png similarity index 100% rename from core/vendor/icon-flags/png/eu.png rename to site/i18n/png/eu.png diff --git a/core/vendor/icon-flags/png/fi.png b/site/i18n/png/fi.png similarity index 100% rename from core/vendor/icon-flags/png/fi.png rename to site/i18n/png/fi.png diff --git a/core/vendor/icon-flags/png/fr.png b/site/i18n/png/fr.png similarity index 100% rename from core/vendor/icon-flags/png/fr.png rename to site/i18n/png/fr.png diff --git a/core/vendor/icon-flags/png/ha.png b/site/i18n/png/ha.png similarity index 100% rename from core/vendor/icon-flags/png/ha.png rename to site/i18n/png/ha.png diff --git a/core/vendor/icon-flags/png/is.png b/site/i18n/png/is.png similarity index 100% rename from core/vendor/icon-flags/png/is.png rename to site/i18n/png/is.png diff --git a/core/vendor/icon-flags/png/it.png b/site/i18n/png/it.png similarity index 100% rename from core/vendor/icon-flags/png/it.png rename to site/i18n/png/it.png diff --git a/core/vendor/icon-flags/png/nl.png b/site/i18n/png/nl.png similarity index 100% rename from core/vendor/icon-flags/png/nl.png rename to site/i18n/png/nl.png diff --git a/core/vendor/icon-flags/png/no.png b/site/i18n/png/no.png similarity index 100% rename from core/vendor/icon-flags/png/no.png rename to site/i18n/png/no.png diff --git a/core/vendor/icon-flags/png/oc.png b/site/i18n/png/oc.png similarity index 100% rename from core/vendor/icon-flags/png/oc.png rename to site/i18n/png/oc.png diff --git a/core/vendor/icon-flags/png/pi.png b/site/i18n/png/pi.png similarity index 100% rename from core/vendor/icon-flags/png/pi.png rename to site/i18n/png/pi.png diff --git a/core/vendor/icon-flags/png/pt.png b/site/i18n/png/pt.png similarity index 100% rename from core/vendor/icon-flags/png/pt.png rename to site/i18n/png/pt.png diff --git a/core/vendor/icon-flags/png/ro.png b/site/i18n/png/ro.png similarity index 100% rename from core/vendor/icon-flags/png/ro.png rename to site/i18n/png/ro.png diff --git a/core/vendor/icon-flags/png/sv.png b/site/i18n/png/sv.png similarity index 100% rename from core/vendor/icon-flags/png/sv.png rename to site/i18n/png/sv.png diff --git a/core/vendor/icon-flags/png/tr.png b/site/i18n/png/tr.png similarity index 100% rename from core/vendor/icon-flags/png/tr.png rename to site/i18n/png/tr.png