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
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) {
if (is_dir(self::DATA_DIR . $key)) {
$t[] = $this->showi18n($key);
$t[] = $this->showi18n($key);
}
}
// Pas de drapeau si la langue est unique
if (count($t) > 1) {
foreach ($t as $key) {
echo $key;
}
}
}
echo '</ul>';
}
@ -1163,22 +1163,18 @@ class layout extends common
public function showi18n($lang)
{
if (
is_dir(self::DATA_DIR . $lang)
(isset($_SESSION['ZWII_CONTENT'])
and $_SESSION['ZWII_CONTENT'] === $lang
)
) {
if (
(isset($_SESSION['ZWII_CONTENT'])
and $_SESSION['ZWII_CONTENT'] === $lang
)
) {
$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>';
$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>';
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);
if (array_key_exists($this->getUrl(0), $pagesId['page'])) {
$_SESSION['ZWII_CONTENT'] = $key;
self::$i18nContent = $key;
\setlocale(LC_ALL, self::$i18nContent . '.UTF8');
header('Refresh:0; url=' . helper::baseUrl() . $this->getUrl(0));
exit();
}

View File

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

View File

@ -199,35 +199,38 @@ class translate extends common
// Onglet des langues de contenu
foreach (self::$languages as $key => $value) {
// tableau des langues installées
if (is_dir(self::DATA_DIR . $key &&
file_exists(self::DATA_DIR . $key . 'page.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');
} elseif (isset($_SESSION['ZWII_CONTENT']) && $_SESSION['ZWII_CONTENT'] === $key) {
$messageLocale = helper::translate('Langue du site sélectionnée');
} else {
$messageLocale = '';
if (is_dir(self::DATA_DIR . $key)) {
if (file_exists(self::DATA_DIR . $key . '/page.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');
} elseif (isset($_SESSION['ZWII_CONTENT']) && $_SESSION['ZWII_CONTENT'] === $key) {
$messageLocale = helper::translate('Langue du site sélectionnée');
} 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
self::$siteCopy = count(self::$languagesInstalled) > 1 ? false : true;