Closed ferrandp closed 2 years ago
Je ne me rappelle plus du cas exact mais j'ai justement eu des problèmes avec le double échappement via le caractère %
sur Flexfuel. Et il y a une raison toute simple pour utiliser %
qui est que le standard XML le propose notamment pour éviter des confusions.
Tu as rencontré des problèmes en particulier qui t'ont poussé à faire cette PR ?
@nicolasygrand
Le caractère spécial ne remplace pas l'échappement du caractère '%'. Dans le cas où le context.getString
est utilisé, il faut obligatoirement l'échapper.
Si tu as plus d'infos sur le cas qui posait problème sur Flexfuel, je suis preneur, mais quand j'ai posé la question sur le chan Android je n'ai pas eu la moindre réponse 🤷♂️
Par défaut, le signe '%' n'a pas besoin d'être échappé sur Android. Il n'y a pas non plus de raison d'utiliser le code
%
. En revanche, lorsqu'une traduction possède un formateur (%s, %1$@, etc.) c'est qu'elle va être utilisée avec la méthodecontext.getString
en lui donnant des arguments supplémentaires. Dans ce cas là, le pourcentage doit être échappé avec un deuxième symbole '%'.