translation style

L’internazionalizzazione e la localizzazione sono i processi di adattamento di un prodotto, pensato e progettato per un mercato o un ambiente specifico, ad altri mercati o ambienti, segnatamente altre nazioni e culture. I prodotti che possono essere oggetto di tali processi sono tra i più svariati: dalla pubblicità (televisiva, editoriale, ecc.) ai software (sistemi operativiapplicazioniprogrammi, ecc.,.), dai siti web ai manuali d’uso, dalle pubblicazioni mediche e scientifiche alle etichette dei prodotti venduti sul mercato internazionale.

Campi di applicazione

L’internazionalizzazione viene applicata durante la fase di progettazione del prodotto, e cioè in tale fase vengono predisposti tutti gli elementi perché il prodotto possa essere facilmente venduto sul mercato internazionale. La localizzazione invece si applica al prodotto che viene venduto su un mercato estero specifico e completa il prodotto stesso con le traduzioni del testo o con l’adattamento alla particolare cultura locale. Alcuni dei campi di applicazione dei processi di internazionalizzazione e localizzazione sono:

  • La lingua
Nella fattispecie, il testo codificato (computer): alfabeti/scritture; i vari sistemi di numerazione; scritture da sinistra verso destra e da destra verso sinistra. I sistemi più recenti utilizzano Unicode per risolvere molti di questi problemi legati alla codifica dei caratteri. Le rappresentazioni grafiche del testo (materiale stampato, immagini contenenti testo) il parlato (audio) e i sottotitoli nei prodotti multimediali.
  • Il formato di data e ora, incluso l’utilizzo di calendari differenti e diversi fusi orari (UTC in ambienti internazionalizzati)
  • La valuta e i pesi e le misure
  • Immagini e colori: questioni relative alla comprensibilità e all’appropriatezza culturale
  • Nomi, titoli, documenti d’identitàpassaporti, numeri di telefono, indirizzi e codici postali internazionali
  • Trasporti: si pensi alla segnaletica bilingue oppure alle automobili con guida a destra vendute nel Regno Unito o nei paesi del Commonwealth.

Principali differenze tra internazionalizzazione e localizzazione

La differenza tra internazionalizzazione e localizzazione è sottile, ma fondamentale. L’internazionalizzazione consiste nell’adattare i prodotti per un utilizzo potenziale al di fuori del mercato o ambiente in cui sono stati progettati i prodotti stessi, mentre la localizzazione è l’aggiunta ai prodotti di caratteristiche speciali che permettano di utilizzare tali prodotti in specifici mercati o ambienti, cosiddetti locali. I processi sono evidentemente complementari e devono essere combinati e sinergici per raggiungere l’obiettivo di un prodotto che funzioni (o possa avere lo stesso successo) su un piano globale.

Di seguito alcuni elementi specifici della localizzazione: traduzione linguistica; supporto speciale per alcune lingue, come ad esempio le lingue dell’estremo oriente; usi locali; contenuti localisimboli, metodi di ordinamento degli elenchi; estetica; valori culturali e contesto sociale. Nello sviluppo del software, dopo che un prodotto è stato internazionalizzato, il termine localizzazione fa riferimento al processo necessario per renderlo fruibile a un mercato specifico. Per questo motivo ci si può riferire ad un prodotto come “internazionalizzato” se è stato sviluppato per soddisfare i requisiti di una comunità internazionale, ma non ancora pronto per un mercato specifico. La preparazione a mercato specifico viene chiamata “localizzazione“.

Rapporti con il termine globalizzazione

Internazionalizzazione è un termine spesso utilizzato al posto di globalizzazione, segnatamente per fare riferimento agli effetti economici e culturali di un mondo sempre più interconnesso. Mentre il termine internazionalizzazione si riferisce comunemente all’aggiunta di risorse per supportare più lingue, specialmente in ambito software, a volte viene anche utilizzato per indicare il processo secondo cui qualcosa (una multinazionale, un’idea, un’autostrada, una guerra, ecc.,.) ha effetto su più nazioni. Questo utilizzo è comunque raro: al suo posto viene preferito il termine globalizzazione. A causa (o per merito) della globalizzazione, molte aziende e molti prodotti sono presenti in tantissimi paesi del mondo, aumentando le necessità della localizzazione. Il termine localizzazione può anche descrivere la produzione di merci in un sito vicino all’utente finale, in modo da ridurre i costi ambientali e altri costi legati alla globalizzazione.

Localizzazione del software

Schermata di un programma software localizzato in italiano.

La localizzazione del software è il processo di traduzione dell’interfaccia utente di un software da una lingua a un’altra e l’adattamento della stessa in accordo alla cultura straniera. Questo processo è molto complicato e spesso richiede molto lavoro da parte dei team di sviluppo. Esistono strumenti che possono semplificare il processo di localizzazione. Molti di questi progetti vengono affidati ad aziende specializzate per diminuirne i costi. La localizzazione del software può anche fare riferimento all’adattamento di un software da una cultura a un’altra. Durante la localizzazione alcuni riferimenti alla storia e alla cultura vengono sostituiti con equivalenti a riferimenti locali che non modificano il senso dell’originale. Nei giochi per console, la localizzazione si occupa anche del controverso processo di produrre console e soprattutto cartucce di gioco che possano essere utilizzate solamente nella regione geografica per la quale sono state progettate. Per esempio, una cartuccia europea potrebbe non funzionare in una console progettata per essere venduta nel mercato nord-americano. Inoltre, la localizzazione include la modifica delle finestre di dialogo e di altri elementi per meglio adattarli al pubblico del paese di destinazione. Un motivo di quest’operazione è legato alle differenze esistenti tra le censure locali: le regole di autocensura di Nintendo, ad esempio, variano tra gli Stati Uniti d’America e il Giappone.

