Klemart3D Posted April 8, 2019 Share Posted April 8, 2019 Bonjour, J'ai overridé la classe CustomerFormatter pour ajouter plusieurs champs personnalisés au formulaire d'inscription dans la fonction getFormat(). Par exemple : $format['website'] = (new FormField()) ->setName('website') ->setType('text') ->setLabel($this->translator->trans( 'Website2', [], '' )) ->setRequired(true); Le champs custom remonte bien dans mon formulaire et fonctionne correctement : Au début j'avais laissé en paramètre le domaine `Shop.Forms.Labels` mais la trad ne remonte pas en BO. J'ai relu la doc, puis, en tombant sur ce commentaire, j'ai donc supprimé le domaine pour laisser vide. J'ai vidé le cache mais le terme reste introuvable en BO. Avez-vous une idée de comment ajouter des champs custom dans un override de classe native qui soient traduisibles en BO ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 8, 2019 Share Posted April 8, 2019 Essayez de base avec l'ancien système $this->l(); https://devdocs.prestashop.com/1.7/development/internationalization/translation/ Link to comment Share on other sites More sharing options...
Klemart3D Posted April 8, 2019 Author Share Posted April 8, 2019 (edited) L'ancien système n'est malheureusement pas intégré dans les nouvelles classes Symfony : Edited April 8, 2019 by Klemart3D (see edit history) Link to comment Share on other sites More sharing options...
BeComWeb Posted April 9, 2019 Share Posted April 9, 2019 Tu ne passes pas le domaine en 3eme argument. Ca devrait être $this->translator->trans('Website2', [], 'Shop.Forms.Labels') Link to comment Share on other sites More sharing options...
Klemart3D Posted April 9, 2019 Author Share Posted April 9, 2019 (edited) C'est bien la première chose que j'ai essayé Mais seuls les champs officiellement traduits depuis Crowdin apparaissent dans les fichiers de trad .xlf du domaine correspondant et donc en BO, pas les champs custom. Si j'ai supprimé le domaine dans l'exemple, c'est que cela s'est avéré utile pour certains. En fait il s'agit d'un bug non résolu de PrestShop : https://github.com/PrestaShop/PrestaShop/issues/12300 Un workaraound a été proposé : 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") Supprimer les fichiers de cache du dossier /var/cache/<env>/translations Recharger la page des traductions, elles doivent apparaître traduites Donc faute de mieux, c'est comme ça que je fais pour l'instant... Edited April 9, 2019 by Klemart3D (see edit history) Link to comment Share on other sites More sharing options...
BeComWeb Posted April 9, 2019 Share Posted April 9, 2019 OK. Vous avez essayé avec un domaine générique justement ? Je ne sais plus exactement dans quel contexte mais j'avais résolu des situations du même type en utilisant "Admin.Global" sur un projet. Link to comment Share on other sites More sharing options...
Klemart3D Posted April 9, 2019 Author Share Posted April 9, 2019 Oui, j'ai essayé pas mal d'options avant d'entamer ce thread : domaine global existant (avec 1, 2 ou 3 niveaux), domaine inexistant (mais il ne se créé pas), domaine générique de transition 'messages' ou pas de domaine du tout mais rien ne fonctionne sur PS 1.7.5, les champs ne remontent pas en BO. Il se peut que sur une version antérieure de PS (1.7.2 ou 1.7.3) le fait de passer par un domaine global fonctionnait j'ai ce souvenir également, mais cela ne semble plus être le cas dans la dernière version... Link to comment Share on other sites More sharing options...
BeComWeb Posted April 9, 2019 Share Posted April 9, 2019 Je me doutais un peu que vous aviez essayé tout ça. Je pense qu'il n'y a pas de solution que celle de contournement que vous avez trouvé, au moins temporairement. Le système de traduction de PS 1.7 c'est vraiment le gros point noir. Autant ils ont avancé sur plein de trucs autant je pense que les trads ne fonctionneront jamais correctement à 100%. 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