Translating:FreeCol

From translatewiki.net
FreeCol logo
FreeCol logo

FreeCol (homepage) is an open source turn-based strategy game based on the old game Colonization, and similar to Civilization. FreeCol is released under the GNU GPL version 2 (or any later version).

It is possible to translate FreeCol on translatewiki.net. User Nike coordinates the localization of FreeCol. This job was previously done by Burschik. There is a mailing list for FreeCol translators. This mailing list is used for questions, discussions and updates on release schedules.

FreeCol has documentation on a user manual. There are also some screenshots.

Translation notes

This section explains some of the special syntaxes used when translating FreeCol. For example, %amount% or {{plural:%turns%|one=turn|other=turns}} and how to translate them correctly.

Substitutes

Substitutes are dynamic texts enclosed by percent signs like “%amount%” or “%goods%” that the game will substitite with something else, like a number or a word, or a whole sentence or any other arbitrary text. You must make sure all these substitutes remain in the translation. You must not translate the part between the percent signs, as FreeCol needs it to know where to place the real text.

Example 1
%amount% gold was lost.
Here, %amount% will be replaced with a number. So in the game, it will be shown like “300 gold was lost.”.

Numerus markup (for "plural forms")

FreeCol supports numerus (or "plural forms") since 2011-04-10. The numerus markup is similar to CLDR markup used by Ruby projects. Numerus is defined as {{plural:number|key1=form1|key2=form2}}. "number" contains the number of the countable thing and is usually a substitute. "key#" refers to CLDR plural class keywords: zero, one, two, few, many, other. Translate extension has an extracted per language mappings of these keywords. In addition to those, it is possible to use keyword default. This form will be used when no number is given, usually when the expression is used as standalone. Sometimes the text is abstracted even more, like in the Example 4 below, which can substitute other messages like in Example 3.

This is admittedly very abstract, so here are a few examples to make things clear:

Example 2
Under repair (%turns% {{plural:%turns%|one=turn|other=turns}} left)
In the game, this will become e.g. "Under repair (1 turn left)" or "Under repair (4 turns left)".
Example 3
{{plural:%amount%|one=Tool|other=Tools|default=Tools}}
Depending on %amount%, this will be shown in the game as either "Tool" (when the amount is 1) or "Tools" (for any other number). Note the actual number is not shown in the game.
Example 4
%amount% {{plural:%amount%|%goods%}} (boycotted)
This would become e.g. "39 furs (boycotted)" or "1 fur (boycotted)".

Tags markup (for alternate forms)

Similar syntax, called “tags”, can be used to provide alternate forms of words other than plural forms, for example, when referring to a nation by country name (like “Denmark”) of by its demonym (word that identifies the nation’s people) (like “Danish”).

The syntax is {{tag:TYPE|TEXT TO MODIFY}}.

If such a tag is inserted, FreeCol will replace it by the text mapped to the TEXT TO MODIFY depending on the TYPE given. The following types are available:

  • country: the country name of a nation, e.g. “Denmark”
  • people: the nation’s demonym, e.g. “Danish”
Example 5
You have conquered {{tag:country|%nation%}}.
This will become e.g. "You have conquered Denmark." or "You have conquered England."
Example 6
The {{tag:people|%nation%}} have declared war on us!
This will become "The Danish have declared war on us!" or "The English have declared war on us!"

Tag definitions

If something has the syntax like {{tag:|key1=value1|key2=value2|key_n=value_n|default=default value}}, this defines the different word forms. It begins with {{tag:| (note there is nothing after the colon) and is followed by a list of key-value pairs separated by | and terminated by }}. In each pair, the key identifies the words, and the value after the equal sign is the actual text to be shown; you, the translator, need to translate the values.

For nations, the syntax is {{tag:|country=INSERT A COUNTRY NAME HERE|people=INSERT ITS PEOPLE NAME HERE|default=INSERT THE ADJECTIVE FORM OF THE NATION HERE}}.

  • The text after "country" must be replaced with the country name, like "Denmark".
  • The text after "people" must be replaced by the demonym like "Danish". Note that this always refers to a group of people and not a single person (important for grammar).
  • The word after "default" is used for the "adjective" form of the country, like "Danish". This is used to say stuff like "The Danish colony was plundered.".

Note the English words for people and default are usually identical, but in many other languages, they might differ (sometimes only by its leading capitalization, to make a distinction between a noun for people, which is generally meant as being a collective plural, and an adjective which may be sensitive to contextual grammatical genders and plurals and needing other specific keys than the default). It is important to be aware of that difference.

