View Issue Details

IDProjectCategoryView StatusLast Update
0010420Talerwallet (Android App)public2025-10-26 16:55
ReporterStefan Assigned Toavalos  
PrioritynormalSeveritytextReproducibilityalways
Status assignedResolutionopen 
Product Version1.0 
Target Version1.3 
Summary0010420: Variables should not be translated on Weblate
DescriptionFor the Android wallet app, we find the two variables %1$s × %2$s in a string to translate on Weblate (see https://weblate.gnunet.org/translate/gnu-taler/wallet-android/en/?checksum=3f0518f73d0b67ba). The result is going to get stored in the translation files under wallet/src/main/res/values-*/strings.xml as string 167. Normally, those variables should not be internationalised as they are not meant to be translated. They stay the same in any language, right? So, please take down the tags in the code-base that indicate for translation - before some over-eager translators try to find their own interpretations of what to translate here for %1$s × %2$s and do a mess out of the app.

Only if there are alt texts or explanatations of variables like e.g. the source string description (here: <quantity> × <price>) that need to be translated an i18n would make sense.
Steps To ReproduceLook into https://weblate.gnunet.org/translate/gnu-taler/wallet-android/en/?checksum=3f0518f73d0b67ba or on the screenshot.
Additional InformationPlease correct me if I am wrong.
Thank you for your work in advance.
TagsNo tags attached.
Attached Files

Activities

Stefan

2025-09-17 22:21

developer   ~0025939

Same applies to https://weblate.gnunet.org/translate/gnu-taler/wallet-android/en/?checksum=baf2c5eb3055f3ab with %1$d × %2$s representing <quantity> × <token name> (wallet/src/main/res/values-*/strings.xml, string 173). Translators have no clue what to do with %1$d × %2$s, if they are clever enough they leave the string as is but that's not always expectable. Even in languages with writing direction right-to-left those variables make no sense to translate.

avalos

2025-09-27 21:25

developer   ~0026046

Last edited: 2025-09-27 21:27

This is incorrect, this can indeed change based on language, e.g. RTL languages such as Arabic and Hebrew.

Besides, who knows if some language has its own quantity indicator other than "×".

Also, any incorrect translation of a string with placeholders (regarding correct syntax) should be detected during review, right?

Stefan

2025-09-29 11:54

developer   ~0026062

Last edited: 2025-09-29 12:25

The argument that variables in strings should be object for translations is definitely right in a case like https://weblate.gnunet.org/translate/gnu-taler/taler-bank-spa/en/?checksum=dbc6088dc9e7daa7 where payto://iban/[receiver-iban]?message=[subject]&amount=[%1$s:X.Y] contains some expressions to translate like in German payto://iban/[IBAN des Empfängers]?message=[Buchungsvermerk]&amount=[%1$s:X.Y]. We had this case already discussed in https://bugs.gnunet.org/view.php?id=9524 a long time ago. In Spanish, the translation was a bit awkward until today with payto://iban/[iban-destinatario]?message=[asunto]&amount=[%1$s:X.Y] which I changed to payto://iban/[IBAN del destinatario]?message=[asunto]&amount=[%1$s:X.Y] in https://weblate.gnunet.org/translate/gnu-taler/taler-bank-spa/es/?&offset=51. Please go for a quick review, if I may please you. Thanks.

Otherwise, we MUST avoid translations of variables in Weblate. In the given two cases

https://weblate.gnunet.org/translate/gnu-taler/wallet-android/en/?checksum=3f0518f73d0b67ba#translations (%1$s × %2$s which stands for <quantity> × <price>) and

https://weblate.gnunet.org/translate/gnu-taler/wallet-android/he/?checksum=baf2c5eb3055f3ab (%1$d × %2$s which stands for <quantity> × <token name>)

the necessity to translate %1$d × %2$s is none as there is nothing to translate maybe except for the mathematical operand × which might be displayed in a different way across languages like e.g. Japanese, Korean, Chinese... (where deepl renders a big cross instead of an x). Indeed, in some really weird dialects like Ethiopian an operand like the multiplier x could somehow be written in a very strange way, though.

If you look on the Hebrew translation done by a mother-tongue speaker, you will find out that he left the order of variables unchanged in https://weblate.gnunet.org/translate/gnu-taler/wallet-android/he/?checksum=baf2c5eb3055f3ab and
https://weblate.gnunet.org/translate/gnu-taler/wallet-android/en/?checksum=3f0518f73d0b67ba, even though Hebrew is an RTL language!

Anyways, the actual string deals with a multiplication. It seems superfluous to argue in which order the variables appear in a multiplication. A different case would be the one mentioned above. In the cases with %1$s × %2$s, the × should be described on Weblate as a mathematical operand so that translators know what the x is meant to be. But I tend to avoid those two translations.

Stefan

2025-10-09 11:31

developer   ~0026122

I asked our Hebrew translator to look in the actual wallet app he is committing his internationalisation to. He replied with apologies to he is busy right at the moment, but that he is also going to resume his work soon and get back to us with his insight in which order the variables are rendered in Hebrew, a right-to-left language.

Kurpaph

2025-10-26 16:55

reporter   ~0026253

I am so very sorry for the great delay in my response, many things happened in my country and to me all at once.
As for the question above, I'll try to shed some light on the subject.
I am the Hebrew translator of Taler. I am indeed a native Hebrew speaker as Stefan introduced me. I decided to translate the strings of multiplication as they are for several reasons:
1. In Hebrew, an RTL language, Math is still written LTR.
2. I assumed there is no real difference in the order of the numbers even if they represent different things. What I mean is – since I can't know how Taler would implement RTL UI I can't tell what number would appear before the other. And since order doesn't matter in multiplication, I do not find it crucial to keep a certain order.
3. I couldn't find the string in Taler and assumed that if I find out in the future I mistranslated it, I can always correct the translation.

Accordingly, if there are languages where Math isn't written LTR (I tried to read about Arabic and it seems to me that it varies a lot (source a)) and if there is a meaning to the order of the multiplication, then there is a need for the strings to be translateable. Otherwise, not.

If possible, I'd want to hear from an Arabic translator about the possibilities in different Arabic Math writings.

Source a: https://www.reddit.com/r/learn_arabic/comments/ilzot2/math_equations_in_arabic_are_they_left_to_right/
Source b: https://he.wikipedia.org/wiki/%D7%A0%D7%99%D7%AA%D7%95%D7%97_%D7%A9%D7%95%D7%A0%D7%95%D7%AA (where you can see Hebrew writings with Math equations in between)

Issue History

Date Modified Username Field Change
2025-09-17 21:48 Stefan New Issue
2025-09-17 21:48 Stefan Status new => assigned
2025-09-17 21:48 Stefan Assigned To => sebasjm
2025-09-17 21:48 Stefan File Added: Weblate_variables_wallet_Android.png
2025-09-17 22:21 Stefan Note Added: 0025939
2025-09-17 22:41 sebasjm Assigned To sebasjm => avalos
2025-09-27 21:25 avalos Note Added: 0026046
2025-09-27 21:27 avalos Note Edited: 0026046
2025-09-27 21:27 avalos Assigned To avalos => Stefan
2025-09-27 21:27 avalos Status assigned => feedback
2025-09-29 11:54 Stefan Note Added: 0026062
2025-09-29 11:55 Stefan Assigned To Stefan => avalos
2025-09-29 12:25 Stefan Note Edited: 0026062
2025-10-08 21:10 Christian Grothoff Target Version 1.1 => 1.3
2025-10-09 11:31 Stefan Note Added: 0026122
2025-10-09 11:31 Stefan Status feedback => assigned
2025-10-26 16:55 Kurpaph Note Added: 0026253