Come condividere un progetto di OmegaT con Subversion

3 persone collaborano omegat subversion

Hai bisogno di far tradurre dei documenti al tuo staff interno? Devi suddividere una traduzione fra due o più traduttori?

La funzione “team project” di OmegaT consente a più traduttori di lavorare allo stesso progetto in modo comodo.

OmegaT, il programma di traduzione assistita gratuito e open source, dalla versione 2.6.0 ha introdotto un’interessantissima funzione: due o più traduttori possono lavorare su uno stesso progetto senza ricorrere a strumenti esterni, condividendo glossari e memorie di traduzione quasi in tempo reale.

Nota: se non sai che cosa s’intende per “memoria di traduzione”, scoprilo nel nostro glossario sui termini della traduzione.

Controllo versione tramite Apache Subversion

La traduzione collaborativa offerta da OmegaT si basa sulla funzionalità di “controllo versione”, largamente impiegata dagli sviluppatori di software per mantenere il controllo delle modifiche al codice di un programma.

I programmi che implementano il controllo versione, o versioning, sono molteplici.

Due dei più noti sono Subversion (abbreviato SVN) e Git, non a caso proprio quelli supportati da OmegaT. In questa guida ci limiteremo a Subversion.

Nota: Se vuoi saperne di più puoi leggere una completissima guida gratuita su Subversion disponibile in varie lingue e pubblicata da O’Reilly Media.

Apache Subversion è un software che si installa a livello server e permette di ospitare il codice sorgente di un programma in fase di sviluppo.

I programmatori che vi partecipano si collegano a questo server per introdurre le modifiche al codice, al termine delle quali Subversion s’incarica di creare una sola versione del programma “fondendo” le varie modifiche apportate dai collaboratori.

Allo stesso modo, caricando un progetto di traduzione di OmegaT su un server SVN, è possibile assegnarlo a vari traduttori che vi possono lavorare in contemporanea.

Qualche nozione elementare a livello di terminologia:

  • repository è il deposito in cui vengono salvati i file;
  • checkout è la creazione di una copia di lavoro dal repository al computer locale;
  • commit è l’operazione di copia delle modifiche dal computer locale al repository.

Come condividere un progetto mediante SVN

Nota: le informazioni che seguono sono soltanto un esempio del modo di procedere. Per conoscere i dettagli della configurazione, sia con Subversion che con Git si consiglia la lettura dell’Aiuto in linea di OmegaT, in particolare della sezione 6.1, “Set up a Team Project”.

Innanzitutto è necessario dotarsi di un server SVN.

Le opzioni sono due:

  • installare SVN su un proprio server, oppure
  • usare un servizio in hosting.

Cercando su Google "free svn hosting" si trovano vari siti che offrono questo servizio gratis.

Il metodo qui illustrato si appoggia al server SVN gratuito (limitato a 2 utenti) offerto da ProjectLocker.

Utilizzando un servizio esterno, bisognerà tenere presenti le possibili implicazioni di confidenzialità, visto che si stanno caricando i documenti originali su un server al di fuori del proprio controllo diretto.

Per ovviare a questo problema è possibile settare un server SVN privato, per esempio se già si possiede un server Apache in cui è compreso il software in questione (es. VisualSVN). In questo caso la configurazione è leggermente diversa e non verrà trattata qui.

Per iniziare, consigliamo di fare qualche prova con ProjectLocker o un servizio simile.

Una volta reso disponibile il server SVN, occorre installare localmente un client SVN, per poter gestire le cartelle sul proprio computer.

Per Windows consigliamo TortoiseSVN, mentre per Mac si può usare SmartSVN o svnX, fra gli altri.

Il procedimento completo per condividere un progetto di OmegaT fra più traduttori si suddivide concettualmente in 3 fasi:

  1. creazione del repository sul server;
  2. importazione del progetto di OmegaT nel repository;
  3. checkout del progetto di OmegaT.

