Web Analytics Made Easy - Statcounter


https://www.amazon.it/dp/B0CT9YL557

We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
a2 --- Internazionalizzazione

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 56.   Internazionalizzazione

L'internazionalizzazione è l'azione con cui si realizza o si modifica un programma, in modo che sia in grado di funzionare utilizzando convenzioni nazionali diverse (principalmente la lingua dei messaggi che emette e il tipo di codifica usata). Il termine inglese a cui si fa riferimento è internationalization e si abbrevia convenzionalmente con la sigla «i18n», perché tra la lettera «i» e la lettera «n» di questa parola ci sono 18 lettere.

La localizzazione è la configurazione attraverso la quale si fa in modo che un programma determinato si adatti a funzionare secondo le particolarità linguistico-nazionali locali. Il termine inglese a cui si fa riferimento è localization e si abbrevia convenzionalmente con la sigla «l10n», perché tra la lettera «l» e la lettera «n» di questa parola ci sono 10 lettere.

I programmi accedono generalmente alle funzionalità relative alla localizzazione per mezzo di librerie. Nei sistemi GNU si tratta generalmente delle librerie C (GNU C library). (1)

Questo capitolo mostra solo come abilitare la gestione delle impostazioni locali desiderate nel proprio sistema; per la selezione dell'adattamento locale preferito di ogni utente, si interviene all'interno di variabili di ambiente: LANG e LC_*.

56.1   Sigle identificative delle caratteristiche locali

Per consentire ai programmi di identificare la richiesta di adattarsi a delle caratteristiche locali, si usa una definizione in forma di stringa, con una sintassi particolare, che generalmente corrisponde a quella seguente:

linguaggio[_territorio[.insieme_di_caratteri]]

Il linguaggio viene espresso da una sigla di due sole lettere minuscole, secondo lo standard ISO 639; il territorio viene espresso da una sigla di due sole lettere maiuscole, secondo lo standard ISO 3166; l'insieme di caratteri è una sigla numerica che esprime standard ISO corrispondente.

Per esempio, it_CH.ISO-8859-1 identifica la lingua italiana riferita al territorio svizzero, con un insieme di caratteri ISO 8859-1.

Come si vede dal modello sintattico, le informazioni sulla destra possono essere omesse, ma in tal caso vengono determinate in modo predefinito.

Una variante molto comune di questa definizione è quella che riguarda i paesi che utilizzano l'Euro come valuta. In questi casi, può succedere di vedere notazioni del tipo:

it_IT@euro

Questa notazione è praticamente equivalente alla dichiarazione esplicita dell'insieme di caratteri, che cambia per la necessità di avere un simbolo per rappresentare la valuta:

it_IT.ISO-8859-15

Con l'introduzione dell'insieme di caratteri universale (ISO 10646) e della codifica UTF-8, l'utilizzo di codifiche del tipo ISO 8859-n è superato. L'esempio seguente si riferisce alla configurazione ottimale per la lingua italiana, per l'utilizzo dell'insieme di caratteri universale:

it_IT.UTF-8

56.2   Preparazione delle localizzazioni disponibili

Per poter configurare i programmi in modo da adeguarsi alle caratteristiche locali, è necessario che le definizioni necessarie siano disponibili. Si può verificare con il comando locale la disponibilità effettiva:

locale -a[Invio]

Se quello che si ottiene è solo l'elenco seguente, significa che in pratica non sono disponibili delle varianti locali diverse dalla lingua inglese pura e semplice:

C
POSIX

I programmi che sfruttano il meccanismo di localizzazione, si avvalgono della funzione locale(), descritta dalla pagina di manuale locale(7).

Le informazioni relative alla localizzazione sono divise in due parti: un file principale e una mappa per la traduzione di nomi simbolici di caratteri nella codifica effettiva da utilizzare. Questi file si trovano generalmente nelle directory /usr/share/i18n/, ma per poter utilizzare le informazioni che contengono, si devono compilare i file in un formato binario che poi si collocano presumibilmente a partire dalla directory /usr/lib/locales/. Pertanto, se anche sono disponibili le definizioni locali, possono mancare i file che poi servono alla funzione locale(); l'elenco che si ottiene da locale -a serve a comprendere cosa la funzione locale() è in grado di gestire.

Supponendo di voler compilare le definizioni riferite al modello di localizzazione corrispondente a it_IT.UTF-8, occorre fare riferimento ai file /usr/share/i18n/locales/it_IT e /usr/share/i18n/charmaps/UTF-8 (se questi file sono compressi, appare probabilmente l'estensione .gz, ma per usarli con localedef vanno prima ripristinati alle loro condizioni normali). I file che vengono generati dalla compilazione si inseriscono presumibilmente nella directory /usr/lib/locale/it_IT/, che deve essere creata per l'occasione. In pratica si procede come nell'esempio seguente, attraverso il programma localedef:

mkdir /usr/lib/locale/it_IT[Invio]

localedef -i /usr/share/i18n/locales/it_IT \
  \-f /usr/share/i18n/locales/charmaps/UTF-8 \
  \/usr/lib/locale/it_IT
[Invio]

56.3   Configurazione delle localizzazioni nelle distribuzioni Debian

Le distribuzioni GNU Debian offrono la gestione della localizzazione attraverso un pacchetto apposito, con cui è possibile configurare quali definizioni locali gestire nel file /etc/locale.gen.

Una volta aggiornato questo file, è sufficiente avviare il programma locale-gen per ottenere la ricompilazione delle definizioni locali desiderate:

locale-gen[Invio]

Generalmente, il file /etc/locale.gen viene creato da un altro programma interattivo, senza bisogno di interventi manuali, che poi si occupa anche di avviare locale-gen; precisamente si tratta del comando: dpkg-reconfigure locales.

dpkg-reconfigure locales[Invio]

Figura 56.5. Aspetto del programma di configurazione delle definizioni locali che si intendono gestire nel sistema.

Debian Configuration

  .------------------------- Configuring Locales ---------------------------.
  | You can choose locales to be generated by selecting locales you want.   |
  | Selected locales will be saved to `/etc/locale.gen' file. You can also  |
  | manually edit this file. You need to run `locale-gen' after edit the    |
  | file.                                                                   |
  |                                                                         |
  | Select locales to be generated.                                         |
  |                                                                         |
  |    [*] id_ID ISO-8859-1                                             *   |
  |    [*] is_IS ISO-8859-1                                             *   |
  |    [*] it_CH ISO-8859-1                                             *   |
  |    [*] it_IT ISO-8859-1                                             *   |
  |    [*] it_IT.ISO-8859-1 ISO-8859-1                                  #   |
  |    [*] it_IT.UTF-8 UTF-8                                            *   |
  |    [*] it_IT@euro ISO-8859-15                                       *   |
  |    [*] iw_IL ISO-8859-8                                             *   |
  |                                                                         |
  |                                                                         |
  |                                 <Ok>                                    |
  |                                                                         |
  `-------------------------------------------------------------------------'

A fianco del file /etc/locale.gen è possibile trovare anche /etc/locale.alias, che associa delle denominazioni più semplici, o comunque alternative, a quelle formali standard. Per esempio, osservando la direttiva seguente, si comprende che diventa indifferente usare la sigla italian oppure it_IT.ISO-8859-1.

italian         it_IT.ISO-8859-1

Appunti di informatica libera 2006.01.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>


1) GNU C library   GNU LGPL e altre licenze in base alla porzione di codice


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome internazionalizzazione.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com