Creare sito web

Live chat

Inizia una sessione di chat con Qabiria!

Chiamaci via Skype

Il mio stato

Twitter Updates

qabiria: Making quick reference information mobile http://t.co/7n7eNHPV
qabiria: Is Automated Speech Recognition the new lingua franca? http://t.co/UdmvrylU
qabiria: The Queen's English: changes through the years - Telegraph http://t.co/RLUyWpmg

Richiedi un preventivo

Utilizza il formulario di contatto per richiederci un preventivo personalizzato.
BC_64px
img_08.jpg
La localizzazione e il Web 2.0 (seconda parte) Stampa
(2 voti, media 4.00 di 5)
Scritto da Alessandra Muzzi   
Domenica 05 Luglio 2009 00:00

In questa seconda parte la collega Alessandra Muzzi presenta un esempio pratico di localizzazione dell'interfaccia di un sito dinamico. La prima parte dell'articolo si trova qui.

Per dimostrare alcuni possibili approcci alla localizzazione di un sito Web che presenta le caratteristiche tecniche e funzionali associate al Web 2.0, ho scelto un CMS open source, Xoops, il cui sito ufficiale è www.xoops.org. Si tratta di un sistema:

  • Semplice, in quanto fortemente modulare (il pacchetto base è assolutamente scarno; tutte le funzionalità desiderate sono installate mediante moduli).
  • Evoluto, in quanto utilizza tutte le tecnologie più importanti del Web 2.0, AJAX compreso.

Ho installato sul mio computer un server Apache dotato di PHP e MySQL, necessari per il funzionamento di Xoops, quindi ho installato Xoops stesso più il modulo News, che consente l'uso di Xoops per la pubblicazione di articoli in stile blog. Ho infine utilizzato le funzioni del modulo News per inserire alcuni articoli tratti da Wikipedia. Tutti questi passaggi non verranno qui illustrati, perché si suppone siano stati eseguiti da chi gestisce il sito Web da localizzare, oppure dai suoi utenti. Quello che si illustrerà è invece la traduzione di una parte dell'interfaccia del sito e di una parte del contenuto. I metodi e gli strumenti usati sono solo alcuni tra quelli possibili. In particolare, vedremo come affrontare il compito disponendo di strumenti a costo zero o contenuto (Tortoise Tagger, Wordfast) e a costo moderato (Trados, Déjà Vu X).

INTERFACCIA (CONTENITORE)

La versione localizzata in italiano di Xoops è disponibile dal sito www.xoopsitalia.org. Ignorerò questa versione già localizzata e mostrerò alcune delle procedure che è possibile seguire per localizzare alcuni dei file dell'interfaccia di Xoops.

La localizzazione dell'interfaccia va eseguita sui file del pacchetto di installazione e non su quelli già installati sul server. Questo perché, durante l'installazione e l'uso del modulo, parte del testo relativo alla struttura del sito viene trasferito nel database e lì utilizzato e gestito.

La maggior parte dei file da localizzare si trova nelle cartelle htdocs\language\english e htdocs\modules\system\language\english (del pacchetto di installazione). Per questa dimostrazione mi limiterò alla localizzazione di tre file presenti nella seconda cartella. I file sono in formato PHP: admin.php, blocks.php, modinfo.php.

admin.php (51K) Il file admin.php aperto in un editor di testo con colorazione della sintassi

Il testo traducibile è la seconda stringa racchiusa tra apici all'interno delle istruzioni define.
Da notare che la codifica dei file, che andrà rispettata anche per le versioni tradotte, è ANSI.

Workflow con Trados TagEditor

