doudouille Posted August 22, 2014 Share Posted August 22, 2014 Bonjour je suis en PS 1.5.6.2. dans le module parrainage, j'essaie de traduire correctement la phrase "Get a discount of %d for you and your friends by recommending this Website." Le texte en anglais apparait sous la forme "Get a discount of 5 for you and your friends by recommending this Website", sans le caractère euro ou pour cent qui indiquerait le type de remise Si j'ajoute dans la traduction le caractère "%", le texte ne s'affcihe plus du tout Si j'ajoute l'entité html "%" ça ne marche que jusqu'à la prochaine modification de traduction dans n'importe quel autre module. ben oui, ce n'est pas très futé, l'entité html est réaffichée sous la forme du caractère correspondant, et le bouton enregistrer de la page des traductions enregistre en meêm temps tout ce qu'il y a à l'écran, c'est à dire tous les modules, en écrasant du coup toutes les entités html qui pourraient se trouver dedans Quelqu'un connait-il une solution pour afficher le caractère "%" dans une traduction, sans avoir à le réentrer à chaque fois ??? Merci d'avance :-) Link to comment Share on other sites More sharing options...
EISEAL Posted August 22, 2014 Share Posted August 22, 2014 Salut, A savoir que "%d" te renvois une valeur, ici la valeur en pourcentage ou en euros. donc si tu veux ajouter un signe € ou %, il faut le mettre après. "Get a discount of %d for you and your friends by recommending this Website." te renvois : "Get a discount of 5 for you and your friends by recommending this Website" Ce qui est le comportement normal ! Si tu veux ajouter un signe après le "5", tu dois mettre : "Get a discount of %d€ for you and your friends by recommending this Website." Et ça te renverra : "Get a discount of 5€ for you and your friends by recommending this Website" Essai ça, normalement c'est bon Link to comment Share on other sites More sharing options...
doudouille Posted August 25, 2014 Author Share Posted August 25, 2014 Bonjour, Merci de ta réponse . Mais en fait le souci, ce n'est pas pour le caractère "€", mais, dans le cas d'une réduction fidélité en pourcentage, le "%" qui comme tu le dis indique la présence d'une variable, et donc provoque une erreur s'il est intégré tel quel sans variable associée Mon souci est que si je contourne le problème en mettant "%" sous sa forme d'entité html, c'est à dire "%", ça marche bien la première fois, mais lorsqu'on réédite les traductions, le navigateur affiche à nouveau "%" au lieu des caractères de l'entité, ce qui est d'ailleurs logique. Mais lorsqu'on réenregistre les traductions, on perd l'entité, et on a un nouveau un "%" seul, ce qui provoque à nouveau une erreur Ce que je cherche donc en fait, c'est de savoir s'il existe un moyen (par exemple avec un caractère d'échappement, comme en javascript) de mettre un caractère "%" dans une traduction, sans que le code la considère immanquablementy comme devant être associée à une variable. Link to comment Share on other sites More sharing options...
EISEAL Posted August 25, 2014 Share Posted August 25, 2014 La variable c'est "%d", pas "%" Si tu veux 5 % tu mets "%d %" Ca fonctionne comme ça , normalement... (sinon je sèche... ) Link to comment Share on other sites More sharing options...
doudouille Posted August 26, 2014 Author Share Posted August 26, 2014 Ben oui, c'est que j'avais fait en premier, j'avais mis "%d %". Et ça me provoquait une erreur, la ligne à traduire n'apparaissant plus du tout Je viens de trouver une solution : en changeant le nom de la variable en "%2$s" comme vu sur une ligne du module, j'obtiens bien "5%" à l'écran. Mais ne me demandes pas pourquoi, j'en ai aucune idée En tout cas merci de ton aide 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