USR_45

*usr_45.txt*	Per Vim version 6.3.  Ultima modifica: 2002 Ott 08

		     VIM USER MANUAL - di Bram Moolenaar
	       Traduzione di questo capitolo: Paolo Giovannelli

			   Selezionate la vostra lingua

I messaggi in Vim possono essere dati in molte lingue.  Questo capitolo spiega
come cambiare quale venga usata.  Così vengono illustrati i diversi modi per
lavorare con file in varie lingue.

|45.1|	Lingua per i messaggi
|45.2|	Lingua per i menù
|45.3|	Utilizzare un'altra codifica
|45.4|	Elaborare files con una codifica differente
|45.5|	Impostare la lingua del testo

  Capitolo seguente: |usr_90|  Installare Vim
Capitolo precedente: |usr_44|  Evidenziazione della vostra sintassi
	     Indice: |usr_toc|


*45.1*	Lingua per i messaggi

Quando avviate Vim, esso controlla l'ambiente di lavoro per trovare quale
lingua stiate utilizzando.  Generalmente ciò funziona bene ed ottenete dei
messaggi nella vostra lingua (se sono disponibili).  Per vedere quale sia la
lingua corrente, usate questo comando:

	:language

Se risponde con "C", ciò significa che viene impiegato il default, ovvero
l'inglese.

	Note:
	L'utilizzo di lingue diverse è possibilie solo se Vim era stato
	compilato appositamente per gestirlo. Per scoprire se funziona,
	utilizzate il comando ":version" e verificate l'output per "+gettext"
	e "+multi_lang".  Se ci sono, siete a posto.  Altrimenti, se vedete
	"-gettext" o "-multi_lang dovrete cercare un altro Vim.

Cosa fare se voleste i vostri messaggi in una lingua diversa? Ci sono diversi
modi.  Quale potreste usare dipende dalle capacità del vostro sistema.
   Il primo modo consiste nell'impostare l'ambiente di lavoro per la lingua
desiderata prima di avviare VIM.  Esempio per Unix:

	env LANG=de_DE.ISO_8859-1  vim

Ciò funziona solamente se la lingua è presente nel vostro sistema.  Il
vantaggio è che tutti i messaggi della GUI e gli oggetti nelle librerie
useranno anch'essi la lingua giusta.  Uno svantaggio è che dovete farlo prima
di avviare VIM.  Se invece volete cambiare la lingua mentre Vim è in
esecuzione, potete usare il secondo metodo:

	:language fr_FR.ISO_8859-1

In questo modo potete provare diversi nomi per la vostra lingua.  Otterrete un
messaggio di errore quando tale funzione non fosse supportata dal vostro
sistema.  Non ottenete alcun messaggio d'errore quando i messaggi tradotti non
siano disponibili.  VIM automaticamente ritornerà ad usare l'inglese.
   Per sapere quali lingue sono supportate cercate la cartella ove esse sono
elencate.  Nel mio sistema, ad esempio, è "/usr/share/locale".  Su alcuni
sistemi "/usr/lib/locale".  La pagina del manuale per "setlocale" potrebbe
darvi un'indicazione su dove essa si trovi nel vostro sistema.
   State attenti a battere il nome esattamente come potrebbe essere.  Le
maiuscole e le minuscole sono importanti, ed i caratteri '-' e '_' vengono
facilmente confusi.

Potete anche impostare una lingua diversa per i messaggi, il testo in
lavorazione ed il formato della data.  Vedere  |:language|.


REALIZZARE DA SOLI LA TRADUZIONE DEI MESSAGGI

Se i messaggi tradotti non fossero disponibili nella vostra lingua, potreste
scriverli voi stessi.  Per far ciò, procuratevi il codice sorgente di Vim ed
il pacchetto gettext GNU.  Dopo aver scompattato i sorgenti, potrete trovare
le istruzioni nella cartella src/po/README.txt.

   Non è particolarmente difficile fare la traduzione.  Non avrete bisogno di
essere programmatori.  Dovrete semplicemente conoscere sia l'inglese che la
lingua in cui state traducendo, ovviamente.
   Quando sarete soddisfatti con la traduzione pensate a renderla disponibile
