Jump to content

Empêcher les traduction "vides"


Recommended Posts

Bonjour,

 

Je me pose une question depuis un moment, j'espère que quelqu'un saura m'éclairer.

Lorsqu'on installe un module on peut traduire celui-ci dans le backoffice. Seulement, il arrive souvent que je veuille juste traduire une ou 2 phrases et laisser le reste tel quel (je ne m'embête pas à traduire la partie admin par exemple).

 

Le problème est que souvent Prestashop, ne voyant aucune traduction dans certains champs, décide de m'afficher un texte "vide" en guise de traduction alors que je voudrais le texte anglais.

 

Est-ce qu'il y aurait un moyen rapide pour par exemple dupliquer les termes anglais et les copier/coller dans les champs français (dans la section localisation/traduction) ? Ou tout autre méthode car je pers un temps fou à chaque fois à copier/coller les textes de leur version anglaise à leur version française.

Link to comment
Share on other sites

Salut,

as tu essayé d'editer directement le fichier de traduction ?

ex: /themes/default-bootstrap/modules/cheque/translations/en.php

on a:

<?php

global $_MODULE;
$_MODULE = array();

$_MODULE['<{cheque}prestashop>cheque_7b4cc4f79be9aae43efd53b4ae5cba4d'] = 'Payment by check';
$_MODULE['<{cheque}prestashop>cheque_c888438d14855d7d96a2724ee9c306bd'] = 'Your settings have been updated.';
$_MODULE['<{cheque}prestashop>cheque_5dd532f0a63d89c5af0243b74732f63c'] = 'Contact details';
$_MODULE['<{cheque}prestashop>cheque_dd7bf230fde8d4836917806aff6a6b27'] = 'Address';
$_MODULE['<{cheque}prestashop>payment_execution_060bf2d587991d8f090a1309b285291c'] = 'Payments by check';
$_MODULE['<{cheque}prestashop>payment_execution_1f87346a16cf80c372065de3c54c86d9'] = '(tax incl.)';
$_MODULE['<{cheque}prestashop>payment_execution_0881a11f7af33bc1b43e437391129d66'] = 'Please confirm your order by clicking \'I confirm my order\'';
$_MODULE['<{cheque}prestashop>payment_execution_46b9e3665f187c739c55983f757ccda0'] = 'I confirm my order';
$_MODULE['<{cheque}prestashop>payment_return_e1c54fdba2544646684f41ace03b5fda'] = 'Do not forget to include your order number #%d.';
$_MODULE['<{cheque}prestashop>payment_return_4761b03b53bc2b3bd948bb7443a26f31'] = 'Do not forget to include your order reference %s.';
$_MODULE['<{cheque}prestashop>payment_return_0db71da7150c27142eef9d22b843b4a9'] = 'If you have questions, comments or concerns, please contact our';
$_MODULE['<{cheque}prestashop>payment_841728ede901f5134574c4656aba5464'] = 'Pay by check (order processing will take more time)';

il suffit de créer le fichier fr.php en reprenant le code

Link to comment
Share on other sites

Je travaille sur différentes boutiques (de 1.5.62 à 1.6.1.11) mais je crois que j'ai eu le cas sur toutes. Sur une qui est en 1.5.6 par exemple, il me semble qu'il y avait le problème.

 

J'avais pensé aussi à reprendre ce fichier de traduction mais là en l’occurrence il n'y a pas de en.php, le seul fichier de traduction disponible est russe

Link to comment
Share on other sites

tu copie colle le code du ru.php vers un nouveau fichier fr.php après tu traduit les chaines via google translate du russe vers le francais.

 

pour allez plus vite tu enregistres le fichier en csv et tu l ouvres avec un tableur colonne separé par des "=" tu selectionnes la colonne et tu la colle dans google translate

 

cdt

Edited by Alexandre Carette (see edit history)
Link to comment
Share on other sites

Je travaille sur différentes boutiques (de 1.5.62 à 1.6.1.11) mais je crois que j'ai eu le cas sur toutes. Sur une qui est en 1.5.6 par exemple, il me semble qu'il y avait le problème.

 

J'avais pensé aussi à reprendre ce fichier de traduction mais là en l’occurrence il n'y a pas de en.php, le seul fichier de traduction disponible est russe

 

Mais ça concerne un ou plusieurs modules ?

SI c'est un seul module alors le développeur n'a pas suivi les conventions de codage pour la traduction des chaines de caractères ($this->l('le texte à traduire) pour un fichier PHP ou {l s='le texte à traduire' mod='nom_du_module'} pour les templates)

Link to comment
Share on other sites

Pas bête oui :) , ça peut être une façon de faire.
 
Après l'idéal dans ce cas ça aurait été d'avoir vraiment une copie de la chaîne d'origine. En gros de réussir à générer un fichier qui reprend toutes les chaines d'origine (donc avant traduction). Mais j'imagine qu'il n'y a pas de moyen simple de faire ça.

 

Mais ça concerne un ou plusieurs modules ?
SI c'est un seul module alors le développeur n'a pas suivi les conventions de codage pour la traduction des chaines de caractères ($this->l('le texte à traduire) pour un fichier PHP ou {l s='le texte à traduire' mod='nom_du_module'} pour les templates)

 

Ça concerne tous les modules, mais le problème n'est pas que je ne vois pas les chaînes, mais que parfois si je sauvegarde la traduction avec un champ vide, cela me remplace la chaîne par une chaîne vide (au lieu de m'afficher la chaîne initiale)
 

Edited by Anthony.D (see edit history)
Link to comment
Share on other sites

Il me semblait oui mais forcément j'ai un doute maintenant que vous me dite que ce n'est pas le comportement normal. Je ferai attention les prochaines fois, histoire de mieux localiser le problème.

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...