Il primo passaggio è identico per tutti i sistemi operativi e di norma è svolto solo dal project manager, o da chi fra i traduttori è incaricato della gestione. Basta eseguirlo una sola volta: consiste nel creare una cartella principale sul server SVN che conterrà tutti i progetti di OmegaT da condividere.

L’importazione del progetto di OmegaT nel repository dipende invece dal sistema operativo. Consiste nel trasferire il progetto di OmegaT nel repository principale. A seconda del cliente SVN e del sistema operativo, la procedura può essere diversa da quelle qui esposte. Anche questo secondo passaggio viene svolto solo dal project manager.

Infine, il checkout del progetto viene gestito da OmegaT stesso e comporta un paio di un clic quando si apre il progetto per la prima volta. È l’unico passaggio necessario che devono compiere i vari traduttori che collaborano al progetto.

Creazione del repository in ProjectLocker

  1. Creazione di un nuovo repository su ProjectLocker.
    • Fare clic su New Project nella scheda Projects di ProjectLocker.
    • Digitare il nome e la descrizione del repository.
    • Scegliere SVN.
    • Fare clic su Create Project.
    • Nella visualizzazione Projects fare clic su Click To View.
    • Nella finestra emergente selezionare l’URL corrispondente a Subversion (non a Trac), copiarlo e incollarlo in un documento di testo vuoto (sarà necessario più avanti).
  2. Assegnazione degli utenti al repository:
    • Fare clic sul nome del repository e aggiungere uno o più utenti (creati in precedenza). È anche possibile aggiungere un gruppo.
    • Fare clic su Manage SVN Permissions (pannello sinistro).
    • Aggiungere un gruppo (ad es.: Translation).
    • Fare clic sul nome del gruppo.
    • Aggiungere uno o più utenti al gruppo.
  3. Per comodità creiamo una nuova cartella sul computer, per esempio /Repositories, ma si può anche usare una cartella esistente.

Importazione del progetto (macOS)

  1. Scaricare, installare e aprire SmartSVN.
  2. Dal menu Project fare clic su Check out….
  3. Incollare nel campo Repository l’URL annotata in precedenza e fare clic su Continue.
  4. Selezionare la cartella radice e fare clic su Continue.
  5. Inserire nome utente e password di ProjectLocker e fare clic su Next.
  6. Dalla pagina Local Directory scegliere /Repositories come cartella locale in cui dev’essere creata la copia di lavoro.
  7. Nella pagina successiva fare clic su Finish.
  8. Aprire OmegaT e creare un nuovo progetto all’interno della cartella /Repositories/svn/ (verificando che sia presente il file project-save.tmx).
  9. Tornare a SmartSVN e fare clic su Update, poi su Add e infine su Commit per fare il commit (cioè per inviare) le modifiche ai file contenuti nella cartella del progetto.

Importazione del progetto (Windows)

  1. Aprire OmegaT e creare un nuovo progetto in una cartella temporanea.
  2. Selezionare la cartella appena creata e fare clic con il pulsante secondario del mouse, scegliendo Import... dal menu contestuale aggiunto da TortoiseSVN. Questo comando aggiunge i file della cartella al repository creato precedentemente.
  3. Nella finestra emergente, inserire il nome utente e la password di ProjectLocker. TortoiseSVN ricorda i dati introdotti, per cui essi verranno richiesti solo la prima volta.
  4. Incollare l’URL annotata in precedenza e fare clic su OK, lasciando gli altri parametri invariati. È consigliabile aggiungere una nota nel campo dei commenti, per facilitare la tracciabilità.

    Attenzione! Tenere conto che SVN importa tutti i file contenuti nella cartella selezionata, ma non la cartella stessa. Se si usa un solo repository (come suggerito in questo tutorial), è necessario aggiungere manualmente il nome della cartella di progetto all’URL. Ad es., se si sta lavorando al progetto n. 1, aggiungere 2022_0001 all’URL del repository principale, ottenendo https://free5.projectlocker.com/nome-repo-principale/svn/2022_0001

  5. È possibile eliminare la cartella temporanea, in quanto il progetto verrà poi scaricato e gestito mediante OmegaT.