ad altri.  Caricatela su vim-online (http://vim.sf.net) o spedendo un mail al
mantainer Vim <maintainer@vim.org> o entrambe le cose.


*45.2*	Lingua per i menù

I menù di default sono in inglese.  Per poter impiegare la vostra lingua
locale devono essere tradotti.  Normalmente ciò viene svolto automaticamente
per voi se l'ambiente di lavoro è impostato per la vostra lingua, proprio come
per i messaggi.  Non sarà necessario fare di più per questo.  Ma ciò funziona
solo se le traduzioni nella vostra lingua sono disponibili.
   Supponete di essere in Germania, di avere impostato la lingua tedesca e di
preferire "file" a "Datei".  Potreste ripassare ai menù in inglese in questo
modo:

	:set langmenu=none

E'anche possibile specificare una lingua:

	:set langmenu=nl_NL.ISO_8859-1

Come sopra la differenza tra "-" e "_" è rilevante.  Ad ogni modo, la
differenza tra le maiuscole e le minuscole è ignorata in questo contesto.
   L'opzione 'langmenu' deve essere impostata prima che i menù vengano
caricati.  Dopo aver definito i menù infatti, cambiare 'langmenu' non sortisce
alcun effetto.  Comunque, inserite il comando per impostare 'langmenu' nel
vostro file "vimrc".
   Se realmente volete cambiare la lingua dei menù mentre utilizzate Vim,
potete farlo in questo modo:

	:source $VIMRUNTIME/delmenu.vim
	:set langmenu=de_DE.ISO_8859-1
	:source $VIMRUNTIME/menu.vim

C'è solo uno svantaggio: Tutti i menù definiti da voi se ne andranno.  Dovrete
perciò ridefinirli.


REALIZZARE DA SOLI LA TRADUZIONE DEI MENU'

Per sapere quali traduzioni dei menù sono disponibili, guardate in questa
cartella:

	$VIMRUNTIME/lang 

I file sono denominati menu_{language}.vim.  Se non vedete la lingua che
intendete utilizzare, potete fare voi stessi le traduzioni.  Il modo più
semplice per farlo è copiare uno dei file lingua esistenti e modificarlo.
   Prima trovate il nome della vostra lingua con il comando ":language".
Usate questo nome, ma con tutte le lettere rese minuscole.  Allora copiate il
file nella vostra cartella di runtime, quella trovata prima in 'runtimepath'.
Ad esempio, in Unix sarebbe:

	:!cp $VIMRUNTIME/lang/menu_ko_kr.euckr.vim ~/.vim/lang/menu_nl_be.iso_8859-1.vim

Troverete suggerimenti per la traduzione in "$VIMRUNTIME/lang/README.txt".


*45.3*	Utilizzare un'altra codifica.

Vim osserva che i file che state per aprire sono codificati per la vostra
lingua.  Per molte lingue europee tale codifica è "latin1".  Allora ogni byte
è un solo carattere.  Ciò significa che sono possibili 256 differenti
caratteri.  Per le lingue asiatiche ciò non è sufficiente.  Queste usano
principalmente una codifica a doppio byte, che rende disponibili oltre 10000
possibili caratteri.  Ciò non è ancora  sufficiente quando un testo contenga
molte lingue diverse.  Qui è dove entra Unicode.  E' stato progettato per
includere tutti i caratteri utilizzati nelle lingue comunemente usate.
Questa è la "super codifica che sostituisce tutte la altre".  Ma non è ancora
molto utilizzata.
   Fortunatamente, Vim supporta tre tipi di codifica.  E, con alcune
restrizioni, potete utilizzarle anche quando il vostro ambiente di lavoro usa
un'altra lingua rispetto al testo.
   Ciononostante, quando aprite solo dei file codificati nella vostra lingua,
il default dovrebbe lavorare bene e non dovrete fare altro.  Ciò che segue è
importante solo quando lavorate con lingue differenti.

	Note:
	L'utilizzo di molteplici codifiche funziona solo se Vim era stato
	compilato per gestirle.  Per scoprire se ciò funziona, utilizzate il
	comando ":version" e cercate nell'output "+multi_byte".  Se lo trovate
	significa che siete a posto. Se invece vedete "-multi_byte" significa
	che dovrete cercare un'altra versione di Vim.


USARE UNICODE NELLA GUI

Il bello di Unicode è che le altre codifiche possono essere convertite ad esso
e viceversa senza perdere informazioni.  Quando impostate Vim per utilizzare
Unicode internamente, potrete lavorare con file in qualsiasi codifica.
   Sfortunatamente, il numero di sistemi che supportano Unicode è ancora
limitato.  Così è improbabile che la vostra lingua lo utilizzi.  Dovrete
dire a Vim che volete usare Unicode, e come interfacciarsi con il resto del
sistema.
   Iniziamo con la versione GUI di Vim, che può usare i caratteri Unicode.
Ciò potrebbe funzionare:

	:set encoding=utf-8
	:set guifont=-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1

L'opzione 'encoding' dice a Vim quale codifica di caratteri utilizzate.  Ciò
si applica al testo nei buffer (i file su cui state lavorando), ai registri,
agli script di Vim, etc.  Potete guardare 'encoding' come un'impostazione per
gli internals di Vim.
   Questo esempio presuppone che abbiate questo font installato nel vostro
sistema.  Il nome nell'esempio è per il sistema Xwindow.  Questo font si
trova in un pacchetto che viene utilizzato per migliorare xterm con il
supporto Unicode.  Se non avete questo font, potete trovarlo qui:

	http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz 

Per MS-Windows, alcuni font hanno un numero limitato di caratteri Unicode.
Porvate usando il font "Courier New".  Potete usare il menù Edit/Select Font
per selezionare e provare i font disponibili.  Tuttavia solo i font con
ampiezza fissa posso essere utilizzati.

	:set guifont=courier_new:h12

Se non dovesse funzionare, cercate di ottenere un fontpack.  Se Microsoft non
l'ha spostato, potete trovarlo qui:

	http://www.microsoft.com/typography/fontpack/default.htm 

Ora avete detto a Vim di usare Unicode internamente e di visualizzare il testo
con un font Unicode.  I caratteri battuti ancora arrivano nel vostro
linguaggio originale.  Ciò richiede di convertirli in Unicode.  Dite a Vim il
linguaggio da cui covertire con l'opzione 'termencoding'. Potete farlo così:

	:let &termencoding = &encoding
	:set encoding=utf-8

Ciò assegna il vecchio vaore di 'encoding' a 'termencoding', prima di
impostare 'encoding' ad utf-8.  Dovrete controllare se questi comandi
funzionano davvero con la vostra installazione.  Potrebbe funzionare
particolarmente bene usando un metodo di input per una lingua asiatica, e
volete scrivere del testo in Unicode.


USARE UNICODE IN UN TERMINALE UNICODE

Esistono terminali che supportano Unicode direttamente.  Lo standard xterm che
viene con Xfree è uno di essi.  Usiamolo come esempio.
   Prima di tutto, xterm deve essere compilato con il supporto ad Unicode.
Guardate |UTF8-xterm| per sapere come controllare ciò e come compilarlo in
caso di necessità.
   Avviate xterm con l'argomento "-u8".  Potreste anche avere bisogno di
specificare un font.  Esempio:

   xterm -u8 -fn -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1

Ora potete avviare Vim entro questo terminale.  Impostate 'encoding' ad
'utf-8' come prima.  E questo è tutto.


USARE UNICODE IN UN TERMINALE NORMALE

Supponiamo che vogliate lavorare con dei file Unicode, ma non abbiate un
terminale con lo supporti.  Potete fare ciò con Vim, tuttalpiù i caratteri non
supportati dal terminale non verranno visualizzati.  L'aspetto del testo verrà
preservato.

	:let &termencoding = &encoding
	:set encoding=utf-8

Questo è lo stesso che era stato usato per la GUI.  Ma funziona diversamente:
Vim convertirà il testo visualizzato prima di inviarlo al terminale.  Ciò
evita che il display visualizzi strani caratteri.
   Affinchè ciò funzioni è necessario che la conversione tra 'termencoding' ed
'encoding' sia possibile.  Vim convertirà da latin1 ad Unicode, cosicchè
funzioni sempre.  Per altre conversioni è richiesta la caratteristica
|+iconv|.
   Provate a modificare un file con caratteri Unicode.  Noterete che Vim
mette un punto interrogativo (oppure una sottolineatura o qualche altro
carattere) nei posti dove c'è un carattere che il terminale non può
visualizzare.  Muovete il cursore sino al punto interrogatico ed usate questo
comando:

	ga

Vim visualizzerà una linea con il codice del carattere.  Ciò vi da un'idea
di che carattere sia.  Potrete poi trovarlo in una tabella Unicode.  Potreste
realmente leggere un file in questo modo se aveste molto tempo a disposizione.

	Note:
	Poichè 'encoding' è usato per tutto il testo entro Vim, modificarlo
	invaliderebbe tutto il testo non ASCII.  Potetete notare ciò usando i
	registri ed il file 'viminfo' (ad esempio, un modello di ricerca
	memorizzato).  Si raccomanda perciò di impostare 'encoding' nel vostro
	file vimrc, e lasciarlo stare.


*45.4*	Elaborare files con una codifica differente

Supponete di avere impostato Vim per l'uso di Unicode e che vogliate
modificare un file Unicode a 16 bit.  Sembra semplice, giusto?  Bene, Vim in
realtà usa internamente la codifica utf-8, perciò la codifica a 16 bit deve
essere convertita.  Così c'è una differenza tra il set di caratteri (Unicode)
e la codifica (Utf-8 o 16 bit).
   Vim cercherà di individuare il tipo di file con il quale state lavorando.
Esso usa nomi di codifica situati nell'opzione 'fileencodings'.  Quando si usa
Unicode, il valore standard è:"ucs-bom,utf-8,latin1".  Ciò significa che Vim
controlla il file per vedere se contiene una di queste codifiche:

	ucs-bom		Il file deve iniziare con un 'Byte Order Mark (BOM)'.
			Ciò consente la rilevazione delle codifiche unicode a
			16 bit, 32 a bit ed utf-8

	utf-8		utf-8 unicode. E' rifiutata quando una sequenza di
			bytes è illegale in utf-8.

	latin1		La vecchia codifica ad 8-bit. Funziona sempre.

Quando iniziate a lavorare su un file Unicode a 16 bit, nel quale è presente
un BOM, Vim individua ciò e converte il file in utf-8 quando lo legge.
L'opzione 'fileencoding' (senza la s finale) è impostata al valore
individuato.  In questo caso è "ucs-2le".  Ciò significa Unicode, due byte ed
un 'little-endian'.  Questo formato di file è comune in MS-Windows, (ad
esempio per i file di registro).
   Quando si scrive un file, Vim confronta 'fileencoding' con 'encoding'.  Se
sono differenti, il testo sarà convertito.
   Un valore nullo in 'fileencoding' significa che nessuna conversione deve
essere eseguita.

Se il valore di 'fileencodings' di default non andasse bene per voi, allora
impostatelo per le codifiche che volete che Vim tenti.  Solo quando un valore
venisse trovato non valido verrebbe usato quello successivo.  Impostare
"latin1" come primo non funziona, perchè non è mai illegale.  Un esempio, per
tornare al giapponese quando il file non ha un BOM e non è utf-8:

	:set fileencodings=ucs-bom,utf-8,sjis

Vedere |encoding-values| per i valori suggeriti.  Altri valori potrebbero
funzionare altrettanto bene.  Ciò dipende dal tipo di conversione disponibile.


FORZARE UNA CODIFICA

Se il rilevamento automatico non funzionasse, dovrete dire a Vim quale
codifica sia usata dal file.  Esempio:

	:edit ++enc=koi8-r russian.txt

La parte "++enc" specifica il nome della codifica da usare solamente per
questo file.  Vim convertirà il file dalla codifica specificata, il russo in
questo esempio, in 'enconding'.  'fileencoding' verrà così impostato per la
codifica specificata, cosicchè la conversione inversa può essere fatta quando
si scrive il file.
   Lo stesso argomento può essere utilizzato scrivendo un file.  In tal modo
potete realmente usare Vim per convertire un file.  Esempio:

	:write ++enc=utf-8 russian.txt

	Note:
	La conversione può causare una perdita di caratteri.  Convertire da
	una codifica qualsisasi in Unicode e viceversa è generalmente libera
	da questi problemi, a meno che ci siano caratteri illegali. La
	conversione da Unicode in altre codifiche spesso perde informazioni
	quando ci sia più di un linguaggio nel file.



*45.5*	Impostare la lingua del testo

Le tastiere dei computer non hanno più di un centinaio di tasti.  Alcune
lingue hanno un centinaio di caratteri, Unicode ne ha più di 10000.  Così
come potete battere questi caratteri?
   Prima di tutto, quando non usate troppi caratteri speciali, potete usare i
digrafici.  Questo argomento è già stato spiegato in |24.9|.
   Quando utilizzate una lingua che usa molti più caratteri di quanti ne abbia
la vostra tastiera, vorrete usare un Input Method (IM).  Ciò richiede di
imparare la traduzione dai tasti battuti ai caratteri risultanti.  Quando vi
serve un IM, ne avrete probabilmente già uno installato nel vostro sistema.
Potrebbe funzionare con Vim come con altri programmi.  Per i dettagli vedere
|mbyte-XIM| per il sistema XWindow e |mbyte-IME| per MS-Windows.


KEYMAPS

Per alcune lingue, il set di caratteri è diverso da quello latino, ma impiega
un numero simile di caratteri.  E' perciò possibile mappare i tasti ai
caratteri.  Vim utilizza le 'keymap' per questo.
   Supponete di voler scrivere in ebraico.  Potete caricare la keymap così:

	:set keymap=hebrew

Vim cercherà di trovare un file di keymap per voi.  Ciò dipende dal valore di
"encoding".  Se nessun file corrispondente venisse trovato, otterreste un
messaggio di errore.

Ora potete digitare in ebraico in Insert mode.  In Normal mode e quando
battete un comando ":", Vim automaticamente passerà all'inglese.  Potete usare
questo comando per passare dall'ebraico all'inglese:

	CTRL-^

Questo funziona solo in Insert mode che in Comand-line mode.  In Normal mode
fa qualcosa di completamente diverso (salta ad un altro file).
   L'uso della keymap è indicato nel messaggio della modalità, se avete
l'opzione 'showmode' attivata.  Nella gui Vim indicherà l'uso delle keymap con
un colore diverso del cursore.
   Potete anche cambiare l'uso della keymap con le opzioni 'iminsert' e
'imsearch'.

Per vedere la lista delle mappature, usate questo comando :

	:lmap

Per trovare quali file di keymap siano disponibili, nella GUI potete usare il
menù Edit/Keymap.  Altrimenti potete usare questo comando:

	:echo globpath(&rtp, "keymap/*.vim")


CREARE DA SOLI LE KEYMAPS

Potete creare da soli i vostri file di keymap.  Non è particolarmente
difficile.  Iniziate con un file di keymap simile a quello della lingua che
volete impiegare.  Copiatelo nella cartella "keymap" nella vostra directory di
runtime.  Ad esempio, in Unix potreste usare la cartella "~/.vim/keymap".
   Il nome del file di keymap deve assomigliare a questo:

	keymap/{name}.vim 

oppure

	keymap/{name}_{encoding}.vim 

{name} è il nome della keymap.  Scegliete un nome che sia ovvio, ma differente
dalle keymap esistenti (a meno che non vogliate sostituire un file di keymap
esistente).
{name} non può contenere un underscore.  Volendo, aggiungete la
codifica usata dopo un underscore.  Esempi:

	keymap/hebrew.vim 
	keymap/hebrew_utf-8.vim 

I contenuti del file dovrebbero spiegarsi da sè.  Guardate qualcuna delle
keymap distribuite con VIM.  Per i dettagli, vedere |mbyte-keymap|.

ULTIMA RISORSA

Se tutti gli altri metodi fallissero, potrete comunque inserire qualsiasi
carattere con CTRL-V:

	encoding   type			range 
	8-bit	   CTRL-V 123		decimal 0-255
	8-bit	   CTRL-V x a1		hexadecimal 00-ff
	16-bit     CTRL-V u 013b	hexadecimal 0000-ffff
	31-bit	   CTRL-V U 001303a4	hexadecimal 00000000-7fffffff

Non digitate gli spazi.  Vedere |i_CTRL-V_digit| per i dettagli.


Capitolo seguente: |usr_90|  Installare Vim

Copyright: vedere |manual-copyright|  vim:tw=78:ts=8:ft=help:norl:

Segnalare refusi a Bartolomeo Ravera - E-mail: barrav at libero.it

Generated by vim2html on Tue Oct 12 19:10:57 CEST 2004