12308 pb de restauration de la langue fr par défaut

This commit is contained in:
Fred Tempez 2023-04-18 20:37:15 +02:00
parent 41070f809c
commit fde15d4ae2
4 changed files with 45 additions and 52 deletions

View File

@ -519,17 +519,17 @@ class layout extends common
} }
// Retourne les items du menu // Retourne les items du menu
echo '<ul class="navMain" id="menuLeft">' . $itemsLeft . '</ul><ul class="navMain" id="menuRight">' . $itemsRight; echo '<ul class="navMain" id="menuLeft">' . $itemsLeft . '</ul><ul class="navMain" id="menuRight">' . $itemsRight;
// Drapeau les langues des langues selon l'existance des dossiers // Drapeau les langues
foreach (self::$languages as $key => $value) { foreach (self::$languages as $key => $value) {
if (is_dir(self::DATA_DIR . $key)) { if (is_dir(self::DATA_DIR . $key)) {
$t[] = $this->showi18n($key); $t[] = $this->showi18n($key);
} }
} }
// Pas de drapeau si la langue est unique // Pas de drapeau si la langue est unique
if (count($t) > 1) { if (count($t) > 1) {
foreach ($t as $key) { foreach ($t as $key) {
echo $key; echo $key;
} }
} }
echo '</ul>'; echo '</ul>';
} }
@ -1163,22 +1163,18 @@ class layout extends common
public function showi18n($lang) public function showi18n($lang)
{ {
if ( if (
is_dir(self::DATA_DIR . $lang) (isset($_SESSION['ZWII_CONTENT'])
and $_SESSION['ZWII_CONTENT'] === $lang
)
) { ) {
if ( $select = ' class="i18nFlagSelected" ';
(isset($_SESSION['ZWII_CONTENT']) } else {
and $_SESSION['ZWII_CONTENT'] === $lang $select = ' class="i18nFlag" ';
)
) {
$select = ' class="i18nFlagSelected" ';
} else {
$select = ' class="i18nFlag" ';
}
$items = '<li>';
$items .= '<a href="' . helper::baseUrl() . 'translate/content/' . $lang . '"><img ' . $select . ' alt="' . self::$languages[$lang] . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $lang . '.png"/></a>';
$items .= '</li>';
} }
$items = '<li>';
$items .= '<a href="' . helper::baseUrl() . 'translate/content/' . $lang . '"><img ' . $select . ' alt="' . self::$languages[$lang] . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $lang . '.png"/></a>';
$items .= '</li>';
return $items; return $items;
} }
} }

View File

@ -522,8 +522,6 @@ class core extends common
$pagesId = json_decode(file_get_contents(self::DATA_DIR . $key . '/page.json'), true); $pagesId = json_decode(file_get_contents(self::DATA_DIR . $key . '/page.json'), true);
if (array_key_exists($this->getUrl(0), $pagesId['page'])) { if (array_key_exists($this->getUrl(0), $pagesId['page'])) {
$_SESSION['ZWII_CONTENT'] = $key; $_SESSION['ZWII_CONTENT'] = $key;
self::$i18nContent = $key;
\setlocale(LC_ALL, self::$i18nContent . '.UTF8');
header('Refresh:0; url=' . helper::baseUrl() . $this->getUrl(0)); header('Refresh:0; url=' . helper::baseUrl() . $this->getUrl(0));
exit(); exit();
} }

View File

