forked from ZwiiCMS-Team/ZwiiCMS
Traduction rédigée ok
This commit is contained in:
parent
49e8603ff9
commit
de6c83380a
3
.gitignore
vendored
3
.gitignore
vendored
@ -51,3 +51,6 @@ site/data/it/page.json
|
||||
site/data/nl/locale.json
|
||||
site/data/nl/module.json
|
||||
site/data/nl/page.json
|
||||
site/data/pt/locale.json
|
||||
site/data/pt/module.json
|
||||
site/data/pt/page.json
|
||||
|
@ -152,7 +152,7 @@ class common {
|
||||
'pt' => 'Portugais (pt)',
|
||||
];
|
||||
// Langue courante
|
||||
public static $i18nSite = 'fr';
|
||||
public static $i18nSite;
|
||||
public static $timezone;
|
||||
private $url = '';
|
||||
// Données de site
|
||||
@ -196,6 +196,8 @@ class common {
|
||||
) {
|
||||
self::$i18nSite = $this->input['_COOKIE']['ZWII_I18N_SITE'];
|
||||
setlocale (LC_TIME, self::$i18nSite . '_' . strtoupper (self::$i18nSite) );
|
||||
} else {
|
||||
self::$i18nSite = 'fr';
|
||||
}
|
||||
|
||||
// Instanciation de la classe des entrées / sorties
|
||||
@ -2182,19 +2184,20 @@ class core extends common {
|
||||
}
|
||||
|
||||
// Chargement de la bibliothèque googtrans
|
||||
// Le multi langue est actif
|
||||
if ($this->getData(['config','translate','scriptGoogle']) === true ) {
|
||||
// la traduction auto est active
|
||||
if ( $this->getData(['config','translate','autoDetect']) === true
|
||||
// Le multi langue est sélectionné et la traduction n'est pas manuelle
|
||||
if ($this->getData(['config','translate','scriptGoogle']) === true
|
||||
) {
|
||||
// Cas des pages d'administration
|
||||
/*
|
||||
AND $this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')
|
||||
OR ($this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD')
|
||||
AND $this->getData(['config','translate','admin']) === true )
|
||||
) {
|
||||
*/
|
||||
$this->addOutput([
|
||||
'vendor' => array_merge($this->output['vendor'], ['i18n'])
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
// Erreurs
|
||||
if($access === 'login') {
|
||||
@ -2339,6 +2342,7 @@ class layout extends common {
|
||||
*/
|
||||
if ( (
|
||||
( $this->getData(['config','translate','scriptGoogle']) === true
|
||||
AND isset($_COOKIES['googtrans'])
|
||||
AND substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) !== 'fr'
|
||||
)
|
||||
OR ( isset($_COOKIES['ZWII_I18N_SITE'])
|
||||
@ -3033,7 +3037,7 @@ class layout extends common {
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Affiche le cadre avec les drapeaux
|
||||
* Affiche le cadre avec les drapeaux sélectionnés
|
||||
*/
|
||||
public function showi18n() {
|
||||
echo '<div id="i18nContainer"><ul>';
|
||||
@ -3045,7 +3049,7 @@ class layout extends common {
|
||||
)
|
||||
) {
|
||||
echo '<li>';
|
||||
echo '<a href="' . helper::baseUrl() . 'translate/language/' . $key . '/' . $this->getData(['config','translate',$key]) . '/' . $this->getUrl(0) . '"><img class= "flag" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png" /></a>';
|
||||
echo '<a href="' . helper::baseUrl() . 'translate/language/' . $key . '/' . $this->getData(['config','translate',$key]) . '"><img class= "flag" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png" /></a>';
|
||||
echo '</li>';
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ class translate extends common {
|
||||
foreach (self::$i18nList as $keyi18n => $value) {
|
||||
if ($keyi18n === 'fr') {continue;}
|
||||
// Effacement d'une langue installée
|
||||
if ( is_dir( self::DATA_DIR . $keyi18n ) === false
|
||||
if ( is_dir( self::DATA_DIR . $keyi18n ) === true
|
||||
AND $this->getInput('translate' . strtoupper($keyi18n)) === 'none')
|
||||
{
|
||||
$this->removeDir( self::DATA_DIR . $keyi18n);
|
||||
@ -45,22 +45,22 @@ class translate extends common {
|
||||
// Installation d'une langue
|
||||
if ( $this->getInput('translate' . strtoupper($keyi18n)) === 'site')
|
||||
{
|
||||
// Créer le dossier
|
||||
// Créer les données absentes
|
||||
if (is_dir( self::DATA_DIR . $keyi18n ) === false ) {
|
||||
mkdir( self::DATA_DIR . $keyi18n);
|
||||
}
|
||||
// Charger les modèles
|
||||
require_once('core/module/install/ressource/defaultdata.php');
|
||||
// Nouvelle instance page, module, locale
|
||||
$files = ['page','module','locale'];
|
||||
foreach ($files as $keyFile) {
|
||||
echo $keyFile;
|
||||
$e = new \Prowebcraft\JsonDb([
|
||||
'name' => $keyFile . '.json',
|
||||
'dir' => $this->dirData ($keyFile,$keyi18n)
|
||||
]);;
|
||||
$e->set($keyFile, init::$defaultData[$keyFile]);
|
||||
$e->save();
|
||||
// Charger les modèles
|
||||
require_once('core/module/install/ressource/defaultdata.php');
|
||||
// Nouvelle instance page, module, locale
|
||||
$files = ['page','module','locale'];
|
||||
foreach ($files as $keyFile) {
|
||||
echo $keyFile;
|
||||
$e = new \Prowebcraft\JsonDb([
|
||||
'name' => $keyFile . '.json',
|
||||
'dir' => $this->dirData ($keyFile,$keyi18n)
|
||||
]);;
|
||||
$e->set($keyFile, init::$defaultData[$keyFile]);
|
||||
$e->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -99,9 +99,12 @@ class translate extends common {
|
||||
*/
|
||||
public function language() {
|
||||
// Transmettre le choix au noyau
|
||||
setcookie('ZWII_I18N_SITE', $this->getUrl(2), time() + 3600, helper::baseUrl(false, false) , '', helper::isHttps(), true);
|
||||
if ($this->getUrl(3) === 'script') {
|
||||
setrawcookie("googtrans", '/fr/'. $this->getUrl(2), time() + 3600, helper::baseUrl());
|
||||
helper::deleteCookie('ZWII_I18N_SITE');
|
||||
} else {
|
||||
setcookie('ZWII_I18N_SITE', $this->getUrl(2), time() + 3600, helper::baseUrl(false, false) , '', helper::isHttps(), true);
|
||||
helper::deleteCookie ('googtrans');
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
|
Loading…
x
Reference in New Issue
Block a user