Howto:Translate FlightGear: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (create howto translate flightgear)
 
No edit summary
(24 intermediate revisions by 11 users not shown)
Line 1: Line 1:
===Introduction===
FlightGear supports localization, that is, showing the user interface in the user's native language rather than in English.  
This is a howto that explain how to translate FlightGear's menus and message in your language.


Flightgear have a bad I18N (internationalization) support.
This page will help you translate FlightGear to a new language or improve the existing translations.
More information here :
http://www.mail-archive.com/flightgear-users@lists.sourceforge.net/msg05761.html


You can only use ASCII characters for translating strings in your language.
== What can be translated ==
The following parts of the simulator can be translated:
* the menus, splash screens, startup tips and the text shown when the <code>--help</code> command-line option is used (FlightGear 2.7.0 and later)
* the shortcut file on Linux systems (FlightGear 2017.1 and later)
* the man pages (FlightGear 2017.3 and later)
* the built-in launcher (FlightGear 2018.3 and later)
 
== How to translate ==
# Determine the two letter ISO 639-1 language code for the language you want to translate FlightGear to. A list can be found on the [https://www.loc.gov/standards/iso639-2/php/code_list.php Library of Congress Web site].
# Check whether your language already has a subdirectory below [{{fgdata url|path=Translations}} the Translations directory]. If it does not, ask on the development mailing for the empty translation files to be created for you. (It's better to do this than copying an existing translation, because of data that will be accidentally included otherwise)
# Open the .XLF files in the subdirectory of your language and translate the English strings in them. You can edit the .XLF files in a text editor (such as Notepad++ or GEdit) but you can also use translation tools such as Qt Linguist or any XLIFF editor. Using a structured tool is recommended because it can track the translation state (flagging untranslated strings) and most tools include helpers to partially automate the translation process.
# Start FlightGear to test your translation. By default, the simulator will select the locale of your operating system as the language to use; you can explicitly select a language using the command-line option <code>--language=<i>language code</i></code>.
# Submit your updated .XLF files for inclusion via the development mailing list or a SourceForge merge request
 
There are two XLF files in each language subdirectory : one for the core simulator strings (startup messages, command line arg help, hints) and one for the launcher.
 
Note that the user interface might have not full Unicode support (some special/accented characters might not be shown): should you encounter such a location, please write to the flightgear-devel mailing list at {{Mailing list e-mail address|flightgear-devel}}.
 
== How to translate the shortcut file ==
Open [{{flightgear url|path=package/org.flightgear.FlightGear.desktop}} the FlightGear <code>.desktop</code> file] and translate the ''GenericName'', ''Comment'' and ''Keywords'' keys (add the ''GenericName[xx]'', ''Comment[xx]'' and ''Keywords[xx]'' keys, where ''xx'' is the two letter ISO 639-1 code of the language).
 
== How to translate the man pages ==
# Determine the two letter ISO 639-1 language code for the language you want to translate the man pages to.
# Check whether your language already has a subdirectory below [{{flightgear url|path=man}} the man pages directory]. If it does not, create an empty directory in it named after the language code, then copy <code>man1</code> and <code>man5</code> from the man pages directory to the directory of your language.
# Edit [{{flightgear url|path=man/CMakeLists.txt}} man/CMakeLists.txt] and add the instruction <code>add_subdirectory(xx)</code> in the <code>if(NOT WIN32)</code> block (where ''xx'' is the language code).
# Edit <code>man/xx/man1/CMakeLists.txt</code> and <code>man/xx/man5/CMakeLists.txt</code>: on the last row, set the installation directory (<code>DESTINATION</code>), respectively, to <code>${CMAKE_INSTALL_MANDIR}/xx/man1</code> and <code>${CMAKE_INSTALL_MANDIR}/xx/man5</code>.
# Open the man pages in the subdirectory of your language and translate them.
 
== Related content ==
* [[Howto: Translate FlightGear Launch Control‎‎]]
* [[Translation requests]]
 
[[Category:Howto|Translate FlightGear]]

Revision as of 15:56, 27 August 2018

FlightGear supports localization, that is, showing the user interface in the user's native language rather than in English.

This page will help you translate FlightGear to a new language or improve the existing translations.

What can be translated

The following parts of the simulator can be translated:

  • the menus, splash screens, startup tips and the text shown when the --help command-line option is used (FlightGear 2.7.0 and later)
  • the shortcut file on Linux systems (FlightGear 2017.1 and later)
  • the man pages (FlightGear 2017.3 and later)
  • the built-in launcher (FlightGear 2018.3 and later)

How to translate

  1. Determine the two letter ISO 639-1 language code for the language you want to translate FlightGear to. A list can be found on the Library of Congress Web site.
  2. Check whether your language already has a subdirectory below the Translations directory. If it does not, ask on the development mailing for the empty translation files to be created for you. (It's better to do this than copying an existing translation, because of data that will be accidentally included otherwise)
  3. Open the .XLF files in the subdirectory of your language and translate the English strings in them. You can edit the .XLF files in a text editor (such as Notepad++ or GEdit) but you can also use translation tools such as Qt Linguist or any XLIFF editor. Using a structured tool is recommended because it can track the translation state (flagging untranslated strings) and most tools include helpers to partially automate the translation process.
  4. Start FlightGear to test your translation. By default, the simulator will select the locale of your operating system as the language to use; you can explicitly select a language using the command-line option --language=language code.
  5. Submit your updated .XLF files for inclusion via the development mailing list or a SourceForge merge request

There are two XLF files in each language subdirectory : one for the core simulator strings (startup messages, command line arg help, hints) and one for the launcher.

Note that the user interface might have not full Unicode support (some special/accented characters might not be shown): should you encounter such a location, please write to the flightgear-devel mailing list at flightgear-devel@lists.sourceforge.net.

How to translate the shortcut file

Open the FlightGear .desktop file and translate the GenericName, Comment and Keywords keys (add the GenericName[xx], Comment[xx] and Keywords[xx] keys, where xx is the two letter ISO 639-1 code of the language).

How to translate the man pages

  1. Determine the two letter ISO 639-1 language code for the language you want to translate the man pages to.
  2. Check whether your language already has a subdirectory below the man pages directory. If it does not, create an empty directory in it named after the language code, then copy man1 and man5 from the man pages directory to the directory of your language.
  3. Edit man/CMakeLists.txt and add the instruction add_subdirectory(xx) in the if(NOT WIN32) block (where xx is the language code).
  4. Edit man/xx/man1/CMakeLists.txt and man/xx/man5/CMakeLists.txt: on the last row, set the installation directory (DESTINATION), respectively, to ${CMAKE_INSTALL_MANDIR}/xx/man1 and ${CMAKE_INSTALL_MANDIR}/xx/man5.
  5. Open the man pages in the subdirectory of your language and translate them.

Related content