Localisation des étiquettes du footer

This commit is contained in:
fredtempez 2021-10-01 15:53:38 +02:00
parent 0f0fc52a4f
commit bf2b706358
5 changed files with 129 additions and 74 deletions

View File

@ -1297,20 +1297,23 @@ class common {
// Affichage du sitemap
$items .= '<span id="footerDisplaySiteMap"';
$items .= $this->getData(['theme','footer','displaySiteMap']) === false ? ' class="displayNone"' : '';
$items .= '><wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . 'sitemap" data-tippy-content="Plan du site" >Plan&nbsp;du&nbsp;site</a>';
$label = empty($this->getData(['locale','sitemaplabel'])) ? 'Rechercher' : $this->getData(['locale','sitemaplabel']);
$items .= '><wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . 'sitemap" data-tippy-content="Plan du site" >' . $label . '</a>';
$items .= '</span>';
// Affichage du module de recherche
$items .= '<span id="footerDisplaySearch"';
$items .= $this->getData(['theme','footer','displaySearch']) === false ? ' class="displayNone" >' : '>';
$label = empty($this->getData(['locale','legalPageId'])) ? 'Rechercher' : $this->getData(['locale','legalPageId']);
if ($this->getData(['locale','searchPageId']) !== 'none') {
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['locale','searchPageId']) . '" data-tippy-content="Rechercher dans le site" >Recherche</a>';
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['locale','searchPageId']) . '" data-tippy-content="' . $label . '" >' . $label .'</a>';
}
$items .= '</span>';
// Affichage des mentions légales
$items .= '<span id="footerDisplayLegal"';
$items .= $this->getData(['theme','footer','displayLegal']) === false ? ' class="displayNone" >' : '>';
$label = empty($this->getData(['locale','legalPageId'])) ? 'Mentions Légales' : $this->getData(['locale','legalPageId']);
if ($this->getData(['locale','legalPageId']) !== 'none') {
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['locale','legalPageId']) . '" data-tippy-content="Mentions légales">Mentions légales</a>';
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['locale','legalPageId']) . '" data-tippy-content="' . $label . '">' . $label .'</a>';
}
$items .= '</span>';
// Affichage du lien de connexion

View File

