Linee guida per la traduzione

This manual is aiming to help the translator. First the general process of how technically a translation is done is explained. Later the translation is explained from an actual English rst document that is translated to Dutch. Finally a summary of Rules of translation is given.

Although these guidelines focus on QGIS documentation, the methods and the rules described below are also applicable to QGIS applications and website translation.

processo di traduzione

Per creare un documento dapprima un file .rst deve essere creato. Uno script crea un file di traduzione chiamato .po per la lingua inglese nella cartella :file: /QGIS-Documentation/i18n/en

Questi “originali” sono copiati dallo script nella cartella i18n per le altre lingue

The sentences in the .po files need to be translated from english to the language with a translation tool editor. Le frasi nel .po file devono essere tradotte dall’inglese nelle altre lingue con un software di traduzioni.

When you want to contribute, first get a .po file and add translations for the sentences in the .po file. When you are finished the .po file is placed back in the right place and during the next build the build script now creates .mo files next to the .po files. These .mo files are actually used by the script to create translated output.

When afterwards an rst document is updated a new .po file is created in the english part. The contents of this new file will be merged with already existing .po files for each language. This means that when a new line is added to an rst document that was already translated, only the new/updated sentences are added in the translated .po file and needs to be translated. The amount of work for updating translations for next versions of QGIS should be relative small.

Due diversi strumenti sono attualmente utilizzati per la traduzione di QGIS:

  • the Transifex web platform, the easiest and recommanded way to translate QGIS, transparently does the process described above and pulls all the translatable texts in one place for the translator. He then just picks the files he wants and does the translation
  • Qt Linguist, a Qt development tool that requires the translator to pick and replace the .po files from the source code.

Note that whatever tool you choose, rules of translations are the same.

Avvertimento

An important note: If you want to translate content within the docs folder (not web), never do this in the master branch. For translations there are always translation branches available, once a document is fully updated in english for a certain version. As an example, to translate the manual of QGIS 2.8, you have to use the manual_en_v2.8 branch.

Translate a 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.

The source of the document can be found here:

QGIS-Documentation/source/docs/user_manual/plugins/plugins_heatmap.rst

Perché o scelto questo documento?

  1. Si considera completato per la seguente versione. Anche se non è ancora completa l’istruzione seguita da una linea vuota può essere trovata all’inizio del documento.

    |updatedisclaimer|

    Questo produrrà un avviso visibile nel prodotto di output. Per iniziare a tradurre un documento con un avviso aggiornato c’è la buona possibilità che successivamente esso necessiti di essere rivisto per la versione finale.

  2. Esso inoltre include immagini, didascalie, titoli, riferimenti e sostituzioni.

  3. L’ho scritto perché così è più facile per me tradurre ;-)

The build process has created the English .po file which can be found here:

QGIS-Documentation/i18n/en/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po

The equivalent Dutch .po file (basically a copy) can be found here:

QGIS-Documentation/i18n/nl/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po

Along this file you will see a tiny .mo file which indicates that it does not hold any translations yet.

Translation in Transifex

In order to translate QGIS with Transifex, you first need to join the project. Once you got a team, click on the corresponding project and your language. You get a list of all translatable .po files. Click on the docs_user-manual_plugins_plugins-heatmap to select the heatmap plugin file and choose Translate in the prompted dialog. Note that you can also choose to download the file and translate it with tools like Qt Linguist. The next page lists all the sentences in the file. All you need to do is select the text and translate following the guidelines.

For further information on the use of Transifex Web Editor, see http://docs.transifex.com/tutorials/txeditor/.

Traduzione in QT Linguist

With Qt Linguist, you need to manually grab the .po file. When you open the file in Qt Linguist for the first time you will see the following dialog:

../../_images/linguist_choose_language.png

Select language for translation in linguist menu

La lingua tradotta può essere riempita correttamente. La lingua sorgente può essere lasciata così come lingia POSIX e Nazione/Regione o Tutte le nazioni.

When you press the [OK] button Qt Linguist is filled with sentences and you can start translating, see Figure_translation_menu.

../../_images/linguist_menu.png

Translate using the linguist menu

Nel menù puoi vedere i seguenti bottoni che sono preferibilmente da utilizzare.

  • linguist_done_next The Translation Done Next button, is the most important button. If the item needs translation, you enter a translation in the text field, then hit this button. If the item does not need translation just leave the text field for translation empty and also hit this button which indicates the item is done and you continue with the next item.
  • linguist_previous Il vai a precedente pulsante, può essere usato per andare al predente oggetto tradotto.

  • linguist_next The Goto Next button, can be used to go to the next translation item.
  • linguist_next_todo The Next Todo button, jumps to the first translation item that still needs a translation. Handy when the original document has changed and only several new/changed sentences need to be translated.
  • linguist_previous_todo The Previous Todo button, searches backward and jumps to the first translation item it finds that still needs a translation.

