Difference between revisions of "OldEnglishTranslation"

From The Battle for Wesnoth Wiki
(Standard Header)
Line 17: Line 17:
 
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.
 
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 [https://github.com/Espreon/ang-locales 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.
+
Espreon is making Old English locale data for systems that make use of glibc’s locale system; you can get it [https://github.com/Espreon/ang-locales 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 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/).
Line 26: Line 26:
 
== The Fuþorc ==
 
== 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 [http://junicode.sourceforge.net/ 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”.
+
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 [http://junicode.sourceforge.net/ 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”.
 
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”.
 +
 +
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 ===
 
=== Common Runes ===
Line 116: Line 118:
 
Our git repository is located [https://github.com/Espreon/wesnoth-ang here].
 
Our git repository is located [https://github.com/Espreon/wesnoth-ang here].
  
If you wish to contribute, it is highly recommended that you get a GitHub account and notify Espreon of your desire to contribute.
+
If you wish to contribute, it is highly recommended that you get a GitHub account and let Espreon know that you wish to help.
  
 
=== Translating ===
 
=== Translating ===
  
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.
+
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 ===
 
=== Standard Header ===
Line 153: Line 155:
 
* '''<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'''.
 
* '''<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:
+
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"
 
  "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2\n"

Revision as of 12:21, 10 May 2013

Overview

Current Translation Team

Maintainer

  • Steven Panek (Espreon) [1]

Translators

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

Toolsmiths

  • 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 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”.

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/

Workflow

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.

git

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.

Translating

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.

Resources

Dictionaries

Etymology

Grammar

See Also