Localizzazione (sviluppo software)
Da Wikipedia, l'enciclopedia libera
In informatica (entro la localizzazione linguistica), la localizzazione è l'insieme dei processi di adattamento di un software – pensato e progettato per dato un mercato o un ambiente – ad altri mercati o ambienti (in particolare, ad altre nazioni e culture).

Applicazione

La localizzazione 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.
- 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.
Localizzazione software
Riepilogo
Prospettiva

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 nordamericana. 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à
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
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.
Il concetto di Locale
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 identificatore 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:
Identificatore | Regione |
---|---|
sq-AL | ![]() |
sq-KS | ![]() |
sq-MK | ![]() |
Identificatore | Regione |
---|---|
ar-AE | ![]() |
ar-BH | ![]() |
ar-DZ | ![]() |
ar-EG | ![]() |
ar-IL | ![]() |
ar-IQ | ![]() |
ar-JO | ![]() |
ar-KW | ![]() |
ar-LB | ![]() |
ar-LY | ![]() |
ar-MA | ![]() |
ar-MR | ![]() |
ar-OM | ![]() |
ar-PS | ![]() |
ar-QA | ![]() |
ar-SA | ![]() |
ar-SD | ![]() |
ar-SO | ![]() |
ar-SY | ![]() |
ar-TD | ![]() |
ar-TN | ![]() |
ar-YE | ![]() |
Identificatore | Regione |
---|---|
bn-BD | ![]() |
bn-IN | ![]() |
bn-SG | ![]() |
Identificatore | Regione |
---|---|
ch-GU | ![]() |
ch-MP | ![]() |
Identificatore | Regione |
---|---|
ko-KP | ![]() |
ko-KR | ![]() |
Identificatore | Regione |
---|---|
hr-BA | ![]() |
hr-HR | ![]() |
Identificatore | Regione |
---|---|
da-DK | ![]() |
da-GL | ![]() |
Identificatore | Regione |
---|---|
fr-AD | ![]() |
fr-BE | ![]() |
fr-BF | ![]() |
fr-BI | ![]() |
fr-BJ | ![]() |
fr-CA | ![]() |
fr-CD | ![]() |
fr-CF | ![]() |
fr-CG | ![]() |
fr-CH | ![]() |
fr-CI | ![]() |
fr-CM | ![]() |
fr-DJ | ![]() |
fr-FR | ![]() |
fr-GA | ![]() |
fr-GB | ![]() |
fr-GF | ![]() |
fr-GN | ![]() |
fr-GP | Guadalupa |
fr-HT | ![]() |
fr-IT | ![]() |
fr-KM | ![]() |
fr-LB | ![]() |
fr-LU | ![]() |
fr-MC | ![]() |
fr-MG | ![]() |
fr-ML | ![]() |
fr-MQ | ![]() |
fr-NC | Nuova Caledonia |
fr-PF | ![]() |
fr-PM | ![]() |
fr-RE | Réunion |
fr-RW | ![]() |
fr-SC | ![]() |
fr-TD | ![]() |
fr-TG | ![]() |
fr-VU | ![]() |
fr-WF | ![]() |
fr-YT | ![]() |
Identificatore | Regione |
---|---|
ga-GB | ![]() |
ga-IE | ![]() |
Identificatore | Regione |
---|---|
it-CH | ![]() |
it-HR | ![]() |
it-IT | ![]() |
it-SI | ![]() |
it-SM | ![]() |
it-VA | ![]() |
Identificatore | Regione |
---|---|
ln-CD | ![]() |
ln-CG | ![]() |
Identificatore | Regione |
---|---|
nl-AN | ![]() |
nl-AW | ![]() |
nl-BE | ![]() |
nl-NL | ![]() |
nl-SR | ![]() |
Identificatore | Regione |
---|---|
pt-AO | ![]() |
pt-BR | ![]() |
pt-CV | ![]() |
pt-GW | ![]() |
pt-MZ | ![]() |
pt-PT | ![]() |
pt-ST | ![]() |
Identificatore | Regione |
---|---|
sr-BA | ![]() |
sr-YU | ![]() |
Identificatore | Regione |
---|---|
es-AR | ![]() |
es-BO | ![]() |
es-CL | ![]() |
es-CO | ![]() |
es-CR | ![]() |
es-CU | ![]() |
es-DO | ![]() |
es-EC | ![]() |
es-ES | ![]() |
es-GQ | ![]() |
es-GT | ![]() |
es-HN | ![]() |
es-MX | ![]() |
es-NI | ![]() |
es-PA | ![]() |
es-PE | ![]() |
es-PR | ![]() |
es-PY | ![]() |
es-SV | ![]() |
es-US | ![]() |
es-UY | ![]() |
es-VE | ![]() |
Identificatore | Regione |
---|---|
de-AT | ![]() |
de-BE | ![]() |
de-CH | ![]() |
de-DE | ![]() |
de-DK | ![]() |
de-IT | ![]() |
de-LI | ![]() |
de-LU | ![]() |
L'identificatore di regione è particolarmente importante, ad esempio, per tutte quelle applicazioni che utilizzano il fuso orario.
Nomi alternativi e abbreviazioni
Il termine inglese localization viene spesso abbreviato come L10N (o l10n o L10n), dove le due lettere indicano la prima ed ultima della parola, e il numero di lettere omesse dalla parola stessa.[1].
Questa abbreviazione evita la confusione tra le diverse grammatiche inglesi (localisation, dall'inglese britannico, e localization, dall'inglese statunitense).
Allo stesso modo Internationalization viene spesso abbreviato come I18N (o i18n o I18n). I termini internazionalizzazione e localizzazione sono a volte erroneamente accumulate nel termine globalization (g11n), che ha però un significato diverso.
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à.
Note
Bibliografia
Voci correlate
Collegamenti esterni
Wikiwand - on
Seamless Wikipedia browsing. On steroids.