Example 7
{{tag:|country=Denmark|people=Danish|default=Danish}}
This defines the different words used for Denmark.
A possible German translation for that would be:
{{tag:|country=Dänemark|people=Dänen|default=Dänisch}}
And in French it would be:
{{tag:|country=Danemark|people=Danois|default=danois}}
Note the difference between people and default (here in French there's a different capitalization of the initial). It is important to keep the rest of the string, like the brackets and the keywords "country", "people" and "default", intact.

How to test translations

If you are running GNU/Linux or another unixoid system, and can already run FreeCol, enter the following in a shell. This assumes you already have the wget and git programs installed. Replace “XXX” below with your language code (twice).

# Get the development version, as translations are made against that
git clone git://git.code.sf.net/p/freecol/git freecol-git

# Change to the source code directory
cd freecol-git

# Download the translations for your language 
wget "https://translatewiki.net/w/i.php?title=Special:ExportTranslations&group=out-freecol&format=export-to-file&language=XXX" -O data/strings/FreeColMessages_XXX.properties

# Run FreeCol
ant run

Final step: When FreeCol runs, select the language from the preferences, restart FreeCol to make sure it applies everywhere, then start testing.

Note: You can also download the translations manually (without wget) via Special:ExportTranslations. You need a .properties file.

See also: [1]

Exports

Languages with translation completion less than 25% are not committed to version control. If the project consists of multiple message groups, the limit is applied to each group separately.

Translation updates are exported to version control every Monday and Thursday.

Activity


Translation statistics

The numbers shown below are cached and may not show the latest status. See this stats page for always up-to-date statistics.

Language Messages Untranslated Completion Reviewed Outdated
acm: Iraqi Arabic 3,237 3,134 3% 0% 0%
af: Afrikaans 3,311 1,523 54% 0% 6%
am: Amharic 3,243 3,027 6% 0% 1%
ang: Old English 3,237 1,407 56% 0% 4%
ar: Arabic 3,430 94 97% 84% 0%
arz: Egyptian Arabic 3,430 1,815 47% 27% 1%
ast: Asturian 3,237 3,060 5% 0% 0%
az: Azerbaijani 3,237 2,940 9% 0% 0%
azb: South Azerbaijani 3,237 3,110 3% 0% 0%
ba: Bashkir 3,237 3,172 2% 93% 0%
ban: Balinese 3,245 3,057 5% 0% 0%
be-tarask: Belarusian (Taraškievica orthography) 3,280 0 100% 0% 0%
bew: Betawi 3,237 2,984 7% 0% 0%
bg: Bulgarian 3,297 2,377 27% 20% 0%
bn: Bangla 3,237 3,113 3% 54% 1%
br: Breton 3,325 207 93% 8% 1%
bs: Bosnian 3,245 2,251 30% 88% 1%
ca: Catalan 3,408 0 100% 19% 0%
ce: Chechen 3,237 3,107 4% 0% 1%
ckb: Central Kurdish 3,237 3,163 2% 0% 1%
cps: Capiznon 3,237 3,150 2% 0% 1%
cs: Czech 3,331 13 99% 6% 0%
cy: Welsh 3,237 2,061 36% 0% 0%
da: Danish 3,336 40 98% 8% 1%
de: German 3,321 0 100% 28% 0%
dga: Dagaare 3,237 3,148 2% 0% 0%
diq: Zazaki 3,237 2,547 21% 0% 1%
el: Greek 3,409 1,979 41% 0% 3%
en: English 7,325 0 100% 0% 0%
en-gb: British English 3,237 2,730 15% 88% 0%
eo: Esperanto 3,267 787 75% 0% 4%
es: Spanish 3,287 378 88% 37% 3%
et: Estonian 3,239 2,067 36% 28% 1%
eu: Basque 3,282 2,298 29% 95% 1%
fa: Persian 3,294 2,546 22% 2% 2%
fi: Finnish 3,331 11 99% 23% 0%
fr: French 7,325 0 100% 34% 0%
fy: Western Frisian 3,238 3,113 3% 0% 1%
ga: Irish 3,237 1,915 40% 0% 1%
gl: Galician 3,289 0 100% 6% 0%
gn: Guarani 3,237 3,129 3% 0% 1%
grc: Ancient Greek 3,255 2,867 11% 0% 2%
gsw: Alemannic 3,237 3,005 7% 0% 1%
gu: Gujarati 3,237 3,077 4% 0% 0%
haw: Hawaiian 3,237 2,959 8% 0% 1%
he: Hebrew 3,237 2,113 34% 1% 5%
hi: Hindi 3,237 3,081 4% 58% 1%
hsb: Upper Sorbian 3,265 1,782 45% 4% 3%
hu: Hungarian 3,332 614 81% 5% 1%
hy: Armenian 3,239 2,887 10% 0% 1%
ia: Interlingua 3,247 13 99% 39% 0%
id: Indonesian 3,238 2,415 25% 43% 0%
ie: Interlingue 3,237 187 94% 0% 2%
inh: Ingush 3,237 3,162 2% 2% 1%
io: Ido 3,237 3,122 3% 0% 0%
it: Italian 3,331 424 87% 0% 0%
ja: Japanese 3,574 1,274 64% 2% 4%
ka: Georgian 3,237 3,147 2% 0% 1%
kab: Kabyle 3,237 3,013 6% 0% 1%
kjp: Eastern Pwo 3,237 3,163 2% 0% 0%
kk-cyrl: Kazakh (Cyrillic script) 3,237 3,113 3% 0% 0%
km: Khmer 3,257 2,635 19% 0% 5%
kn: Kannada 3,237 3,032 6% 0% 0%
ko: Korean 3,339 0 100% 1% 0%
ksh: Colognian 3,237 3,047 5% 0% 1%
ku-latn: Kurdish (Latin script) 3,237 3,027 6% 5% 0%
kum: Kumyk 3,237 3,051 5% 0% 0%
ky: Kyrgyz 3,237 3,089 4% 0% 1%
lb: Luxembourgish 3,237 2,500 22% 1% 1%
li: Limburgish 3,237 2,947 8% 0% 0%
lki: Laki 3,237 3,095 4% 0% 0%
lrc: Northern Luri 3,237 3,071 5% 1% 1%
lt: Lithuanian 3,237 525 83% 10% 4%
lv: Latvian 3,237 3,095 4% 1% 1%
mg: Malagasy 3,237 3,005 7% 0% 1%
mi: Māori 3,237 3,070 5% 0% 0%
mk: Macedonian 5,125 912 82% 0% 12%
ml: Malayalam 3,237 3,159 2% 65% 1%
mnw: Mon 3,237 3,036 6% 0% 0%
mr: Marathi 3,237 3,129 3% 28% 1%
ms: Malay 3,272 778 76% 0% 6%
mt: Maltese 3,237 3,097 4% 0% 1%
my: Burmese 3,237 2,997 7% 0% 1%
myv: Erzya 3,237 3,116 3% 17% 0%
nap: Neapolitan 3,237 2,647 18% 0% 1%
nb: Norwegian Bokmål 3,256 2,168 33% 0% 4%
nds: Low German 3,254 2,469 24% 0% 7%
ne: Nepali 3,295 2,638 19% 0% 1%
nl: Dutch 3,366 101 96% 34% 0%
nn: Norwegian Nynorsk 3,244 2,412 25% 0% 4%
oc: Occitan 3,333 504 84% 13% 1%
or: Odia 3,237 3,060 5% 1% 0%
pa: Punjabi 3,237 3,076 4% 70% 1%
pl: Polish 3,369 262 92% 54% 2%
pms: Piedmontese 3,310 187 94% 0% 2%
pnt: Pontic 3,238 3,083 4% 0% 1%
ps: Pashto 3,237 3,002 7% 0% 1%
pt: Portuguese 3,353 112 96% 3% 1%
pt-br: Brazilian Portuguese 3,364 17 99% 24% 1%
qqq: Message documentation 3,253 2,467 24% 0% 0%
qu: Quechua 3,237 3,097 4% 0% 1%
rki: Arakanese 3,237 3,128 3% 99% 0%
ro: Romanian 3,237 2,775 14% 1% 1%
ru: Russian 3,436 43 98% 5% 1%
sc: Sardinian 3,237 3,125 3% 0% 1%
scn: Sicilian 3,252 2,979 8% 0% 1%
sco: Scots 3,237 2,983 7% 0% 2%
sd: Sindhi 3,237 3,014 6% 0% 1%
sdh: Southern Kurdish 3,239 3,118 3% 0% 0%
sk: Slovak 3,244 65 97% 30% 1%
skr-arab: Saraiki (Arabic script) 3,237 2,789 13% 0% 0%
sl: Slovenian 3,244 2,815 13% 0% 0%
smn: Inari Sami 3,238 3,173 2% 29% 0%
sms: Skolt Sami 3,238 3,130 3% 0% 0%
sq: Albanian 3,244 2,568 20% 0% 5%
sr-ec: Serbian (Cyrillic script) 3,237 2,051 36% 51% 0%
sr-el: Serbian (Latin script) 3,237 3,159 2% 0% 1%
sv: Swedish 3,346 189 94% 12% 1%
sw: Swahili 3,237 2,999 7% 0% 1%
ta: Tamil 3,241 2,576 20% 0% 1%
tcy: Tulu 3,237 3,044 5% 0% 0%
te: Telugu 3,242 2,972 8% 65% 1%
th: Thai 3,237 2,509 22% 65% 1%
tl: Tagalog 3,486 1,290 62% 0% 6%
tly: Talysh 3,265 3,165 3% 2% 1%
tr: Turkish 3,241 149 95% 98% 1%
tt-cyrl: Tatar (Cyrillic script) 3,237 3,102 4% 0% 1%
uk: Ukrainian 3,456 130 96% 84% 1%
ur: Urdu 3,237 3,114 3% 51% 1%
uz: Uzbek 3,237 3,154 2% 0% 1%
vec: Venetian 3,237 2,617 19% 0% 1%
vi: Vietnamese 3,240 2,927 9% 4% 1%
vls: West Flemish 3,420 1,673 51% 0% 5%
vo: Volapük 3,237 3,045 5% 0% 1%
xmf: Mingrelian 3,237 3,158 2% 0% 0%
zh-hans: Simplified Chinese 4,397 26 99% 27% 1%
zh-hant: Traditional Chinese 3,754 0 100% 5% 0%
All 137 languages together 459,410 294,340 35% 18% 1%

Map of translators

Loading map...

Add yourself to map See also: Category:FreeCol translators — all users that registered their participation in their user page (including those not indicating their location).

Historical statistics