osyris Posted September 7, 2021 Share Posted September 7, 2021 Bonjour, J'ai modifié le fichier contactform.php, et pour éviter qu'il soit écrasé à la mise à jour de Prestashop, j'ai intégré une partie du script dans le dossier override, celui-ci fonctionne parfaitement à ce que j'attendais. Malheureusement, les traductions des modules installés ne fonctionnent pas. Voici une ligne du script $this->context->controller->errors[] = $this->l('Les liens ne sont pas autorisés dans le message'); Avant de vous demander, j'ai fait plusieurs recherches en vain et les sujets commence à dater. Aviez-vous une idée à me proposer pour profiter des traductions même dans l'override ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted September 7, 2021 Share Posted September 7, 2021 Bonjour, je n'ai jamais pu faire fonctionner une traduction dans un override php Link to comment Share on other sites More sharing options...
osyris Posted September 8, 2021 Author Share Posted September 8, 2021 19 hours ago, Mediacom87 said: Bonjour, je n'ai jamais pu faire fonctionner une traduction dans un override php C'est fort dommage de ne pas pouvoir traduire lorsqu'on fait override. J'ai trouvé un sujet qui parle des traductions en override, et la personne apparemment, elle a trouvé la solution. Par contre, je ne comprends pas du tout son script. Si vous pouviez avoir la gentillesse de m'aider à comprendre ce script. https://www.prestashop.com/forums/topic/178143-traduction-override-des-admintabs/ Merci Link to comment Share on other sites More sharing options...
Knowband Plugins Posted September 10, 2021 Share Posted September 10, 2021 Pour les transactions de remplacement, veuillez essayer d'utiliser le code ci-dessous: $this->trans('Translation text.', array(), 'Shop.Notifications.Error'); Link to comment Share on other sites More sharing options...
osyris Posted September 13, 2021 Author Share Posted September 13, 2021 On 9/10/2021 at 2:02 PM, Knowband Plugins said: Pour les transactions de remplacement, veuillez essayer d'utiliser le code ci-dessous: $this->trans('Translation text.', array(), 'Shop.Notifications.Error'); Bonjour, j'ai remplacé ma ligne de script $this->context->controller->errors[] = $this->l('Les liens ne sont pas autorisés dans le message'); par la votre $this->trans('Translation text.', array(), 'Shop.Notifications.Error'); et la traduction dans l'override du fichier contactform.pfp ne fonctionne toujours pas. Pourriez-vous être plus explicite ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted September 13, 2021 Share Posted September 13, 2021 et ce sujet : Link to comment Share on other sites More sharing options...
osyris Posted September 17, 2021 Author Share Posted September 17, 2021 On 9/13/2021 at 10:42 AM, Mediacom87 said: et ce sujet : Bonjour, Merci de bien vouloir m'aider. J'ai fait mon possible pour comprendre et j'ai fait des essais, sans obtenir de résultat concret. J'ai regardé ce sujet et au post, il y a la phrase (Créer les champs à traduire directement en base dans la table ps_translations (en retirant les points du domaine, par exemple "Admin.Actions" devient "AdminAction")) La table ps_translations n'existe pas dans ma base de données. Pouviez-vous m'apporter des éclaircissements ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted September 17, 2021 Share Posted September 17, 2021 Franchement, concernant le sujet des traductions sur Prestashop 1.7 je passe la main, en essayant d'améliorer les choses ils ont fait pire et surtout Personne chez PrestaShop n'est en capacité de faire que cela fonctionne convenablement, donc j'abandonne. Cela fait plus de 5 ans que nous sommes certains à soulever ce genre de problème mais il y a plus urgent semble t il. Link to comment Share on other sites More sharing options...
osyris Posted September 17, 2021 Author Share Posted September 17, 2021 1 hour ago, Mediacom87 said: Franchement, concernant le sujet des traductions sur Prestashop 1.7 je passe la main, en essayant d'améliorer les choses ils ont fait pire et surtout Personne chez PrestaShop n'est en capacité de faire que cela fonctionne convenablement, donc j'abandonne. Cela fait plus de 5 ans que nous sommes certains à soulever ce genre de problème mais il y a plus urgent semble t il. Ok Mediacom87, je vais laisser tomber. Plus urgent oui, par exemple les updates plantent. Bon weekend à toi et merci. Link to comment Share on other sites More sharing options...
Spiriit Agency Posted January 16 Share Posted January 16 On 9/13/2021 at 10:34 AM, osyris said: Bonjour, j'ai remplacé ma ligne de script $this->context->controller->errors[] = $this->l('Les liens ne sont pas autorisés dans le message'); par la votre $this->trans('Translation text.', array(), 'Shop.Notifications.Error'); et la traduction dans l'override du fichier contactform.pfp ne fonctionne toujours pas. Pourriez-vous être plus explicite ? Salut, Pour traduire avec le domaine via trans il faut ajouter l'entrée dans le fichier app/Resources/translations/default/ puis le fichier qui correspond au domaine, dans votre cas pour Shop.Notifications.Error ce sera le fichier ShopNotificationsError.xlf Ensuite comme vous cherchez a rajouter une traduction dans "contactform.php" cherchez si il existe déjà un bloc avec ce fichier par exemple: <file original="classes/ContactForm" Si non, alors créez le bloc file avec le body et le trans-unit. L'attribut id de "trans-unit" sera le hash MD5 de votre texte a traduire soit "Translation text." Les valeurs de source & target seront le texte a traduire soit "Translation text." La valeur de note n'a pas de réel importance. Exemple: <trans-unit id="b184c65824e045774cf27cf7b72c1d3b"> <source>Translation text.</source> <target>Translation text.</target> <note>Line: 101</note> </trans-unit> Après ca vous pourrez retrouver votre traduction coté Back office dans Localisation > Traduction > Theme ou Module en fonction de votre domaine, pour vous ce sera Theme et votre theme. Enjoy Link to comment Share on other sites More sharing options...
osyris Posted January 26 Author Share Posted January 26 Bonjour Spiriit Agency, Tout d'abord, je tiens à m'excuser pour le retard de ma réponse. Merci infiniment d'avoir pris le temps de partager tes conseils. Après avoir examiné attentivement ce que tu as proposé, je suis navré, mais je n'ai pas bien compris les étapes à suivre pour obtenir les traductions. Pourrais-tu s'il te plaît fournir des clarifications supplémentaires ou des instructions plus détaillées ? Encore une fois, je m'excuse pour le délai et je te suis reconnaissant pour ton aide. Link to comment Share on other sites More sharing options...
sebwvs Posted March 22 Share Posted March 22 Bonjour , si ça peut aider: Dans le fichier contactform.php : // overide seb condition pour exclure le http dans les message if(preg_match('/http(s?):\/\//ism',$message)) { $this->context->controller->errors[] = $this->trans( 'Nous autorisons pas Les urls dans le message.', [], 'Modules.Contactform.Shop' ); return; } // overide seb condition pour exclure les www. dans les message if(preg_match('/www./ism',$message)) { $this->context->controller->errors[] = $this->trans( 'Nous autorisons pas Les urls dans le message.', [], 'Modules.Contactform.Shop' ); return; } Via un générateur de hashMD5: https://www.md5hashgenerator.com/fr/ vous générez le hashmad5 de votre texte ici : Nous autorisons pas Les urls dans le message. généré = 8539b7d238f7d65154d454623a1d2236 Ensuite dans le fichier \app\Resources\translations\default\ModulesContactformShop.xlf vous ajoutez : <trans-unit id="8539b7d238f7d65154d454623a1d2236"> <source>Nous autorisons pas Les urls dans le message.</source> <target>Nous autorisons pas Les urls dans le message.</target> <note>Line: 485</note> </trans-unit> Ensuite dans le fichier \app\Resources\translations\fr-FR\ModulesContactformShop.fr-FR.xlf et/ou dans tous les autres dossiers de traduction que vous souhaité vous ajoutez : <trans-unit id="8539b7d238f7d65154d454623a1d2236" approved="yes"> <source>Nous autorisons pas Les urls dans le message.</source> <target state="final">Nous autorisons pas Les urls dans le message.</target> <note>Line: 485</note> </trans-unit> Ensuite via le BO dans traduction du module formulaire de contact, vous verrez les nouveaux champs ajouté :-) Salut 😉 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