Skip to content

Translating

Alexander Barthel edited this page Aug 30, 2018 · 21 revisions

First of all: Thank your for your interest in contributing to Little Navmap!

Translating the Manual

The manual is written in Markdown on Gitbook which is a fairly easy formatting language saving a lot of time. From there all versions like online HTML, PDF or ePub are generated.

You have to change the Markup sources of the manual since these are the base for all other formats like the website and the PDF. Do not edit the PDF Files.

Notes:

  • Do not translate file names. The README.md and SUMMARY.md are needed by the GitBook system, for example. Changing the file names will also break the help links in the program.
  • Be aware that the menu, button and other names in the text are not translated only, but shall also the same as in the program.
  • Do not translate the anchors (e.g. {#file-quit}). They are used in the documents to link to each other and are also used from within LNM to jump to help topics. These should not be translated.
  • File encoding has to be UTF-8. You can use Notepad++ to change the encoding for example. The recommended editors ensure that UTF-8 is used.

There are two ways to access the manual sources:

Check out from GitHub

This is the preferred method since it allows to work with GitHub push requests and does not need an extra account on GitBook.

The two manual repositories are linked to GitBook and synchronized from GitHub to GitBook and vice versa:

Little Navmap User Manual

Little Navconnect User Manual

Check these out using Git (preferred method) or download them as a Zip archive. Once done issue a pull request or send me the translated sources.

You can use Git or TortoiseGit to fetch the sources.

Check out from GitBook

You can either use the online editor in GitBook or you can use Git, checkout the sources and use one of the editors linked below. The Git, checkout and use editor solution is the preferred because the online editor makes it too easy to damage the code.

Get an account at GitBook and contact me so I can add you as a collaborator. Then clone the book source using Git. Make sure to checkout the correct branch. Alternatively, I can send you the source Markup files of the book.

I do not recommend the GitBook offline or online editor since it is slow and buggy according to my experience. Better check the code out with Git or TortoiseGit and use one of the editors below.

Markdown Editors

Haroopad - Windows, macOS and Linux
Remarkable - Windows and Linux
ReText - Linux

There are more and you can also use a plain text editor.

Testing Locally

If you have Linux you can install the Gitbook tools to test the manual on your computer. See Setup and Installation of GitBook.


Translating the Program

Tools Installation

You have to install the whole Qt development environment since the translator tools are not available standalone.

Note that you do not have to buy Qt. Neither did I and that is perfectly OK if you develop open source software according to their license.

The installer is harmless and puts everything into $HOME/Qt or C:\Qt. No need to run it with su or sudo on Linux. It will not change anything in the system.

Qt installation options for translators

Note that the used Qt versions differs from the one shown in the picture. Currently 5.9.5 is used. Any 5.9 version should do.

Qt installation options for translators

Download links:

Or, here for all versions: Qt Archive

The translation tools are unfortunately not available standalone.

The Qt installation contains the translator tool Qt Linguist and a few other command line tools. Note that there is no need to create an account during installation. Skip this part.

You can also download the Little Navmap sources for the latest version. It is not needed but helps translating by showing the windows and dialogs in Qt Linguist.

Little Navmap Sources for the current/next release 2.0:

Click the green button on the top right and select Download.

Getting the Translation Files

There are three projects which contain translatable texts:

  • littlenavmap The main program.
  • littlenavconnect The networking program.
  • atools A library that is used by the two above.

Option 1: Translation Files sent by EMail

Ask me and I'll send you the files for your language. Copy atools_XX.ts, littlenavconnect_XX.ts and littlenavmap_XX.ts into the base directory of the extracted sources (besides littlenavmap.pro and littlenavconnect.pro). Once done send the files back to me.

Option 2: Translation Files extracted from Sources (preferred method)

Clone the three repositories atools, littlenavconnect and littlenavmap.

Alternatively, if you do not want to use Git you can also download the sources from the release pages at Github. Release pages are here: atools, Little Navconnect and Little Navmap.

Add you language to the project file to the TRANSLATIONS variable. Run lupdate to create the *.ts files. Once done create a pull request on Github. See here for information on pull requests.

Translation Process

Overview of the Translation Process.

Read this if you'd like to get and update the translation files yourself:
Release Manager

The *.ts are the files where the translations will be stored. These are simple text files and can be saved as a *.qm by Qt Linguist using the File -> Release function.

Open the files with Qt Linguist (C:\Qt\5.9.1\mingw53_32\bin\linguist.exe). On Linux the command line tools can be found in $HOME/Qt/5.9.1/gcc_64/bin

Qt Linguist manual for translators. Read this if you are not familiar with Qt Linguist. The linguist uses a quite intelligent and time saving workflow. It is really build to translate thousands of phrases and has a lot of checks and validation logic in it.

Once done I can add it to the next release or build a download package from it which I can put on my webpage and you can also put it on yours.

Users can just add the package to the program directory and the program will show up in their language.

If you check out my sources you can load the project into Qt Creator. The linguist then even shows the dialogs and windows graphically. No compiling needed and much easier to orientate.

Testing

You need a compiled/binary version of the program which can be a release, beta or development version. These can be either publicly available version or one I send you by mail.

Create the *.qm files with Qt Linguist using: Main menu -> File -> Release

Copy the atools.qm and the corresponding *.qm for the program (Little Navconnect or Little Navmap) into the sub-directory translations besides the executable.

You can force the GUI language of Little Navmap by adding Language=XX to the [Options] section in the C:\Users\YOURUSERNAME\AppData\Roaming\ABarthel\little_navmap.ini or $HOME/.config/ABarthel/little_navmap.ini file. XX is a two letter language code like en, de or fr.

Updating on new Program Versions

Texts will changed or be added during continued development of the program and when new versions arrive. If a translation is not available the program will show the English text or phrase during runtime.

Therefore it is needed to update the translations from time to time.

Option 1: Per e-mail

I run the lupdate tool on the translation files and send you the updates which will contain a few new untranslated texts. Translate, test, send back and we are done.

Option 1: Per Git

  1. Update the cloned Git repositories and switch to the right branch like release/1.8 that directs to betas and releases.
  2. Run lupdate *.pro in each program directory to extract new texts from the sources.
  3. Translate.
  4. Test using.
  5. Create a pull request on Github and I'll merge your changes back.

About Phrases and Text

Each button or menu text should have an accelerator or a mnemonic indicated by a & in the text. These are the underlined characters in the GUI. In Windows you have to press Alt to see them. They allows to access function with the keyboard. I.e. Alt+F goes opens the file menu. Then press o to open a flight plan. When you find an & you can assign it as it fits best into your language. It is nice if the letters are unique in a menu but not required.

%1, %2, etc. are placeholders for other information like VOR types, numbers etc. You can change the order of these symbols according to the language. Do not translate placeholders like %dist% or similar since i use these to add units like nm or meters into the text.

You will also find carriage returns in text which are shown as and have to be kept. Also there is HTML text where you translate only the phases inside the HTML.

About Translating Texts

Do not try to be creative or funny. Check other applications or web pages in your language to find common aviation or domain specific translations.

Check common and widely used applications like MS Word, LibreOffice or a web browser to find the meaning of terms like "Save as" in your language. Do not try to invent new phrases but keep it consistent.

Creating a Translation Package

A translation can be distributed as an add-on package if it was finished in the middle of a release cycle.

To build a package download the template here: littlenavmap_translation_XX.zip

Extract the zip file.

Look for TODO marks in the English README.txt template and replace the text. The rest of the file is generic for all translations. No need to change.

Then copy the whole README.txt file and translate the content of the file and the filename to your language (e.g. from README.txt to LIESMICH.txt or LEAME.txt).

Add the translation files and optional PDF help files to the directory structure of the extracted template. The README.txt contains the file structure as a hint. Only add the compiled *.qm files and not the sources (*.ts).

Create a zip file with the full structure, your added translation files, help files, the README.txt and your translated README.txt file. Replace the XX in the zip file name with your language code (e.g. fr, de_AT or pt_BR).

Send the file to me so I can publish it on my home page and add it to the latest release on the Github Release Page.

Feel free to publish the file on your own home page or send it to the local flight simulation sites in your home country.

Clone this wiki locally
You can’t perform that action at this time.