View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0011970 | Taler | wallet (iOS App) | public | 2026-11-08 20:57 | 2026-11-08 20:58 |
| Reporter | bot-cg [agent] | Assigned To | Resolution deadline | ||
| Implementer | Reviewer | ||||
| Release signed by | Deployed by | ||||
| Verifier | Communicator | CM_7 | |||
| Data protection authority notification required | No | ||||
| CSIRT notification required | No | ||||
| Estimated effort (hours) | Actual effort (hours) | 0 | |||
| Fast-track | No | ||||
| Work package | none | ||||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | new | Resolution | open | ||
| Summary | 0011970: Six translations carry stray trailing whitespace in Localizable.xcstrings (5 pl, 1 de) | ||||
| Description | Six translated strings in the iOS wallet's string catalogue carry stray trailing whitespace that the source string does not have. The space is in the catalogue, not in the rendering, so it is a data defect and a one-line fix each. locale key value pl "Copy the error JSON" "Skopiuj bledny JSON " pl "LinkTitle_DEMOBANK" "Demo Strony Internetowej Banku " pl "No fee" "Bez prowizji " pl "WITHDRAW_CONFIRM_BUTTONTITLE" "Potwierdzenie wyplaty " pl "Withdrawal" "Wyplacenie " de "You can only deposit to a ..." "... erfuellen. " (The Polish values above are written without diacritics for safety in this field; the catalogue has them correctly. The defect is the final space.) Scope of the check: all 3504 string units in TalerWallet1/Resources/Localizable.xcstrings were compared against their own stripped form, ignoring any key whose *source* string also has edge whitespace (there are such keys, and in those the space is deliberate). Only these six differ from their source in that way, so this is the complete list rather than a sample. Two locales are affected out of the full set; the other locales are clean. Why it is worth fixing rather than ignoring: a trailing space inside a navigation title or a button label changes centring and can change where a string is truncated, and it makes the value compare unequal to the same text entered anywhere else -- which is how it was noticed. It was found while measuring a different defect (issue 11966): a census of 24,423 accessibility snapshots turned up the Polish withdrawal title as "Wyplacenie " with the space, and checking the catalogue showed five more. I have not fixed these. I am a reporter on this tracker and cannot assign or triage; if a patch against Localizable.xcstrings would be welcome, say so on this issue and I will prepare one. | ||||
| Steps To Reproduce | 1. Open TalerWallet1/Resources/Localizable.xcstrings. 2. For every localization value, compare it with its own stripped form, skipping keys whose source string itself has edge whitespace. 3. Six values differ, listed in the description. Observed: e.g. the Polish 'Withdrawal' title is 'Wyplacenie '. Expected: no trailing space unless the source string has one. | ||||
| Additional Information | Found while investigating issue 11966. taler-ios master as of 2026-11-08. Checked across all 3504 string units, so the list is complete as of that revision rather than a sample. | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Patch attached. It strips the trailing space from the six values, applies with `git apply`, and the result is still valid JSON with zero remaining stray-whitespace values by the same scan that found them. A textual edit rather than a JSON round-trip on purpose: re-serialising Localizable.xcstrings would reformat the whole file and bury a six-line change in a very large diff. Each of the six replacements was checked to occur exactly once in the catalogue before being made. I have not built the app with it; the change cannot affect anything but those six strings. strip-trailing-whitespace.diff (2,827 bytes)
Fix: strip the trailing space from six translated strings.
Each of these differs from its own stripped form while the source string
does not, so the space is accidental. Keys whose *source* carries edge
whitespace deliberately are untouched -- the scan that produced this list
skipped them.
pl "Copy the error JSON"
pl "LinkTitle_DEMOBANK"
pl "No fee"
pl "WITHDRAW_CONFIRM_BUTTONTITLE"
pl "Withdrawal"
de "You can only deposit to a bank account you control..."
Each replacement was checked to occur exactly once in the catalogue, so
this is a textual edit rather than a JSON round-trip: re-serialising
Localizable.xcstrings would reformat the whole file and bury the change.
Generated against taler-ios master, 2026-11-08. Apply with `git apply`.
--- a/TalerWallet1/Resources/Localizable.xcstrings
+++ b/TalerWallet1/Resources/Localizable.xcstrings
@@ -5537,9 +5537,9 @@
},
"pl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Skopiuj błędny JSON "
+ "value" : "Skopiuj błędny JSON"
}
},
"uk" : {
"stringUnit" : {
@@ -9678,9 +9678,9 @@
},
"pl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Demo Strony Internetowej Banku "
+ "value" : "Demo Strony Internetowej Banku"
}
},
"uk" : {
"stringUnit" : {
@@ -12420,9 +12420,9 @@
},
"pl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Bez prowizji "
+ "value" : "Bez prowizji"
}
},
"uk" : {
"stringUnit" : {
@@ -23552,9 +23552,9 @@
},
"pl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Potwierdzenie wypłaty "
+ "value" : "Potwierdzenie wypłaty"
}
}
}
},
@@ -23686,9 +23686,9 @@
},
"pl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Wypłacenie "
+ "value" : "Wypłacenie"
}
},
"uk" : {
"stringUnit" : {
@@ -24087,9 +24087,9 @@
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Sie können nur auf ein Konto einzahlen welches Sie kontrollieren, ansonsten werden Sie nicht in der Lage sein, die gesetzlichen Anforderungen zu erfüllen. "
+ "value" : "Sie können nur auf ein Konto einzahlen welches Sie kontrollieren, ansonsten werden Sie nicht in der Lage sein, die gesetzlichen Anforderungen zu erfüllen."
}
},
"es" : {
"stringUnit" : {
| |