From The Battle for Wesnoth Wiki
Revision as of 22:12, 21 July 2010 by Gallaecio (talk | contribs) (How to contribute to this Project)


This page is dedicated to describing how to translate User-made Campaigns with the help of the project Wescamp-i18n. This project is hosted at berlios.de and maintained by Torangan ( david AT torangan.de ). Campaigns are uploaded into the SVN rep and po-files of the campaigns are created. The po-files are updated regularly and the stats are shown at http://gettext.wesnoth.org.

If you are someone who just wants to translate a campaign

Then, simply go to http://gettext.wesnoth.org, and download the .po file of your chosen campaign and language. Then read the information for translators on this page here, to know who to tell what you are working on, and where to submit your translations.

How to contribute to this Project

Campaign Designers

If you want to contribute to this project, you should follow this list:

  • Make sure that there is a _ (underscore) in front of the strings that can be translated.
  • Never mark an empty string ("") as translatable. In other words, avoid this:
 attribute= _ ""
  • Make sure that you've got the #textdomain directives right. More information in this thread: Changes to translating user campaigns in wesnoth (post 0.9.1).
  • Notice that when you reuse official units, you can put them into the textdomain wesnoth and the game will automatically use the official translations. This does not work for textdomains from other campaigns hosted here, only for the official textdomains. It also makes sense to have the description in your textdomain and to put an #textdomain wesnoth before the [attack] part. There's no real need to translate sword, bow and friends in every campaign.
  • If you want the names of attacks to be translatable, you need to add a field description = _"whatever" into the [attack] tag. This should be the same value as used for name= but that one can't be translated. As mentioned above, this only makes sense if you're using a new name.
  • Please use the split objectives syntax as described here. (The exact definition is in the post from Ayin at the end of the page.)
  • If you have further questions feel free to join the irc channel #wesnoth on irc.freenode.net and ask in there. You can also ask your questions in the forum, or directly contact Torangan ( david AT torangan.de ).
  • add a key "translate" into your .pbl file and set it to true, the rest will then happen automatically


Translating user campaigns is the same as translating the normal files. All the info about this already exists in the wiki (see the links below). The files you need are located at here. When they are translated mail them to Torangan ( david AT torangan.de ). Before you start translating you should

  • look at the sub-page of the campaign you want to translate, to see if somebody is already working on it.
  • contact the translation team for the official part, maybe they've got a list of common translations or other stuff

If you have further questions, join the ircchannel #wesnoth on irc.freenode.net and ask them in there. Of course you will also get answers if you ask your questions in the Forum, or mail Torangan.

A very useful tool for translation can be found here: poedit.

Campaigns in the rep

Here is a list of the campaigns that are already in the repository. The subpages are used to coordinate your and our efforts. We will put in there a list of the translators working on the specific campaign.

See Also