forked from ZwiiCMS-Team/ZwiiCMS
système d'aide + utilitaire de copie de langues
This commit is contained in:
parent
ec91858263
commit
03eaed72a1
@ -481,26 +481,13 @@ $(document).ready(function(){
|
||||
|
||||
$(".helpDisplayButton").on({
|
||||
mouseenter: function () {
|
||||
$(".helpDisplayContent").slideDown();
|
||||
},
|
||||
mouseleave: function () {
|
||||
$(".helpDisplayContent").slideUp();
|
||||
$(".helpDisplayContent").slideToggle();
|
||||
},
|
||||
click: function () {
|
||||
$(".helpDisplayContent").slideToggle();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Active le système d'aide interne
|
||||
*
|
||||
*/
|
||||
|
||||
$(".helpDisplayButton").on({
|
||||
mouseenter: function () {
|
||||
$(".helpDisplayContent").slideDown();
|
||||
},
|
||||
mouseleave: function () {
|
||||
$(".helpDisplayContent").slideUp();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Remove ID Facebook from URL
|
||||
|
@ -1056,6 +1056,7 @@ footer #footerSocials .zwiico-github:hover {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
|
||||
/* Lightbox */
|
||||
.lightbox {
|
||||
background: #FFF;
|
||||
@ -1730,12 +1731,12 @@ th.col12 {
|
||||
display: none;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
bottom: 15px;
|
||||
top: 60px;
|
||||
padding: 2px 10px;
|
||||
margin-left: -20px;
|
||||
-webkit-box-shadow: 5px 5px 11px 0px #222222;
|
||||
box-shadow: 5px 5px 11px 0px #222222;
|
||||
border-radius: 5px;
|
||||
border-radius: 10px;
|
||||
background-color:#333;
|
||||
color: white;
|
||||
z-index: 30;
|
||||
|
@ -39,14 +39,13 @@ class init extends common {
|
||||
'showCredits' => false,
|
||||
'autoDetect' => false,
|
||||
'admin' => false,
|
||||
'fr' => true,
|
||||
'de' => true,
|
||||
'en' => true,
|
||||
'fr' => false,
|
||||
'de' => false,
|
||||
'en' => false,
|
||||
'es' => false,
|
||||
'it' => false,
|
||||
'nl' => false,
|
||||
'pt' => false
|
||||
|
||||
],
|
||||
],
|
||||
'core' => [
|
||||
|
@ -18,7 +18,7 @@ class translate extends common {
|
||||
public static $actions = [
|
||||
/*'config' => self::GROUP_MODERATOR,*/
|
||||
'index' => self::GROUP_ADMIN,
|
||||
'advanced' => self::GROUP_ADMIN,
|
||||
'copy' => self::GROUP_ADMIN,
|
||||
'language' => self::GROUP_VISITOR
|
||||
];
|
||||
|
||||
@ -28,39 +28,46 @@ class translate extends common {
|
||||
public static $languagesInstalled = [];
|
||||
// Liste des langues cibles
|
||||
public static $languagesTarget = [];
|
||||
// Activation du bouton de copie
|
||||
public static $siteTranslate = true;
|
||||
|
||||
/**
|
||||
* Configuration avancée des langues
|
||||
*/
|
||||
public function advanced() {
|
||||
public function copy() {
|
||||
|
||||
// Soumission du formulaire
|
||||
if ($this->isPost()) {
|
||||
// Initialisation
|
||||
$success = false;
|
||||
$copyFrom = $this->getInput('translateFormAdvancedSource');
|
||||
$toCreate = $this->getInput('translateFormAdvancedTarget');
|
||||
// Création du dossier
|
||||
if (is_dir(self::DATA_DIR . $toCreate) === false ) { // Si le dossier est déjà créé
|
||||
$success = mkdir (self::DATA_DIR . $toCreate);
|
||||
$copyFrom = $this->getInput('translateFormCopySource');
|
||||
$toCreate = $this->getInput('translateFormCopyTarget');
|
||||
if ($copyFrom !== $toCreate) {
|
||||
// Création du dossier
|
||||
if (is_dir(self::DATA_DIR . $toCreate) === false ) { // Si le dossier est déjà créé
|
||||
$success = mkdir (self::DATA_DIR . $toCreate);
|
||||
} else {
|
||||
$success = true;
|
||||
}
|
||||
// Copier les données par défaut avec gestion des erreurs
|
||||
$success = (copy (self::DATA_DIR . $copyFrom . '/locale.json', self::DATA_DIR . $toCreate . '/locale.json') === true && $success === true) ? true : false;
|
||||
$success = (copy (self::DATA_DIR . $copyFrom . '/module.json', self::DATA_DIR . $toCreate . '/module.json') === true && $success === true) ? true : false;
|
||||
$success = (copy (self::DATA_DIR . $copyFrom . '/page.json', self::DATA_DIR . $toCreate . '/page.json') === true && $success === true) ? true : false;
|
||||
// Enregistrer la langue
|
||||
if ($success) {
|
||||
$this->setData(['config', 'i18n', $toCreate, 'site' ]);
|
||||
$notification = 'Données ' . self::$i18nList[$copyFrom] . ' copiées vers ' . self::$i18nList[$toCreate];
|
||||
} else {
|
||||
$notification = "Quelque chose n\'a pas fonctionné, vérifiez les permissions.";
|
||||
}
|
||||
} else {
|
||||
$success = true;
|
||||
}
|
||||
// Copier les données par défaut avec gestion des erreurs
|
||||
$success = (copy (self::DATA_DIR . $copyFrom . '/locale.json', self::DATA_DIR . $toCreate . '/locale.json') === true && $success === true) ? true : false;
|
||||
$success = (copy (self::DATA_DIR . $copyFrom . '/module.json', self::DATA_DIR . $toCreate . '/module.json') === true && $success === true) ? true : false;
|
||||
$success = (copy (self::DATA_DIR . $copyFrom . '/page.json', self::DATA_DIR . $toCreate . '/page.json') === true && $success === true) ? true : false;
|
||||
// Enregistrer la langue
|
||||
if ($success) {
|
||||
$this->setData(['config', 'i18n', $toCreate, 'site' ]);
|
||||
$notification = 'Données ' . self::$i18nList[$copyFrom] . ' copiées vers ' . self::$i18nList[$toCreate];
|
||||
} else {
|
||||
$notification = "Quelque chose n\'a pas fonctionné, vérifiez les permissions.";
|
||||
$success = false;
|
||||
$notification = 'Les langues doivent être différentes.';
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'notification' => $notification,
|
||||
'title' => 'Gestion avancée',
|
||||
'title' => 'Utilitaire de copie',
|
||||
'view' => 'index',
|
||||
'state' => $success
|
||||
]);
|
||||
@ -76,8 +83,8 @@ class translate extends common {
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => 'Gestion avancée',
|
||||
'view' => 'advanced'
|
||||
'title' => 'Utilitaire de copie',
|
||||
'view' => 'copy'
|
||||
]);
|
||||
}
|
||||
|
||||
@ -154,7 +161,7 @@ class translate extends common {
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
// Modification de option de suppression de la langue installée.
|
||||
// Modification des options de suppression de la langue installée.
|
||||
foreach (self::$i18nList as $key => $value) {
|
||||
if ($this->getData(['config','i18n',$key]) === 'site') {
|
||||
self::$translateOptions [$key] = [
|
||||
@ -163,6 +170,7 @@ class translate extends common {
|
||||
'site' => 'Traduction rédigée',
|
||||
'delete' => 'Supprimer la traduction'
|
||||
];
|
||||
self::$siteTranslate = $key !== 'fr' ? false : true;
|
||||
} else {
|
||||
self::$translateOptions [$key] = [
|
||||
'none' => 'Drapeau masqué',
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php echo template::formOpen('translateFormAdvanced'); ?>
|
||||
<?php echo template::formOpen('translateFormCopy'); ?>
|
||||
<div class="row">
|
||||
<div class="col2">
|
||||
<?php echo template::button('translateFormAdvancedBack', [
|
||||
<?php echo template::button('translateFormCopyBack', [
|
||||
'class' => 'buttonGrey',
|
||||
'href' => helper::baseUrl() . 'translate',
|
||||
'ico' => 'left',
|
||||
@ -9,21 +9,21 @@
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2 offset8">
|
||||
<?php echo template::submit('translateFormAdvancedSubmit'); ?>
|
||||
<?php echo template::submit('translateFormCopySubmit'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4>Copie de contenu</h4>
|
||||
<h4>Copie de site (traductions rédigées)</h4>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::select('translateFormAdvancedSource', $module::$languagesInstalled, [
|
||||
'label' => 'Copier les pages et les modules de'
|
||||
<?php echo template::select('translateFormCopySource', $module::$languagesInstalled, [
|
||||
'label' => 'Pages et les modules de'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
<?php echo template::select('translateFormAdvancedTarget', $module::$languagesTarget, [
|
||||
<?php echo template::select('translateFormCopyTarget', $module::$languagesTarget, [
|
||||
'label' => 'Vers'
|
||||
]); ?>
|
||||
</div>
|
@ -10,9 +10,10 @@
|
||||
</div>
|
||||
<div class="col3 offset5">
|
||||
<?php echo template::button('configAdvancedButton', [
|
||||
'href' => helper::baseUrl() . 'translate/advanced',
|
||||
'value' => 'Gestion avancée',
|
||||
'href' => helper::baseUrl() . 'translate/copy',
|
||||
'value' => 'Utilitaire de copie',
|
||||
'ico' => 'cog-alt',
|
||||
'disabled' => $module::$siteTranslate
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2">
|
||||
@ -126,13 +127,12 @@
|
||||
</div>
|
||||
|
||||
<div class="col10 helpDisplayContent">
|
||||
<p>Vous avez le choix entre une traduction automatique réalisée avec le script Google Traduction ou une traduction rédigée.</p>
|
||||
<p>La traduction automatique offre deux possibilités, la détection automatique de la langue du navigateur même celle-ci n'est pas
|
||||
<p>Vous avez le choix entre une traduction automatique réalisée avec le script Google Traduction ou une traduction rédigée. La traduction automatique offre deux possibilités, la détection automatique de la langue du navigateur même celle-ci n'est pas
|
||||
matérialisée par un drapeau. Le clic sur un drapeau forcera la traduction dans cette langue, pour cela sélectionnez le drapeau puis l'option de "Traduction automatique".
|
||||
</p>
|
||||
Si vous sélectionnez l'option "Traduction rédigée", seule la page d'accueil est générée, vous rédigez le site dans la langue sélectionnée.
|
||||
Il est cependant possible de copier les pages et les modules d'une langue vers une autre en cliquant sur le bouton de gestion avancée.</p>
|
||||
<p>Quand un drapeau est masqué, la traduction est effacée, pensez à sauvegarder.</p>
|
||||
<p>Afficher le drapeau français pour revenir à la traduction dans la langue originale.</p>
|
||||
La traduction automatique est réalisée à partir du site en version française.</p>
|
||||
<p>Avec l'option "Traduction rédigée", une nouveau sité est généré, seule la page d'accueil est crée, il faut alors rédiger les pages dans la langue sélectionnée.
|
||||
Il est possible de copier les pages et les modules d'une langue vers une autre à l'aide de l'utilitaire de copie.
|
||||
Quand un drapeau est masqué, la traduction est effacée, pensez à sauvegarder.
|
||||
Afficher le drapeau français pour revenir à la traduction dans la langue originale.</p>
|
||||
</div>
|
||||
<?php echo template::formClose(); ?>
|
Loading…
Reference in New Issue
Block a user