manpage internazionalizzata e accentate

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5176
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

manpage internazionalizzata e accentate

Messaggioda ZeroUno » lun giu 20, 2016 16:39

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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2615
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.2.2-ck1
Desktop: lxde
Località: Pisa
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda ponce » lun giu 20, 2016 16:53

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

Codice: Seleziona tutto

set -g utf8 on

e questa nel ~/.bashrc

Codice: Seleziona tutto

export TERM=tmux-256color


e, per concludere, ho questa stringa aggiunta alla direttiva append nel mio /etc/lilo.conf

Codice: Seleziona tutto

append=" vt.default_utf8=1"

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5176
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda ZeroUno » lun giu 20, 2016 17:19

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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6526
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: manpage internazionalizzata e accentate

Messaggioda targzeta » gio giu 23, 2016 22:18

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:

Codice: Seleziona tutto

man amuleweb

prima.jpg
prima.jpg (27.94 KiB) Visto 2525 volte

Codice: Seleziona tutto

iconv -f utf-8 -t iso8859-1 amuleweb.1 > /tmp/test.1
man /tmp/test.1

dopo.jpg
dopo.jpg (29.61 KiB) Visto 2525 volte


Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5176
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda ZeroUno » gio giu 23, 2016 22:53

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
viewtopic.php?f=1&t=34536&start=90#p346778
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6526
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: manpage internazionalizzata e accentate

Messaggioda targzeta » ven giu 24, 2016 1:19

Sì, anche a me si vede bene :thumbright:

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
conraid
Staff
Staff
Messaggi: 13297
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda conraid » ven giu 24, 2016 8:58

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
Allegati
schermata24.png
schermata24.png (72.05 KiB) Visto 2490 volte

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5176
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda ZeroUno » ven giu 24, 2016 9:22

# 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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13297
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda conraid » ven giu 24, 2016 11:01

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.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5176
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda ZeroUno » ven giu 24, 2016 11:48

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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13297
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda conraid » ven giu 24, 2016 12:11

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.
Allegati
pippo.txt
(437 Byte) Scaricato 62 volte

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5176
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda ZeroUno » ven giu 24, 2016 13:36

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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13297
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda conraid » ven giu 24, 2016 13:48

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.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5176
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda ZeroUno » ven giu 24, 2016 15:05

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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5176
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: manpage internazionalizzata e accentate

Messaggioda ZeroUno » ven giu 24, 2016 15:37

invece, lasciando l'internazionalizzazione, c'è una macro che consente di evitare che una stringa vada a capo spezzata?

Codice: Seleziona tutto

..... vedi il file /etc/slackpkg-
    plus.conf

non è il massimo.

sto facendo riferimento a man groff_man
ma non l'ho trovato
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111