Pagina 1 di 2
manpage internazionalizzata e accentate
Inviato: lun 20 giu 2016, 16:39
da ZeroUno
L'eterno problema delle lettere accentate nella nostra lingua.
Sto scrivendo una manpage in italiano ma mi sto scontrando con le lettere accentate.
Le avevo scritte con un terminale e sono venute con una codifica; sono andato a leggerle da un altro terminale ed ovviamente sono falsate; e se lo leggo con un altro avrò di sicuro un'altra codifica ancora.
Esiste qualcosa tipo il è dell'html o è ?
Mi capita raro di leggere manpage in italiano, quindi non ci ho mai fatto caso.
N.B..:ho preso una manpage esistente e la sto modificando con vim.
Re: manpage internazionalizzata e accentate
Inviato: lun 20 giu 2016, 16:53
da ponce
credo che tu debba usare utf8, con terminali appositi (qui uso lxterminal ma anche altri vanno bene) e variabili d'ambiente adatte, sia per modificare la pagina con vim che poi per leggerla.
personalmente uso nel mio ~/.bash_profile queste variabili
Codice: Seleziona tutto
export LESSCHARSET='utf-8'
export GROFF_ENCODING='utf8'
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
export LC_COLLATE=C
export LC_MONETARY=it_IT.UTF-8
export LC_NUMERIC=it_IT.UTF-8
export LC_TIME=it_IT.UTF-8
siccome uso current e tmux (non quello in /testing), ho anche questa riga nel mio ~/.tmux.conf
e questa nel ~/.bashrc
e, per concludere, ho questa stringa aggiunta alla direttiva append nel mio /etc/lilo.conf
Re: manpage internazionalizzata e accentate
Inviato: lun 20 giu 2016, 17:19
da ZeroUno
Ma il mio problema non è la lettura ma la scrittura.
Vorrei assicurarmi che il destinatario riesca a leggere la manpage anche se usa un terminale diverso da quello che uso io.
Come nell'html; scrivevo le pagine con kwrite e poi le editavo con vim o le aprivo con un terminale diverso o le rieditavo con windows, e da browser a browser o S.O. a S.O. diversi avevo sempre risultati diversi se non uso è
Visto che man fondamentalmente è basato di default su nroff (che non conosco assolutamente) pensavo ci fosse un qualche standard.
Ora mi sto vedendo il sorgente della manpage italiana di man.
Re: manpage internazionalizzata e accentate
Inviato: gio 23 giu 2016, 22:18
da targzeta
Hai poi risolto? Io ho dato un'occhiata a delle pagine scritte in italiano. Quella di amuleweb, ad esempio, sul mio terminale veniva formattata male, mentra quella di apropos era corretta. Ho visto che la prima è salvata come UTF8 mentre la seconda come latin1. Allora ho convertito la prima da UTF8 in latin1 ed ora effettivamente si visualizza bene:

- prima.jpg (27.94 KiB) Visto 3455 volte
Codice: Seleziona tutto
iconv -f utf-8 -t iso8859-1 amuleweb.1 > /tmp/test.1
man /tmp/test.1