Problematiche poste dall’internazionalizzazione e dalla localizzazione

Nell’ambito della creazione di prodotti software, l’internazionalizzazione e la localizzazione introducono attività particolarmente impegnative per gli sviluppatori, specialmente se il software non è progettato sin dall’inizio tenendo bene a mente queste problematiche. Una prassi comune è quella di separare i dati testuali e altri dati dipendenti dall’ambiente di utilizzo, dal codice del programma; in questo modo il supporto per un ambiente diverso, idealmente, richiederà soltanto modifiche in quelle risorse separate dal codice, semplificando enormemente il lavoro del localizzatore. Il team di sviluppo necessita di qualcuno che comprenda le lingue e le culture straniere e che abbia discrete capacità tecniche; tale persona potrebbe essere difficile da trovare. Inoltre, la duplicazione delle risorse potrebbe diventare un incubo per la manutenzione. Per esempio, se un messaggio che viene mostrato all’utente viene modificato, tutte le versioni tradotte necessitano della stessa modifica. Sono disponibili alcune librerie software che aiutano quest’arduo compito, come ad esempio Gettext. Da quando il software libero può essere modificato e ridistribuito liberamente, è di fatto più adatto all’internazionalizzazione. Molti software proprietari sono disponibili solo in lingue considerate economicamente convenienti, mentre il progetto KDE, per esempio, è stato tradotto in più di 70 lingue.

Metodi

L’attuale prassi prevalente è quella di inserire il testo delle applicazioni all’interno di stringhe che vengono caricate durante l’esecuzione del programma a seconda dei parametri locali impostati dall’utente. Queste stringhe, archiviate in file di risorse, sono relativamente semplici da tradurre. I programmi sono spesso progettati per fare riferimento alle librerie di risorse a seconda dei dati locali selezionati. Per esempio, un programma scritto in in questo modo:

  printf("Fatal error: %s\n", msg);

non è internazionalizzato. Quindi, per tradurre il messaggio, sarà necessario modificare il codice sorgente. Al contrario,

  printf(gettext("Fatal error: %s\n"), msg);

è internazionalizzato (grazie alla libreria Gettext): il programma andrà a cercare all’interno delle sue risorse localizzate una stringa di caratteri corrispondente a ‘Fatal error: %s’ nella lingua utilizzata dall’utente. Perciò, per far sì che un’applicazione supporti più lingue, lo sviluppatore dovrà progettare la sua applicazione in modo che selezioni le risorse linguistiche appropriate in fase di esecuzione dell’applicazione stessa. Il codice dell’applicazione quindi dovrà essere in grado di gestire, ad esempio, la verifica dei formati di dati inseriti e moltissimi altri tipi di dati che dipendono direttamente dalle impostazioni locali dell’utente. I moderni sistemi di sviluppo e i moderni sistemi operativi includono alcune librerie sofisticate per il supporto internazionale di questo tipo. Nonostante questo, molti ambienti di sviluppo ancora non dispongono del supporto completo per Unicode, che complica drammaticamente il lavoro di traduzione, specialmente per le lingue dell’est e le lingue asiatiche.

Consulenza

Alcune aziende lavorano nell’ambito della ricerca dell’internazionalizzazione che si occupa della ricerca di mercati in cui investire. Molte aziende e imprese, spesso in periodi di crisi o di stagnazione economica, si affidano a queste ricerche per trovare vantaggi sul mercato globale.

Il concetto di “locale”

In informatica, locale è il gruppo di parametri che definiscono la lingua, il paese e qualsiasi altra variante specifica, scelti dall’utente per la visualizzazione dell’interfaccia. Normalmente, un identificatore locale è formato da un indentificatore di lingua (in minuscolo) e da un identificatore di regione (in maiuscolo). Di seguito sono riportate alcune lingue parlate e utilizzate comunemente in più di una nazione ed i loro relativi identificatori locali:

▼ Portoghese

L’identificatore di regione è particolarmente importante, ad esempio, per tutte quelle applicazioni che utilizzano il fuso orario.

Nomi alternativi e abbreviazioni

Il termine inglese Internationalization viene spesso abbreviato con I18N (o i18n o I18n), dove il numero 18 fa riferimento al numero di lettere omesse. Allo stesso modo, il termine inglese localization viene spesso abbreviato con L10N (o l10n o L10n). Le forme più comunemente utilizzate sono rispettivamente i18n e L10n. Queste forme sono prevalenti sulle altre perché molti font non fanno una distinzione netta tra la “I” maiuscola e la “l” minuscola, mentre la “i” minuscola e la “L” maiuscola sono sempre chiare. Queste abbreviazioni evitano la confusione tra le diverse grammatiche inglesi (internationalisation e internationalization, ecc.,.).

Internazionalizzazione e localizzazione sono a volte (ed erroneamente) accomunate nel termine globalization (g11n), ma, come abbiamo visto, questa parola ha un uso comune diverso. Meno utilizzate sono le abbreviazioni “p13n” per personalization, “m17n” per multilingualization e “r3h” per reach, inteso come raggiungimento di un sito web da diversi paesi e mercati. Un altro concetto legato ai suddetti è l’abbreviazione “a11y” per accessibility, che riguarda l’adattamento dei prodotti per le persone disabili o con limitazioni dovute all’età.