This page contains information on how-to translate and submit translation updates.
How to submit your translations
Important: Please do not submit translations as pull requests on the Wesnoth github repository site. While that seems like a good idea, it causes potential complications that we cannot always easily resolve. As a result, we cannot accept translations submitted via pull request and will close such PRs immediately.
The translation maintainers should send the updated/new translation po-files to the language coordinator: Ivanovic (crazy-ivanovic AT gmx DOT net). Additionally they have to quickly check over other people's translations (other people translating the same language) as the other translators (if any) will have to send their translations to their language maintainer before inclusion in the source-code repository. You should also subscribe to the wesnoth-i18n mailinglist.
Send the files as an archive containing the complete .po files (no .mo or .gmo files) and ensure that they follow the directory structure used in version control. For example, the archive with the German (de) translations should therefore be structured as follows:
wesnoth/de.po wesnoth-httt/de.po wesnoth-tutorial/de.po
The other translators (those who are not maintainers) should contact the maintainer for their language to see if there is some work to do. After you have done some work on the translation you should email it to your language maintainer. He/she will then (if needed) check it over before sending it on to the language coordinators. A list of all translators currently working on a language is found on each language page.
If you want to help out with the translation of an language already started on, contact the translation maintainer for the language. If you want to start translation of Wesnoth to a new language, first contact Ivanovic. And then just follow the instructions written in Translators .
- If you haven't got Wesnoth from the source-code repository, start out by doing so. Take a look at WesnothRepository for instructions about that.
- The old translation system, using cfg files and some wesnoth-specific tools (make_translation, merge_translation, weslang) was abandoned in the 0.8.3 release of Wesnoth in favor of the standard GNU GetText system.
- Info about how the two branches do work can be found in the Forum.
If you are a translator, see GettextForTranslators for more information.
If you are a developer, gettext internals for Wesnoth are discussed here: GettextForWesnothDevelopers.
Specifying typefaces and fonts for a translation
Translations in a language which mainly uses characters outside of the Latin1 character set may want to specify different typefaces. In the translatable strings, there is a string named
which specifies the order in which fonts are to be tried, for each character, before the program finds a font which contains this character: the font appearing first in the list is tried first. Translators may change this string in the translation. For example, it would be a good idea to specify first a font which contains all the characters generally used in the target language. This is especially important for translations into Asian languages. If you have to add a font that is not listed in the main font list, just add it in your translation of this string and do not alter the original string (or your translation of the string won't work...).