From The Battle for Wesnoth Wiki
Revision as of 21:32, 11 October 2014 by Espreon (talk | contribs)


Translation Team



  • no one (contact Espreon for more information [1])






  • Eirik Westcoat (eirikvw) [3] (translator)
  • Gottweiß [4] (translator)


  • Alexander van Gessel (AI/AI0867) [5]

Engine Aspects

Locales: Days, Months, and More

Since Wesnoth currently requests the current locale for the names of the days and the months (which are used in the Load Game dialog and the like), you will need Old English locales to get a seamless experience. Note that having locales also helps the game with alphanumeric sorting algorithms, thus having a locale should allow Wesnoth to sort things with a mostly-accurate order.

Espreon is making Old English locale data for systems that make use of glibc’s locale system; you can get it here. Currently, there is only data for ang_GB@latin; Espreon will eventually get to making runic ang_GB data (and eventually for other Modern English-speaking countries and maybe even more). If you wish to contribute to this project, just contact Espreon. Note that the ang_GB@latin locale data only has what is needed for Wesnoth; some fields still need to be translated.

To produce a locale from Espreon’s data, use something like locale-gen after copying the data to wherever your system stores locale data (as byspel, /usr/share/i18n/).

To have locale-gen produce a locale from the data, add the following to your /etc/locale.gen and run locale-gen:

ang_GB.UTF-8@latin UTF-8

The Fuþorc

After 1.9.4, fonts.cfg got code that covers the runic plane. The font that the game attempts to use to cover the runic plane is Junicode. Since the font is currently not shipped with the game, runic text will not render in all parts of the game. Since the game specifically requests members of the Junicode family, Junicode will receive priority when rendering runic text. To install Junicode in the game’s fonts directory, take “Junicode.ttf” (“Junicode-Regular.ttf” in older versions) (it must be named “Junicode-Regular.ttf” unless you modify the code so that it looks for the font under a different name) and put it in “fonts”.

You will have to uncomment the font loading code for Junicode in data/hardwired/fonts.cfg. To do so, just remove the pounds from Junicode’s [font] block. If you have “Junicode.ttf” instead of “Junicode-Regular.ttf”, change “Junicode-Regular.ttf” in the code to “Junicode.ttf”.


The Latin Alphabet

Right now, we do not mark vowel length or palatalization, so no acute accent marks, macrons, or dots. Thorn and eth are more or less in free variation, but we prefer that thorn be used in word-initial position. And although we use wynn instead of double u (W/w), we do not use yogh or the characters for insular g.

Also, for words with g that have forms with h in place of the g and the g form is indeed the older form, use the g form. So, as byspel, use burg and not burh; use dweorg and not dweorh.

The Fuþorc

This section merely reflects what is used in runic transliteration; our conventions are highly subject to change.

Note that, in this section, the terms common runes and uncommon runes respectively refer to runes that are treated as “normal” in the game’s translation and to runes that are used only occasionally in the game’s translation.

Common Runes

Position Rune Latin Name Meaning IPA
1 F/f feoh wealth /f/
2 U/u ur aurochs /u uː/
3 Ð/ð, Þ/þ þorn thorn /θ/
4 O/o os god /o oː/
5 R/r rad ride /r/
6 C/c cen torch /k/, /tʃ/
7 G/g gyfu gift /ɡ/, /j/
8 Ƿ/ƿ ƿynn joy /w/
9 H/h hægl hail (type of precipitation) /h/
10 N/n nyd need /n/
11 I/i is ice /i iː/
13 Eo/eo eoh yew /eo eːo/
14 P/p peorð (unknown) /p/
15 X/x eolh elk-sedge /ks/
16 S/s sigel sun /s/
17 T/t Tir Tiƿ /t/
18 B/b beorc birch /b/
19 E/e eh horse /e eː/
20 M/m mann man (human being) /m/
21 L/l lagu sea /l/
22 (n,) ng Ing Ing ([ŋ],) /nɡ/
23 D/d dæg day /d/
25 A/a ac oak /ɑ ɑː/
26 Æ/æ æsc ash (tree) /æ æː/
27 Y/y yr bow (weapon) /y yː/
28 Ea/ea ear grave /æɑ æːɑ/

Uncommon Runes

Position Rune Latin Name Meaning IPA
12 G/g ger year [j] (all of /j/?)
Ia/ia (?), Io/io ior eel (?) /iɑ iːɑ/ (?), /io iːo/
24 Oe/oe (o)eðel estate /e eː/ (?), /ø øː/
ᛣ (ᛤ) K/k (Kk/kk ?) calc (?) chalice (?) /k/
G/g gar spear /ɡ/
Cƿ/cƿ, Q/q (?) cƿeorð (?) /kw/
St/st stan stone /st/


In order to allow us to easily work as a team, we use git and IRC to collaborate. To get to our dedicated IRC channel, just go to the Freenode IRC network and join #wesnoth-ang.


Our git repository is located here.

If you wish to contribute, it is highly recommended that you get a GitHub account and let Espreon know that you wish to help.


Since the runic version is generated from the Latin version, you should work on the Latin version when translating, thus you should change the ang@latin.po files. Of course, touch-ups to the runic version need to be made from time to time.

Standard Header

When starting a new translation, please make this the header of the file; see explanations below:

# Old English translations for the <insert project name> package.
# Copyright (C) <insert year> <insert copyright holder> team
# This file is distributed under the same license as the <insert project name> package.
# <insert your name> <<insert e-mail address>>, <insert year when work took place by this author>
msgid ""
msgstr ""
"Project-Id-Version: <insert locale>\n"
"Report-Msgid-Bugs-To: http://bugs.wesnoth.org/\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: <insert your name> <<insert e-mail address>>\n"
"Language-Team: Old English <http://wiki.wesnoth.org/OldEnglishTranslation>\n"
"Language: <insert locale>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
  • <insert project name>: replace with the name of the thing you’re translating; for anything mainline, replace it with “Battle for Wesnoth”.
  • <insert year>: replace with the current year; update this year as necessary. Note that the copyright updates in mainline po files aren’t updated yet.
  • <insert year when work took place by this author>: insert the current year; if you do work a year later or so, use a comma-separated list, range, or mixed format as necessary.
  • <insert copyright holder>: replace with the name of the copyright holder; for anything mainline, replace it with “Wesnoth development team”.
  • <insert your name>: replace with your name or pseudonym; the author of this section uses the format “<real name> (<username>)”.
  • <insert e-mail address>: replace with your e-mail address.
  • <insert locale>: if the po file is for content mainly in the fuþorc, replace with ang; if the po file is for content mainly in the Latin alphabet, replace with ang@latin.

Note that if you need to use the dual form in strings with variables (do not worry about this right now since the game does not currently use them in situations where the first and second persons would be used), replace the Plural-Forms line with the following:

"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2\n"

As for the contributors section in the header, it is meant just for those who made major contributions to the file, so doing minor revisions and the like doesn’t earn one’s mentioning in that section.

As for the POT-Creation field, just use whatever was there in the first place. And don’t bother manually filling in the PO-Revision field since it should be automatically updated, assuming you use a proper editor.

Terms and Usage

See the glossaries.





See Also