msoive Posted May 6, 2009 Share Posted May 6, 2009 Bonjour,Le titre peut être trompeur, je ne souhaite pas ajouter un fichier de traduction mais un mot en + dans le fichier fr.php d'un module.dans ce fichier, il y a plusieurs lignes de ce type (1 ligne = 1 mot) : $_MODULE['<{blockcart}prestashop>blockcart_a85eba4c6c699122b2bb1387ea4813ad'] = 'panier';Je souhaite pouvoir ajouter un nouveau mot pour ce module afin de l'utiliser sur le front.Dans le backoffice, on peut modifier le contenu de chaque mot pour ce module mais je n'ai pas vu d'option pour ajouter un mot traduit supplémentaire.J'ai essayé de rajouter un ligne au fichier fr.php mais vu que Prestashop génère lui-même le nom avec une chaine cryptée, comment pourvoir associé un nom à un mot traduit ?Voici une tentative : $_MODULE['<{blockcart}prestashop>blockcart_nomMeuble'] = 'table';Mes essais ont ajouté un libelle "empty" au lieu de "nomMeuble" avec le mot traduit "table"... Link to comment Share on other sites More sharing options...
ChrisFR Posted December 16, 2009 Share Posted December 16, 2009 Bonjour,avez-vous la réponse pour ajouter un champ de traduction dans le FrontOffice depuis l'administration de Prestashop ?CordialementChris Link to comment Share on other sites More sharing options...
Olecorre Posted December 16, 2009 Share Posted December 16, 2009 bonjour,Pour ajouter une traduction, il faut passer par l'ongetl traduction de prestashop, il s'occupera de créer la ligne dans le fichier de langue. Le script de traduction repère les appels du type $this->l('texte) et propose de les traduire.Cdt 1 Link to comment Share on other sites More sharing options...
ChrisFR Posted December 16, 2009 Share Posted December 16, 2009 Il faut aller dans le menu Outils --> Onglet ou Outil --> traduction ?je ne vois pas ou rajouter un champ, peux-tu préciser la marche à suivre stp... merci d'avanceChris Link to comment Share on other sites More sharing options...
Olecorre Posted December 16, 2009 Share Posted December 16, 2009 Re,Il faut modifier le module pour ajouter le $this->l('votre mot') pour que la traduction le proposeCdt Link to comment Share on other sites More sharing options...
SotEW Posted December 16, 2009 Share Posted December 16, 2009 Olecorre te pousse dans la bonne direction, mais je vais tenter d'être plus précis :les fichiers fr.php, en.php, etc, ne doivent pas être modifié à la main. Ils sont générés automatiquement par le script dans l'Onglet outil/traductions.les lignes qui apparaissent dans les traduction sont réccupérés à partir de deux sources : Dans le module lui même : $this->l('texte à traduire') ou dans le fichier .tpl du module en question {l s='texte à traduire' mod='nomdumodule'} Pour ajouter une ligne dans les traductions, il faut donc ajouter la fonction l avec la chaine de caractère (traditionnellement écrite en anglais) dans un des deux fichiers, sauver, puis aller dans l'onglet outil, traduction, pour trouver et traduire le champ nouvellement créé.SotEW Link to comment Share on other sites More sharing options...
Olecorre Posted December 16, 2009 Share Posted December 16, 2009 Merci pour les précisions, t'a été plus rapide que moi, j'étais en train de préparer un texte explicatif ! Link to comment Share on other sites More sharing options...
ChrisFR Posted December 16, 2009 Share Posted December 16, 2009 Merci à toi SotEW pour ces précisions, c'est exactement ce que je cherchais à comprendre.Super rapide vos réponses à tous les deux, problème résolu, ça marche nickel.Chris Link to comment Share on other sites More sharing options...
Julien Breux Posted December 16, 2009 Share Posted December 16, 2009 Merci à SotEW.Ceci dit, nous le disons et répétons avec Philippe depuis le début : Utilisez l'outil de traduction pour traduire Inutile de les faire "à la main" (coder la traduction) Link to comment Share on other sites More sharing options...
msieur_toph Posted August 9, 2012 Share Posted August 9, 2012 (edited) Bonjour, Je voulais juste signaler 2 choses (si ça peut aider quelqu'un) : - Première chose, il n'est pas nécessaire de modifier le template-même du module. On peut créer un dossier "modules/mon_module/" dans le répertoire du thème et y coller une copie du template .tpl. On peut ensuite modifier ce template (y rajouter des mots à traduire par exemple) Et pour accéder à ses traductions : Dans le back office : Panneau d'administration > Outils > Traductions. Choisir "Traduction des modules installés" et cliquer sur le drapeau de la langue voulue. Cliquer ensuite sur le thème dans la liste proposée, écrite en tout petit ... (ce qui emmène généralement tout en bas de la page où se trouvent les traductions ajoutées dans la copie modifiée du tpl du module associée au thème). Ca peut paraitre trivial, mais j'ai mis un moment avant de capter où je pouvais modifier les traductions du thème. Donc si ça peut aider quelqu'un. - Et sinon, deuxième chose, un peu plus dans le thème de la discussion, l'outil de traduction ne fonctionne pas avec l'utilisation d'un modifier. Dans mon .tpl : {l s='mon_mot' mod='mon_module'} /* Fonctionne, le mot mon_mot est détecté par l'outil de traduction et rajouté dans le backoffice */ {l|capitalize s='mon_mot' mod='mon_module'} /* Ne fonctionne pas, l'outil ne le détecte pas */ J'imagine qu'il faudrait surcharger la fonction Module::l, pour lui faire prendre en compte cette syntaxe, mais j'avoue que je me suis pas penché sur la question ... c'est la première fois que je manipule du prestashop, j'ai d'autres soucis prioritaires... Par contre, si quelqu'un trouve, je suis preneur ... [Edit : Je viens de jeter un oeil, et en fait c'est bien plus compliqué que ça ... il faut retrouver l'endroit où la chaine est parsée avant d'être envoyé à la fonction l (de la classe Module ou AdminTab, je ne sais même pas d'ailleurs). Bref, ça se passe très bas niveau, j'ai l'impression et je pense qu'il faut avoir créé le truc pour s'y retrouver .... ] Sinon, merci beaucoup pour cette discussion, c'est elle qui m'a dépétré de mon problème initial. Edited August 9, 2012 by msieur_toph (see edit history) Link to comment Share on other sites More sharing options...
Centaure Posted May 2, 2016 Share Posted May 2, 2016 Bonjour, moi mon soucis c'est que mon module possède bien les variables mais il n'apparaît pas dans la page des traductions ... j'ai cherché dans toutes les options qu'offre la page de traduction (front, module, themes ...) comprends pas ... si je reset le module peut-être ? Link to comment Share on other sites More sharing options...
Regaton Posted May 3, 2016 Share Posted May 3, 2016 Moi pareil... Je suis allé dans le fichier php de la langue et j'ai rajouté à la main la ligne... Mais j'aimerai bien le faire plus... "propre" Link to comment Share on other sites More sharing options...
Centaure Posted May 4, 2016 Share Posted May 4, 2016 bonjour, en fait il semblerai que ce soit mon theme qui pose problème, ou du moins une des modifications que j'y ai apporté ... mais je comprends pas pourquoi puisque la traduction concerne le "coeur de prestashop" ... Link to comment Share on other sites More sharing options...
sascom Posted December 23, 2016 Share Posted December 23, 2016 Bonjour, j'aimerai juste apporter une précision à ce sujet qui est arrivé en tête de Google pour répondre à mon problème. Pas mal d'éditeur de modules ou de templates font l'erreur de mettre des double quotes "code" au lieu des simples 'code'. Je ne sais pas si ça passait dans les versions précédentes de prestashop, mais en tout cas pas sur la 1.6.1.X . Voilà, si ça peut aider, parce que c'est assez tricky. Et merci aux réponses du dessus qui m'ont bien aidé. Un grand merci à toi digit89 pour cette précision !!! Je m'arrachais les cheveux la-dessus depuis 2 jours... 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