Forum CMS Made Simple FR

Version complète : [Résolu] cms mailer function.contact_form5 (fr to 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 : http://www.schweiger.fr/cmsms-1.1.7/inde...ge=contact
#~ Hébergeur / Soft : 1and1
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Désolé de devoir r'ouvrir un nouveau post mais le site que je dois faire est en Anglais, le langage de base du fichier function.contact_form5 est en francais

je vois dans le début du fichier
Code :
function getTranslation5($langue) {
        switch ($langue) {
        case "en" :

si j'ai bien compris a priori on ne peux plus mettre dans le tag le param( lang="en")

l'aide dit:
Ajout détection langue directement dans le navigateur : en or French by default
je voudrais forcer la langue du formcontact5 en EN
Comment faire ?
RE,
le multilingue est automatique si tu utilises MLE.
Sinon, avant d'appeler le formulaire, tu mets {assign var='lang_parent' value='en'}, ça devrait marcher.
Mais comment fais-tu un site multilingue sans module?
Salut,

Dans un premier temps je te conseillerai de vérifier que tu es bien dans la langue que tu penses.

Essaie d'afficher la langue courante. Ca risque peut-être déjà de t'apporter une surprise.

Quelle est la langue par défaut de ton browser ? Je suppose que tu es en fr_FR ?

Bon courage !
Vérifie aussi la langue de ton CMS, dans les paramètres du site.
@ jissey

Je ne fais pas un site MLE
je fais un site pour un Autrichien qui vit en France et qui travaille principalement avec des éditeurs anglophones
donc une seule version en Anglais

{assign var='lang_parent' value='en'} me parait une bonne solution c'est ce qu'on mettait avant je crois en tête de template du temps du fork mle, je le mets ou dans le template ou dans le function.contact_form5
je pourrais pas le mettre dans les Metadata ?



@heriquet
pour la langue j'ai mis English


Sorry les gars mais tout évolue si vite et j'utilise deux ou trois cms et autres quand je reviens c'est dur de raccrocher les wagons d'autant plus que j'aurais préféré attendre la version 2 de CMS pour refaire un site mais là c'est un (ami) le site à la racine c'est moi qui l'ai fait il y a 6/7 ans avec Joomla/virtuemart joomla j'aime pas mais virtuemart marchait bien à l'époque
du coup y reveux quelque chose de pas trop compliqué s sans boutique alors j'ai dit BANCO CmsMs
@jissey, j'avais pas vu ta réponse... Smile

dans la fonction que tu utilises, peux-tu ajouter ceci : echo $langues;

histoire de voir quelle langue reçoit la fonction, ca nous permettra déjà de savoir à partir de quand le paramètre "anglais" est perdu.

Bon choix que tu as fait avec CMSMS Wink.
@ heriquet

je l'ai mis
la fonction c'est le plugin de JCE
http://jc.etiemble.free.fr/abc/index.php?page=pluginfr
oui oui mais je te parle pas de paramètres, juste d'afficher la valeur du paramètre histoire de t'assurer que c'est bien "en"
@heriquet
c'est moi qui viens de faire évoluer les plugins de jce (cette semaine).
Auparavant, ils n'étaient pas xlingues du tout.
Ils marchent avec MLE pour la détection automatique et si pas de MLE, c'est la langue du navigateur.
J'ai voulu utiliser la fonction intégrée de CMSMS pour le Xlingue, mais j'ai abandonné car la langue par défaut est en...pas cool. Je n'ai pas voulu non plus utiliser le param lang puisqu'il devient obsolète.
Donc, pour isa46, le plus simple est de déclarer la variable pour simuler MLE {$lang_parent}.

@isa46 : ne soit pas désolé d'utiliser CMSMS Wink
Oui, essaie de le mettre dans les metadata.
Oook ok ok Smile.
j'ai mis (echo $languesWink
dans le fichier de la fonction mais on voit rien
je le met avnt l'appel ou aprés l'appel de la fonction
Code :
function smarty_cms_function_contact_form5($params, &$template) {

    $smarty = $template->smarty;    
    // init
    $date_serveur = date("Y-m-d H:m:s"); // date du jour
    //Will be Eq to null or to Captcha instance.
    $captcha = getCaptchaInstance5($params);
    //Will be Eq to null or to CmsMailer instance.
    $cmsmailer = getCmsMailerInstance5($params);
// -------------------------- langue ------------------------------
      //$lang = CmsNlsOperations::get_current_language();
echo "langue ==== ".$lang; Renvoi en-US par default, donc Détection directement dans le navigateur.
    if(!($langue = $smarty->get_template_vars('lang_parent'))) $langue = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
    $lang = getTranslation5($langue);
// ----------------------------------------------------------------

    if (empty($params['email'])){
        echo '<div class="formError">'.$lang[1].'</div>';
        return;
    }
non, ne mets rien dans le plugin.
Dans ta page, tu mets :
Code :
[== Indéfini ==]
{assign var='lang_parent' value='en'}
{contact_form5 ......}
@jissey

Yes sire

merci encore
You're welcome Cool