View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010420 | Taler | wallet (Android App) | public | 2025-09-17 21:48 | 2025-09-29 12:25 |
Reporter | Stefan | Assigned To | avalos | ||
Priority | normal | Severity | text | Reproducibility | always |
Status | feedback | Resolution | open | ||
Product Version | 1.0 | ||||
Target Version | 1.1 | ||||
Summary | 0010420: Variables should not be translated on Weblate | ||||
Description | For 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 Reproduce | Look into https://weblate.gnunet.org/translate/gnu-taler/wallet-android/en/?checksum=3f0518f73d0b67ba or on the screenshot. | ||||
Additional Information | Please correct me if I am wrong. Thank you for your work in advance. | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
|
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. |
|
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? |
|
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. |
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 |