Traduci il manuale

Ora possiamo iniziare a tradurre il manuale del plugin_heatmap

Translating most of the sentences should be straightforward. During this translation session I will point out which parts (rst statements) need special translation.

Below we see an interesting sentence to translate:

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:

  1. |Mappa di concentrazione|” le parole tra “|” sono sostituituite e queste non dovrebbero mai essere tradotte. Questo sostituirà l’icona del plugin Mappa di concentrazione.

  2. :sup:`Heatmap`, the :sup: statement is a superposition statement and prints the following text a bit higher. This is used to show the popup texts that appear when you hover above the toolbar item and this may be different when it is actually translated in the QGIS application. In the Dutch case it is not!

Tutti gli altri file di testo in questa frase possono essere tradotti!

The next translation item contains the :ref: statement that is commonly used to refer to another section somewhere in the manual! The text following a :ref: statement should never be changed because it is a unique identifier!

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 this case load_core_plugin is a unique reference identifier placed before an rst item that has a caption. The ref statement will be replaced with the text of the header and turned into a hyperlink. When the header this reference is refering to is translated, all references to this header will be automatically translated as well.

The next item contains the rst-tag :menuselection: followed by text actually displayed in a menu in QGIS application, this may be translated in the application and therefore should be changed when this is the case.

Select from menu :menuselection:`View --> Toolbars --> Raster` to activate
the Raster Toolbar when it is not yet activated.

In above item “View –>” is actually translated to “Beeld –>” because this is the translation used in the Dutch localized QGIS application.

A bit further we meet the following tricky translation item:

The |heatmap| :sup:`Heatmap` tool button starts the Dialog of the Heatmap
plugin (see figure_heatmap_settings_).

It holds a reference to a figure figure_heatmap_settings_, and like a reference to section this reference should not be changed!! The reference definition itself from the rst-document is not included in the .po file and can therefore not be changed. This means the reference to figures can not be translated. When HTML is created you will see figure_heatmap_settings. When a PDF document is created figure_heatmap_settings_ is replaced with a figure number.

The next translation item with rst attributes is the following item:

**Input Point dialog**: Provides a selection of loaded point vector maps.

Do not remove the stars in above line. It will print the text it holds in bold. The text itself is often text included in the dialog itself and may well be translated in the application.

The following translation item contains the :guilabel: rst tag.

When the |checkbox| :guilabel:`Advanced` checkbox is checked it will
give access to additional advanced options.

The text Advanced of the guilabel tag may well be translated in the QGIS application and probably needs to be changed!

The following translation item contains ``airports``. The quotes are used to give the text another text font. In this case it is a literal value and does not need translation.

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
`http://qgis.spatialthoughts.com
<http://qgis.spatialthoughts.com/2012/07/tutorial-making-heatmaps-using-qgis-and.html>`_.

This item also includes a hyperlink with an url and an external presentation. The url should of course be left intact, you are allowed to change the external text http://qgis.spatialthoughts.com which is visible by the reader. Never remove the underscore at the end of the hyperlink which forms an essential part of it!!

Sommario delle regole per la traduzione

  1. Do not change text between two | characters like |bronze|, |checkbox|, |labels|, |selectString|, |addLayer| ... These are special tags used to replace images
  2. Do not change references that start with the tag :ref: or :file:
  3. Do not change references that end with an underscore like figure_labels_1_
  4. Do not change the url in hyperlinks, but you may change the external description. Leave the underscore at the end of the hyperlink, without additional spacing (>`_)
  5. Change the text inside quotes following :index:, :sup:, :guilabel: and :menuselection: tags. Check if/how it is translated in the QGIS Application. Do not change the tag itself.
  6. Text between double stars and double quotes often indicate values or fieldnames, sometimes they need translation sometimes not.
  7. Be aware to use exactly the same (number of) special characters of the source text such as `, ``, *, **, ::. These contribute to the cosmetics of the information provided
  8. Do not begin nor end the text hold by special characters or tags with a space
  9. Do not end the translated strings with a new paragraph, otherwise the text will not be translated during the html generation.

Stick to above presented rules and the translated document will look fine!

For any question, please contact the QGIS Community Team or the QGIS Translation Team.