Studio di Francoforte per presenze digitali multilingue +49 69 95209894 [email protected] Lun–Ven 9–17 Area clienti →
ItalianoIT

Guida pratica

Guida alla localizzazione di app e software (i18n)

La localizzazione di app e software richiede una separazione ben ponderata tra codice e testi. Questa guida tratta aspetti tecnici come segnaposto, regole per i plurali, lunghezza dei testi, chiavi stringa, contesto per i traduttori e supporto RTL. Aiuta gli sviluppatori a creare applicazioni internazionali in modo efficiente e coerente, senza toccare temi legali o finanziari.

i18n
Internazionalizzazione abbreviata
RTL
Supporto da destra a sinistra
ICU
Componenti internazionali per Unicode
Diagramma della separazione tra codice e risorse linguistiche

1. Separazione di codice e testi

Il prerequisito fondamentale per qualsiasi localizzazione è la rigorosa separazione tra codice del programma e contenuti testuali. Tutti i testi da visualizzare dovrebbero essere memorizzati in file di risorse esterni (ad es. Properties, JSON, YAML), non codificati direttamente nel codice sorgente. In questo modo i traduttori possono lavorare senza modificare il codice. Utilizzi chiavi di stringa univoche come riferimento nel codice che puntano alle rispettive traduzioni. Questa separazione facilita inoltre la manutenzione e consente di aggiungere in seguito nuove lingue senza modifiche al codice. Si assicuri che anche etichette dell'interfaccia utente, messaggi di errore e tooltips vengano inseriti in questi file.

2. Segnaposto e variabili

I testi contengono spesso contenuti dinamici come numeri, nomi o date. Questi devono essere inseriti tramite segnaposto, ad esempio con la formattazione printf (%s, %d) o approcci più moderni come le parentesi graffe {0}. È importante che i traduttori conoscano l'ordine e il significato dei segnaposto. Utilizzi segnaposto nominati (ad es. „{username}“) per fornire contesto. Nelle lingue con diversa struttura della frase, l'ordine dei segnaposto può variare. Offra quindi la possibilità di adattare l'ordine nella traduzione. Testi tutte le varianti per evitare output errati o incompleti.

Esempio di segnaposto in stringhe traducibili

3. Regole per il plurale e formazione del plurale

In tedesco esistono solo singolare e plurale, ma molte lingue hanno regole di plurali più complesse (ad esempio l'arabo con sei categorie). Utilizzate librerie come ICU MessageFormat, che gestiscono le regole di plurali per ciascuna lingua. Definite nelle vostre risorse chiavi separate per le diverse forme plurali (one, other). Il codice selezionerà automaticamente la forma appropriata in base al numero. Esempio: „{count} {count, plural, one {mela} other {mele}}“. Testate ciascuna lingua con diversi valori numerici per assicurarvi che venga visualizzata la forma plurale corretta. Evitate istruzioni if fisse: sono soggette a errori.

4. Lunghezza del testo e buffer di layout

Le traduzioni sono spesso più lunghe o più corte del testo originale. Soprattutto per pulsanti, menu ed etichette, ciò può rompere il layout. Pertanto, pianificate spazio sufficiente per le estensioni di testo – una buona regola è il 30% di spazio aggiuntivo per le lingue occidentali, di più per quelle asiatiche. Utilizzate layout dinamici che si adattano alla lunghezza del testo (ad esempio Auto Layout in iOS o Flexbox nel web). Evitate larghezze fisse. Fate sì che gli elementi dell'interfaccia gestiscano eventualmente il ritorno a capo. Testate l'interfaccia con le traduzioni più lunghe previste per evitare sovrapposizioni o tagli.

5. Chiavi stringa, contesto per i traduttori e RTL

Le chiavi stringa univoche sono il fondamento della localizzazione. Utilizzate nomi descrittivi (ad es. „login.button.title“) e documentate lo scopo. Fornite contesto ai traduttori: screenshot, lunghezza massima dei caratteri, vincoli (ad es. „non più di 20 caratteri“). Per le lingue RTL come arabo o ebraico, l'interfaccia utente deve essere specchiata. Utilizzate attributi di layout che supportano automaticamente RTL (ad es. start/end invece di left/right). Testate l'intera navigazione in condizioni RTL. Considerate anche icone e grafiche: possono essere interpretate diversamente a seconda della cultura.

Checklist per l'ingresso nel mercato

  • Utilizzare file di risorse esterni per i testi
  • Segnaposto con variabili nominate e ordine personalizzabile
  • Implementare le regole plurali con ICU MessageFormat
  • Layout: almeno il 30% di margine per espansioni di testo
  • Chiavi stringa descrittive con documentazione del contesto
  • Supporto RTL tramite attributi di layout come start/end
Griglia di layout con diverse lunghezze di testo e buffer

Domande frequenti

Perché è importante separare il codice dai testi?

Consente traduzioni senza modifiche al codice, semplifica la manutenzione e permette di aggiungere nuove lingue senza dover ricompilare il software.

Come gestisco le forme plurali in diverse lingue?

Utilizzare librerie come ICU MessageFormat, che selezionano la forma plurale corretta per ogni lingua. Definire nelle risorse chiavi per ogni categoria di plurale (es. one, other).

Cosa bisogna considerare in particolare per le lingue RTL?

L'interfaccia utente deve essere specchiata: utilizzare attributi di layout logici (start/end) anziché direzioni assolute. Testare navigazione e rientri di testo in condizioni RTL.

Pronto per questo mercato?

Localizziamo il tuo sito web dal punto di vista linguistico, tecnico e culturale – con revisione madrelingua e prezzo fisso. Richiedi un preventivo senza impegno.

Richiedi un'offerta senza impegno

GmbH tedescaTribunale di Francoforte sul Meno · HRB 111727
D-U-N-S® registrato315030052
Elaborazione conforme al GDPRHosting in Germania
Prezzi fissi con garanzia di consegna scritta