Jump to content

Code ISO RE pour Reunion --> Paypal en anglais


Recommended Posts

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

  • 3 months later...

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

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

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

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

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 by emily_d (see edit history)
Link to comment
Share on other sites

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

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

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

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

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 by emily_d (see edit history)
Link to comment
Share on other sites

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 by emily_d (see edit history)
Link to comment
Share on other sites

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

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

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

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 by emily_d (see edit history)
Link to comment
Share on other sites

  • 1 year later...

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 by Prestasellerindanger (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...