4. Linee guida per la traduzione
Questo manuale ha lo scopo di aiutare il traduttore. Prima viene spiegato il processo generale di come viene fatta tecnicamente una traduzione. In seguito viene spiegata la traduzione da un vero e proprio documento inglese che viene tradotto in olandese. Infine viene dato un riassunto delle Rules of translation.
Nota
Sebbene queste linee guida si focalizzino sulla documentazione di QGIS, i metodi e le regole descritte in seguito sono applicabili anche alle traduzioni dell’applicazione QGIS e del sito web.
4.1. Processo di traduzione
La documentazione di QGIS è scritta in inglese con file .rst
. Al fine di fornire traduzioni:
Uno script di precostruzione crea file di traduzione denominati
.po
per la lingua inglese nella cartella/QGIS-Documentation/locale/en
.Questi «originali» sono poi copiati dallo script nelle cartelle
locale
per altre lingue.Le frasi nei file
.po
sono caricate sulla piattaforma web Transifex, e rese disponibili per i traduttori che possono iniziare a tradurre dall’inglese alla loro lingua con l’editor.Alla fine della giornata, uno script restituisce tutte le traduzioni convalidate
Alla successiva compilazione della documentazione (che avviene almeno una volta al giorno), uno script riutilizza le frasi per creare un output tradotto
Quando successivamente un documento
.rst
viene aggiornato viene creato un nuovo file.po
nella parte inglese. Il contenuto di questo nuovo file sarà fuso con i file.po
già esistenti per ogni lingua. Questo significa che quando una nuova riga viene aggiunta a un documento.rst
già tradotto, solo le frasi nuove/aggiornate vengono aggiunte nel file.po
tradotto e devono essere tradotte. La quantità di lavoro per aggiornare le traduzioni per la prossima release dovrebbe essere relativamente piccola.
Nota
Il processo di cui sopra è lo stesso seguito per tradurre il sito web QGIS, QGIS Desktop e QGIS Server. La differenza con le applicazioni è che invece dei file .po
, tutte le stringhe traducibili nei file .py
, .cpp
, .yaml
e altri… che formano l’applicazione sono trasferiti e estratti da transifex come un singolo file .ts
.
Due diversi strumenti sono attualmente utilizzati per la traduzione di QGIS:
La piattaforma web Transifex, il modo più semplice e consigliato per tradurre QGIS, fa in modo trasparente il processo descritto sopra e raccoglie tutti i testi traducibili in un posto per il traduttore. Basta scegliere i file che vuoi e tradurre. I file tradotti sono immagazzinati nella piattaforma fino a quando un’altra release viene rilasciata.
Qt Linguist, uno strumento di sviluppo di Qt, richiede al traduttore di estrarre localmente i file
.po
(o.ts
) dal codice sorgente, tradurli e poi rispedirli.
Da notare che qualsiasi strumento tu scelga, le regole di traduzione sono le stesse.
4.2. Traduci un file
Per spiegare come funziona la traduzione, useremo il plugin Mappa di concentrazione come esempio. In questo esempio, tradurremo da Inglese a Olandese, ma sarà praticamente lo stesso per gli altri documenti in tutte le lingue.
Il sorgente del documento può essere trovato qui:
QGIS-Documentation/source/docs/user_manual/plugins/plugins_heatmap.rst
Perché ho scelto questo documento?
Include immagini, didascalie, intestazioni, riferimenti e sostituzioni.
L’ho scritto perché così è più facile per me tradurre ;-)
Il processo di generazione ha creato il file inglese .po
che può essere trovato qui:
QGIS-Documentation/locale/en/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po
L’equivalente file olandese .po
(praticamente una copia) può essere trovato qui:
QGIS-Documentation/locale/nl/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po
Insieme a questo file vedrete un piccolo file .mo
che indica che non contiene ancora alcuna traduzione.
4.2.1. Traduzione in Transifex
Per tradurre usando Transifex, devi:
avere un account su Transifex e unirsi al progetto QGIS https://qgis.org/en/site/getinvolved/translate.html#join-a-project.
Una volta che fai parte di un team linguistico, clicca sul progetto corrispondente (in questo caso
QGIS Documentation
). Viene visualizzato un elenco di lingue disponibili con il loro rapporto di traduzione.Spostati sulla tua lingua e clicca su uno dei due:
View resources: sono ora visualizzati i file traducibili
.po
con il loro rapporto di traduzione, il numero di stringhe e alcuni altri metadati.o Translate: apre l’interfaccia di traduzione con tutti i file
.po
disponibili
Identifica il file che vorresti tradurre (nel nostro caso stiamo cercando il
docs_user-manual_plugins_plugins-heatmap
, il file del plugin heatmap) o qualsiasi file non finito e clicca su di esso: le stringhe nei file vengono caricate e puoi usare l’interfaccia per filtrare, tradurre, suggerire la traduzione…Suggerimento
Per la documentazione o il sito web, cliccando sul link
Fix me
nel piè di pagina di una pagina si arriva direttamente alla pagina di traduzione corrispondente in Transifex.Tutto quello che devi fare è selezionare ogni testo e tradurre seguendo le guidelines.
Per ulteriori informazioni sull’uso di Transifex Web Editor, vedere https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor.
4.2.2. Traduzione in QT Linguist
Con Qt Linguist, devi:
prendere manualmente il(i) file
.po
o.ts
. Questo può essere ottenuto scaricando il(i) file o dalla piattaforma Transifex o dalla cartellalocale/$language
del repository dei sorgenti (in GitHub),procedere alla traduzione in locale
caricare i file modificati nei loro sorgenti (Transifex o GitHub).
Anche se il download e l’upload di file traducibili può essere fatto con Transifex, non è consigliabile utilizzare questo processo. Dal momento che non c’è un sistema di versioning su Transifex, il file che caricate sostituirà semplicemente quello esistente e potenzialmente sovrascriverà qualsiasi modifica fatta nel frattempo da altri sulla piattaforma.
Quando apri il file in Qt Linguist per la prima volta vedrai la seguente finestra di dialogo:
La lingua tradotta può essere riempita correttamente. La lingua sorgente può essere lasciata così come lingua POSIX e Nazione/Regione o Tutte le nazioni.
Quando premi il pulsante OK Qt Linguist viene riempito di frasi e puoi iniziare a tradurre, vedi Fig. 4.22.
Nel menù puoi vedere i seguenti bottoni che sono preferibilmente da utilizzare.
Il pulsante Translation Done Next è il più importante. Se la voce ha bisogno di traduzione, inserisci una traduzione nel campo di testo, poi premi questo pulsante. Se la voce non ha bisogno di traduzione, lascia il campo di testo per la traduzione vuoto e premi questo pulsante che indica che la voce è stata completata e continua con la voce successiva.
Il pulsante Goto Previous può essere usato per andare alla voce di traduzione precedente.
Il pulsante Goto Next può essere usato per andare alla prossima voce di traduzione.
Il pulsante Next Todo passa alla prima voce di traduzione che ha ancora bisogno di una traduzione. Comodo quando il documento originale è cambiato e solo alcune frasi nuove/modificate devono essere tradotte.
Il pulsante Previous Todo cerca all’indietro e salta alla prima vocee di traduzione che trova che ha ancora bisogno di una traduzione.
Per ulteriori informazioni sull’uso di Qt Linguist, vedere https://doc.qt.io/qt-5/linguist-translators.html.
Avvertimento
Se vuoi scaricare contenuti da tradurre dal repository dei sorgenti, non farlo mai nel ramo master
. Per le traduzioni ci sono sempre branche di traduzione disponibili, una volta che un documento è completamente aggiornato in inglese per una certa versione. Per esempio, per tradurre il manuale di QGIS 2.8, devi usare la branca manual_en_v2.8.
4.2.3. Traducurre il manuale
Ora possiamo iniziare a tradurre il manuale del plugin_heatmap
La traduzione della maggior parte delle frasi dovrebbe essere semplice. Durante questa sessione di traduzione indicherò quali parti (istruzioni rst) hanno bisogno di una traduzione speciale.
Qui sotto vediamo una frase interessante da tradurre:
The |heatmap| :sup:`Heatmap` plugin allows to create a heatmap from a
point vector map. A heatmap is a raster map showing the density or
magnitude of point related information. From the result "hotspots" can
easily be identified.
Questa frase contiene due istruzioni rst:
«|Mappa di concentrazione|» le parole tra «|» sono sostituituite e queste non dovrebbero mai essere tradotte. Questo sostituirà l’icona del plugin Mappa di concentrazione.
:sup:``Heatmap
, l’istruzione:sup:
è una dichiarazione di superposizione e stampa il testo seguente un po” più in alto. Questo è usato per mostrare i testi popup che appaiono quando passi il mouse sopra l’elemento della barra degli strumenti e questo può essere diverso quando viene effettivamente tradotto nell’applicazione QGIS. Nel caso olandese non lo è!
Tutti gli altri file di testo in questa frase possono essere tradotti!
Il prossimo oggetto di traduzione contiene la dichiarazione :ref:
che è comunemente usata per riferirsi ad un’altra sezione da qualche parte nel manuale! Il testo che segue una dichiarazione :ref:
non dovrebbe mai essere cambiato perché è un identificatore univoco!
First this core plugin needs to be activated using the Plugin Manager
(see Section :ref:`load_core_plugin`). After activation the heatmap icon
|heatmap| can be found in the Raster Toolbar.
In questo caso load_core_plugin
è un identificatore di riferimento univoco posto prima di un elemento rst che ha una didascalia. L’istruzione ref sarà sostituita con il testo dell’intestazione e trasformata in un collegamento ipertestuale. Quando l’intestazione a cui questo riferimento si riferisce viene tradotta, anche tutti i riferimenti a questa intestazione saranno automaticamente tradotti.
L’elemento successivo contiene il rst-tag :menuselection:
seguito dal testo effettivamente visualizzato in un menu nell’applicazione QGIS, questo può essere tradotto nell’applicazione e quindi dovrebbe essere cambiato.
Select from menu :menuselection:`View --> Toolbars --> Raster` to activate
the Raster Toolbar when it is not yet activated.
Nel punto sopra «View –>» è effettivamente tradotto in «Beeld –>» perché questa è la traduzione usata nell’applicazione QGIS localizzata in olandese.
Un po” più avanti incontriamo il seguente elemento di traduzione complicato:
The |heatmap| :sup:`Heatmap` tool button starts the Dialog of the Heatmap
plugin (see :numref:`figure_heatmap_settings`).
Contiene un riferimento a una figura figure_heatmap_settings_
, e come un riferimento a una sezione questo riferimento non dovrebbe essere cambiato! La definizione di riferimento dal documento rst non è inclusa nel file .po
e quindi non può essere cambiata. Questo significa che il riferimento alle figure non può essere tradotto. Quando viene creato l’HTML si vedrà figure_heatmap_settings
. Quando un documento PDF viene creato figure_heatmap_settings_
viene sostituito da un numero di figura.
Il successivo oggetto di traduzione con attributi rst è l’oggetto seguente:
**Input Point dialog**: Provides a selection of loaded point vector maps.
Non rimuovere le stelle nella linea precedente. Il testo che contiene verrà stampato in grassetto. Il testo stesso è spesso incluso nella finestra di dialogo stessa e può anche essere tradotto nell’applicazione.
Il seguente elemento di traduzione contiene il tag rst :guilabel:
.
When the |checkbox| :guilabel:`Advanced` checkbox is checked it will
give access to additional advanced options.
Il testo Advanced
del tag guilabel può benissimo essere tradotto nell’applicazione QGIS e probabilmente deve essere cambiato!
Il seguente elemento di traduzione contiene ``airports``. Le virgolette sono usate per dare al testo un altro carattere di testo. In questo caso è un valore letterale e non ha bisogno di traduzione.
For the following example, we will use the ``airports`` vector point
layer from the QGIS sample dataset (see :ref:`label_sampledata`).
Another excellent QGIS tutorial on making heatmaps can be found on
`https://www.qgistutorials.com
<https://www.qgistutorials.com/en/docs/creating_heatmaps.html>`_.
Questa voce include anche un collegamento ipertestuale con un url e una presentazione esterna. L’url deve ovviamente essere lasciato intatto, sei autorizzato a cambiare il testo esterno https://www.qgistutorials.com
che è visibile dal lettore. Non rimuovere mai il trattino basso alla fine del collegamento ipertestuale che ne costituisce una parte essenziale!
4.2.4. Sommario delle regole per la traduzione
Non cambiare il testo tra due caratteri
|
come ad esempio|bronze|
,|checkbox|
,|labels|
,|selectString|
,|addLayer|
… Questi sono tag speciali usati per essere sostituiti da immaginiNon cambiare i riferimenti che iniziano con nomi come
:ref:
,:file:
,:numref:
a meno che non includano un titolo. In questo caso, puoi tradurre il titolo ma mantenere invariato il collegamento (cioè il testo tra<
e>
)Suggerimento
Quando viene fornito un titolo per un riferimento, Transifex può visualizzare un numero nel testo sorgente inglese in sostituzione della parte di collegamento. Clicca sul numero nel testo sorgente per aggiungere il link di riferimento accanto al titolo da tradurre.
Non cambiare i riferimenti che finiscono con un trattino basso come
figure_labels_1_
.Non cambiare l’url nei collegamenti ipertestuali, ma puoi cambiare la descrizione esterna. Lascia il trattino basso alla fine del collegamento ipertestuale, senza spaziatura aggiuntiva (
>`_
)Cambia il testo all’interno delle virgolette che seguono i tag
:index:
,:sup:
,:guilabel:
e:menuselection:
. Controlla se/come viene tradotto nell’applicazione QGIS. Non cambiare il tag stesso.Il testo tra le doppie stelle e le doppie virgolette spesso indica valori o nomi di campi, a volte hanno bisogno di traduzione a volte no.
Fate attenzione ad usare esattamente gli stessi (stesso numero di) caratteri speciali del testo sorgente come
`
,``
,*
,**
,::
. Questi contribuiscono alla cosmesi delle informazioni forniteNon iniziare né terminare la stringa di testo con caratteri speciali o tag con uno spazio
Non terminare le stringhe tradotte con un nuovo paragrafo, altrimenti il testo non sarà tradotto durante la generazione dell’html.
Attieniti alle regole di cui sopra e il documento tradotto avrà un bell’aspetto!
Per qualsiasi domanda, contatta il QGIS Community Team o il QGIS Translation Team.