@ -178,6 +178,8 @@ class config extends common {
600 => '10 minutes',
900 => '15 minutes'
];
// Langue traduite courante
public static $i18nSite = 'fr';
/**
* Génére les fichiers pour les crawlers
@ -400,6 +402,9 @@ class config extends common {
'page302' => $this->getInput('configPage302'),
'legalPageId' => $this->getInput('configLegalPageId'),
'searchPageId' => $this->getInput('configSearchPageId'),
'searchPageLabel' => empty($this->getInput('configSearchPageLabel', helper::FILTER_STRING_SHORT)) ? 'Rechercher' : $this->getInput('configSearchPageLabel', helper::FILTER_STRING_SHORT),
'legalPageLabel' => empty($this->getInput('configLegalPageLabel', helper::FILTER_STRING_SHORT)) ? 'Mentions légales' : $this->getInput('configLegalPageLabel', helper::FILTER_STRING_SHORT),
'sitemaplabel' => empty($this->getInput('configSitemapLabel', helper::FILTER_STRING_SHORT)) ? 'Plan du site' : $this->getInput('configSitemapLabel', helper::FILTER_STRING_SHORT),
'metaDescription' => $this->getInput('configMetaDescription', helper::FILTER_STRING_LONG, true),
'title' => $this->getInput('configTitle', helper::FILTER_STRING_SHORT, true)
]

View File

@ -1,4 +1,10 @@
<?php echo template::formOpen('configForm'); ?>
<?php
$i18nSite = 'fr';
if ( isset($_COOKIE['ZWII_I18N_SITE']) ) {
$i18nSite = $_COOKIE['ZWII_I18N_SITE'];
}
?>
<?php echo template::formOpen('configForm');?>
<div class="row">
<div class="col2">
<?php echo template::button('configBack', [
@ -33,11 +39,26 @@
<div class="row">
<div class="col12">
<div class="block">
<h4>Identité</h4>
<h4>Langues étrangères</h4>
<div class="row">
<div class="col12">
<?php echo template::checkbox('configI18n', true, 'Activer la gestion des langues étrangères', [
'checked' => $this->getData(['config', 'i18n', 'enable']),
'help'=> 'Une nouvelle icône apparaîtra dans la barre d\'administration. Consultez l\'aide de la page concernée pour en apprendre plus.'
]); ?>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Identité du site</h4>
<div class="row">
<div class="col9">
<?php echo template::text('configTitle', [
'label' => 'Titre du site',
'label' => 'Titre du site '. $i18nSite,
'value' => $this->getData(['locale', 'title']),
'help' => 'Il apparaît dans la barre de titre et les partages sur les réseaux sociaux.'
]); ?>
@ -53,27 +74,14 @@
<div class="row">
<div class="col12">
<?php echo template::textarea('configMetaDescription', [
'label' => 'Description du site',
'label' => 'Description du site ' . $i18nSite,
'value' => $this->getData(['locale', 'metaDescription']),
'help' => 'La description d\'une page participe à son référencement, chaque page doit disposer d\'une description différente.'
]); ?>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Langues étrangères</h4>
<div class="row">
<div class="col12">
<?php echo template::checkbox('configI18n', true, 'Activer la gestion des langues étrangères', [
'checked' => $this->getData(['config', 'i18n', 'enable']),
'help'=> 'Une nouvelle icône apparaîtra dans la barre d\'administration. Consultez l\'aide de la page concernée pour en apprendre plus.'
]); ?>
</div>
</div>
</div
><p>Le titre et la description sont spécifiques aux traductions rédigées du site.</p>
</div>
</div>
</div>
@ -105,22 +113,6 @@
'help' => 'La première page que vos visiteurs verront.'
]); ?>
</div>
<div class="col4">
<?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
'label' => 'Mentions légales',
'selected' => $this->getData(['locale', 'legalPageId']),
'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.'
]); ?>
</div>
<div class="col4">
<?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
'label' => 'Recherche dans le site',
'selected' => $this->getData(['locale', 'searchPageId']),
'help' => 'Sélectionnez une page contenant le module \'Recherche\'. Une option du pied de page ajoute un lien discret vers cette page.'
]); ?>
</div>
</div>
<div class="row">
<div class="col4">
<?php
echo template::select('configPage403', array_merge(['none' => 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
@ -137,6 +129,22 @@
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
]); ?>
</div>
</div>
<div class="row">
<div class="col4">
<?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
'label' => 'Mentions légales',
'selected' => $this->getData(['locale', 'legalPageId']),
'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.'
]); ?>
</div>
<div class="col4">
<?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
'label' => 'Recherche dans le site',
'selected' => $this->getData(['locale', 'searchPageId']),
'help' => 'Sélectionnez une page contenant le module \'Recherche\'. Une option du pied de page ajoute un lien discret vers cette page.'
]); ?>
</div>
<div class="col4">
<?php
echo template::select('configPage302', array_merge(['none' => 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
@ -146,7 +154,37 @@
]); ?>
</div>
</div>
<p>Lorsque les langues étrangères sont activées, il convient d'adapter les pages spéciales.</p>
<p>Adaptez la sélection de ces pages pour chaque traduction rédigée.</p>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Etiquettes des pages spéciales dans le pied de page</h4>
<div class="row">
<div class="col4">
<?php echo template::text('configLegalPageLabel', [
'label' => 'Mentions légales ' . $i18nSite,
'placeholder' => 'Mentions légales',
'value' => $this->getData(['locale', 'legalPageLabel']),
]); ?>
</div>
<div class="col4">
<?php echo template::text('configSearchPageLabel', [
'label' => 'Rechercher ' . $i18nSite,
'placeholder' => 'Rechercher',
'value' => $this->getData(['locale', 'searchPageLabel']),
]); ?>
</div>
<div class="col4">
<?php echo template::text('configSitemapLabel', [
'label' => 'Plan du site ' . $i18nSite,
'placeholder' => 'Plan du site',
'value' => $this->getData(['locale', 'sitemaplabel']),
]); ?>
</div>
</div>
</div>
</div>
</div>

View File

@ -36,19 +36,19 @@ class init extends common {
'log' => false,
'captcha' => true
],
"i18n" => [
"enable"=> true,
"scriptGoogle"=> false,
"showCredits"=> false,
"autoDetect"=> false,
"admin"=> false,
"fr"=> "none",
"de"=> "none",
"en"=> "none",
"es"=> "none",
"it"=> "none",
"nl"=> "none",
"pt"=> "none"
'i18n' => [
'enable'=> true,
'scriptGoogle'=> false,
'showCredits'=> false,
'autoDetect'=> false,
'admin'=> false,
'fr'=> 'none',
'de'=> 'none',
'en'=> 'none',
'es'=> 'none',
'it'=> 'none',
'nl'=> 'none',
'pt'=> 'none'
]
],
'core' => [
@ -65,7 +65,10 @@ class init extends common {
'page403' => 'none',
'page404' => 'none',
'legalPageId' => 'none',
'legalPageLabel' => 'Mentions légales',
'searchPageId' => 'none',
'searchPageLabel' => 'Rechercher',
'sitemaplabel' => 'Plan du site',
'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.',
'title' => 'Votre site en quelques clics !'
],
@ -598,7 +601,7 @@ class init extends common {
'blog' => [
'config' => [
'feeds' => true,
'feedsLabel' => "Syndication RSS",
'feedsLabel' => 'Syndication RSS',
'itemsperPage' => 4
],
'posts' => [

View File

@ -13,11 +13,11 @@
</div>
</div>
<div class="row">
<div class="col4">
<div class="col12">
<div class="block">
<h4>Couleurs</h4>
<div class="row">
<div class="col12">
<div class="col6">
<?php echo template::text('themeFooterBackgroundColor', [
'class' => 'colorPicker',
'label' => 'Fond',
@ -25,9 +25,7 @@
'help' => 'Quand le pied de page est dans le site, l\'arrière plan transparent montre le fond de la page. Quand le pied de page est hors du site, l\'arrière plan transparent montre le fond du site.'
]); ?>
</div>
</div>
<div class="row">
<div class="col12">
<div class="col6">
<?php echo template::text('themeFooterTextColor', [
'class' => 'colorPicker',
'label' => 'Texte',
@ -37,53 +35,61 @@
</div>
</div>
</div>
<div class="col8">
</div>
<div class="row">
<div class="col7">
<div class="block">
<h4>Paramètres du bloc Informations</h4>
<h4>Informations</h4>
<div class="row">
<div class="col6">
<div class="col4">
<?php echo template::checkbox('themefooterDisplayCopyright', true, 'Motorisé par', [
'checked' => $this->getData(['theme', 'footer','displayCopyright']),
'help' => 'Affiche cette mention devant ZwiiCMS'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('themefooterDisplayVersion', true, 'Numéro de version', [
<div class="col4">
<?php echo template::checkbox('themefooterDisplayVersion', true, 'Version', [
'checked' => $this->getData(['theme', 'footer','displayVersion']),
'help' => 'Affiche le numéro de version après ZwiiCMS'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<div class="col4">
<?php echo template::checkbox('themefooterDisplaySiteMap', true, 'Plan du site', [
'checked' => $this->getData(['theme', 'footer', 'displaySiteMap'])
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('themeFooterLoginLink', true, 'Lien de connexion', [
'checked' => $this->getData(['theme', 'footer', 'loginLink']),
'help' => 'Pour limiter les tentatives de piratage, enregistrez la page de connexion en favori et désactivez cette option.'
]); ?>
</div>
</div>
<div class="row">
<div class="col12">
<?php echo template::checkbox('themeFooterDisplayMemberBar', true, 'Barre du membre connecté', [
</div>
<div class="col6">
<?php echo template::checkbox('themeFooterDisplayMemberBar', true, 'Barre du membre', [
'checked' => $this->getData(['theme', 'footer', 'displayMemberBar']),
'help' => 'Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés, ne s\'applique pas aux éditeurs et administrateurs.'
]); ?>
</div>
</div>
</div>
</div>
<div class="col5">
<div class="block">
<h4>Pages spéciales</h4>
<div class="row">
<div class="col6">
<div class="col12">
<?php echo template::checkbox('themeFooterDisplayLegal', true, 'Mentions légales', [
'checked' => $this->getData(['locale', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']),
'disabled' => $this->getData(['locale', 'legalPageId']) === 'none' ? true : false,
'help' => $this->getData(['locale', 'legalPageId']) === 'none' ? 'Une page contenant les mentions légales n\'est pas définie dans la configuration du site / pages spéciales.' : ''
]); ?>
</div>
<div class="col6">
</div>
<div class="row">
<div class="col12">
<?php echo template::checkbox('themeFooterDisplaySearch', true, 'Rechercher dans le site', [
'checked' => $this->getData(['locale', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']),
'disabled' => $this->getData(['locale', 'searchPageId']) === 'none' ? true : false,