- dopo.jpg (29.61 KiB) Visto 3455 volte
Emanuele
Re: manpage internazionalizzata e accentate
Inviato: gio 23 giu 2016, 22:53
da ZeroUno
Non mi ci sono speso più di tanto in verità.
Ho scritto in konsole dal mio pc e su konsole di un'altro funziona. Per ora questo mi basta.
Eccola
https://www.slacky.eu/forum/viewtopic.p ... 90#p346778
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 1:19
da targzeta
Sì, anche a me si vede bene
Emanuele
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 8:58
da conraid
Io non lo vedo bene, ti allego screenshot
Ho il sistema configurato in utf8, se vuoi sapere qualche impostazione chiedi pure.
Comunque vedo male anche altri, probabilmente ho qualcosa di sbagliato io nel sistema.
Il comando file lo vede come ISO-8859
$ file slackpkgplus.conf.5
slackpkgplus.conf.5: troff or preprocessor input, ISO-8859 text, with very long lines
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 9:22
da ZeroUno
# env |grep LANG
LANG=en_US
# env|grep LC
LC_COLLATE=C
# env|grep -i term
TERM=xterm
# man slackpkgplus.conf -> ok
# LC_ALL=C man slackpkgplus.conf -> trasforma è in e
# LC_ALL=C.UTF8 man slackpkgplus.conf -> trasforma è in Ú
# LC_ALL=it_IT man slackpkgplus.conf -> ok
# LC_ALL=it_IT.UTF8 man slackpkgplus.conf -> trasforma è in Ú
# LC_ALL=it_IT.ISO-8859-1 man slackpkgplus.conf -> ok
# LC_ALL=it_IT@euro man slackpkgplus.conf -> ok
# LC_ALL=it_IT.ISO-8859-15 man slackpkgplus.conf
sh: warning: setlocale: LC_ALL: cannot change locale (it_IT.ISO-8859-15)
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (it_IT.ISO-8859-15)
konsole -> impostazioni -> modifica profilo attuale -> avanzate -> codifica dei caratteri predefinita. Io ho ISO-8859-15
cambiandolo in UTF-8
# man slackpkgplus.conf -> trasforma è in �
# LC_ALL=it_IT.UTF8 man slackpkgplus.conf -> ok
sono un po' troppi i fattori, ma se si mette LC_ALL a quello settato nel terminale dovrebbe andare bene.
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 11:01
da conraid
Io però uso UTF8 (sia in konsole, sia nel sistema) e con l'ultimo comando vedo ugualmente male.
con LC_ALL=it_IT.ISO-8859-1 man slackpkgplus.conf invece non vedo niente, cioè al posto delle lettere accentate c'è uno spazio vuoto.
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 11:48
da ZeroUno
Quando nel 2002 è nata l'unione europea speravo venisse unificata anche la lingua... mi basterebbe unificare la codifica
Non so, non me ne intendo di encoding.
Mandami un file di testo con accentate scritto dal tuo terminale.
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 12:11
da conraid
Ti allego pippo.txt che con file risulta
$ file pippo.txt
pippo.txt: UTF-8 Unicode text
la variabile d'ambiente è tramite lang.sh in /etc/profile.d
LANG=it_IT.UTF-8
p.s.
in realtà unicode è lo standard mondiale, non solo europeo.
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 13:36
da ZeroUno
Se setto il terminale in UTF8 e LC_ALL a UTF8 riesco a leggerlo; altrimenti non esiste codifica che posso mettere per riuscire a leggerlo.
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 13:48
da conraid
Ormai dovrebbero usare solo utf8, altre scelte al giorno d'oggi le trovo incomprensibili. Su LQ leggevo che Pat renderà la prossima versione finalmente utf8 based.
Tar l'altro ora le pagine man sono strane, per esempio vedo dcraw.1.gz in usr/share/man/it.UTF-8/man1, ma poi vedo i caratteri male se lo apro, e se lancio "man dcraw" ce l'ho in inglese. Mentre evim, che è nella stessa dir (è presente, stesso file nella directory iso, ma l'ho tolto per la prova) lo vedo male se edito, ma con "man evim" lo vedo bene.
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 15:05
da ZeroUno
non avevo mai fatto caso alle directory man it.ISO8859-1 e it.UTF-8
A questo punto al termine potrei fare la conversione in utf-8 e pubblicare due pagine.
Re: manpage internazionalizzata e accentate
Inviato: ven 24 giu 2016, 15:37
da ZeroUno
invece, lasciando l'internazionalizzazione, c'è una macro che consente di evitare che una stringa vada a capo spezzata?
non è il massimo.
sto facendo riferimento a man groff_man
ma non l'ho trovato