View Issue Details

IDProjectCategoryView StatusLast Update
0011420Talermerchant-pos-terminal (Android App)public2026-05-20 14:09
Reportervecirex Assigned Tovecirex Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PriorityurgentSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Summary0011420: IT translation needed
DescriptionCustomer use case exists where it is a requirement to have the Android app expose all strings in Italian, thus as soon as strings in src are ready, I can give it a pass; using LLMs + me only committing if it looks legit, and in cases of doubt consult with a native speaker.
Additional Information@bohdan: Please assign back to me when you say, lang can be added / strings altered; if feasible, also tell me which strings have priority.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0011424 closedvecirex Taler check existing FR and DE strings 

Activities

Bohdan

2026-05-20 10:51

developer   ~0028667

All strings for PoS in all languages, which include: en, de, es, fi, fr, it, iw, ru, sv, tr, uk

Are already in the git, and I guess in place, as soon as Ivan publishes the app, they will be available to everyone, so that one can check strings, on the actual app.

vecirex

2026-05-20 10:55

administrator   ~0028669

Oh, great: thanks, then I will do that asap!

vecirex

2026-05-20 11:39

administrator   ~0028673

Situation analysis, by LLM; looks doable until QC:

* * *
No | English | Italian (current) | Status | Suggestion
============================================================================================================
1 | GNU Taler Point-of-Sale | GNU Taler Punto vendita | ✅ Good |
2 | Merchant Terminal | Terminale commerciante | ✅ Good |
3 | GNU Taler | GNU Taler | ⚠️ Same as EN | Keep as is (brand name)
4 | Order by inventory | Ordini | ✅ Good |
5 | Order by amount | Ordine per importo | ✅ Good |
6 | History | Cronologia | ✅ Good |
7 | Settings | Impostazioni | ✅ Good |
8 | Reload inventory | Ricarica inventario | ✅ Good |
9 | Product image | Immagine prodotto | ✅ Good |
10 | Everything | Tutto | ✅ Good |
11 | Uncategorized | Senza categoria | ✅ Good |
12 | Unavailable | Non disponibile | ✅ Good |
13 | Out of stock | Esaurito | ✅ Good |
14 | Order #%s | Ordine #%s | ✅ Good |
15 | Total: %s | Totale: %s | ✅ Good |
16 | Clear | Cancella | ✅ Good |
17 | Delete order | Elimina ordine | ✅ Good |
18 | Undo | Annulla | ✅ Good |
19 | Prev | Prec | ⚠️ Short | Precedente or Prec.
20 | Next | Succ | ⚠️ Short | Successivo or Succ.
21 | Add custom product | Aggiungi prodotto personalizzato | ✅ Good |
22 | Bill | Conto | ✅ Good |
23 | Bill %s | Conto %s | ✅ Good |
24 | Custom product name | Nome prodotto personalizzato | ✅ Good |
25 | Tip | Mancia | ✅ Good |
26 | Add | Aggiungi | ✅ Good |
27 | Amount | Importo | ✅ Good |
28 | Charge | Addebita | ✅ Good |
29 | Create order (charge amount) | Crea ordine (addebita importo) | ✅ Good |
30 | Clear | Cancella | ✅ Good |
31 | Backspace | Backspace | ⚠️ Same as EN | ← Cancella or Backspace
32 | Regular order | Ordine normale | ✅ Good |
33 | Enter an amount | Inserisci un importo | ✅ Good |
34 | Unsupported currency | Valuta non supportata | ✅ Good |
35 | Merchant settings | Impostazioni commerciante | ✅ Good |
36 | Language | Lingua | ✅ Good |
37 | App language | Lingua dell’app | ✅ Good |
38 | System default | Predefinita di sistema | ✅ Good |
39 | Choose the app language and manage merchant instance credentials. | Scegli la lingua dell’app e gestisci le credenziali dell’istanza commerciante. | ✅ Good |
40 | App settings | Impostazioni app | ✅ Good |
41 | Applied immediately to the app interface. | Applicata immediatamente all’interfaccia dell’app. | ✅ Good |
42 | Initial order screen | Schermata iniziale ordine | ✅ Good |
43 | Default order mode | Modalità ordine predefinita | ✅ Good |
44 | Shown when the app starts or after configuration is loaded. | Mostrata all’avvio dell’app o dopo il caricamento della configurazione. | ✅ Good |
45 | Saved instance | Istanza salvata | ✅ Good |
46 | Change merchant portal URL, username, token, and other instance-specific settings. | Modifica URL del portale commerciante, nome utente, token e altre impostazioni dell’istanza. | ✅ Good |
47 | Modify saved instance | Modifica istanza salvata | ✅ Good |
48 | Log out | Disconnetti | ✅ Good |
49 | JSON file (old) | File JSON (vecchio) | ✅ Good |
50 | Password | Password | ⚠️ Same as EN | Password (keep) or Password
51 | This configuration method is deprecated... | Questo metodo di configurazione è deprecato... | ✅ Good |
52 | Configuration URL | URL configurazione | ✅ Good |
53 | Merchant portal URL | URL portale commerciante | ✅ Good |
54 | Username | Nome utente | ✅ Good |
55 | Password | Password | ⚠️ Same as EN | Password (keep)
56 | Manual config | | ❌ Missing | Configurazione manuale
57 | Access token | Token di accesso | ✅ Good |
58 | Connect | Connetti | ✅ Good |
59 | Error: Invalid username or password | Errore: nome utente o password non validi | ✅ Good |
60 | Error: Could not connect to configuration server | Errore: impossibile connettersi al server di configurazione | ✅ Good |
61 | Error: No valid product category found | Errore: nessuna categoria prodotto valida trovata | ✅ Good |
62 | Error: The configuration JSON is malformed | Errore: il JSON di configurazione non è valido | ✅ Good |
63 | Error: Product %1$s has currency... | Errore: il prodotto %1$s ha valuta... | ✅ Good |
64 | Error: Product %1$s references unknown... | Errore: il prodotto %1$s fa riferimento... | ✅ Good |
65 | Error: No valid products found | Errore: Nessun prodotto valido trovato | ✅ Good |
66 | Error: Invalid configuration | Errore: Configurazione non valida | ✅ Good |
67 | Fetching configuration… | Recupero configurazione… | ✅ Good |
68 | Remember password | Ricorda password | ✅ Good |
69 | Forget | Dimentica | ✅ Good |
70 | Changed to new merchant using %s | Passato al nuovo commerciante con %s | ✅ Good |
71 | Fetching configuration | Recupero configurazione | ✅ Good |
72 | Please refer to the documentation... | Consulta la documentazione... | ✅ Good |
73 | Please let customer scan QR Code or use NFC to pay. | Chiedi al cliente di scansionare il codice QR o usare NFC per pagare. | ✅ Good |
74 | Please let customer scan QR Code to pay. | Chiedi al cliente di scansionare il codice QR per pagare. | ✅ Good |
75 | Waiting for customer to confirm payment… | In attesa che il cliente confermi il pagamento… | ✅ Good |
76 | Cancel payment | Annulla pagamento | ✅ Good |
77 | Payment received | Pagamento ricevuto | ✅ Good |
78 | Continue | Continua | ✅ Good |
79 | Receipt #%s | Ricevuta #%s | ✅ Good |
80 | Payment required | Pagamento richiesto | ✅ Good |
81 | Payment canceled | Pagamento annullato | ✅ Good |
82 | Share payment URI | | ❌ Missing | Condividi URI pagamento
83 | Copy payment URI | | ❌ Missing | Copia URI pagamento
84 | Payment history | Cronologia pagamenti | ✅ Good |
85 | Refresh history | | ❌ Missing | Aggiorna cronologia
86 | Unpaid | Non pagato | ✅ Good |
87 | Unpaid | | ❌ Missing | Non pagato
88 | Paid | | ❌ Missing | Pagato
89 | Payment pending | | ❌ Missing | Pagamento in attesa
90 | Payment claimed | | ❌ Missing | Pagamento reclamato
91 | Refund pending | | ❌ Missing | Rimborso in attesa
92 | Refunded | | ❌ Missing | Rimborsato
93 | Show payment | | ❌ Missing | Mostra pagamento
94 | Show refund | | ❌ Missing | Mostra rimborso
95 | Refund | Rimborso | ✅ Good |
96 | Amount | Importo | ✅ Good |
97 | Refund reason | Causale rimborso | ✅ Good |
98 | Abort | Interrompi | ✅ Good |
99 | Received | Ricevuto | ✅ Good |
100| Approve refund | Approva rimborso | ✅ Good |
101| Greater than order amount of %s | Maggiore dell’importo dell’ordine di %s | ✅ Good |
102| Invalid amount | Importo non valido | ✅ Good |
103| Needs to be positive amount | Deve essere un importo positivo | ✅ Good |
104| Error processing refund | Errore durante l’elaborazione del rimborso | ✅ Good |
105| Refund deadline has passed | La scadenza del rimborso è passata | ✅ Good |
106| Already refunded | Già rimborsato | ✅ Good |
107| Refund state is no longer available | | ❌ Missing | Stato rimborso non più disponibile
108| Please let customer scan QR Code or use NFC to offer refund | Chiedi al cliente... per ricevere il rimborso | ✅ Good |
109| Please let customer scan QR Code to offer refund | Chiedi al cliente... per ricevere il rimborso | ✅ Good |
110| Purchase reference: %1$s\n\n%2$s | Riferimento acquisto: %1$s\n\n%2$s | ✅ Good |
111| Error: No payment received | Errore: Nessun pagamento ricevuto | ✅ Good |
112| Error: Could not create order | Errore: impossibile creare l’ordine | ✅ Good |
113| Error: Not enough inventory available | Errore: inventario disponibile insufficiente | ✅ Good |
114| Error: Could not delete order | Errore: impossibile eliminare l’ordine | ✅ Good |
115| No payment made within payment period... | Nessun pagamento effettuato entro il periodo previsto, riprova. | ✅ Good |
116| Payment cancelled | Pagamento annullato | ✅ Good |
117| Error fetching the order history | Errore durante il recupero della cronologia ordini | ✅ Good |
118| Reloading inventory | Ricaricamento inventario | ✅ Good |
119| Click «back» again to exit | Premi di nuovo «indietro» per uscire | ✅ Good |
120| Taler Merchant NFC payments | Pagamenti NFC Taler Merchant | ✅ Good |
121| QR config | Configurazione QR | ✅ Good |
122| Scan the QR code from Merchant Backoffice | Scansiona il codice QR dal backoffice commerciante | ✅ Good |
123| Forever | Per sempre | ✅ Good |
124| Custom duration | Durata personalizzata | ✅ Good |
125| Duration | Durata | ✅ Good |
126| Token validity deadline: | Scadenza validità token: | ✅ Good |
127| Expires on… | Scade il… | ✅ Good |
128| Never expires | Non scade mai | ✅ Good |
129| No deadline set | Nessuna scadenza impostata | ✅ Good |
130| Pick date | Scegli data | ✅ Good |
131| Pick time | Scegli ora | ✅ Good |
132| Session expired – please re-enter your credentials | Sessione scaduta – inserisci di nuovo le credenziali | ✅ Good |
133| Camera permission is required for QR scanning| È richiesta l’autorizzazione della fotocamera per la scansione QR | ✅ Good |
134| (arrays for languages) | (already present) | ✅ Good |
* * *

