Internazionalizzazione e localizzazione

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Localizzazione software)
Globe of letters.png

L'internazionalizzazione e la localizzazione sono i processi di adattamento di un prodotto, pensato e progettato per un mercato o un ambiente definito, ad altri mercati o ambienti, in modo particolare altre nazioni e culture.

I prodotti che possono essere l'oggetto di tali processi sono i più svariati: dalla pubblicità (televisiva, editoriale, ecc.) ai software (sistemi operativi, applicazioni, programmi, ecc.), dai siti web ai manuali d'uso, dalle pubblicazioni mediche e scientifiche, alle etichette dei prodotti venduti sul mercato internazionale.

Campi di applicazione[modifica | modifica wikitesto]

Un cartello di benvenuto in francese, giapponese, spagnolo e coreano presso la stazione della KCR a Hong Kong

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 particolare 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, in particolare il testo codificato (computer):
    • alfabeti e sistemi di scrittura;
    • sistemi di numerazione;
    • direzione della scrittura (es. da sinistra verso destra e da destra verso sinistra).
  • La data e l'ora: formato, calendari e fusi orari.
  • Immagini e colori: questioni relative alla comprensibilità e all'appropriatezza culturale.

Principali differenze tra Internazionalizzazione e Localizzazione[modifica | modifica wikitesto]

La differenza tra internazionalizzazione e localizzazione è sottile ma fondamentale. L'internazionalizzazione è l'adattamento di prodotti per un potenziale utilizzo 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. Ecco alcuni elementi specifici della localizzazione: Traduzione linguistica; supporto speciale per alcune lingue, come ad esempio le lingue dell'estremo oriente; usi locali; contenuti locali; simboli, metodi di ordinamento degli elenchi; estetica; valori culturali e contesto sociale.

Nello sviluppo software, dopo che un prodotto è stato internazionalizzato, il termine localizzazione fa riferimento al processo necessario a renderlo pronto per uno specifico mercato.

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 per uno specifico mercato viene chiamata "localizzazione".

Relazioni con il termine globalizzazione[modifica | modifica wikitesto]

Internazionalizzazione è un termine molte volte utilizzato per globalizzazione, specialmente 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à di 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 software[modifica | modifica wikitesto]

Screenshot di programmi software localizzati in Italiano.

La localizzazione software è un 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 sforzi particolari 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 software può anche fare riferimento all'adattamento di un software da una cultura a un'altra. Durante la localizzazione alcuni riferimenti a storia e cultura vengono sostituiti con equivalenti riferimenti locali che non modifichino il senso dell'originale.

Nei giochi a console, la localizzazione si occupa anche del controverso processo di produrre console e soprattutto cartridge che possano essere utilizzate solamente nella regione geografica per la quale sono state progettate. Per esempio, una cartridge europea potrebbe non funzionare in una console nord-americana. Inoltre la localizzazione include la modifica dei dialoghi e di altri elementi per meglio adattarsi al pubblico del paese. Un motivo per quest'operazione è legato alle differenze tra censure locali: le regole di autocensura di Nintendo, ad esempio, variano tra Stati Uniti d'America e Giappone.

Difficoltà[modifica | modifica wikitesto]

Nell'ambito della creazione di prodotti software, l'internazionalizzazione e la localizzazione introducono compiti particolarmente impegnativi per gli sviluppatori, specialmente se il software non è progettato sin dall'inizio tenendo ben presente questi fatti. Una pratica 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 compito 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 liberamente modificato e ridistribuito, è 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[modifica | modifica wikitesto]

L'attuale pratica 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 C 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 data 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 hanno il completo supporto per Unicode, che complica drammaticamente il lavoro di traduzione, specialmente per le lingue dell'est e asiatiche.

Consulenza[modifica | modifica wikitesto]

Alcune imprese 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[modifica | modifica wikitesto]

In informatica, locale è il gruppo di parametri che definisce 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 e i loro relativi identificatori locali:

Albanese
Identificatore Regione
al-AL Albania Albania
al-KS Kosovo Kosovo
al-MK Macedonia Macedonia
Arabo
Identificatore Regione
ar-AE Emirati Arabi Uniti Emirati Arabi Uniti
ar-BH Bahrein Bahrein
ar-DZ Algeria Algeria
ar-EG Egitto Egitto
ar-IL Israele Israele
ar-IQ Iraq Iraq
ar-JO Giordania Giordania
ar-KW Kuwait Kuwait
ar-LB Libano Libano
ar-LY Libia Libia
ar-MA Marocco Marocco
ar-MR Mauritania Mauritania
ar-OM Oman Oman
ar-PS Palestina Palestina
ar-QA Qatar Qatar
ar-SA Arabia Saudita Arabia Saudita
ar-SD Sudan Sudan
ar-SO Somalia Somalia
ar-SY Siria Siria
ar-TD Ciad Ciad
ar-TN Tunisia Tunisia
ar-YE Yemen Yemen
Bengalese
Identificatore Regione
bn-BD Bangladesh Bangladesh
bn-IN India India
bn-SG Singapore Singapore
Chamorro
Identificatore Regione
ch-GU Flag of Guam.svg Guam
ch-MP Flag of the Northern Mariana Islands.svg Isole Marianne Settentrionali
Cinese
Identificatore Regione
zh-CN Cina Cina
zh-SG Singapore Singapore
zh-TW Flag of the Republic of China.svg Taiwan
Coreano
Identificatore Regione
ko-KP Corea del Nord Corea del Nord
ko-KR Corea del Sud Corea del Sud
Croato
Identificatore Regione
hr-BA Bosnia ed Erzegovina Bosnia ed Erzegovina
hr-HR Croazia Croazia
Danese
Identificatore Regione
da-DK Danimarca Danimarca
da-GL Groenlandia Groenlandia
Francese
Identificatore Regione
fr-AD Andorra Andorra
fr-BE Belgio Belgio
fr-BF Burkina Faso Burkina Faso
fr-BI Burundi Burundi
fr-BJ Benin Benin
fr-CA Canada Canada
fr-CD Flag of the Democratic Republic of the Congo.svg Repubblica Democratica del Congo
fr-CF Flag of the Central African Republic.svg Repubblica Centrafricana
fr-CG Flag of the Republic of the Congo.svg Repubblica del Congo
fr-CH Svizzera Svizzera
fr-CI Costa d'Avorio Costa d'Avorio
fr-CM Camerun Camerun
fr-DJ Gibuti Gibuti
fr-FR Francia Francia
fr-GA Gabon Gabon
fr-GB Regno Unito Regno Unito
fr-GF Francia Guyana Francese
fr-GN Guinea Guinea
fr-GP Guadalupa
fr-HT Haiti Haiti
fr-IT Italia Italia
fr-KM Comore Comore
fr-LB Libano Libano
fr-LU Lussemburgo Lussemburgo
fr-MC Monaco Principato di Monaco
fr-MG Madagascar Madagascar
fr-ML Mali Mali
fr-MQ Monaco Martinica
fr-NC Nuova Caledonia
fr-PF Polinesia Francese Polinesia Francese
fr-PM Flag of Saint-Pierre and Miquelon.svg Saint-Pierre e Miquelon
fr-RE Réunion
fr-RW Ruanda Ruanda
fr-SC Seychelles Seychelles
fr-TD Ciad Ciad
fr-TG Togo Togo
fr-VU Vanuatu Vanuatu
fr-WF Flag of Wallis and Futuna.svg Wallis e Futuna
fr-YT Flag of Mayotte (local).svg Mayotte
Greco
Identificatore Regione
el-CY Cipro Cipro
el-GR Grecia Grecia
Inglese
Identificatore Regione
en-AG Antigua e Barbuda Antigua e Barbuda
en-AI Flag of Anguilla.svg Anguilla
en-AS Samoa Samoa
en-AU Australia Australia
en-BB Barbados Barbados
en-BM Flag of Bermuda.svg Bermuda
en-BN Brunei Brunei
en-BS Bahamas Bahamas
en-BW Botswana Botswana
en-BZ Belize Belize
en-CA Canada Canada
en-CK Flag of the Cook Islands.svg Isole Cook
en-CM Camerun Camerun
en-DM Rep. Dominicana Rep. Dominicana
en-ER Eritrea Eritrea
en-ET Etiopia Etiopia
en-FJ Figi Figi
en-FK Flag of the Falkland Islands.svg Isole Falkland
en-FM Flag of the Federated States of Micronesia.svg Micronesia
en-GB Regno Unito Regno Unito
en-GD Grenada Grenada
en-GH Ghana Ghana
en-GI Flag of Gibraltar.svg Gibilterra
en-GM Gambia Gambia
en-GU Flag of Guam.svg Guam
en-GY Guyana Guyana
en-IE Irlanda Irlanda
en-IL Israele Israele
en-IO Flag of the British Indian Ocean Territory.svgTerritori britannici dell'Oceano Indiano
en-JM Giamaica Giamaica
en-KE Kenya Kenya
en-KI Kiribati Kiribati
en-KN Saint Kitts e Nevis Saint Kitts e Nevis
en-KY Flag of the Cayman Islands.svgIsole Cayman
en-LC Flag of Saint Lucia.svg Santa Lucia
en-LR Liberia Liberia
en-LS Lesotho Lesotho
en-MP Flag of the Northern Mariana Islands.svg Isole Marianne Settentrionali
en-MS Flag of Montserrat.svgMontserrat
en-MT Malta Malta
en-MU Mauritius Mauritius
en-MW Malawi Malawi
en-NA Namibia Namibia
en-NF Flag of Norfolk Island.svg Isola Norfolk
en-NG Nigeria Nigeria
en-NR Flag of Nauru.svg Nauru
en-NU Flag of Niue.svg Niue
en-NZ Nuova Zelanda Nuova Zelanda
en-PG Papua Nuova Guinea Papua Nuova Guinea
en-PH Filippine Filippine
en-PK Pakistan Pakistan
en-PN Flag of the Pitcairn Islands.svg Isole Pitcairn
en-PR Porto Rico Porto Rico
en-PW Palau Palau
en-RW Ruanda Ruanda
en-SB Flag of the Solomon Islands.svg Isole Salomone
en-SC Seychelles Seychelles
en-SG Singapore Singapore
en-SH Flag of Saint Helena.svg Sant'Elena
en-SL Sierra Leone Sierra Leone
en-SO Somalia Somalia
en-SZ Swaziland Swaziland
en-TC Flag of the Turks and Caicos Islands.svg Turks e Caicos
en-TK Flag of Tokelau (local).svg Tokelau
en-TO Tonga Tonga
en-TT Trinidad e Tobago Trinidad e Tobago
en-UG Uganda Uganda
en-US Stati Uniti Stati Uniti
en-VC Saint Vincent e Grenadine Saint Vincent e Grenadine
en-VG Flag of the British Virgin Islands.svg Isole Vergini Britanniche
en-VI Flag of the United States Virgin Islands.svg Isole Vergini Statunitensi
en-VU Vanuatu Vanuatu
en-WS Samoa Samoa
en-ZA Sudafrica Sudafrica
en-ZM Zambia Zambia
en-ZW Zimbabwe Zimbabwe
Irlandese
Identificatore Regione
ga-GB Regno Unito Regno Unito
ga-IE Irlanda Irlanda
Italiano
Identificatore Regione
it-CH Svizzera Svizzera
it-HR Croazia Croazia
it-IT Italia Italia
it-SI Slovenia Slovenia
it-SM San Marino San Marino
it-VA Città del Vaticano Città del Vaticano
Lingala
Identificatore Regione
ln-CD Flag of the Democratic Republic of the Congo.svg Repubblica Democratica del Congo
ln-CG Flag of the Republic of the Congo.svg Repubblica del Congo
Malay
Identificatore Regione
ms-BN Brunei Brunei
ms-MY Malesia Malesia
ms-SG Singapore Singapore
Olandese
Identificatore Regione
nl-AN Flag of the Netherlands Antilles (1986-2010).svg Antille olandesi
nl-AW Flag of Aruba.svg Aruba
nl-BE Belgio Belgio
nl-NL Paesi Bassi Paesi Bassi
nl-SR Suriname Suriname
Portoghese
Identificatore Regione
pt-AO Angola Angola
pt-BR Brasile Brasile
pt-CV Capo Verde Capo Verde
pt-GW Guinea-Bissau Guinea-Bissau
pt-MZ Mozambico Mozambico
pt-PT Portogallo Portogallo
pt-ST São Tomé e Príncipe São Tomé e Príncipe
Romeno
Identificatore Regione
ro-MD Moldavia Moldavia
ro-RO Romania Romania
Serbo
Identificatore Regione
sr-BA Bosnia ed Erzegovina Bosnia ed Erzegovina
sr-YU Serbia e Montenegro Serbia e Montenegro
Sindhi
Identificatore Regione
sd-IN India India
sd-PK Pakistan Pakistan
Spagnolo
Identificatore Regione
es-AR Argentina Argentina
es-BO Bolivia Bolivia
es-CL Cile Cile
es-CO Colombia Colombia
es-CR Costa Rica Costa Rica
es-CU Cuba Cuba
es-DO Rep. Dominicana Rep. Dominicana
es-EC Ecuador Ecuador
es-ES Spagna Spagna
es-GQ Guinea Equatoriale Guinea Equatoriale
es-GT Guatemala Guatemala
es-HN Honduras Honduras
es-MX Messico Messico
es-NI Nicaragua Nicaragua
es-PA Panamá Panamá
es-PE Perù Perù
es-PR Porto Rico Porto Rico
es-PY Paraguay Paraguay
es-SV El Salvador El Salvador
es-US Stati Uniti Stati Uniti
es-UY Uruguay Uruguay
es-VE Venezuela Venezuela
Svedese
Identificatore Regione
sv-FI Finlandia Finlandia
sv-SE Svezia Svezia
Swahili
Identificatore Regione
sw-KE Kenya Kenya
sw-TZ Tanzania Tanzania
Swati
Identificatore Regione
ss-SZ Swaziland Swaziland
ss-ZA Sudafrica Sudafrica
Tamil
Identificatore Regione
ta-IN India India
ta-SG Singapore Singapore
Tedesco
Identificatore Regione
de-AT Austria Austria
de-BE Belgio Belgio
de-CH Svizzera Svizzera
de-DE Germania Germania
de-DK Danimarca Danimarca
de-IT Italia Italia
de-LI Liechtenstein Liechtenstein
de-LU Lussemburgo Lussemburgo
Tswana
Identificatore Regione
tn-BW Botswana Botswana
tn-ZA Sudafrica Sudafrica
Turco
Identificatore Regione
tr-BG Bulgaria Bulgaria
tr-CY Cipro Cipro
tr-TR Turchia Turchia
Ungherese
Identificatore Regione
hu-HU Ungheria Ungheria
hu-SI Slovenia Slovenia
Urdu
Identificatore Regione
ur-IN India India
ur-PK Pakistan Pakistan

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

Nomi alternativi e abbreviazioni[modifica | modifica wikitesto]

Il termine inglese Internationalization viene spesso abbreviato come I18N (o i18n o I18n) dove il numero 18 fa riferimento al numero di lettere omesse[1].

Allo stesso modo, il termine inglese localization viene spesso abbreviato come L10N (o l10n o L10n).

Le forme più comunemente utilizzate sono rispettivamente i18n e L10n. Queste forme hanno avuto la prevalenza sulle altre perché molti font non hanno una netta distinzione 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) accumulate nel termine globalization (g11n), ma come abbiamo visto questa parola ha un diverso uso comune.

Meno utilizzate sono le abbreviazioni "p13n" per personalization, "m17n" per multilingualization e "r3h" per reach, intesa 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 persone disabili o con limitazioni dovute all'età.

Voci correlate[modifica | modifica wikitesto]

Bibliografia[modifica | modifica wikitesto]

  • (EN) .NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications, Guy Smith-Ferrier, Addison-Wesley Professional, 7 agosto 2006. ISBN 0-321-34138-4

Note[modifica | modifica wikitesto]

  1. ^ Origin Of The Abbreviation I18n For Internationalization

Collegamenti esterni[modifica | modifica wikitesto]