Checkout del progetto

A questo punto ogni traduttore a cui viene assegnata una parte della traduzione deve aprire OmegaT e selezionare Scarica il progetto in collaborazione... dal menu Progetto.

Nella finestra emergente scegliere SVN, digitare l’URL copiato in precedenza (completo del numero di progetto, cioè https://free5.projectlocker.com/nome-repo-principale/svn/2022_0001 come nel nostro esempio) e indicare la cartella locale del proprio computer in cui salvare il progetto.

La prima volta viene richiesta l’autenticazione. Inserire il nome utente e la password del server SVN (ProjectLocker nel nostro esempio).

Durante il primo collegamento al server SVN, vengono scaricati in locale tutti i file creati nel repository.

Attenzione! Fino alla versione 2.6.1 solo il file omegat/project-save.tmx, ovvero quello che contiene le unità tradotte, viene versionato, cioè sincronizzato. Dalla versione 2.6.1_2, viene versionato anche il file di glossario, ma solo quello di progetto, ovvero quello il cui nome è solitamente glossary/glossary.txt. Eventuali modifiche alla segmentazione o ai file originali non vengono rilevate automaticamente da OmegaT. Tuttavia, dato che l’intero progetto è caricato sul server SVN, è sempre possibile eseguire il checkout e la sincronizzazione manuale con il client SVN (procurando che OmegaT non sia attivo durante queste operazioni, in modo da evitare conflitti).

Durante la traduzione, ogni qualvolta si salva il progetto, viene sincronizzato il file project-save.tmx contenente tutte le modifiche che vengono fuse insieme a quelle degli altri collaboratori.

Impostando il salvataggio automatico ogni pochi minuti (ad esempio 2 o 3) ci si assicura di sincronizzare con una certa frequenza il proprio lavoro con quello di tutti gli altri. Lo stesso avviene per il file di glossario.

È importante sottolineare che se il progetto non viene terminato in un’unica sessione, nella sessione successiva non è necessario riscaricare il progetto in collaborazione, ma bisogna semplicemente aprire il progetto già scaricato. OmegaT rileva che è un progetto collaborativo e si collegherà al server automaticamente.

In caso di errori si compiere soltanto 3 azioni:

  • ricaricare il progetto con l’apposito comando o con la scorciatoia F5;
  • chiudere il progetto, chiudere OmegaT, riaprire il programma e il progetto;
  • riscaricare il progetto in una nuova cartella.

A volte può essere utile svuotare la cartella nascosta .repositories e le relative sottocartelle che si trova all’interno della cartella di progetto.

Vantaggi dei progetti condivisi

La funzione “team project” presenta alcuni chiari vantaggi rispetto allo scambio di un progetto fra traduttori usando Dropbox o Google Drive.

A fronte di una certa complessità nella configurazione iniziale, con la funzione “team project” è possibile organizzarsi in gruppi di lavoro formati da più di due traduttori.

Oltretutto, nel pieno spirito di OmegaT come progetto, si fa ricorso solo a strumenti open source (sia Apache Subversion che Git sono distribuiti con licenze open source) senza dipendere da software commerciali come Dropbox o Drive.

Ancora, sfruttando le caratteristiche del server SVN si può fornire al committente un accesso di sola lettura alla cartella contenente i file di arrivo, agevolando così la consegna del progetto.

Tutti questi vantaggi sono a disposizione degli utenti completamente gratis. Un rapido confronto con i prezzi delle soluzioni basate su server dei concorrenti commerciali di OmegaT dovrebbe essere sufficiente a comprendere la portata e l’importanza di questa funzione di OmegaT.

Chi volesse contribuire al progetto con una donazione, può farlo comodamente mediante PayPal.

Traduttore tecnico, project manager, mentore e ammiratore dell’ingegno. Socio fondatore di Qabiria.

Leggi anche:

Parla con uno di noi

Spiegaci cosa ti serve con una mail a hola@qabiria.com o attraverso il modulo di contatto. Risposta garantita entro 24 ore, ma di solito molto prima.

Contattaci