Forum CMS Made Simple FR

Version complète : [Résolu] MleCMS - problème détection des langues entre US et EN
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.7
#~ Url du site :
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.7
#~ Installed Modules:
#~ CGExtensions: 1.37.2
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.4
#~ FileManager: 1.4.3
#~ MenuManager: 1.8.5
#~ MicroTiny: 1.2.5
#~ ModuleManager: 1.5.5
#~ News: 2.12.12
#~ Search: 1.7.8
#~ ThemeManager: 1.1.8
#~ JQueryTools: 1.2.5
#~ CGContentUtils: 1.3.6
#~ MleCMS: 1.11.4
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ max_upload_size: 64000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.3.16
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 8192
#~ memory_limit: 128M
#~ max_execution_time: 120
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 64M
#~ upload_max_filesize: 64M
#~ session_save_path: /tmp (1777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: cgi-fcgi
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.1.66
#~ Server Db Grants: Impossible de trouver un privilège "GRANT ALL". Cela peut signifier que vous pourriez avoir des problèmes pour installer ou retirer des modules, ou encore l 'ajout et la suppression d'éléments, y compris les pages.
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour,

J'ai un site multilingue FR / EN / US (contenu différent entre les versions en et us). Dans un premier temps, j'ai configuré mon site avec les versions FR et US sans problème. Lorsque j'ai ajouté les pages EN, les valeurs que je récupère sur les variables {$lang_parent} {$lang_extra} {$lang_locale} sont celles de la versions US.

Du coup, sur les pages anglaises, le menu renvoi vers les pages US {menu template="primary_navigation" number_of_levels='3' childrenof=$lang_parent}

Par contre la sélection de la langue se fait correctement (mode Flags). Si je passe de FR -> EN ou US -> EN, je suis redirigé vers la bonne page.

Merci de votre aide

Fred
J'ai résolu mon problème, je ne sais pas si c'est la meilleur solution mais elle fonctionne :

J'ai dupliqué mon fichier en_US.nls.php en en_EN.nls.php avec les valeurs suivantes :

en_US.nls.php :
Code :
[== Indéfini ==]
$nls['language']['en_US'] = 'English';
$nls['englishlang']['en_US'] = 'US';

#Possible aliases for language
#$nls['alias']['en'] = 'en_US';
#$nls['alias']['english'] = 'en_US' ;
#$nls['alias']['eng'] = 'en_US' ;
$nls['alias']['en-US'] = 'en_US';
#$nls['alias']['en_CA'] = 'en_US' ;
#$nls['alias']['en_GB'] = 'en_US' ;
$nls['alias']['en_US.ISO8859-1'] = 'en_US' ;

#Encoding of the language
$nls['encoding']['en_US'] = 'UTF-8';

#Location of the file(s)
$nls['file']['en_US'] = array(dirname(__FILE__).'/en_US/admin.inc.php');

#Language setting for HTML area
# Only change this when translations exist in HTMLarea and plugin dirs
# (please send language files to HTMLarea development)

$nls['htmlarea']['en_US'] = 'en';

en_EN.nls.php
Code :
[== Indéfini ==]
$nls['language']['en_EN'] = 'English';
$nls['englishlang']['en_EN'] = 'English';

#Possible aliases for language
$nls['alias']['en'] = 'en_EN';
$nls['alias']['english'] = 'en_EN' ;
$nls['alias']['eng'] = 'en_EN' ;
#$nls['alias']['en-US'] = 'en_EN';
$nls['alias']['en_CA'] = 'en_EN' ;
$nls['alias']['en_GB'] = 'en_EN' ;
$nls['alias']['en_EN'] = 'en_EN' ;
#$nls['alias']['en_US.ISO8859-1'] = 'en_EN' ;

#Encoding of the language
$nls['encoding']['en_EN'] = 'UTF-8';

#Location of the file(s)
$nls['file']['en_EN'] = array(dirname(__FILE__).'/en_EN/admin.inc.php');

#Language setting for HTML area
# Only change this when translations exist in HTMLarea and plugin dirs
# (please send language files to HTMLarea development)

$nls['htmlarea']['en_EN'] = 'en';

Ensuite j'ai pu définir la langue locale dans la gestion des langues en english (english) pour la version EN et english (us) pour la version US
Pour moi ce n'est pas la bonne méthode tu
devrais déclarer ta langue En comme une langue externe (genre De ou Es ...)
- en_EN.nls.php doit etre dans \lib\nls
- et utiliser les dossiers \lang\ext\ avec le fichier en_EN.php pour les modules, tasks et cms_selflink

comme indiqué dans le wiki