pnr74 Posted December 31, 2012 Share Posted December 31, 2012 Hello, Je suis à la réunion, du coup quand les gens passent une commande via Paypal, Paypal est en anglais .... pas top pour les gens qui sont réticents au paiment sur le net. Du coup pour la france métropolitaine le code ISO est FR, --> OK (paypal en francais) pour mayaotte le code est YT --> OK (paypal en francais) Pour la reunion le Code est RE --> PAS OK (paypal en anglais) Biensur je peux pas mettre code FR à la place de RE, prestashop ne me le permet pas Avez vous une idée ? Merci Link to comment Share on other sites More sharing options...
coco72 Posted April 30, 2013 Share Posted April 30, 2013 bonjour, je relance moi aussi cette discussion non résolue. Bonjour, Pour information, j'avais toujours la page paypal en anglais lorsque l'adresse de livraison était basée à l'île de la Réunion. En effet le code ISO du pays est "RE". Il faut le changer en "FR". Comme j'ai bien galéré la dessus en pensant que ça venai des paramètres paypal et non de prestashop .... Bonne journée. mais cela ne marche pas CAR DEUX PAYS NE PEUVENT AVOIR LE MEME ISO... QQn connait il la solution ? Merci Coco Link to comment Share on other sites More sharing options...
Oron Posted April 30, 2013 Share Posted April 30, 2013 Bonjour Avez-vous vérifiez le fichier re.php dans /theme/votretheme/lang/ est-il traduit en français ? au cas où il est pas traduit en français testé en mettant un deuxième fr.php mais en le renommant d'abord . Link to comment Share on other sites More sharing options...
coco72 Posted April 30, 2013 Share Posted April 30, 2013 bjr, j'ai copié collé le fichier fr.php et créé re.php dans /theme/votretheme/lang/ et modules/paypal/ mais cela ne change rien je pense que ca doit avoir un lien avec le code ISO (comme posts précédents) mais je ne sais pas quel fichier je dois changer pour dire que la Réunion utilise le fichier langue francais ? Link to comment Share on other sites More sharing options...
stefdu974 Posted April 30, 2013 Share Posted April 30, 2013 (edited) Bonjour à tous, à la réunion aussi, et le meme problème...formulaire de paiement paypal en anglais...effectivement je pense que ca va faire peur à bon nombre de (futurs) clients... Au passage, ou change t'on les codes ISO ? A vous lire Stef Edited April 30, 2013 by stefdu974 (see edit history) Link to comment Share on other sites More sharing options...
coco72 Posted May 3, 2013 Share Posted May 3, 2013 Slt j'ai tenté autre chose : j'ai ajouté au fichier "translations.xml" du module paypal (3.5) une trad pour la REUNION > en fait j'ai copié collé les traductions pour la france et j'ai modifié la 1ère ligne : <country iso_code="RE"> j'ai changé le fichier sur le serveur, j'ai réinitailisé le module ... et RIEN NE SE PASSE ! bon j'y ai cru, mais non, nada mas si qqn a une soltuion pour nous malheureux ti rényonais MERCI Link to comment Share on other sites More sharing options...
emily_d Posted May 3, 2013 Share Posted May 3, 2013 (edited) Une solution : // modules/paypal/paypal.php, l 703) public function getTranslations() { ... //remplacer if (($this->iso_code != 'default') && ($country_iso == $this->iso_code)) // par if ((strtoupper($this->context->language->iso_code) != 'default') && ($country_iso == strtoupper($this->context->language->iso_code))) ... } Pour l'explication, voir les deux messages suivants : http://www.prestasho...__fromsearch__1 Ne pas appliquer la solution qui se trouve dans le premier message. Edited May 3, 2013 by emily_d (see edit history) Link to comment Share on other sites More sharing options...
stefdu974 Posted May 4, 2013 Share Posted May 4, 2013 Merci Emily, Je tourne sur la version 1.4.6 de Prestashop avec le module Paypal fourni avec (PayPal v2.8.5) Je ne trouve pas ces lignes de code dans le fichier paypal.php Sur quelle version le code est il valable ? et puis je mettre un module paypal plus recent sur ma version de Prestashop ? Merci d'avance pour l'aide. Stef Link to comment Share on other sites More sharing options...
emily_d Posted May 4, 2013 Share Posted May 4, 2013 Sur quelle version le code est il valable ? Oui cela ne concerne que les dernières versions de Paypal (~ 3.5.0). Cela règle le problème lié à l'apparition du fichier translations.xml qui n'existait pas encore dans la 2.8.5 et la confusion code iso pays / code iso langue. Donc je ne sais pas si c'est le même problème. En dernier recours tu peux toujours modifier les .tpl directement en remplaçant les {l s='...'} par le texte en français. Ou si ta boutique est multilingue faire des conditions du type {if $lang_iso == 'fr'} {/if} etc... Ce n'est pas très propre mais ça peut dépanner. et puis je mettre un module paypal plus recent sur ma version de Prestashop ? Les dernières version du module Paypal sont annoncées compatibles v1.4.0.0 - v1.5.4.1 mais à tester sérieusement avant de faire le pas. Link to comment Share on other sites More sharing options...
stefdu974 Posted May 4, 2013 Share Posted May 4, 2013 Re bonjour Emily, merci pour ta reponse super rapide ! Juste pour que l'on parte sur de bonnes bases, je prefere preciser que je n'ai pas de probleme de traduction à l'interieur du site lui meme, mais bien au moment ou le client passe commande et qu'il est envoyé vers le site paypal. Il arrive sur la page ou il doit selectionner le modele de sa carte, saisir son numero de carte, etc...c'est cette page qui est en anglais (alors qu'il faudrait logiquement qu'elle soit en francais) Pour test, éventuellement voir le site (encore en construction) : http://www.steffglacier.re/PrestaShop Est ce que ta solution convient à ce probleme là ? Si oui, je mettrai à jour le module paypal pour tester ta solution. Merci en tout cas Stef Link to comment Share on other sites More sharing options...
emily_d Posted May 4, 2013 Share Posted May 4, 2013 Tu as bien fait de préciser J'ai lu trop vite, et je pensais que votre problème concernait les traductions de paypal dans PrestaShop. C'est plus clair, car pour moi le problème concernait uniquement les dernières versions de PayPal. Concernant votre problème. Au départ, je pensais que PayPal choisissait la langue en fonction de critères multiples : langue du navigateur, adresse, etc. Mais apparemment cela ne serait pas toujours le cas, pour forcer la langue il y a une solution ici : http://www.prestasho...ost__p__1177896 Je n'ai pas testé cependant. Link to comment Share on other sites More sharing options...
emily_d Posted May 4, 2013 Share Posted May 4, 2013 (edited) Je peux confirmer qu'ajouter 'LOCALECODE' => 'fr_FR' renvoie vers la page en français si on l'ajoute à : //modules/paypal/api/paypal_lib.php $params = array( 'METHOD' => $methodName, 'VERSION' => $method_version, 'PWD' => Configuration::get('PAYPAL_API_PASSWORD'), 'USER' => Configuration::get('PAYPAL_API_USER'), 'SIGNATURE' => Configuration::get('PAYPAL_API_SIGNATURE'), 'LOCALECODE' => 'fr_FR' ); Pour la 2.8.5 il faudrait refaire la requête. PS Pour une boutique multilingue, vous pouvez utiliser $this->paypal->context->language->iso_code pour connaitre la langue sélectionnée. et renvoyée sur la bonne interface paypal. Edited May 4, 2013 by emily_d (see edit history) Link to comment Share on other sites More sharing options...
coco72 Posted May 4, 2013 Share Posted May 4, 2013 bjr merci pour votre aide. qd je mets 'LOCALECODE' => 'fr_FR' dans //modules/paypal/api/paypal_lib.php ça me renvoi une erreur 500 Link to comment Share on other sites More sharing options...
emily_d Posted May 4, 2013 Share Posted May 4, 2013 (edited) bjr merci pour votre aide. qd je mets 'LOCALECODE'=>'fr_FR' dans //modules/paypal/api/paypal_lib.php ça me renvoi une erreur 500 Il ne faut pas juste mettre 'LOCALECODE'=>'fr_FR', il faut l'intégrer à l'array $params comme dans le code plus haut mais cette array n'existe pas dans la version 2.8.5. Dans ce cas là il faut complétement réécrire la requête. Sans garantie et sans test, je remplacerai les lignes : $request = 'METHOD='.urlencode($methodName).'&VERSION='.urlencode(PAYPAL_API_VERSION); $request .= '&PWD='.urlencode(Configuration::get('PAYPAL_API_PASSWORD')).'&USER='.urlencode(Configuration::get('PAYPAL_API_USER')); $request .= '&SIGNATURE='.urlencode(Configuration::get('PAYPAL_API_SIGNATURE')).$string; par ça : $params = array( 'METHOD' => $methodName, 'VERSION' => PAYPAL_API_VERSION, 'PWD' => Configuration::get('PAYPAL_API_PASSWORD'), 'USER' => Configuration::get('PAYPAL_API_USER'), 'SIGNATURE' => Configuration::get('PAYPAL_API_SIGNATURE'), 'LOCALECODE' => 'fr_FR' ); $request = http_build_query($params, '', '&'); $request .= '&'.(!is_array($string) ? $string : http_build_query($string, '', '&')); Ou encore plus simplement, en fait, remplacer : $request .= '&SIGNATURE='.urlencode(Configuration::get('PAYPAL_API_SIGNATURE')).$string; par : $request .= '&SIGNATURE='.urlencode(Configuration::get('PAYPAL_API_SIGNATURE')).'&LOCALECODE=fr_FR'.$string; Sauf erreur de syntaxe, cela devrait fonctionner. Edited May 4, 2013 by emily_d (see edit history) Link to comment Share on other sites More sharing options...
coco72 Posted May 5, 2013 Share Posted May 5, 2013 en fait dans paypal_lib.php (version 3.5 avec presta 1.5.3.1) j'ai rajouté la ligne 'LOCALECODE' => 'fr_FR' et j'ai dorénavant cela : // Making request string $method_version = (!empty($method_version)) ? $method_version : PAYPAL_API_VERSION; $params = array( 'METHOD' => $methodName, 'VERSION' => $method_version, 'PWD' => Configuration::get('PAYPAL_API_PASSWORD'), 'USER' => Configuration::get('PAYPAL_API_USER'), 'SIGNATURE' => Configuration::get('PAYPAL_API_SIGNATURE') 'LOCALECODE' => 'fr_FR' ); $request = http_build_query($params, '', '&'); $request .= '&'.(!is_array($data) ? $data : http_build_query($data, '', '&')); Link to comment Share on other sites More sharing options...
J. Danse Posted May 5, 2013 Share Posted May 5, 2013 Il vous manque une virgule, ;-) 'SIGNATURE' => Configuration::get('PAYPAL_API_SIGNATURE'), 'LOCALECODE' => 'fr_FR' 1 Link to comment Share on other sites More sharing options...
coco72 Posted May 5, 2013 Share Posted May 5, 2013 parfois je me demande si je n'ai pas la tête ailleurs !!! CA MARCHE ! ça m'enlève une épine (d'oursin !) du pied UN GRAND MERCI A TOUS 1 Link to comment Share on other sites More sharing options...
stefdu974 Posted May 6, 2013 Share Posted May 6, 2013 Bonjour a tous, pour ma part, avec la version 2.8.5, ca ne fonctionne pas, c'est toujours en anglais.... Link to comment Share on other sites More sharing options...
emily_d Posted May 6, 2013 Share Posted May 6, 2013 Bonjour a tous, pour ma part, avec la version 2.8.5, ca ne fonctionne pas, c'est toujours en anglais.... Tu peux afficher le contenu de ta fonction makeCall, et faire un die($request); pour voir ce que la requête contient. Link to comment Share on other sites More sharing options...
stefdu974 Posted May 9, 2013 Share Posted May 9, 2013 Oups emily, c'est gentil, mais là, mon niveau est dépassé, ce que tu m'indiques, c'est pour moi du chinois... J'ai pris un module chez magavenue, et ceux ci m'ont donné des modifications, que j'ai fait, et me disent que de chez eux, ils obtiennent la page de paiement en francais, et moi, ca continue en anglais... Vous avez moyen de tester svp, en vous identifiant avec une adresse à l'ile de la reunion ? http://www.steffglacier.re/PrestaShop Merci a vous tous !il faut que j'y arrive, un formulaire paypal en anglais, c'est l'echec assuré !!! Stef Link to comment Share on other sites More sharing options...
Oron Posted May 10, 2013 Share Posted May 10, 2013 Bonjour a tous, pour ma part, avec la version 2.8.5, ca ne fonctionne pas, c'est toujours en anglais.... Bonjour 2.8.5 normale elle n'est pas encore sortie faudra patienter vers 2017 Link to comment Share on other sites More sharing options...
emily_d Posted May 10, 2013 Share Posted May 10, 2013 (edited) Pour ceux qui ont la version 2.8.5 Dans modules/paypal/api/paypal_lib.php, remplacer : $request .= '&SIGNATURE='.urlencode(Configuration::get('PAYPAL_API_SIGNATURE')).$string; par $request .= '&SIGNATURE='.urlencode(Configuration::get('PAYPAL_API_SIGNATURE')).'&LOCALECODE=fr_FR'.$string; die($request); Et rapportez le message qui s'affiche. Enlever die($request), une fois l'opération terminée. NE SURTOUT PAS AFFICHER LES INFORMATIONS TYPES USER, PWD et SIGNATURE Ce qui importe c'est ce passage : SIGNATURE=XXXXXXXXXXXXXXXXXXXXX&LOCALECODE=fr_FR&CANCELURL=http%3A%2F%2F192.168.1.158%2Fs Edited May 14, 2013 by emily_d (see edit history) Link to comment Share on other sites More sharing options...
CoworkingFeliz Posted November 19, 2014 Share Posted November 19, 2014 (edited) Suite au passage en SSL 3.0 de Paypal j'ai mis à jour mon module paypal et suis maintenant sur la version 3.8.0. Je souhaite changer la langue de la plateforme de paiement mais en rajoutant LOCALECODE=fr_FR j'ai une erreure sur la page de validation du panier. Faut-il modifier un autre fichier que Paypal_lib.php? J'ai à présent ceci: // Making request string $method_version = (!empty($method_version)) ? $method_version : PAYPAL_API_VERSION; $params = array( 'METHOD' => $methodName, 'VERSION' => $method_version, 'PWD' => Configuration::get('PAYPAL_API_PASSWORD'), 'USER' => Configuration::get('PAYPAL_API_USER'), 'SIGNATURE' => Configuration::get('PAYPAL_API_SIGNATURE'), 'LOCALECODE' => 'fr_FR' ); $request = http_build_query($params, '', '&'); $request .= '&'.(!is_array($data) ? $data : http_build_query($data, '', '&')); Merci de votre aide Edited November 19, 2014 by Prestasellerindanger (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now