| At line 1 added 4 lines |
| [{TableOfContents}] |
|
| !Gli standard per le traduzioni |
|
| At line 3 changed 3 lines |
| Ci porteremo sui due file standard seguenti: |
| XLIFF per la gestione delle frasi da tradurre |
| TMX per il repository delle frasi utilizzate dai servizi di Translation memory |
| Ci porteremo sui due formati XML standard seguenti: |
| *XLIFF per la gestione delle frasi da tradurre |
| *TMX per il repository delle frasi utilizzate dai servizi di Translation memory |
|
|
| %%quote |
| XLIFF sta per ''XML Localization Interchange File Format'' e TMX per ''Translation Memory eXchange'' |
| /% |
| \\ |
|
|
|
| L'idea principale alla base di questi standard è quella di globalizzare il problema delle traduzioni, creando dei formati aperti che da una parte permettano ai traduttori (spesso società specializzate o freelance) di lavorare con qualunque CAT Tool (Computer Assisted Translation Tool) XLIFF compliant, dall'altra di condividere le frasi già tradotte attraverso lo scambio di Translation Memory sotto forma di TMX |
|
| Il tipico ciclo di vita della traduzione di software è illustrato sotto: |
|
| [{Image src='XLIFFgif.gif' align='center'}] |
|
|
| Per fare un esempio comprensibile al mondo Java: |
| * La SW-House scrive i messaggi in un file di properties |
| * La SW-H genera un file XLIFF dal file di properties (il file conterrà le frasi da tradurre) |
| * Il tradutture traduce le frasi contenute nell'XLIFF usando un qualunque editor, possibilmente aiutato da una TMX che fornisca la base per i suggerimenti |
| * La SW-H rigenera il file di properties tradotto dal file XLIFF tradotto |
|
|
| !L'approccio SMEA |
| At line 36 added one line |
|
| At line 10 changed one line |
| Gestiremo un DATABASE TMX alimentato sia da frasi SME.up che da tutti i TMX che troveremo in INTERNET e che giudicheremo interessanti |
| Gestiremo un DATABASE TMX alimentato sia da frasi SME.up che da tutti i TMX che troveremo in INTERNET o altre fonti che giudicheremo interessanti, ad esempio: |
| * il milione di TMX fornite dall'unione europea (rif. Carlo Cestana) |
| * le traduzioni in csv di alcune applicazioni Windows (rif. Carlo Cestana) |
| At line 54 added 60 lines |
|
| !Disponibilità di risorse esterne |
|
| I formati XML per la gestione delle traduzioni si stanno affermando nelle principali comunità open-source come sostituti dei vecchi formati testuali PO. |
| Per questo esistono moltissimi progetti che affrontano le diverse tematiche del dominio, dai tool stand-alone per le traduzioni, ai gestori di TMX web-based e/o database-based, |
| fino alla API per l'accesso a file XLIFF e TMX scritte in diversi linguaggi. |
|
|
| !Come ci siamo mossi |
| Convinti che si tratti di un problema che molti hanno dovuto affrontare e affrontano ogni giorno, abbiamo scandagliato il web e trovato diversi strumenti, che abbiamo scaricato e testato. Questo ci ha permesso sia di valutare la possibilità di utilizzare uno strumento già pronto, sia di scoprire e approfondire i suddetti formati XML e le problematiche generali del dominio. |
| Tra i tool menzioniamo i più interessanti: |
| * __''Pootle''__ e il [Translate Toolkit|http://translate.sourceforge.net/wiki/]. Si tratta di: |
| ** vari tool di trasformazione da un formato verso altri (po2xliff csv2tmx properties2xliff ... ) |
| ** un motore che permette la verifica duplicati e che aiuta nell'utilizzo delle traduzioni fuzzy |
| ** un tool __web __di condivisione traduzioni usato anche dalla comunità di sviluppatori Mozilla [Pootle|http://translate.sourceforge.net/wiki/pootle/index]. Ne abbiamo installata un'istanza su [http://gilberto.smea.it], ma viene avviata su richiesta. Il problema di Pootle è che è fortemente orientato al formato PO, anche se dichiara il supporto di XLIFF (v.1.0). __Inoltre non c'è stato molto tempo di testarlo, quindi se qualcuno è interessato a dedicarci qualche ora..__ |
| * __''Open tran''__. [open-tran.eu|http://open-tran.eu/]. E' un servizio disponibile su internet o installabile in locale per la ricerca di frasi tradotte: data una frase da tradurre e un linguaggio di destinazione, cerca la frase già tradotta che più le somiglia, usando un'euristica piuttosto banale. Praticamente è un "suggeritore di traduzioni" |
| ** è possibile interrogarlo attraverso il protocollo XRPC, per cui esistono implementazioni, tra gli altri, in Java. |
| ** è utilizzabile off-line |
| ** moltissime frasi sono già tradotte e sono on-line |
| ** __si potrebbe usare come fonte di traduzioni => file TMX__ |
| * __''Sun's Open Language Tools''__ |
| * __''OmegaT''__ <da completare> |
| * __''SwordFish''__ <da completare> |
| * __''TinyTm''__ <da completare> |
|
|
| !Come procediamo? |
| *Rafforziamo la conoscenza degli strumenti che abbiamo reputato interessanti |
| *Potrebbe essere utile aggiungere al CMS telnext un modulo per la traduzione collaborativa, usando le api |
| **[Locale4J|http://locale4j.sourceforge.net/] |
| **[File2XLIFF4j|http://file2xliff4j.sourceforge.net] |
| **[TMX2|http://sourceforge.net/projects/tmx2/] |
| *Si potrebbe cercare un prodotto open-source che abbia già un modulo per la gestione delle traduzioni, e distribuirlo insieme a Sme.up. Ad esempio [Project-Open|http://www.project-open.com/en/solutions/project-open-translation-agencies.html] oppure [Alfresco|http://www.alfresco.com] |
| * Si potrebbe collaborare con il progetto [TinyTM|http://tinytm.sourceforge.net] per la creazione di una webapp che interagisca con il db tinytm. |
|
|
| __Infine per non sbagliare l'approccio è importante confrontarsi con persone che per lavoro affrontano giornalmente traduzioni di applicativi software.__ |
|
|
| !Il contributo di google |
|
| Sicuramente non è da sottovalutare il contributo che può dare google alle traduzioni. |
| L'esempio di Google Reader è significativo. Google Reader è una strumento per la lettura dei feed RSS.Questo lettore ha l'utile possibilità di tradurre automaticamente il feed nella lingua impostata nel reader. |
|
| Nelle immagini seguenti c'è la visualizzazione in inglese, spagnolo, francese e giapponese del feed RSS [client] di questa wiki. |
|
| [{Image src='wiki_en.jpg' align='center'}] |
|
| [{Image src='wiki_es.jpg' align='center'}] |
|
| [{Image src='wiki_fr.jpg' align='center'}] |
|
| [{Image src='wiki_jp.jpg' align='center'}] |
|
| Le traduzioni non saranno sicuramente perfette, almeno l'inglese è però "capibile" e comunque è sempre meglio di niente... |
|
| !Cosa possiamo fare con la struttura attuale? |
| * [Miglioramento frasi attuali] |
| * [Importazione traduzioni del cliente] |
| * [Aggiornamento traduzioni di un cliente] |