@ -169,7 +169,7 @@ class common
// Langue de l'interface sélectionnée // Langue de l'interface sélectionnée
public static $i18nUI = 'fr_FR'; public static $i18nUI = 'fr_FR';
// Langues de contenu // Langues de contenu
public static $i18nContent = 'fr_FR'; public static $i18nContent = '';
public static $languages = [ public static $languages = [
'az_AZ' => 'Azərbaycan dili', 'az_AZ' => 'Azərbaycan dili',
'bg_BG' => 'български език', 'bg_BG' => 'български език',
@ -318,12 +318,8 @@ class common
if (isset($_SESSION['ZWII_CONTENT'])) { if (isset($_SESSION['ZWII_CONTENT'])) {
// Déterminé par la session présente // Déterminé par la session présente
self::$i18nContent = $_SESSION['ZWII_CONTENT']; self::$i18nContent = $_SESSION['ZWII_CONTENT'];
; \setlocale(LC_ALL, self::$i18nContent . '.UTF8');
} else {
// Initialiser la session en fr_FR
$_SESSION['ZWII_CONTENT'] = self::$i18nContent;
} }
\setlocale(LC_ALL, self::$i18nContent . '.UTF8');
// 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

View File

@ -199,35 +199,38 @@ class translate extends common
// Onglet des langues de contenu // Onglet des langues de contenu
foreach (self::$languages as $key => $value) { foreach (self::$languages as $key => $value) {
// tableau des langues installées // tableau des langues installées
if (is_dir(self::DATA_DIR . $key &&
file_exists(self::DATA_DIR . $key . 'page.json') && if (is_dir(self::DATA_DIR . $key)) {
file_exists(self::DATA_DIR . $key . 'module.json') && if (file_exists(self::DATA_DIR . $key . '/page.json') &&
file_exists(self::DATA_DIR . $key . 'locale.json') file_exists(self::DATA_DIR . $key . '/module.json') &&
)) { file_exists(self::DATA_DIR . $key . '/locale.json')
if (self::$i18nUI === $key) { ) {
$messageLocale = helper::translate('Langue par défaut'); if (self::$i18nUI === $key) {
} elseif (isset($_SESSION['ZWII_CONTENT']) && $_SESSION['ZWII_CONTENT'] === $key) { $messageLocale = helper::translate('Langue par défaut');
$messageLocale = helper::translate('Langue du site sélectionnée'); } elseif (isset($_SESSION['ZWII_CONTENT']) && $_SESSION['ZWII_CONTENT'] === $key) {
} else { $messageLocale = helper::translate('Langue du site sélectionnée');
$messageLocale = ''; } else {
$messageLocale = '';
}
self::$languagesInstalled[] = [
template::flag($key, '20 %') . '&nbsp;' . $value . ' (' . $key . ')',
$messageLocale,
template::button('translateContentLanguageLocaleEdit' . $key, [
'class' => file_exists(self::DATA_DIR . $key . '/locale.json') ? '' : ' disabled',
'href' => helper::baseUrl() . $this->getUrl(0) . '/locale/' . $key,
'value' => template::ico('pencil'),
'help' => 'Éditer'
]),
template::button('translateContentLanguageLocaleDelete' . $key, [
'class' => 'translateDelete buttonRed' . ($messageLocale ? ' disabled' : ''),
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/locale/' . $key . '/' . $_SESSION['csrf'],
'value' => template::ico('trash'),
'help' => 'Supprimer',
])
];
} }
self::$languagesInstalled[] = [
template::flag($key, '20 %') . '&nbsp;' . $value . ' (' . $key . ')',
$messageLocale,
template::button('translateContentLanguageLocaleEdit' . $key, [
'class' => file_exists(self::DATA_DIR . $key . '/locale.json') ? '' : ' disabled',
'href' => helper::baseUrl() . $this->getUrl(0) . '/locale/' . $key,
'value' => template::ico('pencil'),
'help' => 'Éditer'
]),
template::button('translateContentLanguageLocaleDelete' . $key, [
'class' => 'translateDelete buttonRed' . ($messageLocale ? ' disabled' : ''),
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/locale/' . $key . '/' . $_SESSION['csrf'],
'value' => template::ico('trash'),
'help' => 'Supprimer',
])
];
} }
} }
// Activation du bouton de copie // Activation du bouton de copie
self::$siteCopy = count(self::$languagesInstalled) > 1 ? false : true; self::$siteCopy = count(self::$languagesInstalled) > 1 ? false : true;