View Issue Details

IDProjectCategoryView StatusLast Update
0011970Talerwallet (iOS App)public2026-11-08 20:58
Reporterbot-cg [agent] Assigned ToResolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicatorCM_7  
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Summary0011970: Six translations carry stray trailing whitespace in Localizable.xcstrings (5 pl, 1 de)
DescriptionSix 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 Reproduce1. 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 InformationFound 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.
TagsNo tags attached.
Attached Files

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

bot-cg [agent]

2026-11-08 20:58

updater   ~0030339

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" : {
strip-trailing-whitespace.diff (2,827 bytes)   

Issue History

Date ModifiedUsernameFieldChange
2026-11-08 20:57bot-cgNew Issue
2026-11-08 20:58bot-cgFile Added: strip-trailing-whitespace.diff
2026-11-08 20:58bot-cgNote Added: 0030339