Discussione:
Progetto LaTeX multilingua
(troppo vecchio per rispondere)
jospic
2013-09-04 15:03:47 UTC
Permalink
Salve,
avendo ultimato un progetto di un libro tecnico in lingua italiana è
sorta la necessità di renderlo disponibile in altre lingue.
Chiedo agli esperti quale sia l'approccio migliore.
E' conveniente duplicare l'intero progetto o esiste qualche
package/estensione che supporti la coesistenza di diverse lingue e la
scelta della lingua di stampa ricadrebbe all'atto della compilazione?
Grazie per i suggerimenti.
-jospic
Daniele Tricoli
2013-09-11 22:50:33 UTC
Permalink
Post by jospic
avendo ultimato un progetto di un libro tecnico in lingua italiana è
sorta la necessità di renderlo disponibile in altre lingue.
Chiedo agli esperti quale sia l'approccio migliore.
Non parlo da esperto non avendo mai affrontato un problema simile, ma mentre
pensavo a cosa risponderti e cercavo se esistessero altre soluzioni ho
trovato questo:

https://en.wikibooks.org/wiki/LaTeX/Internationalization#Multilingual_versions

che è esattamente l'approccio che avrei seguito io: fare il typesetting
nelle diverse lingue e poi scegliere in fase di compilazione.

In più aggiungerei un Makefile, ma è una cosa che faccio comunque.
Post by jospic
E' conveniente duplicare l'intero progetto o esiste qualche
package/estensione che supporti la coesistenza di diverse lingue e la
scelta della lingua di stampa ricadrebbe all'atto della compilazione?
Io preferirei avere sott'occhio le varie parti: in ogni caso con vim userei
due window affiancate verticalmente per cui non ha molta importanza come
strutturerei il progetto. Nulla ti vieta di duplicare tutto: l'importante è
che sia comodo ed agevole mantenere coerente il testo in tutte le
localizzazioni.

HTH,
--
Daniele Tricoli 'Eriol'
http://mornie.org
jospic
2013-09-12 07:47:43 UTC
Permalink
Post by Daniele Tricoli
Non parlo da esperto non avendo mai affrontato un problema simile, ma mentre
pensavo a cosa risponderti e cercavo se esistessero altre soluzioni ho
https://en.wikibooks.org/wiki/LaTeX/Internationalization#Multilingual_versions
che è esattamente l'approccio che avrei seguito io: fare il typesetting
nelle diverse lingue e poi scegliere in fase di compilazione.
In più aggiungerei un Makefile, ma è una cosa che faccio comunque.
Io preferirei avere sott'occhio le varie parti: in ogni caso con vim userei
due window affiancate verticalmente per cui non ha molta importanza come
strutturerei il progetto. Nulla ti vieta di duplicare tutto: l'importante è
che sia comodo ed agevole mantenere coerente il testo in tutte le
localizzazioni.
Ciao,
grazie innanzitutto per la risposta.
Il link indicato è uno dei primi consultati.
Comunque, nel frattempo ho scelto una strada che sembra funzionare
abbastanza bene. La illustro, a grandi linee...potrebbe interessare ad
altri latexiani:

1) Ho conservato un unico file main (preambolo, ecc.) per entrambe le lingue
2) All'interno dello stesso, a seconda della lingua di composizione
finale, attivo una delle due linee seguenti (naturalmente se ne
potrebbero aggiungere delle altre...):

%\usepackage[italian]{babel} % composizione tipografica italiana
\usepackage[english]{babel} % composizione
tipografica inglese

3) Ho definito due macro:

\newcommand{\langIT}[1]{\ifnum\pdfstrcmp{\languagename}{italian}=0 {#1}\fi}
\newcommand{\langEN}[1]{\ifnum\pdfstrcmp{\languagename}{english}=0 {#1}\fi}

4) Ho duplicato tutti i file .tex (tranne il main) e li ho copiati in
una cartella denominata "nome_lingua", ad esempio "english", allo stesso
livello del file main.tex:

5) Traduci i contenuti dei vari file inclusi nella cartella "english"

6) Infine, nel file main, dove vengono incluse le varie parti del libro,
inserisco:

\langIT{%
\include{toc}
\include(intro)
\include(parteprima)
\include(parteseconda)
\include(parteterza)
....
\include{appendici}
\include{biblio}
\include{index}
}

\langEN{%
\include{english/toc}
\include(english/intro)
\include(english/parteprima)
\include(english/parteseconda)
\include(english/parteterza)
....
\include{english/appendici}
\include{english/biblio}
\include{english/index}
}


Il sistema sembra funzionare abbastanza bene, ma ad onor di cronaca devo
segnalare due metodi (entrambi provati nei miei esperimenti), che vanno
per la maggiore nei grandi progetti di traduzione che utilizzano
LaTeX/XeteX per l'internazionalizzazione (ad esempio la documentazione
della distribuzione linux Ubuntu) che sono:

1) La suite perl po4a che consente di tirar fuori, da un intero progetto
LaTeX (ma non solo), il solo testo, convertirlo nello standard .po,
tradurlo (attraverso tool tipo poedit) e reiniettarlo nei file .tex
originari. Consentendo un'ottima sincronizzazione dei documenti nelle
varie lingue.

oppure, a mio avviso, il più performante:

2) OmegaT, software multipiattaforma scritto in java, che analogamente
con quanto fa po4a permette di leggere, addirittura nelle immagini
vettoriali pdf, tikz e svg, il solo testo, tradurlo (anche "al volo"
richiamando le API di Google, Microsoft Translator, ecc.) e reinserirlo
sempre nei file .tex originari.

Questi due ultimi metodi, a mio avviso, sono indicati quando il
documento strutturalmente rimane invariato nelle varie lingue e quando
le lingue coinvolte sono numerose.
Nel mio caso forse, avendo a che fare con due o tre lingue, la strada
scelta mi permette molta più elasticità.

Ben vengano altre soluzioni.
-jospic

Loading...