È possibile tradurre i file di tipo PHP utilizzando il componente TagEditor della suite SDL Trados. In questo esempio si utilizza SDL Trados 2006, ma la procedura è simile per versioni più recenti. Per l'impostazione del filtro è necessario avere installato anche SDLX.

  1. Avviamo il componente Filter Settings di SDL Trados (Filters > Filter Settings)
  2. Selezioniamo l'opzione SDL Generic Delimited, aggiungiamo *.php alle estensioni del filtro e facciamo clic su Apply:

    FilterSettings (18K)
  3. Facciamo ora clic su Filter options
  4. Viene visualizzata una finestra dove si impostano le opzioni che descrivono il formato del file:

    FilterOptions (11K)
  5. Nel file admin.php il testo traducibile è delimitato da apici. Come delimitatore selezioniamo quindi Other e inseriamo un apice.
  6. In Column selection inseriamo 4 come Source Column e 4 come Translation Column. Questo perché, indicando l'apice come delimitatore di colonna, il testo traducibile è nella quarta colonna e la traduzione deve sostituire il testo originale.
  7. Attenzione: negli altri due file PHP da tradurre (blocks.php e modinfo.php) il testo non è delimitato da apici ma da virgolette. Per questo dovremo creare due filtri, uno per PHP con apici e uno per PHP con virgolette. Utilizziamo quindi il pulsante Save As per salvare questo filtro con il nome PHP_single, quindi ripetiamo la procedura, ma inserendo le virgolette, e creiamo il filtro PHP_double:

    PHP_double (13K)
  8. Quando in Scheme sono presenti più schemi, occorre selezionare quello da utilizzare per il file che intendiamo aprire. Selezioniamo ora lo schema da utilizzare per admin.php, ossia PHP_single:

    PHP_single (12K)
  9. Clic su OK, quindi su Apply, quindi su Exit.
  10. Avviamo TagEditor e apriamo admin.php, scegliendo come Tipo file "Generic Delimited Documents (*.csv;*.cat;*.php)" (notiamo come è indicata anche l'estensione *.php, che abbiamo aggiunto in Filter Settings).
  11. Verrà aperto il file admin.php con il testo traducibile delimitato da tag:

    TagEditor (25K)
  12. Traduciamo il file, quindi salviamo la traduzione:

    TE_SaveTarget (26K)
  13. Prima di procedere con la traduzione degli altri due file, chiudiamo TagEditor, torniamo a Filter Settings > Filter options e selezioniamo lo schema PHP_double. In questo modo TagEditor aprirà correttamente i file PHP con virgolette doppie.
  14. Traduciamo anche blocks.php e modinfo.php e salviamo i file PHP tradotti.

Workflow con Wordfast 5 o Trados Workbench

Per tradurre i file PHP con Wordfast 5 (o con Trados Workbench, se si preferisce lavorare in Word invece che in TagEditor), è necessario eseguire il cosiddetto tagging dei file, ossia salvarli in formato Word (DOC o RTF) applicando speciali stili alle parti non traducibili. Uno strumento, poco intuitivo a dire il vero, ma molto versatile, nonché gratuito, per eseguire questa operazione è Tortoise Tagger, un modello di Word contenente macro, da utilizzare in abbinamento a delle taglist, ognuna delle quali contiene le specifiche per il tagging di un determinato formato di file. Sul sito di Tortoise Tagger sono disponibili alcune taglist già pronte per alcuni formati (LaTeX, InDesign, Quark Express ecc.). Purtroppo non è compresa una taglist per il formato PHP, quindi dovremo crearla.

Le taglist sono file di testo contenenti una serie di istruzioni che Tortoise Tagger convertirà in comandi di ricerca e sostituzione di Word. La sintassi delle istruzioni è spiegata nel manuale di Tortoise Tagger, scaricabile da sito (vedere la sitografia). Nel caso dei nostri file PHP, le istruzioni necessarie sono le seguenti:

  1. Formattiamo tutto il contenuto come tw4WinExternal:
    ~~~DocExt
  2. Formattiamo in grassetto i commenti:
    ~~~FindAsIs
    ~~~WriteBold
    ~~~WC-ON
    //*^13
  3. Formattiamo in grassetto le altre parti non traducibili:
    ~~~FindAsIs
    ~~~WriteBold
    ~~~WC-ON
    define\('*'
    define\("*"
  4. Formattiamo come traducibili le stringhe da tradurre:
    ~~~FindNotBold
    ~~~WriteTrbl
    ~~~WC-ON
    '*'
    "*"
  5. Applichiamo lo stile tw4WinInternal ai segnaposto:
    ~~~FindTrbl
    ~~~WriteInternal
    ~~~WC-OFF
    %s
  6. Applichiamo lo stile tw4WinExternal ai delimitatori:
    ~~~FindAsIs
    ~~~WriteExternal
    ~~~WC-OFF
    ,'
    ')
    ,"
    ")
    , "
    , '
  7. Rimuoviamo il grassetto dal file:
    ~~~FindBold
    ~~~WriteNotBold
    ~~~WC-ON
    *

L'intera taglist è disponibile nel file PHP_tags.txt.

Per applicare la taglist ai file PHP:

  • Carichiamo in Word il modello TortoiseTagger.dot
  • Facciamo clic sull'icona della tartaruga Tortoise (1K)
  • Selezioniamo la taglist PHP_tags.txt
  • Selezioniamo uno dei file PHP (i quali dovranno trovarsi tutti nella stessa cartella)

TortoiseTagger eseguirà il tagging dei file PHP, creando i corrispondenti file DOC, per tradurre i quali si potrà utilizzare Wordfast o Trados Workbench. Terminata la traduzione, occorrerà naturalmente eseguire il cleanup e il salvataggio in formato testo (codifica ANSI, estensione PHP).

Workflow con DVX

Con DVX non è necessario configurare particolari impostazioni per la traduzione di file PHP, in quanto si tratta di un formato già gestito dai filtri standard di cui è dotato il programma.

  • In DVX, creiamo un nuovo progetto, denominato (ad esempio) Athletics.dvprj (File > New > Project per avviare la procedura guidata).
  • Scegliamo l'inglese come lingua di partenza e l'italiano come lingua di arrivo:

    DVXlanguages (14K)
  • Colleghiamo al progetto una memoria e un database terminologico (se non li abbiamo già, li creiamo durante la procedura guidata).
  • Selezioniamo i file PHP da importare nel progetto e utilizziamo il filtro HTML, ASP, PHP, JSP:

    DVX_filter (18K)
  • Selezioniamo argomento e cliente e terminiamo la procedura guidata.
    Nel nostro progetto saranno importate le stringhe da tradurre:

    DVX_PHP (18K)
  • Traduciamo utilizzando le funzioni di DVX ed esportiamo i file PHP tradotti.

Sia che abbiamo utilizzato Trados TagEditor, Trados Workbench, Wordfast 5 o DVX, disponiamo ora dei file admin.php, blocks.php e modinfo.php localizzati in italiano. I file PHP localizzati devono ora essere sostituiti agli originali nelle cartelle del pacchetto di installazione di Xoops (in particolare, questi tre file andranno nella cartella htdocs\modules\system\language\english). Si esegue poi una nuova installazione di Xoops, in un percorso diverso da quello dell'installazione in inglese. Collegandoci al percorso con un browser, vediamo ora la pagina iniziale di Xoops parzialmente localizzata:

Xoops_struct_ITA (38K)

Ovviamente, per vedere tutta l'interfaccia di Xoops localizzata, sarà necessario tradurre anche gli altri file PHP presenti nei percorsi htdocs\language\english e htdocs\modules\system\language\english.

DATABASE (CONTENUTO)

Xoops rende disponibile un modulo per la gestione di siti multilingue, Xlanguage. Questo modulo consente di creare un sito dove il contenuto è disponibile in più lingue. È una soluzione specifica per Xoops, mentre altri pacchetti CMS adottano soluzioni diverse o non ne adottano affatto, a conferma della mancata standardizzazione delle tecnologie Web per quanto riguarda l'internazionalizzazione (e non solo).

In questa dimostrazione non utilizzerò tale componente, la cui installazione e gestione è di competenza del webmaster, ma procederò direttamente alla traduzione in italiano di parte del contenuto del sito di esempio.

Quando è richiesta la traduzione del contenuto di un sito gestito con un CMS, è generalmente il webmaster a occuparsi dell'estrazione del contenuto, che può essere reso disponibile al localizzatore in vari formati, a seconda dello strumento utilizzato per l'estrazione. Nella maggior parte dei casi si tratterà di un formato comune, ad esempio una tabella Word. In questa dimostrazione vedremo invece come gestire un formato più complesso, un'estrazione SQL. È un caso che può capitare se il database è gestito tramite phpMyAdmin, uno strumento open source molto diffuso per la gestione di base dei database MySQL.

Nella schermata sottostante si può vedere parte del contenuto dell'estrazione SQL dal database.


SQLextr (47K)

Il contenuto localizzabile (testo facente parte degli articoli inseriti come esempio) è racchiuso tra apici. La codifica del testo è UTF-8 e le righe sono terminate da LF, una caratteristica dei sistemi Unix-like.

Workflow con Wordfast 5 o Trados Workbench/TagEditor

Trados non sembra disporre di un filtro adatto per questo tipo di file. Quindi, che lo si voglia tradurre con Wordfast 5, con Trados Workbench o con Trados TagEditor, sarà necessario eseguirne il tagging. Anche in questo caso utilizzeremo Tortoise Tagger, creando una taglist apposita per il formato SQL. Le istruzioni necessarie sono le seguenti:

  1. Formattiamo tutto il contenuto come tw4WinExternal:
    ~~~DocExt
  2. Formattiamo in grassetto l'intestazione:
    ~~~FindAsIs
    ~~~WriteBold
    ~~~WC-ON
    -- *^13^10INSERT
  3. Formattiamo come traducibili le stringhe da tradurre:
    ~~~FindAsIs
    ~~~WriteTrbl
    ~~~WC-ON
    '*'
  4. Ripristiniamo lo stile esterno per gli apici:
    ~~~FindNotBold
    ~~~WriteExternal
    ~~~WC-OFF
    '
  5. Applichiamo lo stile tw4WinInternal ai codici per i ritorni a capo:
    ~~~FindTrbl
    ~~~WriteInternal
    ~~~WC-OFF
    \r\n
  6. Rimuoviamo il grassetto dal file:
    ~~~FindBold
    ~~~WriteNotBold
    ~~~WC-ON
    *

L'intera taglist è disponibile nel file SQL_tags.txt.

Per applicare la taglist al file SQL:

  • Carichiamo in Word il modello TortoiseTagger.dot
  • Facciamo clic sull'icona della tartaruga Tortoise (1K)
  • Selezioniamo la taglist SQL_tags.txt
  • Selezioniamo il file SQL

TortoiseTagger eseguirà il tagging del file, creando il corrispondente file DOC, per tradurre il quale si potrà utilizzare Wordfast o Trados Workbench/TagEditor. Terminata la traduzione, occorrerà naturalmente eseguire il cleanup e il salvataggio in formato testo (codifica UTF-8, estensione SQL).

Workflow con DVX

Con DVX è possibile utilizzare il filtro per Javascript per importare il file SQL, in quanto anche in Javascript il testo traducibile si trova racchiuso tra apici. Riutilizzeremo il progetto già creato in precedenza: in DVX è infatti possibile importare nello stesso progetto file di tipo diverso.

  • Apriamo il precedente progetto Athletics.dvprj facendo doppio clic sul file.
  • Apriamo Project Explorer per importare il nuovo file nel progetto, con il filtro Javascript:

    DVX_SQLimp (39K)

    Nel nostro progetto saranno importate le porzioni traducibili del file:

    DVX_SQLtrad (40K)

    L'unica accortezza che occorre avere è quella di non utilizzare il carattere di apostrofo (apice) semplice nella nostra traduzione, ma di raddoppiarlo, perché sia correttamente interpretato nella sintassi SQL.
  • Traduciamo utilizzando le funzioni di DVX ed esportiamo il file SQL tradotto, impostando la codifica UTF-8:

    DVX_SQLexp (12K)

Sia che abbiamo utilizzato Trados TagEditor, Trados Workbench, Wordfast 5 o DVX, disponiamo ora del file xoops_stories-tabel_2008-06-01.sql localizzato in italiano. L'amministratore del sito si occuperà di reimportare tale file nel database MySQL per visualizzare il contenuto localizzato nel sito Web:

Xoops_LocCont (60K)

© Alessandra Muzzi 2000-2009

Trackback(0)

TrackBack URI for this entry

Commenti (0)

RSS feed Comments

Scrivi commento

smaller | bigger

busy
 

Scarica la toolbar

Scarica la toolbar di Qabiria
  • Ricerca simultanea su Google, Wikipedia e dizionari
  • Rassegna di link utili appositamente scelti per i traduttori
  • Strumenti online per aumentare la produttività
  • Impara ad usare la toolbar in 5 minuti su Qabiria channel on YouTube