[Docs] inizio lavori di traduzione

Manlio Perillo manlio_perillo a libero.it
Lun 30 Lug 2007 22:09:36 CEST


Salute a tutti.

Approfittando del rinato interesse per python.it, invio questo messaggio 
  per far partire i lavori di traduzione.

C'è molto da fare, e cercherò di riassumere i vari punti qui, ma 
conviene iniziare a fare qualcosa piuttosto che discutere sul come fare 
cosa.

Le cose da fare ci sono, e anche gli strumenti.

Nota: questo messaggio cercherò di inserirlo anche nel wiki.


Riassunto stato lavori
======================
Su python.it tutti i documenti sono su un repository Subversion, 
all'indirizzo http://svn.python.it/.

In ciascuna delle directory principali c'è un file LEGGIMI che cerca di 
spiegare cosa c'è in quella directory.

I documenti da tradurre sono suddivisi in quelli ufficiali Python e gli 
altri contributi.

I primi si trovano in http://svn.python.it/python/, tra cui ci sono, in 
particolare:

* peps
* documentazione ufficiale
* faq
* howto


Di questi la grande maggioranza è stata tradotta.
In particolare le FAQ sono state anche inserite su python.org.


Nei contributi ci sono invece diversi articoli e guide, tutti tradotti.
In particolare, però, Dive into Python va aggiornato (inoltre, questo 
documento si trova anche nel sito ufficiale di dive into python).


Un primo compito da fare, è un controllo di tutto quello fatto 
(purtroppo è passato diverso tempo ed io non ricordo più tutti dettagli).


Dettagli strumenti per le traduzioni
====================================

Il principale strumento per le traduzioni è il repository Subversion, 
dove tutti i documenti sono stati inseriti cercando di mettere ordine.

Per ogni documento tradotto, nel repository è inserito il documento 
originale.

Inoltre, poi, per ciascun "manuale" che ha diverse versioni, ciascuna 
versione è stata inserita in un tag (se completa).

In branches si trovano le versioni in sviluppo, in trunk la versione 
attuale pronta per il review.


Sempre come supporto alle traduzioni, ho scritto alcuni script più file 
XML di controllo, che trovate su:
http://svn.python.it/admin/trunk/

Il file http://svn.python.it/admin/trunk/authors.xml riporta tutti i 
traduttori che hanno partecipato alle traduzioni.

Questo file è *molto* importante, perchè tiene traccia delle versioni 
usate nelle traduzioni (ad esempio per capire se le FAQ ufficiali sono 
state aggiornate).

Il file http://svn.python.it/admin/trunk/translations_status.xml è in 
*cuore* del sistema, in quanto riporta chi sta traducendo cosa.

A giorni aggiungerò un nuovo files authors_list.xml, con la lista di 
tutti i traduttori "ufficiali".

NOTA:
   non c'è nessuna interfaccia utente ad alto livello, ma non credo che
   sia necessario.
   Qualcuno mi ha suggerito Launchpad, ma per ora magari lasciamo
   perdere.


In http://svn.python.it/admin/trunk/docs/ si trovano dei documenti che 
illustrano il processo di traduzione.
Inoltre qui si trova il glossario dei termini.

Il glossario è in XML, con un foglio di stile per visualizzarlo.
Occorre qualche volontario che tenga aggiornato il glossario!


NOTA:
   un problema da risolvere è come copiare questi files nel sito web, al
   posto giusto



Script di supporto per le traduzioni
====================================

Sempre per facilitare i lavori di traduzione, ho sviluppato alcuni 
script in http://svn.python.it/admin/trunk/scripts/


Gli script servono per due compiti:
1) Suddividere un nuovo file da tradurre in N righe uguali, in modo da
    suddividere il lavoro.

    Vedi, ad esempio: 
http://svn.python.it/python/python/Doc/branches/2.4.3/lib/libdecimal.tex

2) Riportare nella versione A della traduzione, le modifiche che ci sono
    state nel passaggio dalla versione A alla versione B del documento
    originale.

    Vedi ad esempio:
http://svn.python.it/python/python/Doc/branches/2.4.3/lib/asttable.tex
    (che è stato anche aggiornato)

    oppure:
http://svn.python.it/python/python/Doc/branches/2.4.3/lib/libstringio.tex


Al momento stavamo passando dalla versione 2.3.4 alla 2.4.3 (con qualche 
documento già aggiornato).

Devo un attimo verificare se siamo in grado di recuperare quanto già 
tradotto per il passaggio alla versione 2.5 (non è comunque una cosa 
semplice, quindi è meglio *completare* una versione).

Gli script servono semplicemente per evitare un noioso lavoro manuale, e 
ci sono ancora alcuni piccoli problemi da risolvere (in particolare, lo 
script per calcolare i diff assume che sia il documento originale che 
quello tradotto abbiamo lo stesso numero di "paragrafi".
Non sempre è così, in particolare a volte la cosa è dovuta ad errori 
nella precedente traduzione (alcuni li avevo corretti, ora non ricordo 
più).


L'output degli script, in particolare quello per il diff, è un pò rozzo, 
ma non mai avuto la voglia di perfezionarlo (dato che non avevo feedback).



Gestione branching per le traduzioni
====================================

Per i manuali che hanno diverse versioni, come la libreria standard, 
ogni versione ha il suo branch ed il suo tag una volta terminata.

La versione corrente della libreria standard (al momento la 2.3.4) si 
trova nel branch.

Supponiamo di voler passare alla 2.5.
Il procedimento è il seguente:

   * Copia del trunk nel branch 2.5
   * Lancio dello script update-version.py nel branch.

     Questo script copia tutti i file aggiunti nella versione originale,
     e li suddivide in N parti con equal numero di linee.
     Inoltre trova i punti in cui sono stati modificati i vari files.


A questo punto tutto quello che resta da fare è controllare l'output di 
update-version.py, che si trova in
http://svn.python.it/admin/branches/updates/

Il coordinatore, quindi andrà alla ricerca dei traduttori disponibili, e 
terrà aggiornarto il file translations_status.xml



Cosa tradurre
=============

Per iniziare direi di aggiornare il tutorial ufficiale alla versione 2.5.
Dovrebbe essere abbastanza semplice.

In seguito passiamo alla libreria standard, e alle FAQ (che devono 
essere revisionate, e aggiornate).

Sarebbe interessante poter aggiornare Dive into Python, anche perchè, 
come le FAQ, il risultato finale può essere messo su un sito separato.

Il problema è che Dive into Python è scitto in un brutto XML (leggi: non 
scritto da un umano) e quindi il mio script non funziona.

Magari si può fare qualcosa con xmldiff, da verificare.

Tutte le altre traduzioni, sono già state fatte, ed i documenti non 
credo siano stati aggiornati dagli autori originali.



Dettagli traduzione documentazione standard
===========================================

La traduzione della documentazione è senz'altro il più grande regalo che 
ci hanno fatto i nostri predecessori.

Credo che siamo gli unici (come nazione) ad avere tradotto quasi tutta 
la documentazione di Python.

Un mio sogno è far includere la nostra traduzione nel sito ufficiale di 
python.org.


Comunque, riguardo la documentazione standard, ci sono delle novità recenti.

Al momento, la documentazione è scritta in LateX ed diversi strumenti 
per il build soo scritti in Perl.

Questo approccio ha diversi problemi, e quindi il mantenitore della 
documentazione standard ha sviluppato 'sphinx', che permette di gestire 
la documentazione in reStructuredText, più altri bonus.

Una questione critica da decidere è se passare a sphinx fin da subito 
per Python 2.5, oppure aspettare la versione originale, che verrà 
aggiornata in Python 2.6.

Io sono per restare al metodo attuale, o almeno vedere che feedback 
riceviamo con la traduzione del tutorial.


Un'altra questione da decidere, è se inserire la versione "di lavoro" 
delle traduzioni sul sito, in modo da ricevere feedback immediato, 
oppure se aspettare di avere concluso i lavori.

Infine va anche predisposto il sito per il dominio
docs.python.it, e per gestire gli archivi delle traduzioni.




Per ora questo è tutto, non mi viene in mente altro.
Spero di non avervi annoiato (non pensavo di riuscire a scrivere tutta 
questa roba :)).



Manlio Perillo


Maggiori informazioni sulla lista Docs