Jump to content

Traduction caractère %


Recommended Posts

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

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

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

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

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