Difference between revisions of "OldEnglishTranslation"

From The Battle for Wesnoth Wiki
(Perparatory to the git move, remove some Subversion revision references that are sufficiently old to be stale.)
(Standard Header)
Line 143: Line 143:
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  "Content-Transfer-Encoding: 8bit\n"
  "Plural-Forms: nplurals=2; plural=(n != 1)\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 project name>''': replace with the name of the thing you’re translating; for anything mainline, replace it with “Battle for Wesnoth”.

Revision as of 23:44, 5 May 2013


Current Translation Team


  • Steven Panek (Espreon) [1]


  • Eirik Westcoat (eirikvw) [2]
  • Gottweiß [3]


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

Locales: Days, Months, and More

Since Wesnoth 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 once we crazies start translating things other than Wesnoth, Old English locale data 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 necessary 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 like that) 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”.

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 notify Espreon of your desire to contribute.


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 (being able to do so should be impossible right now since WML and Lua cannot use gettext plurals as of the time of this writing in 2012, the GUI surely wouldn’t be in a situation where it references the first person dual and the second person dual, and it should be pretty rare anyway), 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