[Gfoss] ancora sul manuale di grass

Vorrei riprendere il discorso sulle pagine di manuale di
GRASS. Se non ricordo male (e se ho capito bene) si era
parlato di:

- costruire una piattaforma di traduzione internazionale;
- inserire le traduzioni all'interno dei sorgenti;

Alcune cose però ancora non mi sono chiare, e quel poco che
mi è sembrato di capire non sono sicuro che sia esatto:
guardando all'interno dei sorgenti del pacchetto non ci
sono le pagine man, queste vengono generate in fase di
compilazione dalle pagine in formato html; però non ci sono
nemmeno le pagine html, le quali mi è sembrato di capire che
vengano generate direttamente dal codice sorgente dei vari
moduli; questo però non sembra corrispondere con quello che
c'è scritto sul sito e cioé che la documentazione prodotta
con doxygen è solo quella relativa al manuale per i
programmatori.

Le domande nello specifico sono:

- l'intenzione è quella di inserire le traduzioni
   all'interno dei sorgenti? E se si, non si appesantisce
   troppo il codice sorgente? E chi non è programmatore sarà
   in grado di tradurre?
   
- nel mentre che si prepare la piattaforma di traduzione,
   non si potrebbe iniziare a tradurre il manuale di grass
   6.3 ? Non si rischia di dover tradurre direttamente la
   versione 7.0?

- se la versione 6.3 è una versione di sviluppo e la
   corrispondente stabile sarà la 6.4, il manuale è in
   pratica quello della 6.4?

Ciao,
   Marco

Ciao Marco,

On Sat, May 31, 2008 at 7:21 PM, Marco Curreli <marcocurreli@tiscali.it> wrote:

Vorrei riprendere il discorso sulle pagine di manuale di
GRASS. Se non ricordo male (e se ho capito bene) si era
parlato di:

- costruire una piattaforma di traduzione internazionale;

Sì, la mia proposta ho messo qua:
http://wiki.osgeo.org/wiki/Software_Translation_Portal

Dopo la migrazione di GRASS su infrastruttura di
OSGeo (ma grass.osgeo.org invece gira da telascience.org)
è diventato molto più facile. Basta un po' di tempo per
il setup...

- inserire le traduzioni all'interno dei sorgenti;

Anche sì, ancora un desiderio.

Alcune cose però ancora non mi sono chiare, e quel poco che
mi è sembrato di capire non sono sicuro che sia esatto:
guardando all'interno dei sorgenti del pacchetto non ci
sono le pagine man, queste vengono generate in fase di
compilazione dalle pagine in formato html; però non ci sono
nemmeno le pagine html, le quali mi è sembrato di capire che
vengano generate direttamente dal codice sorgente dei vari
moduli;

(Quasi) Esatto:
- ogni modulo (comando) ha la sua pagina description.html
  che contiene la descrizione del comando *senza* parametri.
- durante la compilazione ogni comando viene eseguito in
  una sessione virtuale. Ogni comando è capace di creare
  la sua lista dei flag/parametri, sia in XML, HTML o TclTK.
  Noi utilizziamo in questo caso l'output di HTML per costruire
  la pagina HTML completa a volo. Tale pagina viene salvata
  poi.
- Le pagine in MAN vengono create in man/ tramite un convertitore
  da HTML a MAN (g.html2man).

-> tutto quanto è la documentazione per utenti, anche online:
   http://grass.osgeo.org/grass64/manuals/html64_user/index.html
   oppure: g.manual -i
-> sono i files "description.html" accanto al codice sorgente

questo però non sembra corrispondere con quello che
c'è scritto sul sito e cioé che la documentazione prodotta
con doxygen è solo quella relativa al manuale per i
programmatori.

Si tratta di due documentazioni diversi. Con doxygen creiamo
la documentazioni per programmatori:
http://download.osgeo.org/grass/grass6_progman/
-> documentato *nei* files del codice sorgente

Le domande nello specifico sono:

- l'intenzione è quella di inserire le traduzioni
  all'interno dei sorgenti?

No e sì:
- no: non in doxygen (perché non vogliamo tradurre
    il "Programmer's manual" direi.
- sì, i file "description.html" (user documentazione).
- no: non veranno salvati accanto ai "description.html" ma
    in una cartella separata per lingua (Makefile system ancora
    da modificare per supportare questo).

  E se si, non si appesantisce
  troppo il codice sorgente? E chi non è programmatore sarà
  in grado di tradurre?

... infatti, questo problema non c'è.

- nel mentre che si prepare la piattaforma di traduzione,
  non si potrebbe iniziare a tradurre il manuale di grass
  6.3 ? Non si rischia di dover tradurre direttamente la
  versione 7.0?

Non credo. La 7.0 non abbiamo ancora iniziato veramente.
Nei prossimi giorni faremo una politura al layout del codice
sorgente con "indent". Poi viene rigorosamente rinnovato :slight_smile:
Ma passano dei (tanti) mesi.

La versione "target" è allora 6.4.

- se la versione 6.3 è una versione di sviluppo e la
  corrispondente stabile sarà la 6.4, il manuale è in
  pratica quello della 6.4?

Esatto.

Grazie del interesse.
Bisogna proprio iniziare con le modifiche nel Makefile system
(la mia conoscenza non basta purtroppo, ma non significa
niente :).

Saluti,
Markus (magari si capisce questa volta di più di quello
            che vorrei dire..., se non chiedetemi in "grass-dev")

--
Open Source Geospatial Foundation
http://www.osgeo.org/
http://www.grassbook.org/

Ora mi è un po' più chiaro; in pratica il makefile estrarrà
la documentazione in lingua originale e la traduzione nella
lingua della macchina sulla quale verrà installato grass, in
questo modo il pacchetto installato non verrà appesantito
oltre il necessario; è così?.

Sulla piattaforma ci si sta già lavorando?

Ciao,
   Marco

On Sat, May 31, 2008 at 11:53 PM, Marco Curreli <marcocurreli@tiscali.it> wrote:

Ora mi è un po' più chiaro; in pratica il makefile estrarrà
la documentazione in lingua originale

Dimenticavo una cosa fondamentale...

e la traduzione nella
lingua della macchina sulla quale verrà installato grass, in
questo modo il pacchetto installato non verrà appesantito
oltre il necessario; è così?.

Allora:
- tramite Makefile system a fake session (sessione virtuale) viene
  fatta per ogni comando
- il cambio necessario nel Makefile system dovrebbe aggiungere
  per ogni comando che viene fatta per ogni lingua di traduzione
  una sessione virtuale *aggiunta* che lo fa nel LOCALE della
  traduzione

Esempio:

make
<compila il codice - gcc>
<run virtual session in C locale = english>
<check for further translated description.html files,
  if present, change locale (p.e. italiano),
  run virtual session di nuovo>

Perché questo? Perché comando --html-description
crea la lista dei flags/parametri solo così in una
maniera tradotta ber assemblare la pagina HTML (MAN)
in un'altra lingua. I flags/parametri vengono tradotti
in locales/po/:
locale/po/grasslibs_it.po
locale/po/grassmods_it.po
locale/po/grasstcl_it.po

(manca ancora locale/po/grasswxpy_it.po)

Magari sembra un po complesso, ma vogliamo
essere efficare (visto che ci sono poche risorse).

Sulla piattaforma ci si sta già lavorando?

Non che saprei... bisogna trovare uno/a che implementa
questo nel Makefile system include/Make/.

ciao
Markus