Jump to content

TDF Wiki/Multilingua

From The Document Foundation Wiki
This page is a translated version of the page TDF Wiki/Multilingual and the translation is 100% complete.

Questa pagina si basa sui contenuti del Wiki Multilingue presenti nel TDF Wiki.

Informazioni
Per le pagine di nuova creazione non usate il tipo di traduzione OrigLang. Attualmente stiamo passando all'utilizzo dell'estensione MediaWiki Translate.

Contesto

Questa pagina contiene alcuni suggerimenti importanti per coloro che modificano i contenuti del wiki. Siete pregati di leggere questa pagina prima di aggiungere al wiki contenuti tradotti o localizzati.

Problemi di traduzione e traduzioni incomplete

La maggior parte delle pagine traducibili del wiki utilizza ora l'estensione Translate, che evidenzia automaticamente i paragrafi con le traduzioni non aggiornate. In queste pagine, preferiamo mantenere le traduzioni incomplete piuttosto che eliminarle. In caso di dubbi sul lavoro svolto da altri, potete contattare i colleghi traduttori tramite la funzione "Invia un'e-mail a questo utente" visualizzabile nella relativa pagina utente. Per un riscontro più ampio su richieste, suggerimenti o proposte di modifica, vi invitiamo a iscrivervi alla mailing list di localizzazione. Grazie a nome dei team di localizzazione e di lingua madre.

Contenuto con tematiche prettamente locali

Tali pagine sono redatte esclusivamente nella lingua locale e non vengono tradotte. Si tratta di sottopagine di una pagina il cui nome è costituito dal codice della lingua scritto in caratteri maiuscoli.

Esempi:


 https://wiki.documentfoundation.org/DE/Team
 https://wiki.documentfoundation.org/DE/Veranstaltungen
 ...
 https://wiki.documentfoundation.org/FR/Documentation/Publications
 

Contenuto con tematiche globali

Queste pagine sono redatte in inglese e vengono tradotte nelle diverse lingue. Le pagine tradotte sono delle sottopagine denominate con il codice della rispettiva lingua. Il processo di traduzione viene gestito dall'estensione Translate.

Per rendere traducibile una pagina, seguite questi passaggi:

  1. Inserite il testo da tradurre all'interno di blocchi <translate></translate>
  2. Usate il prefisso Special:MyLanguage quando create un collegamento a pagine locali traducibili
  3. Aggiungete il blocco con il menu delle lingue <languages/>
  4. Dopo aver salvato la pagina, fate clic sul collegamento in alto che riporta la dicitura Segna questa pagina per la traduzione
  5. Controllate che sia tutto corretto e fate clic sul pulsante in fondo con la dicitura Segna questa pagina per la traduzione

Dopo che la pagina è stata contrassegnata per la traduzione, l'estensione Translate aggiungerà automaticamente i marcatori del tipo <!--T:1--> che identificano le stringhe da tradurre. Affinché un blocco di testo venga suddiviso in stringhe, dev'essere preceduto e seguito da righe vuote. Per forzare la suddivisione delle stringhe, potete aggiungere ulteriori marcatori <translate></translate>. Prestate particolare attenzione agli elenchi puntati e numerati.

Quando aggiungete o modificate il contenuto nella pagina sorgente, nella parte superiore apparirà il messaggio: Questa pagina ha subito modifiche da quando era stata contrassegnata per la traduzione. Fate clic sul collegamento "segnata per la traduzione" per aggiornare il sistema di traduzione con la medesima procedura impiegata in precedenza per contrassegnare la pagina da tradurre.

Suggerimenti

In una situazione ideale i traduttori dovebbero vedere una minima quantità di markup del wiki. La presenza di markup per una tabella o un modello all'interno delle stringhe da tradurre è frustrante e crea confusione nei traduttori. Cercate di lasciare tali simboli di markup al di fuori dei blocchi <translate></translate>.

Il titolo della pagina è traducibile per impostazione predefinita, ma potete modificare questa impostazione tramite la casella di controllo "Consenti la traduzione del titolo della pagina" quando contrassegnate la pagina per la traduzione. Il titolo della pagina è la prima stringa traducibile nell'elenco delle stringhe. Nel sistema di traduzione e nell'interfaccia la stringa ha un nome del tipo: "Translations:Faq/General/127/Titolo della pagina/ru", mentre le altre stringhe hanno degli identificativi numerici come il "4" in "Translations:Faq/General/127/4/ru".

