diff --git a/CHANGES.md b/CHANGES.md index a79180e..dc1cd88 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,18 @@ # Changelog +## Version 4.0.01 de Deltacms +- Modifications : + - Langues : choix de langue d'origine, ce n'est plus automatiquement le français, + - Langues : choix de la langue, français ou anglais pour les pages d'administration, + - Langues : traduction automatique du site de la langue d'origine vers une langue européenne (script Google), + - Langues : traduction rédigée du site avec copie des données d'une langue vers une autre, pour préparer le travail de traduction, + - Installation : modification de la page d'installation, bilingue français anglais, + - Site exemple : modification de la page d'accueil du site après installation, bilingue. + +## Version 3.2.06 de Deltacms +- Modifications : + - Traduction automatique du site pour les membres connectés. + ## Version 3.2.05 de Deltacms - Correction : - polices : noms à la place des clefs dans les différents thèmes livrés @@ -19,7 +32,6 @@ ## Version 3.1.01 de Deltacms - Modifications : - modification de la capture Open Graph, screenshot.jpg est maintenant générée en local sans recours à Google - - modification des polices proposées, choix de polices 'web safe', suppression des téléchargements de polices via Google ## Version 3.0.04 de Deltacms - Modifications : diff --git a/README.md b/README.md index 630633a..a98e632 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# DeltaCMS 3.2.05 +# DeltaCMS 4.0.01 DeltaCMS est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation. @@ -24,7 +24,6 @@ Pour télécharger la dernière version publiée, il faut vous rendre sur la pag Décompressez l'archive de DeltaCMS et téléversez son contenu à la racine de votre serveur ou dans un sous-répertoire. C'est tout ! - ## Procédures de mise à jour ### Automatique @@ -41,10 +40,6 @@ Décompressez l'archive de DeltaCMS et téléversez son contenu à la racine de En cas de difficulté avec la nouvelle version, il suffira de téléverser la sauvegarde pour remettre votre site dans son état initial. -**Remarques :** - -* La mise à jour manuelle désactive la réécriture d'URL. À vous de la réactiver depuis la page de configuration du site. - ## Arborescence générale diff --git a/core/class/template.class.php b/core/class/template.class.php index a7b5f32..e129e57 100644 --- a/core/class/template.class.php +++ b/core/class/template.class.php @@ -118,12 +118,11 @@ class template { copy ('core/vendor/zwiico/png/' . $attributes['type'] . '/' . $letters[$firstNumber] . '.png', 'site/tmp/' . $firstLetter . '.png'); copy ('core/vendor/zwiico/png/' . $attributes['type'] . '/' . $letters[$secondNumber] . '.png', 'site/tmp/' . $secondLetter . '.png'); - // Début du wrapper $html = '
| '; + $notification = $text[1].'
| ';
foreach (common::$coreNotices as $item) $notification .= $item . ' | ';
$notificationClass = 'notificationError';
}
@@ -1943,20 +1931,65 @@ class common {
* Affiche la barre de membre
*/
public function showBar() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Choisissez une page';
+ $text[1] = 'Pages orphelines';
+ $text[2] = 'Pages du menu';
+ $text[3] = 'Barres latérales';
+ $text[4] = 'Créer une page ou
une barre latérale';
+ $text[5] = 'Modifier la page';
+ $text[6] = 'Configurer le module';
+ $text[7] = 'Dupliquer la page';
+ $text[8] = 'Effacer la page';
+ $text[9] = 'Gérer les fichiers';
+ $text[10] = 'Personnaliser les thèmes';
+ $text[11] = 'Gérer les modules';
+ $text[12] = 'Gestion des langues';
+ $text[13] = 'Configurer le site';
+ $text[14] = 'Configurer les utilisateurs';
+ $text[15] = 'Mettre à jour DeltaCMS ';
+ $text[16] = 'Configurer mon compte';
+ $text[17] = 'Me déconnecter';
+ break;
+ case 'en' :
+ $text[0] = 'Choose a page';
+ $text[1] = 'Orphan pages';
+ $text[2] = 'Menu pages';
+ $text[3] = 'Side bars';
+ $text[4] = 'Creating a page
or a sidebar';
+ $text[5] = 'Modify the page';
+ $text[6] = 'Configuring the module';
+ $text[7] = 'Duplicate the page';
+ $text[8] = 'Erase the page';
+ $text[9] = 'Managing files';
+ $text[10] = 'Customise themes';
+ $text[11] = 'Manage modules';
+ $text[12] = 'Language management';
+ $text[13] = 'Configuring the site';
+ $text[14] = 'Setting up users';
+ $text[15] = 'Updating DeltaCMS ';
+ $text[16] = 'Set up my account';
+ $text[17] = 'Logout';
+ break;
+ }
if($this->getUser('password') === $this->getInput('DELTA_USER_PASSWORD')) {
// Items de gauche
$leftItems = '';
if($this->getUser('group') >= self::GROUP_MODERATOR) {
$leftItems .= '
Les fichiers du site ne sont pas sauvegardés automatiquement. Activation recommandée.';
+ $text[20] = 'Site en maintenance';
+ $text[21] = 'Sauvegarder';
+ $text[22] = 'Restaurer';
+ $text[23] = 'Copie sauvegardes auto';
+ break;
+ case 'en' :
+ $text[0] = 'Parameters';
+ $text[1] = 'Automated update';
+ $text[2] = 'Maintenance';
+ $text[3] = 'Remember to clear your browser\'s cache if the favicon does not change';
+ $text[4] = 'Favicon';
+ $text[5] = 'Select a suitable icon for a dark theme.
Remember to clear your browser\'s cache if the favicon does not change.';
+ $text[6] = 'Favicon dark theme';
+ $text[7] = 'Time zone';
+ $text[8] = 'The time zone is useful for good referencing';
+ $text[9] = 'Cookie consent message';
+ $text[10] = 'Mandatory activation under French law unless you use your own consent system';
+ $text[11] = 'Smart URLs';
+ $text[12] = 'First check that your server allows URL rewriting (which is not the case with Free)';
+ $text[13] = 'Search for an online update';
+ $text[14] = 'The check is daily. Option disabled if server configuration does not allow it.';
+ $text[15] = 'Preserve the root htaccess file';
+ $text[16] = 'On auto-update, keep the root htaccess file';
+ $text[17] = 'Reinstall';
+ $text[18] = 'Automatic daily site backup';
+ $text[19] = 'An archive containing the folder /site/data is copied to the folder \'site/backup\'. The backup is kept for 30 days.
Site files are not backed up automatically. Activation recommended.'; + $text[20] = 'Site under maintenance'; + $text[21] = 'Save'; + $text[22] = 'Restore'; + $text[23] = 'Auto backup copy'; + break; +} +?>
Les fichiers du site ne sont pas sauvegardés automatiquement. Activation recommandée.' + 'help' => $text[19] ]); ?>
L\'activation du mode de capture Open Graph fait apparaître un appareil photo en bas de page. Un clic dessus génère une image screenshot.jpg à partir de la page active.
'; + $text[7] = 'Réseaux sociaux'; + $text[8] = 'Saisissez votre ID : https://www.facebook.com/[ID].'; + $text[9] = 'Saisissez votre ID : https://www.instagram.com/[ID].'; + $text[10] = 'ID de la chaîne : https://www.youtube.com/channel/[ID].'; + $text[11] = 'Saisissez votre ID Utilisateur : https://www.youtube.com/user/[ID].'; + $text[12] = 'Saisissez votre ID : https://twitter.com/[ID].'; + $text[13] = 'Saisissez votre ID : https://pinterest.com/[ID].'; + $text[14] = 'Saisissez votre ID Linkedin : https://fr.linkedin.com/in/[ID].'; + $text[15] = 'Saisissez votre ID Github : https://github.com/[ID].'; + break; + case 'en' : + $text[0] = 'Settings'; + $text[1] = 'Disable Open Graph capture mode'; + $text[2] = 'Enable Open Graph capture mode'; + $text[3] = 'Generate sitemap.xml and robots.txt'; + $text[4] = 'Allow robots to reference the site'; + $text[5] = 'This screenshot is required for social media sharing. To regenerate it, activate the Open Graph capture mode and click on the camera at the bottom right'; + $text[6] = 'Enabling the Open Graph capture mode causes a camera to appear at the bottom of the page. Clicking it generates a screenshot.jpg image from the active page.
'; + $text[7] = 'Social networks'; + $text[8] = 'Enter your ID: https://www.facebook.com/[ID].'; + $text[9] = 'Enter your ID: https://www.instagram.com/[ID].'; + $text[10] = 'String ID: https://www.youtube.com/channel/[ID].'; + $text[11] = 'Enter your User ID: https://www.youtube.com/user/[ID].'; + $text[12] = 'Enter your ID: https://twitter.com/[ID].'; + $text[13] = 'Enter your ID: https://pinterest.com/[ID].'; + $text[14] = 'Enter your Linkedin ID: https://fr.linkedin.com/in/[ID].'; + $text[15] = 'Enter your Github ID: https://github.com/[ID].'; + break; +} +?>
Paramètres +
@@ -13,7 +56,7 @@
- helper::baseUrl() . 'config/configOpenGraph',
'value' => $texte
@@ -25,13 +68,13 @@
helper::baseUrl() . 'config/generateFiles',
- 'value' => 'Générer sitemap.xml et robots.txt'
+ 'value' => $text[3]
]); ?>
- $this->getData(['config', 'seo','robots'])
]); ?>
@@ -41,13 +84,13 @@
-
+
-
@@ -59,7 +102,7 @@
-
Image screenshot.jpg absente
L'activation du mode de capture Open Graph fait apparaître un appareil photo en bas de page. Un clic dessus génère une image screenshot.jpg à partir de la page active.
+Réseaux sociaux +
@@ -69,28 +112,28 @@
'Saisissez votre ID : https://www.facebook.com/[ID].',
+ 'help' => $text[8],
'label' => 'Facebook',
'value' => $this->getData(['config', 'social', 'facebookId'])
]); ?>
'Saisissez votre ID : https://www.instagram.com/[ID].',
+ 'help' => $text[9],
'label' => 'Instagram',
'value' => $this->getData(['config', 'social', 'instagramId'])
]); ?>
'ID de la chaîne : https://www.youtube.com/channel/[ID].',
+ 'help' => $text[10],
'label' => 'Chaîne Youtube',
'value' => $this->getData(['config', 'social', 'youtubeId'])
]); ?>
'Saisissez votre ID Utilisateur : https://www.youtube.com/user/[ID].',
+ 'help' => $text[11],
'label' => 'Youtube',
'value' => $this->getData(['config', 'social', 'youtubeUserId'])
]); ?>
@@ -99,28 +142,28 @@
'Saisissez votre ID : https://twitter.com/[ID].',
+ 'help' => $text[12],
'label' => 'Twitter',
'value' => $this->getData(['config', 'social', 'twitterId'])
]); ?>
'Saisissez votre ID : https://pinterest.com/[ID].',
+ 'help' => $text[13],
'label' => 'Pinterest',
'value' => $this->getData(['config', 'social', 'pinterestId'])
]); ?>
'Saisissez votre ID Linkedin : https://fr.linkedin.com/in/[ID].',
+ 'help' => $text[14],
'label' => 'Linkedin',
'value' => $this->getData(['config', 'social', 'linkedinId'])
]); ?>
'Saisissez votre ID Github : https://github.com/[ID].',
+ 'help' => $text[15],
'label' => 'Github',
'value' => $this->getData(['config', 'social', 'githubId'])
]); ?>
diff --git a/core/module/install/install.php b/core/module/install/install.php
index ded2c2a..ab567e3 100644
--- a/core/module/install/install.php
+++ b/core/module/install/install.php
@@ -57,7 +57,12 @@ class install extends common {
$userLastname = $this->getInput('installLastname', helper::FILTER_STRING_SHORT, true);
$userMail = $this->getInput('installMail', helper::FILTER_MAIL, true);
$userId = $this->getInput('installId', helper::FILTER_ID, true);
-
+
+ // Langues
+ $langAdmin = $this->getInput('installLangAdmin');
+ $langBase = $this->getInput('installLangBase');
+ $this->setData(['config', 'i18n', 'langAdmin', $langAdmin]);
+ $this->setData(['config', 'i18n', 'langBase', $langBase]);
// Création de l'utilisateur si les données sont complétées.
// success retour de l'enregistrement des données
@@ -77,17 +82,38 @@ class install extends common {
]
]);
+ // Lexique
+ $text = [];
+ switch ($langAdmin) {
+ case 'fr' :
+ $text[0] = 'Installation de votre site';
+ $text[1] = 'Bonjour';
+ $text[2] = 'Voici les détails de votre installation';
+ $text[3] = 'URL du site';
+ $text[4] = 'Identifiant du compte';
+ $text[5] = 'Installation terminée';
+ break;
+ case 'en' :
+ $text[0] = 'Setting up your website';
+ $text[1] = 'Hello';
+ $text[2] = 'Here are the details of your installation';
+ $text[3] = 'Site URL';
+ $text[4] = 'Account ID';
+ $text[5] = 'Installation completed';
+ break;
+ }
+
// Compte créé, envoi du mail et création des données du site
if ($success) { // Formulaire complété envoi du mail
// Envoie le mail
// Sent contient true si réussite sinon code erreur d'envoi en clair
$sent = $this->sendMail(
$userMail,
- 'Installation de votre site',
- 'Bonjour' . ' ' . $userFirstname . ' ' . $userLastname . ',
+
+
+
+ '
],
'enfant' => [
'content' => '
+
+
+
+
+ 'English','fr'=>'Français'], [
+ 'label' => '',
+ 'selected' => 'fr'
+ ]); ?>
+
+
- 'off',
- 'label' => 'Identifiant'
- ]); ?>
+ Identifiant Identifier
+ 'off',
+ 'label' => ''
+ ]); ?>
+
+
+
+
+ Mot de passe Password
'off',
- 'label' => 'Mot de passe'
+ 'label' => ''
]); ?>
+ Confirmation Confirmation
'off',
- 'label' => 'Confirmation'
+ 'label' => ''
]); ?>
+ Adresse mail Email address
'off',
- 'label' => 'Adresse mail'
+ 'label' => ''
]); ?>
+ Prénom Vorname
'off',
- 'label' => 'Prénom'
+ 'label' => ''
]); ?>
+ Nom Name
'off',
- 'label' => 'Nom'
+ 'label' => ''
]); ?>
+ Thème Theme
'Thème'
+ 'label' => ''
]); ?>
-
-
+ false
]);
?>
+
+ Sans exemple de site Without an example site
+
+
+
+ Langue d'administration Administration language
+ 'Français (fr)','en'=>'Anglais (en)'], [
+ 'label' => '',
+ 'selected' => $this->getData(['config', 'i18n' , 'langAdmin'])
+ ]); ?>
+
+
+ Langue originale du site Original language of the site
+ '',
+ 'selected' => $this->getData(['config', 'i18n' , 'langBase'])
+ ]); ?>
+
+
'Installer'
+ 'value' => 'OK'
]); ?>
diff --git a/core/module/install/view/update/update.php b/core/module/install/view/update/update.php
index 53ababf..f98cdb1 100644
--- a/core/module/install/view/update/update.php
+++ b/core/module/install/view/update/update.php
@@ -1,26 +1,58 @@
-
- 1/4 : Préparation...
- 2/4 : Téléchargement...
- 3/4 : Installation...
- 4/4 : Configuration...
+
+
+
+
- Une erreur est survenue lors de l'étape .
+ .
- Mise à jour terminée avec succès.
+
'Terminer',
+ 'value' => $text[9],
'href' => helper::baseUrl() . 'config',
'ico' => 'check',
'class' => 'disabled'
diff --git a/core/module/maintenance/maintenance.php b/core/module/maintenance/maintenance.php
index e3d5f5d..2cedcdc 100644
--- a/core/module/maintenance/maintenance.php
+++ b/core/module/maintenance/maintenance.php
@@ -26,6 +26,17 @@ class maintenance extends common {
* Maintenance
*/
public function index() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Maintenance en cours...';
+ break;
+ case 'en' :
+ $text[0] = 'Maintenance in progress...';
+ break;
+ }
// Redirection vers l'accueil après rafraîchissement et que la maintenance est terminée.
if($this->getData(['config', 'maintenance']) == False){
header('Location:' . helper::baseUrl());
@@ -47,7 +58,7 @@ class maintenance extends common {
// Valeurs en sortie
$this->addOutput([
'display' => self::DISPLAY_LAYOUT_LIGHT,
- 'title' => 'Maintenance en cours...',
+ 'title' => $text[0],
'view' => 'index'
]);
}
diff --git a/core/module/maintenance/view/index/index.php b/core/module/maintenance/view/index/index.php
index de41231..9681a52 100644
--- a/core/module/maintenance/view/index/index.php
+++ b/core/module/maintenance/view/index/index.php
@@ -1,8 +1,9 @@
'Connexion',
+ 'value' => '',
'href' => helper::baseUrl() . 'user/login',
'ico' => 'lock'
]); ?>
diff --git a/core/module/page/page.php b/core/module/page/page.php
index fdf4280..0892ee5 100644
--- a/core/module/page/page.php
+++ b/core/module/page/page.php
@@ -27,9 +27,15 @@ class page extends common {
public static $pagesNoParentId = [
'' => 'Aucune'
];
+ public static $pagesNoParentId_en = [
+ '' => 'None'
+ ];
public static $pagesBarId = [
'' => 'Aucune'
];
+ public static $pagesBarId_en = [
+ '' => 'None'
+ ];
public static $moduleIds = [];
public static $typeMenu = [
@@ -37,12 +43,22 @@ class page extends common {
'icon' => 'Icône',
'icontitle' => 'Icône avec bulle de texte'
];
+ public static $typeMenu_en = [
+ 'text' => 'Text',
+ 'icon' => 'Icon',
+ 'icontitle' => 'Icon with text bubble'
+ ];
// Position du module
public static $modulePosition = [
'bottom' => 'En bas',
'top' => 'En haut',
'free' => 'Libre'
];
+ public static $modulePosition_en = [
+ 'bottom' => 'Bottom',
+ 'top' => 'Top',
+ 'free' => 'Free'
+ ];
public static $pageBlocks = [
'12' => 'Page standard',
'4-8' => 'Barre 1/3 - page 2/3',
@@ -54,17 +70,49 @@ class page extends common {
'3-7-2' => 'Barre 3/12 - page 7/12 - barre 2/12 ',
'bar' => 'Barre latérale'
];
+ public static $pageBlocks_en = [
+ '12' => 'Standard page',
+ '4-8' => 'Bar 1/3 - page 2/3',
+ '8-4' => 'Page 2/3 - bar 1/3',
+ '3-9' => 'Bar 1/4 - page 3/4',
+ '9-3' => 'Page 3/4 - bar 1/4',
+ '3-6-3' => 'Bar 1/4 - page 1/2 - bar 1/4',
+ '2-7-3' => 'Bar 2/12 - page 7/12 - bar 3/12 ',
+ '3-7-2' => 'Bar 3/12 - page 7/12 - bar 2/12 ',
+ 'bar' => 'Sidebar'
+ ];
public static $displayMenu = [
'none' => 'Aucun',
'parents' => 'Le menu',
'children' => 'Le sous-menu de la page parente'
];
-
+ public static $displayMenu_en = [
+ 'none' => 'None',
+ 'parents' => 'Menu',
+ 'children' => 'The submenu of the parent page'
+ ];
/**
* Duplication
*/
public function duplicate() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Jeton invalide';
+ $text[1] = 'Suppression non autorisée';
+ $text[2] = 'La page a été dupliquée';
+ $text[3] = 'La page et son module ont été dupliqués';
+ break;
+ case 'en' :
+ $text[0] = 'Invalid token';
+ $text[1] = 'Unauthorised deletion';
+ $text[2] = 'The page has been duplicated';
+ $text[3] = 'The page and its module have been duplicated';
+ break;
+ }
// Adresse sans le token
$url = explode('&',$this->getUrl(2));
// La page n'existe pas
@@ -78,14 +126,14 @@ class page extends common {
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
- 'notification' => 'Jeton invalide'
+ 'notification' => $text[0]
]);
}
elseif ($_GET['csrf'] !== $_SESSION['csrf']) {
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
- 'notification' => 'Suppression non autorisée'
+ 'notification' => $text[1]
]);
}
// Duplication de la page
@@ -99,7 +147,7 @@ class page extends common {
]);
// Ecriture
$this->setData (['page',$pageId,$data]);
- $notification = 'La page a été dupliquée';
+ $notification = $text[2];
// Duplication du module présent
if ($this->getData(['page',$url[0],'moduleId'])) {
$data = $this->getData([
@@ -108,7 +156,7 @@ class page extends common {
]);
// Ecriture
$this->setData (['module',$pageId,$data]);
- $notification = 'La page et son module ont été dupliqués';
+ $notification = $text[3];
}
// Valeurs en sortie
$this->addOutput([
@@ -123,7 +171,22 @@ class page extends common {
* Création
*/
public function add() {
- $pageTitle = 'Nouvelle page';
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Nouvelle page';
+ $text[1] = 'Contenu de votre nouvelle page.';
+ $text[2] = 'Nouvelle page créée';
+ break;
+ case 'en' :
+ $text[0] = 'New page';
+ $text[1] = 'Content of your new page';
+ $text[2] = 'New page created';
+ break;
+ }
+ $pageTitle = $text[0];
$pageId = helper::increment(helper::filter($pageTitle, helper::FILTER_ID), $this->getData(['page']));
$this->setData([
'page',
@@ -159,13 +222,13 @@ class page extends common {
mkdir(self::DATA_DIR . self::$i18n . '/content', 0755);
}
//file_put_contents(self::DATA_DIR . self::$i18n . '/content/' . $pageId . '.html', '
-
' . - 'Voici les détails de votre installation.
' . - 'URL du site : ' . helper::baseUrl(false) . '
' . - 'Identifiant du compte : ' . $this->getInput('installId') . '
', + $text[0], + $text[1] . ' ' . $userFirstname . ' ' . $userLastname . ',
' . + $text[2].'
' . + ''.$text[3].' : ' . helper::baseUrl(false) . '
' . + ''.$text[4].' : ' . $this->getInput('installId') . '
', null ); // Nettoyer les cookies de langue d'une précédente installation @@ -95,8 +121,8 @@ class install extends common { helper::deleteCookie('DELTA_I18N_SCRIPT'); // Installation du site de test if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) { - $this->initData('page','fr',true); - $this->initData('module','fr',true); + $this->initData('page','base',true); + $this->initData('module','base',true); } // Images exemples livrées dans tous les cas try { @@ -141,7 +167,7 @@ class install extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl(false), - 'notification' => $sent === true ? 'Installation terminée' : $sent, + 'notification' => $sent === true ? $text[5] : $sent, 'state' => ($sent === true && $success === true) ? true : null ]); } @@ -194,10 +220,6 @@ class install extends common { break; // Téléchargement case 2: - // Téléchargement depuis le serveur de Zwii - //$success = (file_put_contents(self::TEMP_DIR.'update.tar.gz', helper::urlGetContents('https://zwiicms.fr/update/' . common::DELTA_UPDATE_CHANNEL . '/update.tar.gz')) !== false); - // URL sur le git - //$newVersion = helper::urlGetContents('https://zwiicms.fr/update/' . common::DELTA_UPDATE_CHANNEL . '/version'); $success = (file_put_contents(self::TEMP_DIR.'update.tar.gz', helper::urlGetContents(common::DELTA_UPDATE_URL . common::DELTA_UPDATE_CHANNEL . '/update.tar.gz')) !== false); // Valeurs en sortie $this->addOutput([ @@ -283,12 +305,23 @@ class install extends common { * Mise à jour */ public function update() { + // Lexique + $text = []; + $val = $this->getData(['config', 'i18n', 'langAdmin']); + switch ( $val ) { + case 'fr' : + $text[0] = 'Mise à jour'; + break; + case 'en' : + $text[0] = 'Update'; + break; + } // Nouvelle version self::$newVersion = helper::urlGetContents(common::DELTA_UPDATE_URL . common::DELTA_UPDATE_CHANNEL . '/version'); // Valeurs en sortie $this->addOutput([ 'display' => self::DISPLAY_LAYOUT_LIGHT, - 'title' => 'Mise à jour', + 'title' => $text[0], 'view' => 'update' ]); } diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index b897ab7..a39f5f9 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -45,6 +45,8 @@ class init extends common { 'showCredits'=> false, 'autoDetect'=> false, 'admin'=> false, + 'langAdmin'=> 'fr', + 'langBase'=> 'fr', 'fr'=> 'none', 'de'=> 'none', 'en'=> 'none', @@ -55,7 +57,7 @@ class init extends common { ] ], 'core' => [ - 'dataVersion' => 3205, + 'dataVersion' => 3206, 'lastBackup' => 0, 'lastClearTmp' => 0, 'lastAutoUpdate' => 0, @@ -73,7 +75,7 @@ class init extends common { 'sitemapPageLabel' => 'Plan du site', 'legalPageLabel' => 'Mentions légales', 'metaDescription' => 'DeltaCMS 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' => 'Avec DeltaCMS installez votre site en quelques clics !', + 'title' => 'DeltaCMS', 'cookies' => [ 'cookiesDeltaText' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.', 'cookiesExtText' => '', @@ -90,7 +92,7 @@ class init extends common { 'iconUrl' => '', 'disable' => false, 'content' => 'accueil.html', - 'hideTitle' => false, + 'hideTitle' => true, 'homePageId' => true, 'breadCrumb' => false, 'metaDescription' => '', @@ -402,7 +404,7 @@ class init extends common { 'iconUrl' => '', 'disable' => false, 'content' => 'accueil.html', - 'hideTitle' => false, + 'hideTitle' => true, 'homePageId' => true, 'breadCrumb' => false, 'metaDescription' => '', @@ -943,9 +945,16 @@ class init extends common { public static $siteContent = [ 'accueil' => [ - 'content' => '
Bienvenue sur votre nouveau site DeltaCMS !
-Un email contenant le récapitulatif de votre installation vient de vous être envoyé.
-Connectez-vous dès maintenant à votre espace membre afin de créer un site à votre image ! Vous pourrez personnaliser le thème, créer des pages, ajouter des utilisateurs et bien plus encore !
' + 'content' => '+
Bienvenue sur votre nouveau site DeltaCMS !
+Un email contenant le récapitulatif de votre installation vient de vous être envoyé.
Connectez-vous dès maintenant à votre espace membre afin de créer un site à votre image ! Vous pourrez personnaliser le thème, créer des pages, ajouter des utilisateurs et bien plus encore !
+Welcome to your new DeltaCMS website !
+ An email containing the summary of your installation has just been sent to you.Log in now to your member area to create a site that suits you !
+You will be able to customize the theme, create pages, add users and much more !
Vous pouvez assigner des parents à vos pages afin de mieux organiser votre menu !
diff --git a/core/module/install/view/index/index.js.php b/core/module/install/view/index/index.js.php index c96e6b0..fce0d3c 100644 --- a/core/module/install/view/index/index.js.php +++ b/core/module/install/view/index/index.js.php @@ -1,3 +1,4 @@ + /** * This file is part of DeltaCMS. * For full copyright and license information, please see the LICENSE @@ -37,4 +38,25 @@ $("#installId").on("change keydown keyup", function(event) { userId = userId.replace(/[^a-z0-9-]/ig, ""); $(this).val(userId); } -}); \ No newline at end of file +}); + +/* + * Affichage des labels français ou anglais +*/ + +$("#installLang").change( function(e) { + if( $("#installLang").val() === 'en'){ + // English + for (var i = 1; i < 11; i++) { + $("#m"+i+"f").hide(); + $("#m"+i+"e").show(); + } + } + else{ + //Français + for (var i = 1; i < 11; i++) { + $("#m"+i+"e").hide(); + $("#m"+i+"f").show(); + } + } +}).trigger("change"); diff --git a/core/module/install/view/index/index.php b/core/module/install/view/index/index.php index 2fc1721..50dac6b 100644 --- a/core/module/install/view/index/index.php +++ b/core/module/install/view/index/index.php @@ -1,60 +1,100 @@ -Renseignez les champs ci-dessous pour finaliser l'installation.
+Mise à jour de Deltacms vers Deltacms .
-Afin d'assurer le bon fonctionnement de Deltacms, veuillez ne pas fermer cette page avant la fin de l'opération.
+getData(['config', 'i18n', 'langAdmin']); +switch ($val) { + case 'fr' : + $text[0] = 'Mise à jour de Deltacms '; + $text[1] = ' vers Deltacms '; + $text[2] = 'Afin d\'assurer le bon fonctionnement de Deltacms, veuillez ne pas fermer cette page avant la fin de l\'opération.'; + $text[3] = '1/4 : Préparation...'; + $text[4] = '2/4 : Téléchargement...'; + $text[5] = '3/4 : Installation...'; + $text[6] = '4/4 : Configuration...'; + $text[7] = 'Une erreur est survenue lors de l\'étape'; + $text[8] = 'Mise à jour terminée avec succès.'; + $text[9] = 'Terminer'; + break; + case 'en' : + $text[0] = 'Updating Deltacms '; + $text[1] = ' to Deltacms '; + $text[2] = 'To ensure the proper functioning of Deltacms, please do not close this page until the operation is complete.'; + $text[3] = '1/4: Preparation...'; + $text[4] = '2/4 : Download...'; + $text[5] = '3/4 : Installation...'; + $text[6] = '4/4 : Configuration...'; + $text[7] = 'An error occurred in the step'; + $text[8] = 'Update successfully completed.'; + $text[9] = 'Finish'; + break; +} + +?> +.
+Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.
+Our site is currently undergoing maintenance. We apologise for the inconvenience and are doing our best to be back soon.
Contenu de votre nouvelle page.
'); - $this->setPage($pageId, 'Contenu de votre nouvelle page.
', self::$i18n); + $this->setPage($pageId, ''.$text[1].'
', self::$i18n); // Met à jour le site map $this->createSitemap('all'); // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . $pageId, - 'notification' => 'Nouvelle page créée', + 'notification' => $text[2], 'state' => true ]); } @@ -174,6 +237,25 @@ class page extends common { * Suppression */ public function delete() { + // Lexique + $text = []; + $val = $this->getData(['config', 'i18n', 'langAdmin']); + switch ($val) { + case 'fr' : + $text[0] = 'Jeton invalide'; + $text[1] = 'Suppression non autorisée'; + $text[2] = 'Désactiver la page dans la configuration avant de la supprimer'; + $text[3] = 'Impossible de supprimer une page contenant des enfants'; + $text[4] = 'Page supprimée'; + break; + case 'en' : + $text[0] = 'Invalid token'; + $text[1] = 'Unauthorised deletion'; + $text[2] = 'Disable page in configuration before deleting'; + $text[3] = 'Cannot delete page with children'; + $text[4] = 'Page deleted'; + break; + } // $url prend l'adresse sans le token $url = explode('&',$this->getUrl(2)); // La page n'existe pas @@ -187,14 +269,14 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], - 'notification' => 'Jeton invalide' + 'notification' => $text[0] ]); } elseif ($_GET['csrf'] !== $_SESSION['csrf']) { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], - 'notification' => 'Suppression non autorisée' + 'notification' => $text[1] ]); } // Impossible de supprimer la page d'accueil @@ -202,7 +284,7 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'config', - 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + 'notification' => $text[2] ]); } // Impossible de supprimer la page de recherche affectée @@ -210,7 +292,7 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'config', - 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + 'notification' => $text[2] ]); } // Impossible de supprimer la page des mentions légales affectée @@ -218,7 +300,7 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'config', - 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + 'notification' => $text[2] ]); } // Impossible de supprimer la page des mentions légales affectée @@ -226,7 +308,7 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'config', - 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + 'notification' => $text[2] ]); } // Impossible de supprimer la page des mentions légales affectée @@ -234,7 +316,7 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'config', - 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + 'notification' => $text[2] ]); } // Impossible de supprimer la page des mentions légales affectée @@ -242,7 +324,7 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'config', - 'notification' => 'Désactiver la page dans la configuration avant de la supprimer' + 'notification' => $text[2] ]); } // Jeton incorrect @@ -250,14 +332,14 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], - 'notification' => 'Jeton invalide' + 'notification' => $text[0] ]); } elseif ($_GET['csrf'] !== $_SESSION['csrf']) { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], - 'notification' => 'Suppression non autorisée' + 'notification' => $text[1] ]); } // Impossible de supprimer une page contenant des enfants @@ -265,7 +347,7 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], - 'notification' => 'Impossible de supprimer une page contenant des enfants' + 'notification' => $text[3] ]); } // Suppression @@ -288,7 +370,7 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl(false), - 'notification' => 'Page supprimée', + 'notification' => $text[4], 'state' => true ]); } @@ -299,6 +381,19 @@ class page extends common { * Édition */ public function edit() { + // Lexique + $text = []; + $val = $this->getData(['config', 'i18n', 'langAdmin']); + switch ($val) { + case 'fr' : + $text[0] = 'Modifications enregistrées'; + $text[1] ='Aucun'; + break; + case 'en' : + $text[0] = 'Registered changes'; + $text[1] ='None'; + break; + } // La page n'existe pas if($this->getData(['page', $this->getUrl(2)]) === null) { // Valeurs en sortie @@ -480,16 +575,17 @@ class page extends common { // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . $pageId, - 'notification' => 'Modifications enregistrées', + 'notification' => $text[0], 'state' => true ]); } } } - self::$moduleIds = array_merge( ['' => 'Aucun'] , helper::arrayCollumn(helper::getModules(),'realName','SORT_ASC')); // Pages sans parent + self::$moduleIds = array_merge( ['' => $text[1]] , helper::arrayCollumn(helper::getModules(),'realName','SORT_ASC')); // Pages sans parent foreach($this->getHierarchy() as $parentPageId => $childrenPageIds) { if($parentPageId !== $this->getUrl(2)) { self::$pagesNoParentId[$parentPageId] = $this->getData(['page', $parentPageId, 'title']); + self::$pagesNoParentId_en[$parentPageId] = $this->getData(['page', $parentPageId, 'title']); } } // Pages barre latérales @@ -497,10 +593,19 @@ class page extends common { if($parentPageId !== $this->getUrl(2) && $this->getData(['page', $parentPageId, 'block']) === 'bar') { self::$pagesBarId[$parentPageId] = $this->getData(['page', $parentPageId, 'title']); + self::$pagesBarId_en[$parentPageId] = $this->getData(['page', $parentPageId, 'title']); } } // Mise à jour de la liste des pages pour TinyMCE $this->pages2Json(); + // Passage de la langue d'administration à Tinymce + $lang_admin = 'fr_FR'; + if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en') $lang_admin = 'en_GB'; + ?> + + addOutput([ 'title' => $this->getData(['page', $this->getUrl(2), 'title']), diff --git a/core/module/page/view/edit/edit.js.php b/core/module/page/view/edit/edit.js.php index 4807a72..e70d3d6 100644 --- a/core/module/page/view/edit/edit.js.php +++ b/core/module/page/view/edit/edit.js.php @@ -20,7 +20,14 @@ */ $("#pageEditDelete").on("click", function() { var _this = $(this); - return core.confirm("Confirmez-vous la suppression de cette page ?", function() { + var text = ""; + getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){ + echo 'text = "Êtes-vous sûr de vouloir supprimer cette page ?";' ; + } + else{ + echo 'text = "Are you sure you want to delete this page ?";' ; + } ?> + return core.confirm( text, function() { $(location).attr("href", _this.attr("href")); }); }); @@ -36,7 +43,17 @@ function protectModule() { if ( oldModule !== "" && oldModule !== newModule) { var _this = $(this); - core.confirm("Les données du module " + oldModuleText + " seront effacées. Confirmez-vous ?", + var text1 = ""; + var text2 = ""; + getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){ + echo 'text1 = "Les données du module ";' ; + echo 'text2 = " seront effacées. Confirmez-vous ?";' ; + } + else{ + echo 'text1 = "The data in the module ";' ; + echo 'text2 = " will be deleted. Do you confirm?";' ; + } ?> + core.confirm( text1 + oldModuleText + text2, function() { $(location).attr("href", _this.attr("href")); return true; @@ -251,7 +268,7 @@ $( document ).ready(function() { /** - * Cache le l'option "ne pas afficher les pages enfants dans le menu horizontal" lorsque la page est désactivée + * Cache l'option "ne pas afficher les pages enfants dans le menu horizontal" lorsque la page est désactivée */ var pageEditDisableDOM = $("#pageEditDisable"); pageEditDisableDOM.on("change", function() { @@ -528,14 +545,27 @@ var hierarchy = getHierarchy()); ?>; var pages = getData(['page'])); ?>; -// 9.0.07 corrige une mauvaise sélection d'une page orpheline avec enfant + var positionInitial = getData(['page',$this->getUrl(2),"position"]); ?>; -// 9.0.07 + $("#pageEditParentPageId").on("change", function() { var positionDOM = $("#pageEditPosition"); + var text1=""; + var text2=""; + var text3=""; + getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){ + echo 'text1 = "Ne pas afficher";' ; + echo 'text2 = "Au début";' ; + echo 'text3 = "Après \"";' ; + } + else{ + echo 'text1 = "Do not display";' ; + echo 'text2 = "At the beginning";' ; + echo 'text3 = "After \"";' ; + } ?> positionDOM.empty().append( - $("Informations générales +
@@ -53,15 +161,15 @@
'Titre',
+ 'label' => $text[6],
'value' => $this->getData(['page', $this->getUrl(2), 'title'])
]); ?>
'Titre Court',
+ 'label' => $text[7],
'value' => $this->getData(['page', $this->getUrl(2), 'shortTitle']),
- 'help' => 'Le titre court est affiché dans les menus. Il peut être identique au titre de la page.'
+ 'help' => $text[8]
]); ?>
@@ -69,8 +177,8 @@
'En cas de changement de module, les données du module précédent seront supprimées.',
- 'label' => 'Module',
+ 'help' => $text[9],
+ 'label' => $text[10],
'selected' => $this->getData(['page', $this->getUrl(2), 'moduleId'])
]); ?>
$this->getData(['page', $this->getUrl(2), 'moduleId'])]); ?>
@@ -90,22 +198,22 @@
- 'Aspect du lien',
+ $text[11],
'selected' => $this->getData(['page', $this->getUrl(2), 'typeMenu'])
]); ?>
'Sélectionnez une image ou une icône de petite dimension',
- 'label' => 'Icône',
+ 'help' => $text[12],
+ 'label' => $text[13],
'value' => $this->getData(['page', $this->getUrl(2), 'iconUrl'])
]); ?>
- 'En position libre ajoutez le module en plaçant [MODULE] à l\'endroit voulu dans votre page.',
- 'label' => 'Position du module',
+ $text[14],
+ 'label' => $text[15],
'selected' => $this->getData(['page', $this->getUrl(2), 'modulePosition'])
]); ?>
@@ -125,7 +233,7 @@
-
Mise en page +
@@ -137,9 +245,9 @@
- 'Gabarits de page / Barre latérale',
- 'help' => 'Pour définir la page comme barre latérale, choisissez l\'option dans la liste.',
+ $text[17],
+ 'help' => $text[18],
'selected' => $this->getData(['page', $this->getUrl(2) , 'block'])
]); ?>
@@ -152,8 +260,8 @@
'value' => $this->getData(['page', $this->getUrl(2), 'barLeft'])
]); ?>
- 'Barre latérale gauche :',
+ $text[19],
'selected' => $this->getData(['page', $this->getUrl(2), 'barLeft'])
]); ?>
@@ -162,15 +270,15 @@
'value' => $this->getData(['page', $this->getUrl(2), 'barRight'])
]); ?>
- 'Barre latérale droite :',
+ $text[20],
'selected' => $this->getData(['page', $this->getUrl(2), 'barRight'])
]); ?>
- 'Contenu du menu vertical',
+ $text[21],
'selected' => $this->getData(['page', $this->getUrl(2), 'displayMenu']),
- 'help' => 'Par défaut le menu est affiché APRES le contenu de la page. Pour le positionner à un emplacement précis, insérez [MENU] dans le contenu de la page.'
+ 'help' => $text[22]
]); ?>
@@ -181,7 +289,7 @@
-
Emplacement dans le menu +
@@ -192,8 +300,8 @@
'Position',
- 'help' => '\'Ne pas afficher\' crée une page orpheline non accessible par le biais des menus.'
+ 'label' => $text[24],
+ 'help' => $text[25]
]); ?>
@@ -202,8 +310,8 @@
'value' => $this->getData(['page', $this->getUrl(2), 'parentPageId'])
]); ?>
- 'Page parent',
+ $text[26],
'selected' => $this->getData(['page', $this->getUrl(2), 'parentPageId'])
]); ?>
@@ -212,27 +320,27 @@
- $this->getData(['page', $this->getUrl(2), 'disable']),
- 'help' => 'Une page désactivée n\'est pas cliquable en mode déconnecté, les pages enfants sont visibles et accessibles. La page d\'accueil n\'est pas désactivable.'
+ 'help' => $text[27]
]); ?>
- $this->getData(['page', $this->getUrl(2), 'targetBlank'])
]); ?>
- $this->getData(['page', $this->getUrl(2), 'hideTitle'])
]); ?>
- $this->getData(['page', $this->getUrl(2), 'breadCrumb']),
- 'help' => 'Affiche le nom de la page parente suivi du nom de la page, le titre ne doit pas être masqué.'
+ 'help' => $text[28]
]); ?>
@@ -243,7 +351,7 @@
-
Options d'emplacement avancées +
@@ -253,14 +361,14 @@
- $this->getData(['page', $this->getUrl(2), 'hideMenuChildren'])
]); ?>
- $this->getData(['page', $this->getUrl(2), 'hideMenuSide']),
- 'help' => 'La page est affichée dans un menu horizontal mais pas dans le menu vertical d\'une barre latérale.'
+ 'help' => $text[32]
]); ?>
@@ -271,7 +379,7 @@
-
Permission et référencement +
@@ -281,18 +389,18 @@
- 'Groupe requis pour accéder à la page :',
+ $text[34],
'selected' => $this->getData(['page', $this->getUrl(2), 'group'])
]); ?>
'Méta-titre',
+ 'label' => $text[35],
'value' => $this->getData(['page', $this->getUrl(2), 'metaTitle'])
]); ?>
'Méta-description',
+ 'label' => $text[36],
//'maxlength' => '500',
'value' => $this->getData(['page', $this->getUrl(2), 'metaDescription'])
]); ?>
diff --git a/core/module/sitemap/sitemap.php b/core/module/sitemap/sitemap.php
index a982e30..d4a036a 100644
--- a/core/module/sitemap/sitemap.php
+++ b/core/module/sitemap/sitemap.php
@@ -27,8 +27,18 @@ class sitemap extends common
/**
* Plan du site
*/
- public function index()
- {
+ public function index() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langBase']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Plan du site';
+ break;
+ default :
+ $text[0] = 'Site map';
+ break;
+ }
$items = '
-
'off',
- 'label' => 'Nom',
- 'help' => 'Nom de la police, majuscules et espaces autorisés'
+ 'label' => $text[4],
+ 'help' => $text[5]
]); ?>
- 'Liaison avec un fichier de police',
+ $text[6],
'selected' => 'file',
- 'help' => 'Le fichier de police est envoyé, ou pas, depuis un dépôt local'
+ 'help' => $text[7]
]); ?>
'Vous devez au préalable téléverser le fichier de police, ttf, woff, otf, eot ou woff2 dans le dossier fonts avec le gestionnaire de fichiers.',
- 'label' => 'Sélection d\'une police'
+ 'help' => $text[8],
+ 'label' => $text[9]
]); ?>
@@ -53,8 +92,8 @@
'off',
- 'label' => 'License',
- 'help' => 'Type de license de la police'
+ 'label' => $text[10],
+ 'help' => $text[11]
]); ?>
diff --git a/core/module/theme/view/admin/admin.js.php b/core/module/theme/view/admin/admin.js.php
index 46ddc96..a06d138 100644
--- a/core/module/theme/view/admin/admin.js.php
+++ b/core/module/theme/view/admin/admin.js.php
@@ -56,7 +56,14 @@ $("input, select").on("change", function() {
*/
$("#configAdminReset").on("click", function() {
var _this = $(this);
- return core.confirm("Êtes-vous sûr de vouloir réinitialiser à son état d'origine le thème de l\'administration ?", function() {
+ var text="";
+ getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){
+ echo 'text = "Êtes-vous sûr de vouloir réinitialiser à son état d\'origine le thème de l\'administration ?";' ;
+ }
+ else{
+ echo 'text = "Are you sure you want to reset the administration theme to its original state ?";' ;
+ } ?>
+ return core.confirm(text, function() {
$(location).attr("href", _this.attr("href"));
});
});
diff --git a/core/module/theme/view/admin/admin.php b/core/module/theme/view/admin/admin.php
index 688f8a5..74da2c1 100644
--- a/core/module/theme/view/admin/admin.php
+++ b/core/module/theme/view/admin/admin.php
@@ -1,3 +1,56 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[3] = 'Réinitialiser';
+ $text[4] = 'Valider';
+ $text[5] = 'Couleurs';
+ $text[6] = 'Couleur visible en l\'absence d\'une image.
@@ -5,7 +58,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -13,26 +66,21 @@
'href' => 'https://doc.deltacms.fr/administration',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
-
- 'Bouton Standard'
- ]); ?>
-
-
+
'buttonRed',
'href' => helper::baseUrl() . 'theme/reset/admin' . '&csrf=' . $_SESSION['csrf'],
- 'value' => 'Réinitialiser',
+ 'value' => $text[3],
'ico' => 'cancel'
]); ?>
'Valider',
+ 'value' => $text[4],
'ico' => 'check'
]); ?>
@@ -40,29 +88,29 @@
-
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
@@ -71,24 +119,24 @@
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
@@ -97,32 +145,32 @@
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
@@ -133,24 +181,24 @@
-
'Police du texte',
+ 'label' => $text[19],
'selected' => $this->getData(['admin', 'fontText']),
'fonts' => true
]); ?>
'Taille',
+ 'label' => $text[20],
'selected' => $this->getData(['admin', 'fontSize'])
]); ?>
'Police des titres',
+ 'label' => $text[21],
'selected' => $this->getData(['admin', 'fontTitle']),
'fonts' => true
]); ?>
diff --git a/core/module/theme/view/advanced/advanced.js.php b/core/module/theme/view/advanced/advanced.js.php
index ad3936a..6d5a701 100644
--- a/core/module/theme/view/advanced/advanced.js.php
+++ b/core/module/theme/view/advanced/advanced.js.php
@@ -32,7 +32,14 @@ $("#themeAdvancedCss").on("change keydown keyup", function() {
*/
$("#themeAdvancedReset").on("click", function() {
var _this = $(this);
- return core.confirm("Êtes-vous sûr de vouloir réinitialiser à son état d'origine la personnalisation avancée ?", function() {
+ var text="";
+ getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){
+ echo 'text = "Êtes-vous sûr de vouloir réinitialiser à son état d\'origine la personnalisation avancée ?";' ;
+ }
+ else{
+ echo 'text = "Are you sure you want to reset the advanced customization to its original state ?";' ;
+ } ?>
+ return core.confirm(text, function() {
$(location).attr("href", _this.attr("href"));
});
});
\ No newline at end of file
diff --git a/core/module/theme/view/advanced/advanced.php b/core/module/theme/view/advanced/advanced.php
index ae1f7bf..95222a3 100644
--- a/core/module/theme/view/advanced/advanced.php
+++ b/core/module/theme/view/advanced/advanced.php
@@ -1,3 +1,22 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Réinitialiser';
+ $text[3] = 'Enregistrer';
+ break;
+ case 'en' :
+ $text[0] = 'Back';
+ $text[1] = 'Help';
+ $text[2] = 'Reset';
+ $text[3] = 'Save';
+ break;
+}
+?>
@@ -5,7 +24,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -13,7 +32,7 @@
'href' => 'https://doc.deltacms.fr/editeur-css',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
@@ -22,11 +41,13 @@
'href' => helper::baseUrl() . 'theme/reset/custom' . '&csrf=' . $_SESSION['csrf'],
'class' => 'buttonRed',
'ico' => 'cancel',
- 'value' => 'Réinitialiser'
+ 'value' => $text[2]
]); ?>
-
+ $text[3]
+ ]); ?>
diff --git a/core/module/theme/view/body/body.php b/core/module/theme/view/body/body.php
index b55c4bf..f6b8e77 100644
--- a/core/module/theme/view/body/body.php
+++ b/core/module/theme/view/body/body.php
@@ -1,3 +1,54 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Enregistrer';
+ $text[3] = 'Couleurs';
+ $text[4] = 'Couleur visible en l\'absence d\'une image.
@@ -5,7 +56,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -13,24 +64,26 @@
'href' => 'https://doc.deltacms.fr/personnalisation-de-l-arriere-plan',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
-
+ $text[2]
+ ]); ?>
-
'colorPicker',
- 'help' => 'Couleur visible en l\'absence d\'une image.
@@ -39,16 +92,16 @@
'colorPicker',
- 'help' => 'Le curseur horizontal règle le niveau de transparence.',
- 'label' => 'Fond icône haut de page',
+ 'help' => $text[6],
+ 'label' => $text[7],
'value' => $this->getData(['theme', 'body', 'toTopbackgroundColor'])
]); ?>
'colorPicker',
- 'help' => 'Le curseur horizontal règle le niveau de transparence.',
- 'label' => 'Icône haut de page',
+ 'help' => $text[6],
+ 'label' => $text[8],
'value' => $this->getData(['theme', 'body', 'toTopColor'])
]); ?>
@@ -59,14 +112,14 @@
-
getData(['theme', 'body', 'image'])) ? $this->getData(['theme', 'body', 'image']) : "";
echo template::file('themeBodyImage', [
- 'help' => 'Sélectionner une image',
- 'label' => 'Arrière-plan',
+ 'help' => $text[10],
+ 'label' => $text[11],
'type' => 1,
'value' => $imageFile
]); ?>
@@ -75,28 +128,28 @@
- 'Répétition',
+ $text[12],
'selected' => $this->getData(['theme', 'body', 'imageRepeat'])
]); ?>
- 'Position',
+ $text[13],
'selected' => $this->getData(['theme', 'body', 'imagePosition'])
]); ?>
- 'Défilement',
+ $text[14],
'selected' => $this->getData(['theme', 'body', 'imageAttachment'])
]); ?>
- 'Taille',
+ $text[15],
'selected' => $this->getData(['theme', 'body', 'imageSize'])
]); ?>
diff --git a/core/module/theme/view/editFonts/editFonts.php b/core/module/theme/view/editFonts/editFonts.php
index 04cd257..8595302 100644
--- a/core/module/theme/view/editFonts/editFonts.php
+++ b/core/module/theme/view/editFonts/editFonts.php
@@ -1,3 +1,40 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Enregistrer';
+ $text[3] = 'Paramètres de la police';
+ $text[4] = 'Nom de la police sélectionnée';
+ $text[5] = 'Valeur non modifiable';
+ $text[6] = 'Liaison avec un fichier de police';
+ $text[7] = 'Le fichier de police est envoyé, ou pas, depuis un dépôt local';
+ $text[8] = 'Vous devez au préalable téléverser le fichier de police, ttf, woff, otf, eot ou woff2 dans le dossier fonts avec le gestionnaire de fichiers.';
+ $text[9] = 'Sélection d\'une police';
+ $text[10] = 'License';
+ $text[11] = 'Type de license de la police';
+ $typeAddFont = $module::$typeAddFont;
+ break;
+ case 'en' :
+ $text[0] = 'Back';
+ $text[1] = 'Help';
+ $text[2] = 'Save';
+ $text[3] = 'Font settings';
+ $text[4] = 'Selected font name';
+ $text[5] = 'Value not editable';
+ $text[6] = 'Link to a font file';
+ $text[7] = 'The font file is sent, or not, from a local repository';
+ $text[8] = 'You must first upload the font file, ttf, woff, otf, eot or woff2 to the fonts folder with the file manager';
+ $text[9] = 'Select a font';
+ $text[10] = 'License';
+ $text[11] = 'License type of the font';
+ $typeAddFont = $module::$typeAddFont_en;
+ break;
+}
+?>
@@ -6,7 +43,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme/fonts',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -14,31 +51,33 @@
'href' => 'https://doc.deltacms.fr/polices',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
-
+ $text[2]
+ ]); ?>
-
$this->getData(['fonts', $this->getUrl(2),'name']),
- 'label' => 'Nom de la police sélectionnée',
+ 'label' => $text[4],
'readonly' => true,
- 'help' => 'Valeur non modifiable'
+ 'help' => $text[5]
]); ?>
- 'Liaison avec un fichier de police',
+ $text[6],
'selected' => $this->getData(['fonts', $this->getUrl(2),'type']),
- 'help' => 'Le fichier de police est envoyé, ou pas, depuis un dépôt local'
+ 'help' => $text[7]
]); ?>
@@ -46,8 +85,8 @@
getData(['fonts', $this->getUrl(2),'file']), $module::$fontFiles);
echo template::select('fileEditFont', $module::$fontFiles, [
'selected' => $key,
- 'help' => 'Vous devez au préalable téléverser le fichier de police, ttf, woff, otf, eot ou woff2 dans le dossier fonts avec le gestionnaire de fichiers.',
- 'label' => 'Sélection d\'une police'
+ 'help' => $text[8],
+ 'label' => $text[9]
]); ?>
@@ -56,8 +95,8 @@
$this->getData(['fonts', $this->getUrl(2),'license']),
- 'label' => 'License',
- 'help' => 'Type de license de la police'
+ 'label' => $text[10],
+ 'help' => $text[11]
]); ?>
diff --git a/core/module/theme/view/fonts/fonts.js.php b/core/module/theme/view/fonts/fonts.js.php
index 080d465..76b4b04 100644
--- a/core/module/theme/view/fonts/fonts.js.php
+++ b/core/module/theme/view/fonts/fonts.js.php
@@ -19,7 +19,14 @@
*/
$(".fontDelete").on("click", function() {
var _this = $(this);
- return core.confirm("Êtes-vous sûr de vouloir supprimer cette police ?", function() {
+ var text="";
+ getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){
+ echo 'text = "Êtes-vous sûr de vouloir supprimer cette police ?";' ;
+ }
+ else{
+ echo 'text = "Are you sure you want to delete this font ?";' ;
+ } ?>
+ return core.confirm(text, function() {
$(location).attr("href", _this.attr("href"));
});
});
\ No newline at end of file
diff --git a/core/module/theme/view/fonts/fonts.php b/core/module/theme/view/fonts/fonts.php
index d8e46eb..def8792 100644
--- a/core/module/theme/view/fonts/fonts.php
+++ b/core/module/theme/view/fonts/fonts.php
@@ -1,10 +1,35 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Police';
+ $text[3] = 'Identifiant';
+ $text[4] = 'Nom';
+ $text[5] = 'Fichier';
+ $text[6] = 'Aperçu';
+ break;
+ case 'en' :
+ $text[0] = 'Back';
+ $text[1] = 'Help';
+ $text[2] = 'Police';
+ $text[3] = 'Username';
+ $text[4] = 'Name';
+ $text[5] = 'File';
+ $text[6] = 'Preview';
+ break;
+}
+?>
'buttonGrey',
'href' => helper::baseUrl() . 'theme',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -12,7 +37,7 @@
'href' => 'https://doc.deltacms.fr/polices',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
@@ -20,9 +45,9 @@
helper::baseUrl() . 'theme/addFonts',
'ico' => 'plus',
- 'value' => 'Police'
+ 'value' => $text[2]
]); ?>
-
+
diff --git a/core/module/theme/view/footer/footer.js.php b/core/module/theme/view/footer/footer.js.php
index e6dc861..0c9d9de 100644
--- a/core/module/theme/view/footer/footer.js.php
+++ b/core/module/theme/view/footer/footer.js.php
@@ -120,12 +120,25 @@ $(".themeFooterContent").on("change",function() {
// Modification dynamique de la mise en page
$("#themeFooterTemplate").on("change",function() {
// Nettoyage des sélecteurs des contenus
- var newOptions = {
+ var newOptions = {};
+ getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){
+ echo " newOptions = {
4: {'hide' : 'Masqué', 'left' : 'En haut', 'center' : 'Au milieu', 'right' : 'En bas'} ,
3: {'hide': 'Masqué', 'left': 'A gauche', 'center': 'Au centre', 'right': 'A droite'} ,
2: {'hide': 'Masqué', 'left': 'A gauche', 'right': 'A droite'} ,
1: {'hide': 'Masqué', 'center': 'Affiché'}
- };
+ };";
+ }
+ else{
+ echo " newOptions = {
+ 4: {'hide' : 'Hidden', 'left' : 'Top', 'center' : 'Middle', 'right' : 'Bottom'} ,
+ 3: {'hide': 'Hidden', 'left': 'Left', 'center': 'Center', 'right': 'Right'} ,
+ 2: {'hide': 'Hidden', 'left': 'Left', 'right': 'Right'} ,
+ 1: {'hide': 'Hidden', 'center': 'Display'}
+ };" ;
+ } ?>
+
+
var $el = $(".themeFooterContent");
$el.empty();
// Eléments des position de contenus
diff --git a/core/module/theme/view/footer/footer.php b/core/module/theme/view/footer/footer.php
index 0e2a652..e110fbd 100644
--- a/core/module/theme/view/footer/footer.php
+++ b/core/module/theme/view/footer/footer.php
@@ -1,3 +1,122 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Enregistrer';
+ $text[3] = 'Paramètres';
+ $text[4] = 'Position';
+ $text[5] = 'Marges verticales';
+ $text[6] = 'Couleurs';
+ $text[7] = 'Texte';
+ $text[8] = 'Arrière-plan';
+ $text[9] = '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.';
+ $text[10] = 'Contenu';
+ $text[11] = 'Motorisé par';
+ $text[12] = 'Affiche cette mention devant DeltaCMS';
+ $text[13] = 'Version';
+ $text[14] = 'Affiche le numéro de version après DeltaCMS';
+ $text[15] = 'Plan du site';
+ $text[16] = 'Cookies';
+ $text[17] = 'Message d\'information relatif aux cookies, disponible si l\'acceptation des cookies est activé.';
+ $text[18] = 'Lien de connexion';
+ $text[19] = 'Pour limiter les tentatives de piratage, enregistrez la page de connexion en favori et désactivez cette option.';
+ $text[20] = 'Barre du membre';
+ $text[21] = '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.';
+ $text[22] = 'Mentions légales';
+ $text[23] = 'Option active si une page a été sélectionnée.';
+ $text[24] = 'Aucune';
+ $text[25] = 'Page "Mentions légales" ';
+ $text[26] = 'Rechercher';
+ $text[27] = 'Option active si une page a été sélectionnée.';
+ $text[28] = 'Page "Rechercher" ';
+ $text[29] = 'Options identique à la configuration du site';
+ $text[30] = 'Mise en forme du texte';
+ $text[31] = 'Police';
+ $text[32] = 'Taille';
+ $text[33] = 'Proportionnelle à celle définie dans le site.';
+ $text[34] = 'Style';
+ $text[35] = 'Casse';
+ $text[36] = 'Dispositions';
+ $text[37] = 'Répartition';
+ $text[38] = 'Contenu personnalisé';
+ $text[39] = 'Position';
+ $text[40] = 'Alignement';
+ $text[41] = 'Réseaux sociaux';
+ $text[42] = 'Informations';
+ $text[43] = 'Alignement avec le contenu';
+ $text[44] = 'Pied de page fixe';
+ $text[45] = 'Contenu personnalisé';
+ $footerPositions = $module::$footerPositions;
+ $footerHeights = $module::$footerHeights;
+ $footerFontSizes = $module::$footerFontSizes;
+ $fontWeights = $module::$fontWeights;
+ $textTransforms = $module::$textTransforms;
+ $footerblocks = $module::$footerblocks;
+ $footerTemplate = $module::$footerTemplate;
+ $aligns = $module::$aligns;
+ break;
+ case 'en' :
+ $text[0] = 'Back';
+ $text[1] = 'Help';
+ $text[2] = 'Save';
+ $text[3] = 'Settings';
+ $text[4] = 'Position';
+ $text[5] = 'Vertical margins';
+ $text[6] = 'Colours';
+ $text[7] = 'Text';
+ $text[8] = 'Background';
+ $text[9] = 'When the footer is inside the site, the transparent background shows the page background. When the footer is outside the site, the transparent background shows the site background';
+ $text[10] = 'Content';
+ $text[11] = 'Powered by';
+ $text[12] = 'Displays this in front of DeltaCMS';
+ $text[13] = 'Version';
+ $text[14] = 'Displays the version number after DeltaCMS';
+ $text[15] = 'Site map';
+ $text[16] = 'Cookies';
+ $text[17] = 'Cookie information message, available if cookie acceptance is enabled';
+ $text[18] = 'Login link';
+ $text[19] = 'To limit hacking attempts, save the login page as a favourite and disable this option';
+ $text[20] = 'Member bar';
+ $text[21] = 'Displays account management and logout icons for simple logged-in members, does not apply to editors and administrators';
+ $text[22] = 'Legal notice';
+ $text[23] = 'Option active if a page has been selected';
+ $text[24] = 'None';
+ $text[25] = 'Legal page ';
+ $text[26] = 'Search';
+ $text[27] = 'Option active if a page has been selected';
+ $text[28] = 'Search page ';
+ $text[29] = 'Options same as site configuration';
+ $text[30] = 'Text formatting';
+ $text[31] = 'Font';
+ $text[32] = 'Size';
+ $text[33] = 'Proportional to that defined in the site';
+ $text[34] = 'Style';
+ $text[35] = 'Character case';
+ $text[36] = 'Layout';
+ $text[37] = 'Breakdown';
+ $text[38] = 'Custom content';
+ $text[39] = 'Position';
+ $text[40] = 'Alignment';
+ $text[41] = 'Social networks';
+ $text[42] = 'Information';
+ $text[43] = 'Alignment with content';
+ $text[44] = 'Fixed footer';
+ $text[45] = 'Customised content';
+ $footerPositions = $module::$footerPositions_en;
+ $footerHeights = $module::$footerHeights_en;
+ $footerFontSizes = $module::$footerFontSizes_en;
+ $fontWeights = $module::$fontWeights_en;
+ $textTransforms = $module::$textTransforms_en;
+ $footerblocks = $module::$footerblocks_en;
+ $footerTemplate = $module::$footerTemplate_en;
+ $aligns = $module::$aligns_en;
+ break;
+}
+?>
@@ -5,7 +124,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -13,28 +132,30 @@
'href' => 'https://doc.deltacms.fr/personnalisation-du-pied-de-page',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
-
+ $text[2]
+ ]); ?>
-
- 'Position',
+ $text[4],
'selected' => $this->getData(['theme', 'footer', 'position'])
]); ?>
- 'Marges verticales',
+ $text[5],
'selected' => $this->getData(['theme', 'footer', 'height'])
]); ?>
@@ -45,21 +166,21 @@
-
'colorPicker',
- 'label' => 'Texte',
+ 'label' => $text[7],
'value' => $this->getData(['theme', 'footer', 'textColor'])
]); ?>
'colorPicker',
- 'label' => 'Arrière-plan',
+ 'label' => $text[8],
'value' => $this->getData(['theme', 'footer', 'backgroundColor']),
- '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.'
+ 'help' => $text[9]
]); ?>
@@ -69,75 +190,77 @@
-
- $this->getData(['theme', 'footer','displayCopyright']),
- 'help' => 'Affiche cette mention devant DeltaCMS'
+ 'help' => $text[12]
]); ?>
- $this->getData(['theme', 'footer','displayVersion']),
- 'help' => 'Affiche le numéro de version après DeltaCMS'
+ 'help' => $text[14]
]); ?>
- $this->getData(['theme', 'footer', 'displaySiteMap'])
]); ?>
- $this->getData(['config', 'cookieConsent']) === true ? $this->getData(['theme', 'footer', 'displayCookie']) : false,
- 'help' => 'Message d\'information relatif aux cookies, disponible si l\'acceptation des cookies est activé.',
+ 'help' => $text[17],
'disabled' => !$this->getData(['config', 'cookieConsent'])
]); ?>
- $this->getData(['theme', 'footer', 'loginLink']),
- 'help' => 'Pour limiter les tentatives de piratage, enregistrez la page de connexion en favori et désactivez cette option.'
+ 'help' => $text[19]
]); ?>
- $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.'
+ 'help' => $text[21]
]); ?>
- $this->getData(['locale', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']),
'disabled' => $this->getData(['locale', 'legalPageId']) === 'none' ? true : false,
- 'help' => 'Option active si une page a été sélectionnée.'
+ 'help' => $text[23]
]); ?>
- 'Aucune'] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [
- 'label' => 'Page "Mentions légales" ' . template::flag('site', '20px'),
+ getInput('DELTA_I18N_SITE') === 'base') $flag = $this->getData(['config', 'i18n', 'langBase']); ?>
+ $text[24]] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [
+ 'label' => $text[25] . template::flag($flag, '20px'),
'selected' => $this->getData(['locale', 'legalPageId'])
]); ?>
- $this->getData(['locale', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']),
'disabled' => $this->getData(['locale', 'searchPageId']) === 'none' ? true : false,
- 'help' => 'Option active si une page a été sélectionnée.'
+ 'help' => $text[27]
]); ?>
- 'Aucune'] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [
- 'label' => 'Page "Rechercher" ' . template::flag('site', '20px'),
+ $text[24]] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [
+ 'label' => $text[28] . template::flag($flag, '20px'),
'selected' => $this->getData(['locale', 'searchPageId']),
- 'help' => 'Options identique à la configuration du site',
-
+ 'help' => $text[29]
]); ?>
@@ -147,7 +270,7 @@
'Contenu personnalisé ',
+ 'label' => ''.$text[45].' ',
'value' => $this->getData(['theme', 'footer', 'text']),
'class' => 'editorWysiwyg'
]); ?>
@@ -156,31 +279,31 @@
-
'Police',
+ 'label' => $text[31],
'selected' => $this->getData(['theme', 'footer', 'font']),
'fonts' => true
]); ?>
- 'Taille',
- 'help' => 'Proportionnelle à celle définie dans le site.',
+ $text[32],
+ 'help' => $text[33],
'selected' => $this->getData(['theme', 'footer', 'fontSize'])
]); ?>
- 'Style',
+ $text[34],
'selected' => $this->getData(['theme', 'footer', 'fontWeight'])
]); ?>
- 'Casse',
+ $text[35],
'selected' => $this->getData(['theme', 'footer', 'textTransform'])
]); ?>
@@ -191,23 +314,23 @@
-
- getData(['theme', 'footer', 'template'])) ? $module::$footerblocks[3] : $module::$footerblocks [$this->getData(['theme', 'footer', 'template'])] ;?>
- 'Répartition',
+ getData(['theme', 'footer', 'template'])) ? $footerblocks[3] : $footerblocks [$this->getData(['theme', 'footer', 'template'])] ;?>
+ $text[37],
'selected' => is_null($this->getData(['theme', 'footer', 'template'])) ? 4 : $this->getData(['theme', 'footer', 'template'])
]); ?>
-
'Position',
+ 'label' => $text[39],
'selected' => $this->getData(['theme', 'footer', 'textPosition']),
'class' => 'themeFooterContent'
]); ?>
@@ -215,19 +338,19 @@
- 'Alignement',
+ $text[40],
'selected' => $this->getData(['theme', 'footer', 'textAlign'])
]); ?>
-
'Position',
+ 'label' => $text[39],
'selected' => $this->getData(['theme', 'footer', 'socialsPosition']),
'class' => 'themeFooterContent'
]); ?>
@@ -235,19 +358,19 @@
- 'Alignement',
+ $text[40],
'selected' => $this->getData(['theme', 'footer', 'socialsAlign'])
]); ?>
-
'Position',
+ 'label' => $text[39],
'selected' => $this->getData(['theme', 'footer', 'copyrightPosition']),
'class' => 'themeFooterContent'
]); ?>
@@ -255,8 +378,8 @@
- 'Alignement',
+ $text[40],
'selected' => $this->getData(['theme', 'footer', 'copyrightAlign'])
]); ?>
@@ -264,14 +387,14 @@
- $this->getData(['theme', 'footer', 'margin'])
]); ?>
- $this->getData(['theme', 'footer', 'fixed'])
]); ?>
diff --git a/core/module/theme/view/header/header.js.php b/core/module/theme/view/header/header.js.php
index 2dfbff0..461992d 100644
--- a/core/module/theme/view/header/header.js.php
+++ b/core/module/theme/view/header/header.js.php
@@ -70,7 +70,14 @@ $("input, select").on("change", function() {
// Modifier la valeur
$("#themeHeaderHeight option:eq(0)").val(tmpImgHeight + "px");
// Modifier l'option
- $("#themeHeaderHeight option:eq(0)").html("Hauteur de l\'image sélectionnée (" + tmpImgHeight + "px)");
+ var text="";
+ getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){
+ echo 'text = "Hauteur de l\'image sélectionnée (";' ;
+ }
+ else{
+ echo 'text = "Height of the selected image (";' ;
+ } ?>
+ $("#themeHeaderHeight option:eq(0)").html( text + tmpImgHeight + "px)");
}
};
diff --git a/core/module/theme/view/header/header.php b/core/module/theme/view/header/header.php
index 35272dd..6d64ea1 100644
--- a/core/module/theme/view/header/header.php
+++ b/core/module/theme/view/header/header.php
@@ -1,3 +1,106 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Paramètres';
+ $text[3] = 'Position';
+ $text[4] = 'Nature de contenu';
+ $text[5] = 'Hauteur maximale';
+ $text[6] = 'La hauteur maximale est de 600 pixels, même si les dimensions de l\'image sélectionnée sont supérieures.
@@ -5,7 +108,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -13,57 +116,59 @@
'href' => 'https://doc.deltacms.fr/personnalisation-de-la-banniere',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
-
+ $text[34]
+ ]); ?>
-
- 'Position',
+ $text[3],
'selected' => $this->getData(['theme', 'header', 'position'])
]); ?>
- 'Nature de contenu',
+ $text[4],
'selected' => $this->getData(['theme', 'header', 'feature'])
]); ?>
- 'Hauteur maximale',
+ $text[5],
'selected' => $this->getData(['theme', 'header', 'height']),
- 'help' => 'La hauteur maximale est de 600 pixels, même si les dimensions de l\'image sélectionnée sont supérieures.
- 'Largeur',
+ $text[7],
'selected' => $this->getData(['theme', 'header', 'wide'])
]); ?>
- $this->getData(['theme', 'header', 'tinyHidden'])
]); ?>
- $this->getData(['theme', 'header', 'margin'])
]); ?>
@@ -75,21 +180,21 @@
-
'colorPicker',
- 'help' => 'Le curseur horizontal règle le niveau de transparence.',
- 'label' => 'Arrière-plan',
+ 'help' => $text[11],
+ 'label' => $text[12],
'value' => $this->getData(['theme', 'header', 'backgroundColor'])
]); ?>
'colorPicker',
- 'help' => 'Le curseur horizontal règle le niveau de transparence.',
- 'label' => 'Texte',
+ 'help' => $text[13],
+ 'label' => $text[14],
'value' => $this->getData(['theme', 'header', 'textColor'])
]); ?>
@@ -100,44 +205,44 @@
-
- $this->getData(['theme', 'header', 'textHide'])
]); ?>
'Police',
+ 'label' => $text[17],
'selected' => $this->getData(['theme', 'header', 'font']),
'fonts' => true
]); ?>
- 'Taille',
- 'help' => 'Proportionnelle à celle définie dans le site.',
+ $text[18],
+ 'help' => $text[21],
'selected' => $this->getData(['theme', 'header', 'fontSize'])
]); ?>
- 'Style',
+ $text[19],
'selected' => $this->getData(['theme', 'header', 'fontWeight'])
]); ?>
- 'Casse',
+ $text[20],
'selected' => $this->getData(['theme', 'header', 'textTransform'])
]); ?>
- 'Alignement du contenu',
+ $text[22],
'selected' => $this->getData(['theme', 'header', 'textAlign'])
]); ?>
@@ -149,15 +254,15 @@
-
getData(['theme', 'header', 'image'])) ?
$this->getData(['theme', 'header', 'image']) : "";
echo template::file('themeHeaderImage', [
- 'help' => 'Sélectionner une image aux dimensions recommandées ci-dessous :',
- 'label' => 'Image',
+ 'help' => $text[24],
+ 'label' => $text[25],
'type' => 1,
'value' => $imageFile
]); ?>
@@ -166,28 +271,26 @@
- 'Répétition',
+ $text[26],
'selected' => $this->getData(['theme', 'header', 'imageRepeat'])
]); ?>
- 'Adaptation',
+ $text[27],
'selected' => $this->getData(['theme', 'header', 'imageContainer']),
- 'help' => 'Les modes responsives permettent de conserver des dimensions proportionnelles.
- 'Position',
+ $text[3],
'selected' => $this->getData(['theme', 'header', 'imagePosition'])
]); ?>
- $this->getData(['theme', 'header', 'linkHomePage'])
]); ?>
@@ -195,7 +298,7 @@
- Largeur : | Hauteur : | ratio :
+
@@ -208,7 +311,7 @@
'Contenu personnalisé ',
+ 'label' => ''.$text[33].' ',
'class' => 'editorWysiwyg',
'value' => $this->getData(['theme', 'header', 'featureContent'])
]); ?>
diff --git a/core/module/theme/view/index/index.php b/core/module/theme/view/index/index.php
index 8926cc4..145494d 100644
--- a/core/module/theme/view/index/index.php
+++ b/core/module/theme/view/index/index.php
@@ -1,16 +1,45 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Cliquez sur une zone afin d\'accéder à ses options de personnalisation. Vous pouvez également afficher les zones cachées à l\'aide du bouton ci-dessous.';
+ $text[1] = 'Accueil';
+ $text[2] = 'Aide';
+ $text[3] = 'Zones cachées';
+ $text[4] = 'Gestion';
+ $text[5] = 'Administration';
+ $text[6] = 'Éditeur CSS';
+ $text[7] = 'Polices';
+ $text[8] = 'Cliquez sur une zone afin d\'accéder à ses options de personnalisation.';
+ break;
+ case 'en' :
+ $text[0] = 'Click on an area to access its customisation options. You can also display hidden areas using the button below';
+ $text[1] = 'Home';
+ $text[2] = 'Help';
+ $text[3] = 'Hidden areas';
+ $text[4] = 'Management';
+ $text[5] = 'Administration';
+ $text[6] = 'CSS Editor';
+ $text[7] = 'Fonts';
+ $text[8] = 'Click on a zone to access its customisation options';
+ break;
+}
+?>
getData(['theme', 'header', 'position']) === 'hide'
OR $this->getData(['theme', 'menu', 'position']) === 'hide'
OR $this->getData(['theme', 'footer', 'position']) === 'hide'
): ?>
-
+
'buttonGrey',
'href' => helper::baseUrl(false),
'ico' => 'home',
- 'value' => 'Accueil'
+ 'value' => $text[1]
]); ?>
@@ -18,14 +47,14 @@
'href' => 'https://doc.deltacms.fr/theme-2',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[2],
'class' => 'buttonHelp'
]); ?>
'eye',
- 'value' => 'Zones cachées'
+ 'value' => $text[3]
]); ?>
@@ -34,14 +63,14 @@
'cogs',
'href' => helper::baseUrl() . $this->getUrl(0) . '/manage',
- 'value' => 'Gestion'
+ 'value' => $text[4]
]); ?>
'brush',
'href' => helper::baseUrl() . $this->getUrl(0) . '/admin',
- 'value' => 'Administration'
+ 'value' => $text[5]
]); ?>
@@ -49,7 +78,7 @@
'code',
'href' => helper::baseUrl() . $this->getUrl(0) . '/advanced',
- 'value' => 'Éditeur CSS'
+ 'value' => $text[6]
]); ?>
@@ -58,19 +87,19 @@
'pencil',
'href' => helper::baseUrl() . $this->getUrl(0) . '/fonts',
- 'value' => 'Polices'
+ 'value' => $text[7]
]); ?>
-
+
'buttonGrey',
'href' => helper::baseUrl(false),
'ico' => 'home',
- 'value' => 'Accueil'
+ 'value' => $text[1]
]); ?>
@@ -78,7 +107,7 @@
'href' => 'https://doc.deltacms.fr/theme-2',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[2],
'class' => 'buttonHelp'
]); ?>
@@ -88,14 +117,14 @@
'cogs',
'href' => helper::baseUrl() . $this->getUrl(0) . '/manage',
- 'value' => 'Gestion'
+ 'value' => $text[4]
]); ?>
'brush',
'href' => helper::baseUrl() . $this->getUrl(0) . '/admin',
- 'value' => 'Administration'
+ 'value' => $text[5]
]); ?>
@@ -103,7 +132,7 @@
'code',
'href' => helper::baseUrl() . $this->getUrl(0) . '/advanced',
- 'value' => 'Éditeur CSS'
+ 'value' => $text[6]
]); ?>
@@ -112,7 +141,7 @@
'pencil',
'href' => helper::baseUrl() . $this->getUrl(0) . '/fonts',
- 'value' => 'Polices'
+ 'value' => $text[7]
]); ?>
diff --git a/core/module/theme/view/manage/manage.js.php b/core/module/theme/view/manage/manage.js.php
index 4fcacc5..c985c3a 100644
--- a/core/module/theme/view/manage/manage.js.php
+++ b/core/module/theme/view/manage/manage.js.php
@@ -19,7 +19,14 @@
*/
$("#configManageReset").on("click", function() {
var _this = $(this);
- return core.confirm("Êtes-vous sûr de vouloir réinitialiser à son état d'origine le thème du site ?", function() {
+ var text="";
+ getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){
+ echo 'text = "Êtes-vous sûr de vouloir réinitialiser à son état d\'origine le thème du site ?";' ;
+ }
+ else{
+ echo 'text = "Are you sure you want to reset the site theme to its original state ?";' ;
+ } ?>
+ return core.confirm(text, function() {
$(location).attr("href", _this.attr("href"));
});
});
\ No newline at end of file
diff --git a/core/module/theme/view/manage/manage.php b/core/module/theme/view/manage/manage.php
index 4e01eb3..558bc15 100644
--- a/core/module/theme/view/manage/manage.php
+++ b/core/module/theme/view/manage/manage.php
@@ -1,3 +1,42 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Réinitialiser';
+ $text[3] = 'Appliquer';
+ $text[4] = 'Installer un thème archivé (site ou administration)';
+ $text[5] = 'Archive ZIP :';
+ $text[6] = 'Sauvegarde du thème dans les ';
+ $text[7] = 'fichiers';
+ $text[8] = ' du site';
+ $text[9] = 'Thème du site';
+ $text[10] = 'Thème de l\'administration';
+ $text[11] = 'Télécharger le thème';
+ $text[12] = 'Thème du site';
+ $text[13] = 'Thème de l\'administration';
+ break;
+ case 'en' :
+ $text[0] = 'Back';
+ $text[1] = 'Help';
+ $text[2] = 'Reset';
+ $text[3] = 'Apply';
+ $text[4] = 'Install archived theme (site or admin)';
+ $text[5] = 'ZIP archive:';
+ $text[6] = 'Save theme in ';
+ $text[7] = 'files';
+ $text[8] = ' of the site';
+ $text[9] = 'Site theme';
+ $text[10] = 'Administration theme';
+ $text[11] = 'Download theme';
+ $text[12] = 'Site theme';
+ $text[13] = 'Administration theme';
+ break;
+}
+?>
@@ -5,7 +44,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -13,7 +52,7 @@
'href' => 'https://doc.deltacms.fr/gestion',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
@@ -21,24 +60,24 @@
'buttonRed',
'href' => helper::baseUrl() . 'theme/reset/manage' . '&csrf=' . $_SESSION['csrf'],
- 'value' => 'Réinitialiser',
+ 'value' => $text[2],
'ico' => 'cancel'
]); ?>
'Appliquer'
+ 'value' => $text[3]
]); ?>
-
'Archive ZIP :',
+ 'label' => $text[5],
'type' => 2
]); ?>
@@ -49,20 +88,20 @@
-
helper::baseUrl() . 'theme/save/theme',
'ico' => 'download-cloud',
- 'value' => 'Thème du site'
+ 'value' => $text[9]
]); ?>
helper::baseUrl() . 'theme/save/admin',
'ico' => 'download-cloud',
- 'value' => 'Thème de l\'administration'
+ 'value' => $text[10]
]); ?>
@@ -71,20 +110,20 @@
-
helper::baseUrl() . 'theme/export/theme',
'ico' => 'download',
- 'value' => 'Thème du site'
+ 'value' => $text[12]
]); ?>
helper::baseUrl() . 'theme/export/admin',
'ico' => 'download',
- 'value' => 'Thème de l\'administration'
+ 'value' => $text[13]
]); ?>
diff --git a/core/module/theme/view/menu/menu.php b/core/module/theme/view/menu/menu.php
index 96c8d42..0bf6aea 100644
--- a/core/module/theme/view/menu/menu.php
+++ b/core/module/theme/view/menu/menu.php
@@ -1,3 +1,108 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Enregistrer';
+ $text[3] = 'Paramètres';
+ $text[4] = 'Position';
+ $text[5] = 'Largeur';
+ $text[6] = 'Bords arrondis';
+ $text[7] = 'Autour de la page sélectionnée';
+ $text[8] = 'Hauteur';
+ $text[9] = 'Alignement du contenu';
+ $text[10] = 'Aligner le menu avec le contenu';
+ $text[11] = 'Menu fixe';
+ $text[12] = 'Contenus';
+ $text[13] = 'Lien de connexion';
+ $text[14] = 'Barre de membre';
+ $text[15] = 'Icônes de gestion de compte et de déconnexion. Uniquement pour les membres connectés';
+ $text[16] = 'Affichage dans le menu burger';
+ $text[17] = 'Le menu burger remplace le menu complet lorsque la largeur de l\'écran n\'est pas suffisante.';
+ $text[18] = 'Sélectionner une image, ses dimensions seront adaptées automatiquement';
+ $text[19] = 'Logo du menu burger';
+ $text[20] = 'Couleurs';
+ $text[21] = 'Le curseur horizontal règle le niveau de transparence.';
+ $text[22] = 'Texte';
+ $text[23] = 'Le curseur horizontal règle le niveau de transparence.';
+ $text[24] = 'Arrière-plan';
+ $text[25] = 'Fond du sous-menu';
+ $text[26] = 'Texte page active';
+ $text[27] = 'La couleur de fond de la page active peut être définie automatique ou selon une couleur définie, comme par exemple celle de fond des pages.';
+ $text[28] = 'Couleur de fond de la page sélectionnée dans le menu.
@@ -5,7 +110,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -13,68 +118,70 @@
'href' => 'https://doc.deltacms.fr/personnalisation-du-menu',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
-
+ $text[2]
+ ]); ?>
-
getData(['theme', 'header', 'position']) == "site")
- { echo template::select('themeMenuPosition', $module::$menuPositionsSite, [
- 'label' => 'Position',
+ { echo template::select('themeMenuPosition', $menuPositionsSite, [
+ 'label' => $text[4],
'selected' => $this->getData(['theme', 'menu', 'position'])
]);
}else{
- echo template::select('themeMenuPosition', $module::$menuPositionsBody, [
- 'label' => 'Position',
+ echo template::select('themeMenuPosition', $menuPositionsBody, [
+ 'label' => $text[4],
'selected' => $this->getData(['theme', 'menu', 'position'])
]); }
?>
- 'Largeur',
+ $text[5],
'selected' => $this->getData(['theme', 'menu', 'wide'])
]); ?>
- 'Bords arrondis',
+ $text[6],
'selected' => $this->getData(['theme', 'menu', 'radius']),
- 'help' => 'Autour de la page sélectionnée'
+ 'help' => $text[7]
]); ?>
- 'Hauteur',
+ $text[8],
'selected' => $this->getData(['theme', 'menu', 'height'])
]); ?>
- 'Alignement du contenu',
+ $text[9],
'selected' => $this->getData(['theme', 'menu', 'textAlign'])
]); ?>
- $this->getData(['theme', 'menu', 'margin'])
]); ?>
- $this->getData(['theme', 'menu', 'fixed'])
]); ?>
@@ -84,24 +191,24 @@
-
- $this->getData(['theme', 'menu', 'loginLink'])
]); ?>
- $this->getData(['theme', 'menu', 'memberBar']),
- 'help' => 'Icônes de gestion de compte et de déconnexion. Uniquement pour les membres connectés'
+ 'help' => $text[15]
]); ?>
- 'Affichage dans le menu burger',
+ $text[16],
'selected' => $this->getData(['theme', 'menu', 'burgerContent']),
- 'help' => 'Le menu burger remplace le menu complet lorsque la largeur de l\'écran n\'est pas suffisante.'
+ 'help' => $text[17]
]); ?>
@@ -111,8 +218,8 @@
$imageFile = file_exists(self::FILE_DIR.'source/'.$this->getData(['theme', 'menu', 'burgerLogo'])) ?
$this->getData(['theme', 'menu', 'burgerLogo']) : "";
echo template::file('themeMenuBurgerLogo', [
- 'help' => 'Sélectionner une image, ses dimensions seront adaptées automatiquement',
- 'label' => 'Logo du menu burger',
+ 'help' => $text[18],
+ 'label' => $text[19],
'type' => 1,
'value' => $imageFile
]); ?>
@@ -124,29 +231,29 @@
-
'colorPicker',
- 'help' => 'Le curseur horizontal règle le niveau de transparence.',
- 'label' => 'Texte',
+ 'help' => $text[21],
+ 'label' => $text[22],
'value' => $this->getData(['theme', 'menu', 'textColor'])
]); ?>
'colorPicker',
- 'help' => 'Le curseur horizontal règle le niveau de transparence.',
- 'label' => 'Arrière-plan',
+ 'help' => $text[23],
+ 'label' => $text[24],
'value' => $this->getData(['theme', 'menu', 'backgroundColor'])
]); ?>
'colorPicker',
- 'help' => 'Le curseur horizontal règle le niveau de transparence.',
- 'label' => 'Fond du sous-menu',
+ 'help' => $text[23],
+ 'label' => $text[25],
'value' => $this->getData(['theme', 'menu', 'backgroundColorSub'])
]); ?>
@@ -155,23 +262,23 @@
'colorPicker',
- 'help' => 'Le curseur horizontal règle le niveau de transparence.',
- 'label' => 'Texte page active',
+ 'help' => $text[23],
+ 'label' => $text[26],
'value' => $this->getData(['theme', 'menu', 'activeTextColor'])
]); ?>
$this->getData(['theme', 'menu', 'activeColorAuto']),
- 'help' => 'La couleur de fond de la page active peut être définie automatique ou selon une couleur définie, comme par exemple celle de fond des pages.'
+ 'help' => $text[27]
]); ?>
'colorPicker',
- 'help' => 'Couleur de fond de la page sélectionnée dans le menu.
'; foreach ($this->getHierarchy(null, true, null) as $parentId => $childIds) { $items .= '- ';
@@ -108,7 +118,7 @@ class sitemap extends common
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Plan du site',
+ 'title' => $text[0],
'view' => 'index'
]);
}
diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php
index 1d50255..00282d7 100644
--- a/core/module/theme/theme.php
+++ b/core/module/theme/theme.php
@@ -42,14 +42,27 @@ class theme extends common {
'center' => 'Au centre',
'right' => 'À droite'
];
+ public static $aligns_en = [
+ 'left' => 'Left',
+ 'center' => 'Center',
+ 'right' => 'Right'
+ ];
public static $attachments = [
'scroll' => 'Standard',
'fixed' => 'Fixe'
];
+ public static $attachments_en = [
+ 'scroll' => 'Standard',
+ 'fixed' => 'Fixed'
+ ];
public static $containerWides = [
'container' => 'Limitée au site',
'none' => 'Etendue sur la page'
];
+ public static $containerWides_en = [
+ 'container' => 'Limited to the site',
+ 'none' => 'Extended to the page'
+ ];
public static $footerblocks = [
1 => [
'hide' => 'Masqué',
@@ -69,11 +82,34 @@ class theme extends common {
'center' => 'Au milieu',
'right' => 'En bas' ]
];
+ public static $footerblocks_en = [
+ 1 => [
+ 'hide' => 'Hidden',
+ 'center' => 'Affiché' ],
+ 2 => [
+ 'hide' => 'Hidden',
+ 'left' => 'Left',
+ 'right' => 'Right' ],
+ 3 => [
+ 'hide' => 'Hidden',
+ 'left' => 'Left',
+ 'center' => 'Center',
+ 'right' => 'Right' ],
+ 4 => [
+ 'hide' => 'Hidden',
+ 'left' => 'Top',
+ 'center' => 'Middle',
+ 'right' => 'Bottom' ]
+ ];
public static $fontWeights = [
'normal' => 'Maigre',
'bold' => 'Gras'
];
+ public static $fontWeights_en = [
+ 'normal' => 'Thin',
+ 'bold' => 'Bold'
+ ];
public static $footerHeights = [
'0px' => 'Nulles (0px)',
'5px' => 'Très petites (5px)',
@@ -81,11 +117,23 @@ class theme extends common {
'15px' => 'Moyennes (15px)',
'20px' => 'Grandes (20px)'
];
+ public static $footerHeights_en = [
+ '0px' => 'Nome (0px)',
+ '5px' => 'Very small (5px)',
+ '10px' => 'small (10px)',
+ '15px' => 'Medium (15px)',
+ '20px' => 'Large (20px)'
+ ];
public static $footerPositions = [
'hide' => 'Caché',
'site' => 'Dans le site',
'body' => 'En dessous du site'
];
+ public static $footerPositions_en = [
+ 'hide' => 'Hidden',
+ 'site' => 'In the site',
+ 'body' => 'Below the site'
+ ];
public static $footerFontSizes = [
'.8em' => 'Très petite (80%)',
'.9em' => 'Petite (90%)',
@@ -94,6 +142,14 @@ class theme extends common {
'1.2em' => 'Grande (120%)',
'1.3em' => 'Très grande (130%)'
];
+ public static $footerFontSizes_en = [
+ '.8em' => 'Very small (80%)',
+ '.9em' => 'Small (90%)',
+ '1em' => 'Standard (100%)',
+ '1.1em' => 'Medium (110%)',
+ '1.2em' => 'Large (120%)',
+ '1.3em' => 'Very large (130%)'
+ ];
public static $headerFontSizes = [
'1.6em' => 'Très petite (160%)',
'1.8em' => 'Petite (180%)',
@@ -101,6 +157,13 @@ class theme extends common {
'2.2em' => 'Grande (220%)',
'2.4vmax' => 'Très grande (240%)'
];
+ public static $headerFontSizes_en = [
+ '1.6em' => 'Very small (160%)',
+ '1.8em' => 'Small (180%)',
+ '2em' => 'Medium (200%)',
+ '2.2em' => 'Large (220%)',
+ '2.4vmax' => 'Very large (240%)'
+ ];
public static $headerHeights = [
'unset' => 'Libre', // texte dynamique cf header.js.php
'100px' => 'Très petite (100px) ',
@@ -109,15 +172,32 @@ class theme extends common {
'300px' => 'Grande (300px)',
'400px' => 'Très grande (400px)',
];
+ public static $headerHeights_en = [
+ 'unset' => 'Free', // texte dynamique cf header.js.php
+ '100px' => 'Very small (100px) ',
+ '150px' => 'Small (150px)',
+ '200px' => 'Medium (200px)',
+ '300px' => 'Large (300px)',
+ '400px' => 'Very large (400px)',
+ ];
public static $headerPositions = [
'body' => 'Au dessus du site',
'site' => 'Dans le site',
'hide' => 'Cachée'
];
+ public static $headerPositions_en = [
+ 'body' => 'Above the site',
+ 'site' => 'In the site',
+ 'hide' => 'Hidden'
+ ];
public static $headerFeatures = [
'wallpaper' => 'Couleur unie ou papier-peint',
'feature' => 'Contenu personnalisé'
];
+ public static $headerFeatures_en = [
+ 'wallpaper' => 'Solid colour or wallpaper',
+ 'feature' => 'Custom content'
+ ];
public static $imagePositions = [
'top left' => 'En haut à gauche',
'top center' => 'En haut au centre',
@@ -129,6 +209,17 @@ class theme extends common {
'bottom center' => 'En bas au centre',
'bottom right' => 'En bas à droite'
];
+ public static $imagePositions_en = [
+ 'top left' => 'Top left',
+ 'top center' => 'Top center',
+ 'top right' => 'Top right',
+ 'center left' => 'Middle left',
+ 'center center' => 'Middle center',
+ 'center right' => 'Middle right',
+ 'bottom left' => 'Bottom left',
+ 'bottom center' => 'Bottom center',
+ 'bottom right' => 'Bottom right'
+ ];
public static $menuFontSizes = [
'.8em' => 'Très petite (80%)',
'.9em' => 'Petite (90%)',
@@ -137,6 +228,14 @@ class theme extends common {
'1.2em' => 'Grande (120%)',
'1.3em' => 'Très grande (130%)'
];
+ public static $menuFontSizes_en = [
+ '.8em' => 'Very small (80%)',
+ '.9em' => 'Small (90%)',
+ '1em' => 'Standard (100%)',
+ '1.1em' => 'Medium (110%)',
+ '1.2em' => 'Large (120%)',
+ '1.3em' => 'Very large (130%)'
+ ];
public static $menuHeights = [
'5px 10px' => 'Très petite',
'10px' => 'Petite',
@@ -144,12 +243,25 @@ class theme extends common {
'20px 15px' => 'Grande',
'25px 15px' => 'Très grande'
];
+ public static $menuHeights_en = [
+ '5px 10px' => 'Very small',
+ '10px' => 'Small',
+ '15px 10px' => 'Medium',
+ '20px 15px' => 'Large',
+ '25px 15px' => 'Very large'
+ ];
public static $menuPositionsSite = [
'top' => 'En-dehors du site',
'site-first' => 'Avant la bannière',
'site-second' => 'Après la bannière',
'hide' => 'Caché'
];
+ public static $menuPositionsSite_en = [
+ 'top' => 'Outside the site',
+ 'site-first' => 'Before the banner',
+ 'site-second' => 'After the banner',
+ 'hide' => 'Hidden'
+ ];
public static $menuPositionsBody = [
'top' => 'En-dehors du site',
'body-first' => 'Avant la bannière',
@@ -157,6 +269,13 @@ class theme extends common {
'site' => 'Dans le site',
'hide' => 'Caché'
];
+ public static $menuPositionsBody_en = [
+ 'top' => 'Outside the site',
+ 'body-first' => 'Before the banner',
+ 'body-second' => 'After the banner',
+ 'site' => 'In the site',
+ 'hide' => 'Hidden'
+ ];
public static $menuRadius = [
'0px' => 'Aucun',
'3px 3px 0px 0px' => 'Très léger',
@@ -165,6 +284,14 @@ class theme extends common {
'12px 12px 0px 0px' => 'Important',
'15px 15px 0px 0px' => 'Très important'
];
+ public static $menuRadius_en = [
+ '0px' => 'None',
+ '3px 3px 0px 0px' => 'Very light',
+ '6px 6px 0px 0px' => 'Light',
+ '9px 9px 0px 0px' => 'Medium',
+ '12px 12px 0px 0px' => 'Important',
+ '15px 15px 0px 0px' => 'Very important'
+ ];
public static $radius = [
'0px' => 'Aucun',
'5px' => 'Très léger',
@@ -173,12 +300,26 @@ class theme extends common {
'25px' => 'Important',
'50px' => 'Très important'
];
+ public static $radius_en = [
+ '0px' => 'None',
+ '5px' => 'Very light',
+ '10px' => 'Light',
+ '15px' => 'Medium',
+ '25px' => 'Important',
+ '50px' => 'Very important'
+ ];
public static $repeats = [
'no-repeat' => 'Ne pas répéter',
'repeat-x' => 'Sur l\'axe horizontal',
'repeat-y' => 'Sur l\'axe vertical',
'repeat' => 'Sur les deux axes'
];
+ public static $repeats_en = [
+ 'no-repeat' => 'Do not repeat',
+ 'repeat-x' => 'On the horizontal axis',
+ 'repeat-y' => 'On the vertical axis',
+ 'repeat' => 'On both axes'
+ ];
public static $shadows = [
'0px 0px 0px' => 'Aucune',
'1px 1px 5px' => 'Très légère',
@@ -187,13 +328,29 @@ class theme extends common {
'1px 1px 25px' => 'Importante',
'1px 1px 50px' => 'Très importante'
];
+ public static $shadows_en = [
+ '0px 0px 0px' => 'None',
+ '1px 1px 5px' => 'Very light',
+ '1px 1px 10px' => 'Light',
+ '1px 1px 15px' => 'Medium',
+ '1px 1px 25px' => 'Importante',
+ '1px 1px 50px' => 'Very importante'
+ ];
public static $blockShadows = [
'0px 0px 0px' => 'Aucune',
'1px 1px 2px' => 'Très légère',
'2px 2px 4px' => 'Légère',
'3px 3px 6px' => 'Moyenne',
- '5px 5px 10px' => 'Importante',
- '10px 10px 20px' => 'Très importante'
+ '5px 5px 10px' => 'Important',
+ '10px 10px 20px' => 'Très important'
+ ];
+ public static $blockShadows_en = [
+ '0px 0px 0px' => 'None',
+ '1px 1px 2px' => 'Very light',
+ '2px 2px 4px' => 'Light',
+ '3px 3px 6px' => 'Medium',
+ '5px 5px 10px' => 'Important',
+ '10px 10px 20px' => 'Very important'
];
public static $siteFontSizes = [
'12px' => '12 pixels',
@@ -210,35 +367,70 @@ class theme extends common {
'cover' => 'Responsive (cover)',
'contain' => 'Responsive (contain)'
];
+ public static $bodySizes_en = [
+ 'auto' => 'Automatic',
+ '100% 100%' => 'Stretched image (100% 100%)',
+ 'cover' => 'Responsive (cover)',
+ 'contain' => 'Responsive (contain)'
+ ];
public static $textTransforms = [
'none' => 'Standard',
'lowercase' => 'Minuscules',
'uppercase' => 'Majuscules',
'capitalize' => 'Majuscule à chaque mot'
];
+ public static $textTransforms_en = [
+ 'none' => 'Standard',
+ 'lowercase' => 'Lowercase',
+ 'uppercase' => 'Upper case',
+ 'capitalize' => 'Capitalize every word'
+ ];
public static $siteWidths = [
'750px' => 'Petite (750 pixels)',
'960px' => 'Moyenne (960 pixels)',
'1170px' => 'Grande (1170 pixels)',
'100%' => 'Fluide (100%)'
];
+ public static $siteWidths_en = [
+ '750px' => 'Small (750 pixels)',
+ '960px' => 'Medium (960 pixels)',
+ '1170px' => 'Large (1170 pixels)',
+ '100%' => 'Fluide (100%)'
+ ];
public static $headerWide = [
'auto auto' => 'Automatique',
'100% 100%' => 'Image étirée (100% 100%)',
'cover' => 'Responsive (cover)',
'contain' => 'Responsive (contain)'
];
+ public static $headerWide_en = [
+ 'auto auto' => 'Automatic',
+ '100% 100%' => 'Stretched image (100% 100%)',
+ 'cover' => 'Responsive (cover)',
+ 'contain' => 'Responsive (contain)'
+ ];
public static $footerTemplate = [
'1' => 'Une seule colonne',
'2' => 'Deux colonnes : 1/2 - 1/2',
'3' => 'Trois colonnes : 1/3 - 1/3 - 1/3',
'4' => 'Trois lignes superposées'
];
+ public static $footerTemplate_en = [
+ '1' => 'One column',
+ '2' => 'Two columns : 1/2 - 1/2',
+ '3' => 'Three columns : 1/3 - 1/3 - 1/3',
+ '4' => 'Three rows on top of each'
+ ];
public static $burgerContent = [
'none' => 'Aucun',
'title' => 'Titre du site',
'logo' => 'Logo du site'
];
+ public static $burgerContent_en = [
+ 'none' => 'None',
+ 'title' => 'Site title',
+ 'logo' => 'Site logo'
+ ];
// Fonts
public static $fonts = [];
@@ -250,7 +442,12 @@ class theme extends common {
//'link' => 'Fichier externe avec link',
//'import' => 'Fichier externe avec import'
];
-
+ public static $typeAddFont_en = [
+ 'none' => 'None',
+ 'file' => 'Local file'
+ //'link' => 'Fichier externe avec link',
+ //'import' => 'Fichier externe avec import'
+ ];
// Variable pour construire la liste des pages du site
public static $pagesList = [];
@@ -258,6 +455,19 @@ class theme extends common {
* Thème des écrans d'administration
*/
public function admin() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Modifications enregistrées';
+ $text[1] = 'Administration';
+ break;
+ case 'en' :
+ $text[0] = 'Saved changes';
+ $text[1] = 'Administration';
+ break;
+ }
// Soumission du formulaire
if($this->isPost()) {
$this->setData(['admin', [
@@ -279,7 +489,7 @@ class theme extends common {
]]);
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[0],
'redirect' => helper::baseUrl() . 'theme/admin',
'state' => true
]);
@@ -287,7 +497,7 @@ class theme extends common {
self::$fonts = $this->extract('./site/data/fonts.json');
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Administration',
+ 'title' => $text[1],
'view' => 'admin',
'vendor' => [
'tinycolorpicker'
@@ -299,20 +509,33 @@ class theme extends common {
* Mode avancé
*/
public function advanced() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Modifications enregistrées';
+ $text[1] = 'Éditeur CSS';
+ break;
+ case 'en' :
+ $text[0] = 'Saved changes';
+ $text[1] = 'CSS Editor';
+ break;
+ }
// Soumission du formulaire
if($this->isPost()) {
// Enregistre le CSS
file_put_contents(self::DATA_DIR.'custom.css', $this->getInput('themeAdvancedCss', null));
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[0],
'redirect' => helper::baseUrl() . 'theme/advanced',
'state' => true
]);
}
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Éditeur CSS',
+ 'title' => $text[1],
'vendor' => [
'codemirror'
],
@@ -324,6 +547,17 @@ class theme extends common {
* Gestion des polices / affichage principal
*/
public function fonts() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Gestion des polices';
+ break;
+ case 'en' :
+ $text[0] = 'Font management';
+ break;
+ }
// Préparation du tableau d'affichage des polices
$fontsName = helper::arrayCollumn($this->getData(['fonts']), 'name');
ksort($fontsName);
@@ -349,7 +583,7 @@ class theme extends common {
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Gestion des polices',
+ 'title' => $text[0],
'view' => 'fonts'
]);
}
@@ -358,12 +592,35 @@ class theme extends common {
* Gestion des polices / édition
*/
public function editfonts() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Sélectionner le fichier...';
+ $text[1] = 'Vous devez sélectionner un fichier';
+ $text[2] = 'Modifications enregistrées';
+ $text[3] = 'Pas de fichier dans le dossier ';
+ $text[4] = 'Dossier ';
+ $text[5] = 'inexistant';
+ $text[6] = 'Édition d\'une police';
+ break;
+ case 'en' :
+ $text[0] = 'Select file...';
+ $text[1] = 'You need to select a file';
+ $text[2] = 'Changes saved';
+ $text[3] = 'No file in folder';
+ $text[4] = 'File';
+ $text[5] = 'Non-existent';
+ $text[6] = 'Editing a font';
+ break;
+ }
// Retour du formulaire
if($this->isPost()) {
- if( $this->getInput('typeEditFont') === 'file' && $this->getInput('fileEditFont') === 'Sélectionner le fichier...'){
+ if( $this->getInput('typeEditFont') === 'file' && $this->getInput('fileEditFont') === $text[0]){
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Vous devez sélectionner un fichier',
+ 'notification' => $text[1],
'redirect' => helper::baseUrl() . 'theme/fonts',
'state' => false
]);
@@ -382,7 +639,7 @@ class theme extends common {
$this-> setData(['admin', 'maj', true]);
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[2],
'redirect' => helper::baseUrl() . 'theme/fonts',
'state' => true
]);
@@ -393,10 +650,10 @@ class theme extends common {
if(is_dir(self::FILE_DIR.'source/fonts')) {
$dir=self::FILE_DIR.'source/fonts';
$values = scandir($dir);
- $values[0] = 'Sélectionner le fichier...';
+ $values[0] = $text[0];
unset($values[array_search('..', $values)]);
if (count($values) <= 1){
- self::$icsFiles = array(0 => 'Pas de fichier dans le dossier '.self::FILE_DIR.'source/fonts');
+ self::$icsFiles = array(0 => $text[3].self::FILE_DIR.'source/fonts');
}
else{
//Modifier les clefs (qui sont les valeurs de retour du formulaire avec clef = valeur
@@ -404,12 +661,12 @@ class theme extends common {
}
}
else {
- self::$fontFiles = array(0 => 'Dossier '.self::FILE_DIR.'source/fonts inexistant');
+ self::$fontFiles = array(0 => $text[4].self::FILE_DIR.'source/fonts '.$text[5]);
}
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Édition d\'une police',
+ 'title' => $text[6],
'view' => 'editFonts'
]);
}
@@ -418,13 +675,24 @@ class theme extends common {
* Gestion des polices / suppression
*/
public function deleteFonts() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Police supprimée';
+ break;
+ case 'en' :
+ $text[0] = 'Deleted font';
+ break;
+ }
//Suppression de la police passée en paramètre
$this->deleteData(['fonts', $this->getUrl(2)]);
// Force une maj de admin.css
$this-> setData(['admin', 'maj', true]);
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Police supprimée',
+ 'notification' => $text[0],
'redirect' => helper::baseUrl() . 'theme/fonts',
'state' => true
]);
@@ -434,12 +702,35 @@ class theme extends common {
* Gestion des polices / ajout
*/
public function addFonts() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Sélectionner le fichier...';
+ $text[1] = 'Vous devez sélectionner un fichier';
+ $text[2] = 'Modifications enregistrées';
+ $text[3] = 'Pas de fichier dans le dossier ';
+ $text[4] = 'Dossier ';
+ $text[5] = 'inexistant';
+ $text[6] = 'Ajout d\'une police';
+ break;
+ case 'en' :
+ $text[0] = 'Select file...';
+ $text[1] = 'You need to select a file';
+ $text[2] = 'Changes saved';
+ $text[3] = 'No file in folder';
+ $text[4] = 'File';
+ $text[5] = 'Non-existent';
+ $text[6] = 'Adding a font';
+ break;
+ }
// Retour du formulaire
if($this->isPost()) {
- if( $this->getInput('typeAddFont') === 'file' && $this->getInput('fileAddFont') === 'Sélectionner le fichier...'){
+ if( $this->getInput('typeAddFont') === 'file' && $this->getInput('fileAddFont') === $text[0]){
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Vous devez sélectionner un fichier',
+ 'notification' => $text[1],
'redirect' => helper::baseUrl() . 'theme/addFonts',
'state' => false
]);
@@ -458,7 +749,7 @@ class theme extends common {
$this-> setData(['admin', 'maj', true]);
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[2],
'redirect' => helper::baseUrl() . 'theme/fonts',
'state' => true
]);
@@ -468,10 +759,10 @@ class theme extends common {
if(is_dir(self::FILE_DIR.'source/fonts')) {
$dir=self::FILE_DIR.'source/fonts';
$values = scandir($dir);
- $values[0] = 'Sélectionner le fichier...';
+ $values[0] = $text[0];
unset($values[array_search('..', $values)]);
if (count($values) <= 1){
- self::$icsFiles = array(0 => 'Pas de fichier dans le dossier '.self::FILE_DIR.'source/fonts');
+ self::$icsFiles = array(0 => $text[3].self::FILE_DIR.'source/fonts');
}
else{
//Modifier les clefs (qui sont les valeurs de retour du formulaire avec clef = valeur
@@ -479,12 +770,12 @@ class theme extends common {
}
}
else {
- self::$fontFiles = array(0 => 'Dossier '.self::FILE_DIR.'source/fonts inexistant');
+ self::$fontFiles = array(0 => $text[4].self::FILE_DIR.'source/fonts '.$text[5]);
}
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Ajout d\'une police',
+ 'title' => $text[6],
'view' => 'addFonts'
]);
}
@@ -494,6 +785,19 @@ class theme extends common {
* Options de l'arrière plan
*/
public function body() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Modifications enregistrées';
+ $text[1] = 'Personnalisation de l\'arrière plan';
+ break;
+ case 'en' :
+ $text[0] = 'Changes saved';
+ $text[1] = 'Customise background';
+ break;
+ }
// Soumission du formulaire
if($this->isPost()) {
$this->setData(['theme', 'body', [
@@ -508,14 +812,14 @@ class theme extends common {
]]);
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[0],
'redirect' => helper::baseUrl() . 'theme',
'state' => true
]);
}
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Personnalisation de l\'arrière plan',
+ 'title' => $text[1],
'vendor' => [
'tinycolorpicker'
],
@@ -527,6 +831,21 @@ class theme extends common {
* Options du pied de page
*/
public function footer() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Sélectionnez au moins un contenu à afficher';
+ $text[1] = 'Modifications enregistrées';
+ $text[2] = 'Personnalisation du pied de page';
+ break;
+ case 'en' :
+ $text[0] = 'Select at least one content to display';
+ $text[1] = 'Saved changes';
+ $text[2] = 'Customise footer';
+ break;
+ }
// Soumission du formulaire
if($this->isPost()) {
if ( $this->getInput('themeFooterCopyrightPosition') === 'hide' &&
@@ -534,7 +853,7 @@ class theme extends common {
$this->getInput('themeFooterTextPosition') === 'hide' ) {
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Sélectionnez au moins un contenu à afficher',
+ 'notification' => $text[0],
'redirect' => helper::baseUrl() . 'theme/footer',
'state' => false
]);
@@ -574,7 +893,7 @@ class theme extends common {
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[1],
'redirect' => helper::baseUrl() . 'theme',
'state' => true
]);
@@ -590,9 +909,17 @@ class theme extends common {
}
}
self::$fonts = $this->extract('./site/data/fonts.json');
+ // Passage de la langue d'administration à Tinymce
+ $lang_admin = 'fr_FR';
+ if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en') $lang_admin = 'en_GB';
+ ?>
+
+ addOutput([
- 'title' => 'Personnalisation du pied de page',
+ 'title' => $text[2],
'vendor' => [
'tinycolorpicker',
'tinymce'
@@ -605,6 +932,19 @@ class theme extends common {
* Options de la bannière
*/
public function header() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Modifications enregistrées';
+ $text[1] = 'Personnalisation de la bannière';
+ break;
+ case 'en' :
+ $text[0] = 'Changes saved';
+ $text[1] = 'Customise banner';
+ break;
+ }
// Soumission du formulaire
if($this->isPost()) {
// Modification des URL des images dans la bannière perso
@@ -651,15 +991,23 @@ class theme extends common {
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[0],
'redirect' => helper::baseUrl() . 'theme',
'state' => true
]);
}
self::$fonts = $this->extract('./site/data/fonts.json');
+ // Passage de la langue d'administration à Tinymce
+ $lang_admin = 'fr_FR';
+ if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en') $lang_admin = 'en_GB';
+ ?>
+
+ addOutput([
- 'title' => 'Personnalisation de la bannière',
+ 'title' => $text[1],
'vendor' => [
'tinycolorpicker',
'tinymce'
@@ -672,9 +1020,20 @@ class theme extends common {
* Accueil de la personnalisation
*/
public function index() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Personnalisation des thèmes';
+ break;
+ case 'en' :
+ $text[0] = 'Theme customisation';
+ break;
+ }
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Personnalisation des thèmes',
+ 'title' => $text[0],
'view' => 'index'
]);
}
@@ -683,6 +1042,19 @@ class theme extends common {
* Options du menu
*/
public function menu() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Modifications enregistrées';
+ $text[1] = 'Personnalisation du menu';
+ break;
+ case 'en' :
+ $text[0] = 'Saved changes';
+ $text[1] = 'Customise menu';
+ break;
+ }
// Soumission du formulaire
if($this->isPost()) {
$this->setData(['theme', 'menu', [
@@ -712,7 +1084,7 @@ class theme extends common {
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[0],
'redirect' => helper::baseUrl() . 'theme',
'state' => true
]);
@@ -720,7 +1092,7 @@ class theme extends common {
self::$fonts = $this->extract('./site/data/fonts.json');
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Personnalisation du menu',
+ 'title' => $text[1],
'vendor' => [
'tinycolorpicker'
],
@@ -732,6 +1104,19 @@ class theme extends common {
* Réinitialisation de la personnalisation avancée
*/
public function reset() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Réinitialisation effectuée';
+ $text[1] = 'Jeton incorrect';
+ break;
+ case 'en' :
+ $text[0] = 'Reset performed';
+ $text[1] = 'Incorrect token';
+ break;
+ }
// $url prend l'adresse sans le token
$url = explode('&',$this->getUrl(2));
@@ -759,14 +1144,14 @@ class theme extends common {
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Réinitialisation effectuée',
+ 'notification' => $text[0],
'redirect' => $redirect,
'state' => true
]);
} else {
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Jeton incorrect'
+ 'notification' => $text[1]
]);
}
}
@@ -776,6 +1161,19 @@ class theme extends common {
* Options du site
*/
public function site() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Modifications enregistrées';
+ $text[1] = 'Personnalisation du site';
+ break;
+ case 'en' :
+ $text[0] = 'Changes saved';
+ $text[1] = 'Site customisation';
+ break;
+ }
// Soumission du formulaire
if($this->isPost()) {
$this->setData(['theme', 'title', [
@@ -810,15 +1208,23 @@ class theme extends common {
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Modifications enregistrées',
+ 'notification' => $text[0],
'redirect' => helper::baseUrl() . 'theme',
'state' => true
]);
}
self::$fonts = $this->extract('./site/data/fonts.json');
+ // Passage de la langue d'administration à Tinymce
+ $lang_admin = 'fr_FR';
+ if( $this->getData(['config', 'i18n', 'langAdmin']) ==='en') $lang_admin = 'en_GB';
+ ?>
+
+ addOutput([
- 'title' => 'Personnalisation du site',
+ 'title' => $text[1],
'vendor' => [
'tinycolorpicker',
'tinymce'
@@ -831,6 +1237,17 @@ class theme extends common {
* Import du thème
*/
public function manage() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Gestion des thèmes';
+ break;
+ case 'en' :
+ $text[0] = 'Theme management';
+ break;
+ }
if($this->isPost() ) {
$zipFilename = $this->getInput('themeManageImport', helper::FILTER_STRING_SHORT, true);
@@ -842,14 +1259,14 @@ class theme extends common {
$this->addOutput([
'notification' => $data['notification'],
'state' => $data['success'],
- 'title' => 'Gestion des thèmes',
+ 'title' => $text[0],
'view' => 'manage'
]);;
}
}
// Valeurs en sortie
$this->addOutput([
- 'title' => 'Gestion des thèmes',
+ 'title' => $text[0],
'view' => 'manage'
]);
}
@@ -861,6 +1278,25 @@ class theme extends common {
*/
public function import($zipName = '') {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Le thème a été importé';
+ $text[1] = 'Erreur lors de l\'extraction, vérifiez les permissions.';
+ $text[2] = 'Ce n\'est pas l\'archive d\'un thème !';
+ $text[3] = 'Impossible d\'ouvrir l\'archive';
+ $text[4] = 'Archive non spécifiée ou introuvable';
+ break;
+ case 'en' :
+ $text[0] = 'The theme has been imported';
+ $text[1] = 'Error while extracting, check permissions';
+ $text[2] = 'This is not a theme archive!';
+ $text[3] = 'Unable to open the archive';
+ $text[4] = 'Archive not specified or not found';
+ break;
+ }
if ($zipName !== '' &&
file_exists($zipName)) {
@@ -903,13 +1339,13 @@ class theme extends common {
$this->copyDir( $importFolder, './');
$this->removeDir($importFolder);
// traitement de l'erreur
- $notification = $success ? 'Le thème a été importé' : 'Erreur lors de l\'extraction, vérifiez les permissions.';
+ $notification = $success ? $text[0] : $text[1];
} else {
// pas une archive de thème
$success = false;
- $notification = 'Ce n\'est pas l\'archive d\'un thème !';
+ $notification = $text[2];
}
// Supprimer le dossier temporaire même si le thème est invalide
$this->removeDir(self::TEMP_DIR . $tempFolder);
@@ -917,12 +1353,12 @@ class theme extends common {
} else {
// erreur à l'ouverture
$success = false;
- $notification = 'Impossible d\'ouvrir l\'archive';
+ $notification = $text[3];
}
return (['success' => $success, 'notification' => $notification]);
}
- return (['success' => false, 'notification' => 'Archive non spécifiée ou introuvable']);
+ return (['success' => false, 'notification' => $text[4]]);
}
@@ -949,6 +1385,19 @@ class theme extends common {
* Export du thème
*/
public function save() {
+ // Lexique
+ $text = [];
+ $val = $this->getData(['config', 'i18n', 'langAdmin']);
+ switch ($val) {
+ case 'fr' :
+ $text[0] = 'Archive ';
+ $text[1] = ' sauvegardée avec succès';
+ break;
+ case 'en' :
+ $text[0] = 'Archive ';
+ $text[1] = ' successfully saved';
+ break;
+ }
// Make zip
$zipFilename = $this->zipTheme($this->getUrl(2));
// Téléchargement du ZIP
@@ -960,7 +1409,7 @@ class theme extends common {
unlink (self::TEMP_DIR . $zipFilename);
// Valeurs en sortie
$this->addOutput([
- 'notification' => 'Archive '.$zipFilename.' sauvegardée avec succès',
+ 'notification' => $text[0].''.$zipFilename.''. $text[1],
'redirect' => helper::baseUrl() . 'theme/manage',
'state' => true
]);
diff --git a/core/module/theme/view/addFonts/addFonts.js.php b/core/module/theme/view/addFonts/addFonts.js.php
index 080d465..76b4b04 100644
--- a/core/module/theme/view/addFonts/addFonts.js.php
+++ b/core/module/theme/view/addFonts/addFonts.js.php
@@ -19,7 +19,14 @@
*/
$(".fontDelete").on("click", function() {
var _this = $(this);
- return core.confirm("Êtes-vous sûr de vouloir supprimer cette police ?", function() {
+ var text="";
+ getData(['config', 'i18n', 'langAdmin' ]) === 'fr'){
+ echo 'text = "Êtes-vous sûr de vouloir supprimer cette police ?";' ;
+ }
+ else{
+ echo 'text = "Are you sure you want to delete this font ?";' ;
+ } ?>
+ return core.confirm(text, function() {
$(location).attr("href", _this.attr("href"));
});
});
\ No newline at end of file
diff --git a/core/module/theme/view/addFonts/addFonts.php b/core/module/theme/view/addFonts/addFonts.php
index b607530..5e431d6 100644
--- a/core/module/theme/view/addFonts/addFonts.php
+++ b/core/module/theme/view/addFonts/addFonts.php
@@ -1,3 +1,40 @@
+getData(['config', 'i18n', 'langAdmin']);
+switch ($val) {
+ case 'fr' :
+ $text[0] = 'Retour';
+ $text[1] = 'Aide';
+ $text[2] = 'Enregistrer';
+ $text[3] = 'Paramètres de la nouvelle police';
+ $text[4] = 'Nom';
+ $text[5] = 'Nom de la police, majuscules et espaces autorisés';
+ $text[6] = 'Liaison avec un fichier de police';
+ $text[7] = 'Le fichier de police est envoyé, ou pas, depuis un dépôt local';
+ $text[8] = 'Vous devez au préalable téléverser le fichier de police, ttf, woff, otf, eot ou woff2 dans le dossier fonts avec le gestionnaire de fichiers.';
+ $text[9] = 'Sélection d\'une police';
+ $text[10] = 'License';
+ $text[11] = 'Type de license de la police';
+ $typeAddFont = $module::$typeAddFont;
+ break;
+ case 'en' :
+ $text[0] = 'Back';
+ $text[1] = 'Help';
+ $text[2] = 'Save';
+ $text[3] = 'New font settings';
+ $text[4] = 'Name';
+ $text[5] = 'Font name, upper case and spaces allowed';
+ $text[6] = 'Link to a font file';
+ $text[7] = 'The font file is sent, or not, from a local repository';
+ $text[8] = 'You must first upload the font file, ttf, woff, otf, eot or woff2 to the fonts folder with the file manager';
+ $text[9] = 'Select a font';
+ $text[10] = 'License';
+ $text[11] = 'License type of the font';
+ $typeAddFont = $module::$typeAddFont_en;
+ break;
+}
+?>
@@ -6,7 +43,7 @@
'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'theme/fonts',
'ico' => 'left',
- 'value' => 'Retour'
+ 'value' => $text[0]
]); ?>
@@ -14,37 +51,39 @@
'href' => 'https://doc.deltacms.fr/polices',
'target' => '_blank',
'ico' => 'help',
- 'value' => 'Aide',
+ 'value' => $text[1],
'class' => 'buttonHelp'
]); ?>
-
+ $text[2]
+ ]); ?>
Paramètres de la nouvelle police
+Le curseur horizontal règle le niveau de transparence.'; + $text[7] = 'Couleur visible en l\'absence d\'une image.
Le curseur horizontal règle le niveau de transparence. La couleur du texte est automatique.'; + $text[8] = 'Arrière-plan'; + $text[9] = 'Titres'; + $text[10] = 'Texte'; + $text[11] = 'Arrière-plan des champs'; + $text[12] = 'Bordure des champs'; + $text[13] = 'Bouton Aide'; + $text[14] = 'Bouton retour'; + $text[15] = 'Bouton standard'; + $text[16] = 'Bouton effacement'; + $text[17] = 'Bouton validation'; + $text[18] = 'Mise en forme du texte'; + $text[19] = 'Police du texte'; + $text[20] = 'Taille'; + $text[21] = 'Police des titres'; + break; + case 'en' : + $text[0] = 'Back'; + $text[1] = 'Help'; + $text[3] = 'Reset'; + $text[4] = 'Validate'; + $text[5] = 'Colors'; + $text[6] = 'The colour visible in the absence of an image.
The horizontal slider adjusts the level of transparency.'; + $text[7] = 'The colour visible in the absence of an image.
The horizontal slider adjusts the level of transparency. The text colour is automatic.'; + $text[8] = 'Background'; + $text[9] = 'Title'; + $text[10] = 'Text'; + $text[11] = 'Field background'; + $text[12] = 'Field border'; + $text[13] = 'Help button'; + $text[14] = 'Back button'; + $text[15] = 'Standard button'; + $text[16] = 'Delete button'; + $text[17] = 'Validation button'; + $text[18] = 'Text formatting'; + $text[19] = 'Text font'; + $text[20] = 'Size'; + $text[21] = 'Title font'; + break; +} +?>
Couleurs
+Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Arrière-plan', + 'help' => $text[6], + 'label' => $text[8], 'value' => $this->getData(['admin', 'backgroundColor']) ]); ?>
Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Titres', + 'help' => $text[6], + 'label' => $text[9], 'value' => $this->getData(['admin', 'colorTitle']) ]); ?>
Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Texte', + 'help' => $text[6], + 'label' => $text[10], 'value' => $this->getData(['admin', 'colorText']) ]); ?>
Le curseur horizontal règle le niveau de transparence. La couleur du texte est automatique.', - 'label' => 'Arrière-plan des champs', + 'help' => $text[7], + 'label' => $text[11], 'value' => $this->getData(['admin', 'backgroundBlockColor']) ]); ?>
Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Bordure des champs', + 'help' => $text[6], + 'label' => $text[12], 'value' => $this->getData(['admin', 'borderBlockColor']) ]); ?>
Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Bouton Aide', + 'help' => $text[6], + 'label' => $text[13], 'value' => $this->getData(['admin', 'backgroundColorButtonHelp']) ]); ?>
Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Bouton retour', + 'help' => $text[6], + 'label' => $text[14], 'value' => $this->getData(['admin', 'backgroundColorButtonGrey']) ]); ?>
Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Bouton standard', + 'help' => $text[6], + 'label' => $text[15], 'value' => $this->getData(['admin', 'backgroundColorButton']) ]); ?>
Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Bouton effacement', + 'help' => $text[6], + 'label' => $text[16], 'value' => $this->getData(['admin', 'backgroundColorButtonRed']) ]); ?>
Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Bouton validation', + 'help' => $text[6], + 'label' => $text[17], 'value' => $this->getData(['admin', 'backgroundColorButtonGreen']) ]); ?>
Mise en forme du texte
+Le curseur horizontal règle le niveau de transparence.'; + $text[5] = 'Arrière-plan'; + $text[6] = 'Le curseur horizontal règle le niveau de transparence.'; + $text[7] = 'Fond icône haut de page'; + $text[8] = 'Icône haut de page'; + $text[9] = 'Image'; + $text[10] = 'Sélectionner une image'; + $text[11] = 'Arrière-plan'; + $text[12] = 'Répétition'; + $text[13] = 'Position'; + $text[14] = 'Défilement'; + $text[15] = 'Taille'; + $repeats = $module::$repeats; + $imagePositions = $module::$imagePositions; + $attachments = $module::$attachments; + $bodySizes = $module::$bodySizes; + break; + case 'en' : + $text[0] = 'Back'; + $text[1] = 'Help'; + $text[2] = 'Save'; + $text[3] = 'Colors'; + $text[4] = 'Color visible in the absence of an image.
The horizontal slider adjusts the level of transparency.'; + $text[5] = 'Background'; + $text[6] = 'The horizontal slider sets the transparency level'; + $text[7] = 'Top icon background'; + $text[8] = 'Top icon'; + $text[9] = 'Image'; + $text[10] = 'Select an image'; + $text[11] = 'Background'; + $text[12] = 'Repeat'; + $text[13] = 'Position'; + $text[14] = 'Scroll'; + $text[15] = 'Size'; + $repeats = $module::$repeats_en; + $imagePositions = $module::$imagePositions_en; + $attachments = $module::$attachments_en; + $bodySizes = $module::$bodySizes_en; + break; +} +?>
Couleurs
+Le curseur horizontal règle le niveau de transparence.', - 'label' => 'Arrière-plan', + 'help' => $text[4], + 'label' => $text[5], 'value' => $this->getData(['theme', 'body', 'backgroundColor']) ]); ?>
Image
+Paramètres de la police
+Paramètres
+Couleurs
+Contenu
+Mise en forme du texte
+Dispositions
+Contenu personnalisé
+Réseaux sociaux
+Informations
+Lorsque l\'adaptation est positionnée sur Responsive, la hauteur diminue proportionnellement à la largeur.'; + $text[7] = 'Largeur'; + $text[8] = 'Masquer la bannière en écran réduit'; + $text[9] = 'Aligner la bannière avec le contenu'; + $text[10] = 'Couleurs'; + $text[11] = 'Le curseur horizontal règle le niveau de transparence.'; + $text[12] = 'Arrière-plan'; + $text[13] = 'Le curseur horizontal règle le niveau de transparence.'; + $text[14] = 'Texte'; + $text[15] = 'Mise en forme du titre'; + $text[16] = 'Masquer le titre du site'; + $text[17] = 'Police'; + $text[18] = 'Taille'; + $text[19] = 'Style'; + $text[20] = 'Casse'; + $text[21] = 'Proportionnelle à celle définie dans le site.'; + $text[22] = 'Alignement du contenu'; + $text[23] = 'Papier peint'; + $text[24] = 'Sélectionner une image aux dimensions recommandées ci-dessous :'; + $text[25] = 'Image'; + $text[26] = 'Répétition'; + $text[27] = 'Adaptation'; + $text[28] = 'Les modes responsives permettent de conserver des dimensions proportionnelles.
Cover pour une image plus grande que la bannière, Contain pour une image plus petite. Les modes Auto et Etiré ne provoquent pas de modification de la hauteur de la bannière.'; + $text[29] = 'Bannière cliquable'; + $text[30] = 'Largeur : '; + $text[31] = ' | Hauteur : '; + $text[32] = ' | ratio : '; + $text[33] = 'Contenu personnalisé'; + $text[34] ='Enregistrer'; + $headerPositions = $module::$headerPositions; + $headerFeatures = $module::$headerFeatures; + $headerHeights = $module::$headerHeights; + $containerWides = $module::$containerWides; + $headerFontSizes = $module::$headerFontSizes; + $fontWeights = $module::$fontWeights; + $textTransforms = $module::$textTransforms; + $aligns = $module::$aligns; + $repeats = $module::$repeats; + $headerWide = $module::$headerWide; + $imagePositions = $module::$imagePositions; + break; + case 'en' : + $text[0] = 'Back'; + $text[1] = 'Help'; + $text[2] = 'Settings'; + $text[3] = 'Position'; + $text[4] = 'Type of content'; + $text[5] = 'Maximum height'; + $text[6] = 'The maximum height is 600 pixels, even if the selected image size is larger.
When the adaptation is set to Responsive, the height decreases in proportion to the width.'; + $text[7] = 'Width'; + $text[8] = 'Hide banner in small screen'; + $text[9] = 'Align banner with content'; + $text[10] = 'Colors'; + $text[11] = 'Horizontal slider sets transparency level'; + $text[12] = 'Background'; + $text[13] = 'Horizontal slider sets transparency level'; + $text[14] = 'Text'; + $text[15] = 'Title formatting'; + $text[16] = 'Hide site title'; + $text[17] = 'Font'; + $text[18] = 'Size'; + $text[19] = 'Style'; + $text[20] = 'Character case'; + $text[21] = 'Proportional to that defined in the site'; + $text[22] = 'Content alignment'; + $text[23] = 'Wallpaper'; + $text[24] = 'Select an image with the following recommended dimensions:'; + $text[25] = 'Image'; + $text[26] = 'Repeat'; + $text[27] = 'Adaptation'; + $text[28] = 'Responsive modes allow proportional dimensions to be maintained.
Cover for an image larger than the banner, Contain for a smaller image. The Auto and Stretch modes do not change the height of the banner.'; + $text[29] = 'Clickable banner'; + $text[30] = 'Width : '; + $text[31] = ' | Height : '; + $text[32] = ' | ratio : '; + $text[33] = 'Custom content'; + $text[34] ='Save'; + $headerPositions = $module::$headerPositions_en; + $headerFeatures = $module::$headerFeatures_en; + $headerHeights = $module::$headerHeights_en; + $containerWides = $module::$containerWides_en; + $headerFontSizes = $module::$headerFontSizes_en; + $fontWeights = $module::$fontWeights_en; + $textTransforms = $module::$textTransforms_en; + $aligns = $module::$aligns_en; + $repeats = $module::$repeats_en; + $headerWide = $module::$headerWide_en; + $imagePositions = $module::$imagePositions_en; + break; +} +?>
Paramètres
+Lorsque l\'adaptation est positionnée sur Responsive, la hauteur diminue proportionnellement à la largeur.' + 'help' => $text[6] ]); ?>
Couleurs
+Mise en forme du titre
+Papier peint
+- Cover pour une image plus grande que la bannière, Contain pour une image plus petite. - Les modes Auto et Etiré ne provoquent pas de modification de la hauteur de la bannière.' + 'help' => $text[28] ]); ?>
Installer un thème archivé (site ou administration)
+Sauvegarde du thème dans les fichiers du site
+Télécharger le thème
+Le curseur horizontal règle le niveau de transparence.'; + $text[29] = 'Fond page active'; + $text[30] = 'Mise en forme du texte'; + $text[31] = 'Police'; + $text[32] = 'Taille'; + $text[33] = 'Proportionnelle à celle définie dans le site'; + $text[34] = 'Style'; + $text[35] = 'Casse'; + $text[36] = 'Couleur de fond automatique'; + $menuPositionsSite = $module::$menuPositionsSite; + $menuPositionsBody = $module::$menuPositionsBody; + $containerWides = $module::$containerWides; + $menuRadius = $module::$menuRadius; + $menuHeights = $module::$menuHeights; + $aligns = $module::$aligns; + $burgerContent = $module::$burgerContent; + $menuFontSizes = $module::$menuFontSizes; + $fontWeights = $module::$fontWeights; + $textTransforms = $module::$textTransforms; + break; + case 'en' : + $text[0] = 'Back'; + $text[1] = 'Help'; + $text[2] = 'Save'; + $text[3] = 'Settings'; + $text[4] = 'Position'; + $text[5] = 'Width'; + $text[6] = 'Rounded edges'; + $text[7] = 'Around the selected page'; + $text[8] = 'Height'; + $text[9] = 'Alignment of content'; + $text[10] = 'Align menu with content'; + $text[11] = 'Fixed menu'; + $text[12] = 'Contents'; + $text[13] = 'Login link'; + $text[14] = 'Member bar'; + $text[15] = 'Account management and logout icons. Only for logged in members'; + $text[16] = 'Display in burger menu'; + $text[17] = 'The burger menu replaces the full menu when the screen width is not sufficient'; + $text[18] = 'Select an image, its dimensions will be adapted automatically'; + $text[19] = 'Logo of the burger menu'; + $text[20] = 'Colors'; + $text[21] = 'The horizontal slider sets the transparency level'; + $text[22] = 'Text'; + $text[23] = 'Horizontal slider sets transparency level'; + $text[24] = 'Background'; + $text[25] = 'Submenu background'; + $text[26] = 'Text active page'; + $text[27] = 'The background colour of the active page can be set automatically or according to a defined colour, such as the background colour of the pages.'; + $text[28] = 'Background colour of the page selected in the menu.
The horizontal slider sets the transparency level.'; + $text[29] = 'Active page background'; + $text[30] = 'Text formatting'; + $text[31] = 'Font'; + $text[32] = 'Size'; + $text[33] = 'Proportional to that defined in the site'; + $text[34] = 'Style'; + $text[35] = 'Character case'; + $text[36] = 'Automatic background color'; + $menuPositionsSite = $module::$menuPositionsSite_en; + $menuPositionsBody = $module::$menuPositionsBody_en; + $containerWides = $module::$containerWides_en; + $menuRadius = $module::$menuRadius_en; + $menuHeights = $module::$menuHeights_en; + $aligns = $module::$aligns_en; + $burgerContent = $module::$burgerContent_en; + $menuFontSizes = $module::$menuFontSizes_en; + $fontWeights = $module::$fontWeights_en; + $textTransforms = $module::$textTransforms_en; + break; +} +?>
Paramètres
+Contenus
+Couleurs
+