Choix de la langue à l'installation
This commit is contained in:
parent
a62135c172
commit
c44a6c42df
@ -147,8 +147,54 @@ class common {
|
|||||||
self::GROUP_MODERATOR => 'Éditeur',
|
self::GROUP_MODERATOR => 'Éditeur',
|
||||||
self::GROUP_ADMIN => 'Administrateur'
|
self::GROUP_ADMIN => 'Administrateur'
|
||||||
];
|
];
|
||||||
// Langues proposées
|
|
||||||
public static $i18nList = [
|
//Langues de l'UI
|
||||||
|
// Langue de l'interface, tableau des dialogues
|
||||||
|
public static $dialog;
|
||||||
|
// Langue de l'interface sélectionnée
|
||||||
|
public static $i18nUI = 'fr_FR';
|
||||||
|
public static $languagesUI = [
|
||||||
|
'az_AZ' => 'Azərbaycan dili',
|
||||||
|
'bg_BG' => 'български език',
|
||||||
|
'ca' => 'Català, valencià',
|
||||||
|
'cs' => 'čeština, český jazyk',
|
||||||
|
'da' => 'Dansk',
|
||||||
|
'de' => 'Deutsch',
|
||||||
|
'el_GR' => 'ελληνικά',
|
||||||
|
'en_EN' => 'English',
|
||||||
|
'es' => 'Español',
|
||||||
|
'fa' => 'فارسی',
|
||||||
|
'fr_FR' => 'Français',
|
||||||
|
'he_IL' => 'Hebrew (Israel)',
|
||||||
|
'hr' => 'Hrvatski jezik',
|
||||||
|
'hu_HU' => 'Magyar',
|
||||||
|
'id' => 'Bahasa Indonesia',
|
||||||
|
'it' => 'Italiano',
|
||||||
|
'ja' => '日本',
|
||||||
|
'lt' => 'Lietuvių kalba',
|
||||||
|
'mn_MN' => 'монгол',
|
||||||
|
'nb_NO' => 'Norsk bokmål',
|
||||||
|
'nn_NO' => 'Norsk nynorsk',
|
||||||
|
'nl' => 'Nederlands, Vlaams',
|
||||||
|
'pl' => 'Język polski, polszczyzna',
|
||||||
|
'pt_BR' => 'Português(Brazil)',
|
||||||
|
'pt_PT' => 'Português',
|
||||||
|
'ro' => 'Română',
|
||||||
|
'ru' => 'Pусский язык',
|
||||||
|
'sk' => 'Slovenčina',
|
||||||
|
'sl' => 'Slovenski jezik',
|
||||||
|
'sv_SE' => 'Svenska',
|
||||||
|
'th_TH' => 'ไทย',
|
||||||
|
'tr_TR' => 'Türkçe',
|
||||||
|
'uk_UA' => 'Yкраїнська мова',
|
||||||
|
'vi' => 'Tiếng Việt',
|
||||||
|
'zh_CN' => '中文 (Zhōngwén), 汉语, 漢語',
|
||||||
|
|
||||||
|
// source: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||||
|
];
|
||||||
|
|
||||||
|
// Langues de contenu
|
||||||
|
public static $languagesContent = [
|
||||||
'fr' => 'Français (fr)',
|
'fr' => 'Français (fr)',
|
||||||
'de' => 'Allemand (de)',
|
'de' => 'Allemand (de)',
|
||||||
'en' => 'Anglais (en)',
|
'en' => 'Anglais (en)',
|
||||||
@ -160,11 +206,6 @@ class common {
|
|||||||
// Sélection de langue de l'interface
|
// Sélection de langue de l'interface
|
||||||
public static $i18nContent = 'fr';
|
public static $i18nContent = 'fr';
|
||||||
|
|
||||||
// Langue de l'interface, tableau des dialogues
|
|
||||||
public static $dialog;
|
|
||||||
// Langue de l'interface sélectionnée
|
|
||||||
public static $i18n = 'fr_FR';
|
|
||||||
|
|
||||||
// Zone de temps
|
// Zone de temps
|
||||||
public static $timezone;
|
public static $timezone;
|
||||||
private $url = '';
|
private $url = '';
|
||||||
@ -256,6 +297,8 @@ class common {
|
|||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur commun
|
* Constructeur commun
|
||||||
@ -270,16 +313,6 @@ class common {
|
|||||||
$this->input['_COOKIE'] = $_COOKIE;
|
$this->input['_COOKIE'] = $_COOKIE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Déterminer la langue du contenu du site
|
|
||||||
if (isset($this->input['_COOKIE']['ZWII_I18N_SITE'])
|
|
||||||
) {
|
|
||||||
self::$i18nContent = $this->input['_COOKIE']['ZWII_I18N_SITE'];
|
|
||||||
setlocale (LC_TIME, self::$i18nContent . '_' . strtoupper (self::$i18nContent) );
|
|
||||||
|
|
||||||
} else {
|
|
||||||
self::$i18nContent = 'fr';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Instanciation de la classe des entrées / sorties
|
// Instanciation de la classe des entrées / sorties
|
||||||
// Récupère les descripteurs
|
// Récupère les descripteurs
|
||||||
foreach ($this->dataFiles as $keys => $value) {
|
foreach ($this->dataFiles as $keys => $value) {
|
||||||
@ -306,15 +339,28 @@ class common {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Langue de l'administration
|
// Langue de l'administration
|
||||||
self::$i18n = $this->getData(['config', 'i18n', 'interface']);
|
self::$i18nUI = $this->getData(['config', 'i18n', 'interface']);
|
||||||
// La langue par défaut du contenu est celle du site si le cookie est absent.
|
// 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 ;
|
self::$i18nUI = (empty(self::$i18nUI) || is_null(self::$i18nUI)) ? self::$i18nUI = 'fr_FR' : self::$i18nUI ;
|
||||||
|
|
||||||
|
|
||||||
// Le fichier existe-t-il ?
|
// Le fichier existe-t-il ?
|
||||||
if (!file_exists(self::I18N_DIR . self::$i18n . '.json')) {
|
if (!file_exists(self::I18N_DIR . self::$i18nUI . '.json')) {
|
||||||
self::$i18n = 'fr_FR';
|
self::$i18nUI = 'fr_FR';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Déterminer la langue du contenu du site
|
||||||
|
if (isset($this->input['_COOKIE']['ZWII_I18N_SITE'])
|
||||||
|
) {
|
||||||
|
self::$i18nContent = $this->input['_COOKIE']['ZWII_I18N_SITE'];
|
||||||
|
setlocale (LC_TIME, self::$i18nContent . '_' . strtoupper (self::$i18nContent) );
|
||||||
|
|
||||||
|
} else {
|
||||||
|
self::$i18nContent = substr(self::$i18nUI, 0, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Utilisateur connecté
|
// Utilisateur connecté
|
||||||
if($this->user === []) {
|
if($this->user === []) {
|
||||||
$this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]);
|
$this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]);
|
||||||
@ -386,7 +432,7 @@ class common {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chargement des dialogues
|
// Chargement des dialogues
|
||||||
self::$dialog = json_decode(file_get_contents(self::I18N_DIR . self::$i18n . '.json'), true);
|
self::$dialog = json_decode(file_get_contents(self::I18N_DIR . self::$i18nUI . '.json'), true);
|
||||||
|
|
||||||
// Mise à jour des données core
|
// Mise à jour des données core
|
||||||
if( $this->getData(['core', 'dataVersion']) !== intval(str_replace('.','',self::ZWII_VERSION))) include( 'core/include/update.inc.php');
|
if( $this->getData(['core', 'dataVersion']) !== intval(str_replace('.','',self::ZWII_VERSION))) include( 'core/include/update.inc.php');
|
||||||
@ -2160,7 +2206,7 @@ class common {
|
|||||||
* Affiche le cadre avec les drapeaux sélectionnés
|
* Affiche le cadre avec les drapeaux sélectionnés
|
||||||
*/
|
*/
|
||||||
public function showi18n() {
|
public function showi18n() {
|
||||||
foreach (self::$i18nList as $key => $value) {
|
foreach (self::$languagesContent as $key => $value) {
|
||||||
if ($this->getData(['config', 'i18n', $key]) === 'site'
|
if ($this->getData(['config', 'i18n', $key]) === 'site'
|
||||||
) {
|
) {
|
||||||
if (
|
if (
|
||||||
|
@ -34,47 +34,9 @@ class install extends common {
|
|||||||
|
|
||||||
public static $newVersion;
|
public static $newVersion;
|
||||||
|
|
||||||
// Fichiers des langues de l'interface
|
// Fichiers des langues de l'interface
|
||||||
public static $i18nFiles = [];
|
public static $i18nFiles = [];
|
||||||
public static $languagesUI = [
|
|
||||||
'az_AZ' => 'Azərbaycan dili',
|
|
||||||
'bg_BG' => 'български език',
|
|
||||||
'ca' => 'Català, valencià',
|
|
||||||
'cs' => 'čeština, český jazyk',
|
|
||||||
'da' => 'Dansk',
|
|
||||||
'de' => 'Deutsch',
|
|
||||||
'el_GR' => 'ελληνικά',
|
|
||||||
'en_EN' => 'English',
|
|
||||||
'es' => 'Español',
|
|
||||||
'fa' => 'فارسی',
|
|
||||||
'fr_FR' => 'Français',
|
|
||||||
'he_IL' => 'Hebrew (Israel)',
|
|
||||||
'hr' => 'Hrvatski jezik',
|
|
||||||
'hu_HU' => 'Magyar',
|
|
||||||
'id' => 'Bahasa Indonesia',
|
|
||||||
'it' => 'Italiano',
|
|
||||||
'ja' => '日本',
|
|
||||||
'lt' => 'Lietuvių kalba',
|
|
||||||
'mn_MN' => 'монгол',
|
|
||||||
'nb_NO' => 'Norsk bokmål',
|
|
||||||
'nn_NO' => 'Norsk nynorsk',
|
|
||||||
'nl' => 'Nederlands, Vlaams',
|
|
||||||
'pl' => 'Język polski, polszczyzna',
|
|
||||||
'pt_BR' => 'Português(Brazil)',
|
|
||||||
'pt_PT' => 'Português',
|
|
||||||
'ro' => 'Română',
|
|
||||||
'ru' => 'Pусский язык',
|
|
||||||
'sk' => 'Slovenčina',
|
|
||||||
'sl' => 'Slovenski jezik',
|
|
||||||
'sv_SE' => 'Svenska',
|
|
||||||
'th_TH' => 'ไทย',
|
|
||||||
'tr_TR' => 'Türkçe',
|
|
||||||
'uk_UA' => 'Yкраїнська мова',
|
|
||||||
'vi' => 'Tiếng Việt',
|
|
||||||
'zh_CN' => '中文 (Zhōngwén), 汉语, 漢語',
|
|
||||||
|
|
||||||
// source: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pré-installation - choix de la langue
|
* Pré-installation - choix de la langue
|
||||||
|
18
core/module/install/view/index/update.css
Normal file
18
core/module/install/view/index/update.css
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* This file is part of Zwii.
|
||||||
|
*
|
||||||
|
* For full copyright and license information, please see the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*
|
||||||
|
* @author Rémi Jean <remi.jean@outlook.com>
|
||||||
|
* @copyright Copyright (C) 2008-2018, Rémi Jean
|
||||||
|
* @author Frédéric Tempez <frederic.tempez@outlook.com>
|
||||||
|
* @copyright Copyright (C) 2018-2022, Frédéric Tempez
|
||||||
|
* @license GNU General Public License, version 3
|
||||||
|
* @link http://zwiicms.fr/
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** NE PAS EFFACER
|
||||||
|
* admin.css
|
||||||
|
*/
|
18
core/module/install/view/postinstall/update.css
Normal file
18
core/module/install/view/postinstall/update.css
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* This file is part of Zwii.
|
||||||
|
*
|
||||||
|
* For full copyright and license information, please see the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*
|
||||||
|
* @author Rémi Jean <remi.jean@outlook.com>
|
||||||
|
* @copyright Copyright (C) 2008-2018, Rémi Jean
|
||||||
|
* @author Frédéric Tempez <frederic.tempez@outlook.com>
|
||||||
|
* @copyright Copyright (C) 2018-2022, Frédéric Tempez
|
||||||
|
* @license GNU General Public License, version 3
|
||||||
|
* @link http://zwiicms.fr/
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** NE PAS EFFACER
|
||||||
|
* admin.css
|
||||||
|
*/
|
@ -408,7 +408,7 @@ class plugin extends common {
|
|||||||
public function index() {
|
public function index() {
|
||||||
|
|
||||||
// Tableau des langues rédigées
|
// Tableau des langues rédigées
|
||||||
foreach (self::$i18nList as $key => $value) {
|
foreach (self::$languagesContent as $key => $value) {
|
||||||
if ($this->getData(['config','i18n', $key]) === 'site' ||
|
if ($this->getData(['config','i18n', $key]) === 'site' ||
|
||||||
$key === 'fr') {
|
$key === 'fr') {
|
||||||
$i18nSites[$key] = $value;
|
$i18nSites[$key] = $value;
|
||||||
|
@ -37,46 +37,6 @@ class translate extends common {
|
|||||||
//UI
|
//UI
|
||||||
// Fichiers des langues de l'interface
|
// Fichiers des langues de l'interface
|
||||||
public static $i18nFiles = [];
|
public static $i18nFiles = [];
|
||||||
// Langues de l'interface acceptées
|
|
||||||
public static $languagesUI = [
|
|
||||||
'az_AZ' => 'Azərbaycan dili',
|
|
||||||
'bg_BG' => 'български език',
|
|
||||||
'ca' => 'Català, valencià',
|
|
||||||
'cs' => 'čeština, český jazyk',
|
|
||||||
'da' => 'Dansk',
|
|
||||||
'de' => 'Deutsch',
|
|
||||||
'el_GR' => 'ελληνικά',
|
|
||||||
'en_EN' => 'English',
|
|
||||||
'es' => 'Español',
|
|
||||||
'fa' => 'فارسی',
|
|
||||||
'fr_FR' => 'Français',
|
|
||||||
'he_IL' => 'Hebrew (Israel)',
|
|
||||||
'hr' => 'Hrvatski jezik',
|
|
||||||
'hu_HU' => 'Magyar',
|
|
||||||
'id' => 'Bahasa Indonesia',
|
|
||||||
'it' => 'Italiano',
|
|
||||||
'ja' => '日本',
|
|
||||||
'lt' => 'Lietuvių kalba',
|
|
||||||
'mn_MN' => 'монгол',
|
|
||||||
'nb_NO' => 'Norsk bokmål',
|
|
||||||
'nn_NO' => 'Norsk nynorsk',
|
|
||||||
'nl' => 'Nederlands, Vlaams',
|
|
||||||
'pl' => 'Język polski, polszczyzna',
|
|
||||||
'pt_BR' => 'Português(Brazil)',
|
|
||||||
'pt_PT' => 'Português',
|
|
||||||
'ro' => 'Română',
|
|
||||||
'ru' => 'Pусский язык',
|
|
||||||
'sk' => 'Slovenčina',
|
|
||||||
'sl' => 'Slovenski jezik',
|
|
||||||
'sv_SE' => 'Svenska',
|
|
||||||
'th_TH' => 'ไทย',
|
|
||||||
'tr_TR' => 'Türkçe',
|
|
||||||
'uk_UA' => 'Yкраїнська мова',
|
|
||||||
'vi' => 'Tiếng Việt',
|
|
||||||
'zh_CN' => '中文 (Zhōngwén), 汉语, 漢語',
|
|
||||||
|
|
||||||
// source: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration avancée des langues
|
* Configuration avancée des langues
|
||||||
@ -105,7 +65,7 @@ class translate extends common {
|
|||||||
// Enregistrer la langue
|
// Enregistrer la langue
|
||||||
if ($success) {
|
if ($success) {
|
||||||
$this->setData(['config', 'i18n', $toCreate, 'site' ]);
|
$this->setData(['config', 'i18n', $toCreate, 'site' ]);
|
||||||
$notification = 'Données ' . self::$i18nList[$copyFrom] . ' copiées vers ' . self::$i18nList[$toCreate];
|
$notification = 'Données ' . self::$languagesContent[$copyFrom] . ' copiées vers ' . self::$languagesContent[$toCreate];
|
||||||
} else {
|
} else {
|
||||||
$notification = "Quelque chose n\'a pas fonctionné, vérifiez les permissions.";
|
$notification = "Quelque chose n\'a pas fonctionné, vérifiez les permissions.";
|
||||||
}
|
}
|
||||||
@ -122,7 +82,7 @@ class translate extends common {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Tableau des langues installées
|
// Tableau des langues installées
|
||||||
foreach (self::$i18nList as $key => $value) {
|
foreach (self::$languagesContent as $key => $value) {
|
||||||
if ($this->getData(['config','i18n', $key]) === 'site') {
|
if ($this->getData(['config','i18n', $key]) === 'site') {
|
||||||
self::$languagesTarget[$key] = $value;
|
self::$languagesTarget[$key] = $value;
|
||||||
}
|
}
|
||||||
@ -145,7 +105,7 @@ class translate extends common {
|
|||||||
// Soumission du formulaire
|
// Soumission du formulaire
|
||||||
if($this->isPost()) {
|
if($this->isPost()) {
|
||||||
// Edition des langues
|
// Edition des langues
|
||||||
foreach (self::$i18nList as $keyi18n => $value) {
|
foreach (self::$languagesContent as $keyi18n => $value) {
|
||||||
if ($keyi18n === 'fr') continue;
|
if ($keyi18n === 'fr') continue;
|
||||||
|
|
||||||
// Effacement d'une langue installée
|
// Effacement d'une langue installée
|
||||||
@ -257,7 +217,7 @@ class translate extends common {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Modification des options de suppression de la langue installée.
|
// Modification des options de suppression de la langue installée.
|
||||||
foreach (self::$i18nList as $key => $value) {
|
foreach (self::$languagesContent as $key => $value) {
|
||||||
if ($this->getData(['config','i18n',$key]) === 'site') {
|
if ($this->getData(['config','i18n',$key]) === 'site') {
|
||||||
self::$translateOptions [$key] = [
|
self::$translateOptions [$key] = [
|
||||||
'none' => 'Drapeau masqué',
|
'none' => 'Drapeau masqué',
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
<div class="col12">
|
<div class="col12">
|
||||||
<div class="block" id="flagsWrapper">
|
<div class="block" id="flagsWrapper">
|
||||||
<h4>
|
<h4>
|
||||||
<?php echo template::topic('Interface'); ?>
|
<?php echo template::topic('Langue de l\'administration'); ?>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col4 offset4">
|
<div class="col4 offset4">
|
||||||
|
@ -329,6 +329,9 @@
|
|||||||
"Contenu du site": "",
|
"Contenu du site": "",
|
||||||
"Traductions installées": "",
|
"Traductions installées": "",
|
||||||
"Interface": "",
|
"Interface": "",
|
||||||
|
"Langue de l'administration": "",
|
||||||
|
"Langues installées": "",
|
||||||
|
"Dans quelle langue utiliserez-vous Zwii ?": "",
|
||||||
"Paramétres": "",
|
"Paramétres": "",
|
||||||
"Maintenance": "",
|
"Maintenance": "",
|
||||||
"Scripts externes": "",
|
"Scripts externes": "",
|
||||||
|
@ -329,6 +329,9 @@
|
|||||||
"Contenu du site": "",
|
"Contenu du site": "",
|
||||||
"Traductions installées": "",
|
"Traductions installées": "",
|
||||||
"Interface": "",
|
"Interface": "",
|
||||||
|
"Langue de l'administration": "",
|
||||||
|
"Langues installées": "",
|
||||||
|
"Dans quelle langue utiliserez-vous Zwii ?": "",
|
||||||
"Paramétres": "",
|
"Paramétres": "",
|
||||||
"Maintenance": "",
|
"Maintenance": "",
|
||||||
"Scripts externes": "",
|
"Scripts externes": "",
|
||||||
|
Loading…
Reference in New Issue
Block a user