A volte è necessario assegnare a una pagina un titolo visibile diverso dal nome del percorso della pagina. Questa operazione non è consigliabile e dovrebbe essere evitata. In questi casi, usate il template Rename come segue: {{Rename|Nuovo nome}}. Il template garantirà l'assenza di errori nel titolo delle pagine tradotte.

Potete effettuare un aggiornamento parziale di una traduzione mantenendo lo stato come obsoleto con un clic sul triangolo rivolto verso il basso accanto al nome del segmento da tradurre e selezionando Mostra nell'editor wiki. Verrete indirizzati a una pagina di modifica dedicata in cui apportare e salvare le modifiche lasciando intatta la dicitura speciale !!FUZZY!! all'inizio del testo.

A volte è necessario poter accedere al sorgente della pagina wiki in inglese senza i marcatori <!--T:1-->. Ciò è possibile aggiungendo /en alla fine del percorso della pagina e modificando poi il sorgente. In questo modo potrete copiare la struttura di una pagina in una nuova pagina (come ad esempio quella delle Note di rilascio).

Quando lavorate su una pagina con molti segmenti di traduzione, a volte capita di commettere errori nell'apertura o nella chiusura dei tag di traduzione. In una situazione come questa, l'anteprima della pagina mostrerà tutti i markup di traduzione insieme al contenuto. Un clic su Salva modifiche sortisce un effetto sorprendentemente utile: invece di salvare, mostrerà una visualizzazione ridotta del testo di origine che vi consentirà di trovare l'errore.

Se un segmento contiene solamente un numero, invece di tradurlo, potete usare la parola magica (magic word) {{formatnum:1234}}. Quando necessario, il numero verrà automaticamente formattato secondo gli stili non occidentali. È meglio utilizzare il parametro NOSEP per i numeri interi, al fine di evitare la visualizzazione dei separatori delle migliaia che potrebbero confondere il lettore. Per i numeri decimali è meglio non usare NOSEP, perché verrebbe eliminata la localizzazione del separatore decimale.

Di seguito è riportato un esempio di pagina predisposta per la traduzione. Notate la separazione tra l'elenco puntato e i contenuti della tabella.

 {{TopMenu}}
 {{Menu}}
 {{Menu.Documentation}}
 <languages/>

 <translate>
 == Hello World ==

 * We must take the world as we find it
 * When we are gone, let the world be flooded
 * The world is as fools wish it to be
 * It's a small world!
 </translate>
 <translate>
 * Crows are black the world over
 * He slipped once and all the world knew about it
 * The world is like a market, the one does business and the other does none
 * Huge though the world is, I always miss when I hit at it
 </translate>


 {| class="wikitable"
 |-
 | <translate>Cell content</translate>
 |-
 | {{sometemplate|<translate>Text content for a template</translate>}}
 |-
 | <bdi>{{formatnum:-1.10714871779409}}</bdi>
 |-
 | {{formatnum:110714871779409|NOSEP}}
 |}

 [[Special:MyLanguage/Development/Create_a_Hello_World_LibreOffice_extension|<translate>Tutorial on creating a Hello World extension</translate>]]

 [[Category:Documentation]]
 

Considerato che il contenuto delle tabelle può essere noioso da predisporre per le traduzioni, è stato creato uno script di supporto. Per usarlo copiate un articolo del wiki in un file di testo salvato in locale e inserite il nome del file come argomento dello script. I contenuti verranno riscritti all'interno dello stesso file. Nel caso in cui una cella contenga solo numeri interi, in virgola mobile o complessi, verrà applicata la parola magica formatnum. Lo script richiede che siano installati i pacchetti: wikitextparser, regex e wcwidth. Fate clic su Espandi per visualizzare lo script.


#!/usr/bin/env python3
#
# uses the library https://github.com/5j9/wikitextparser
import sys
import wikitextparser as wtp

def is_float_or_complex(value):
    try:
        float(value)
        return True
    except:
        return False
    try:
        complex(value)
        return True
    except:
        return False