Bohdan

2026-05-20 11:49

developer   ~0028674

hmmm... indeed, and probably missing, for other languages as well, after my last move to compose update... Need to run some LLM a second time, to make sure all LLM translation are present for all languages

vecirex

2026-05-20 13:35

administrator   ~0028675

Strings completed by 61b6c46bd9c17beb5efe70a281c40fa7889c1d0b

Bohdan

2026-05-20 13:51

developer   ~0028676

Perfect, going to check other languages, if u didn't do it already ;)

vecirex

2026-05-20 14:01

administrator   ~0028677

Yeah, did some more changes; now closing this ticket! :)

Final one, I think, for IT: 320645601590632c0df9833550e986bbc1c4dc70

Issue History

Date ModifiedUsernameFieldChange
2026-05-20 10:45vecirexNew Issue
2026-05-20 10:45vecirexStatusnew => assigned
2026-05-20 10:45vecirexAssigned To => Bohdan
2026-05-20 10:45vecirexRelationship addedrelated to 0011399
2026-05-20 10:45vecirexRelationship deletedrelated to 0011399
2026-05-20 10:51BohdanNote Added: 0028667
2026-05-20 10:52BohdanAssigned ToBohdan => vecirex
2026-05-20 10:55vecirexNote Added: 0028669
2026-05-20 11:00vecirexRelationship addedrelated to 0011422
2026-05-20 11:00vecirexRelationship deletedrelated to 0011422
2026-05-20 11:15vecirexPriorityhigh => urgent
2026-05-20 11:39vecirexNote Added: 0028673
2026-05-20 11:49BohdanNote Added: 0028674
2026-05-20 13:35vecirexNote Added: 0028675
2026-05-20 13:51BohdanNote Added: 0028676
2026-05-20 14:01vecirexNote Added: 0028677
2026-05-20 14:01vecirexStatusassigned => closed
2026-05-20 14:01vecirexResolutionopen => fixed
2026-05-20 14:09vecirexRelationship addedrelated to 0011424