def wrap_translate(string):
    if string.endswith(('}}', '</translate>')) or (len(string) < 2 and not string.isnumeric()):
        return string
    elif string.isnumeric() or is_float_or_complex(string):
        if string.isnumeric():
            format_end = '|NOSEP}}'
        else:
            format_end = '}}'
        # Add bdi element so minuses will stay in place with RTL languages
        if string[0] == '-':
            return ' <bdi>{{formatnum:' + string + format_end + '</bdi> '
        else:
            return ' {{formatnum:' + string + format_end + ' '
    else:
        return ' <translate>' + string + '</translate> '

with open(sys.argv[1]) as f:
    doc = f.read()

p = wtp.parse(doc)
tables = p.get_tables()

for t in tables:
    if t.caption:
        caption = t.caption.strip()
        if len(caption) > 0:
            t.caption = wrap_translate(caption)
    for row in t.cells():
        for cell in row:
            c = cell.value.strip()
            if len(c) > 0:
                cell.value = wrap_translate(c)

with open(sys.argv[1], 'w') as f:
    f.write(p.string)

Migrare al sistema attuale contenuti già tradotti con il vecchio metodo

In passato, il wiki di TDF utilizzava una procedura di traduzione che faceva uso dei template denominati OrigLang e Lang. Questi template visualizzavano un menu che collegava la pagina sorgente con quelle tradotte. In questo elenco potete trovare tutti i contenuti tradotti che fanno uso del template Lang: Special:WhatLinksHere/Template:Lang. Allo stesso modo, potete ottenere l'elenco delle pagine che usano il template OrigLang.

L'estensione Translate comprende uno strumento di migrazione, che aiuta a trasferire al nuovo sistema i contenuti già tradotti. Se i segmenti della pagina sorgente e quelli della traduzione corrispondono esattamente, la migrazione risulterà molto semplice. Altrimenti dovrete copiare e incollare le stringhe all'interno dei campi di inserimento.

La migrazione si effettua come segue:

  1. Dopo aver contrassegnato una pagina per la traduzione, attendete qualche minuto, in modo che il server possa elaborare la pagina
  2. Passate alla pagina Special:PageMigration
  3. Nel campo inserite il percorso della pagina da migrare comprensivo del codice della lingua, come ad esempio: MioPercorso/MiaPagina/de per un'ipotetica traduzione in Tedesco
  4. Fate clic sul pulsante Importa
  5. Ripulite i campi di inserimento che contengono le vecchie traduzioni (eliminate, per esempio, tutti i template di menu inutili)
  6. In fondo alla colonna con le traduzioni non potete lasciare campi di inserimento vuoti o campi eccedenti, perciò eliminateli facendo clic sull'icona del cestino accanto a essi
  7. Dopo aver sistemato tutto, fate clic sul pulsante Salva

Ricordate che potete sempre visualizzare la versione precedente di una pagina tradotta utilizzando il collegamento Cronologia e facendo clic su una revisione precedente.

Se desiderate visualizzare il sorgente di una revisione precedente, copiate il relativo collegamento dalla cronologia e consultatelo dopo aver aggiunto questa stringa alla fine: &action=edit

A volte non ha senso ricorrere allo strumento di migrazione. Lasciare degli elementi di markup al di fuori dei segmenti da tradurre può, in molti casi, confondere lo strumento. In questi casi possono essere utili i suggerimenti proposti dalle memorie di traduzione.

Messaggi nella Barra laterale

Per tradurre i messaggi relativi a ”Partecipa” e ”Supporta LibreOffice!”, dovete inviare le traduzioni a uno degli amministratori del wiki. Gli altri sono messaggi di sistema tradotti a monte in MediaWiki. Tuttavia disponiamo di una nota di copyright personalizzata visibile nel piè di pagina, quindi potete applicare il filtro "copyright" e tradurre le voci nella vostra lingua con un clic sul titolo della pagina del messaggio.

La traduzione degli elementi aggiuntivi della Barra laterale è stata impostata seguendo i passaggi indicati nella pagina di aiuto dell'estensione Translate traduzione di elementi non strutturati. Per tradurre i messaggi, gli amministratori devono solamente visitare la pagina Special:Translate/wiki-sidebar.

I collegamenti alla ”Pagina principale” e alla sezione ”Partecipa” applicano il prefisso Special:MyLanguage, che li indirizza direttamente alla pagina tradotta, se questa è disponibile.