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,221 3,118 3% 0% 0%
af: Afrikaans 3,295 1,507 54% 0% 6%
am: Amharic 3,227 3,011 6% 0% 1%
ang: Old English 3,221 1,391 56% 0% 4%
ar: Arabic 3,414 78 97% 84% 0%
arz: Egyptian Arabic 3,414 1,799 47% 27% 1%
ast: Asturian 3,221 3,044 5% 0% 0%
az: Azerbaijani 3,221 2,924 9% 0% 0%
azb: South Azerbaijani 3,221 3,094 3% 0% 0%
ba: Bashkir 3,221 3,156 2% 95% 0%
ban: Balinese 3,229 3,041 5% 0% 0%
be-tarask: Belarusian (Taraškievica orthography) 3,246 25 99% 0% 1%
bew: Betawi 3,221 2,968 7% 0% 0%
bg: Bulgarian 3,281 2,361 28% 20% 0%
bn: Bangla 3,221 3,097 3% 54% 1%
br: Breton 3,309 191 94% 8% 1%
bs: Bosnian 3,229 2,235 30% 88% 1%
ca: Catalan 3,392 0 100% 19% 0%
ckb: Central Kurdish 3,221 3,147 2% 0% 1%
cps: Capiznon 3,221 3,134 2% 0% 1%
cs: Czech 3,315 0 100% 6% 0%
da: Danish 3,320 49 98% 8% 1%
de: German 3,302 0 100% 28% 0%
dga: Dagaare 3,221 3,132 2% 0% 0%
diq: Zazaki 3,221 2,531 21% 0% 1%
el: Greek 3,393 1,957 42% 0% 3%
en: English 7,309 0 100% 0% 0%
en-gb: British English 3,221 2,714 15% 88% 0%
eo: Esperanto 3,251 771 76% 0% 4%
es: Spanish 3,271 361 88% 37% 3%
et: Estonian 3,223 2,051 36% 28% 1%
eu: Basque 3,266 2,282 30% 95% 1%
fa: Persian 3,278 2,530 22% 2% 2%
fi: Finnish 3,315 2 99% 22% 0%
fr: French 7,309 0 100% 34% 0%
fy: Western Frisian 3,222 3,097 3% 0% 1%
ga: Irish 3,221 1,899 41% 0% 1%
gl: Galician 3,269 1,000 69% 8% 6%
gn: Guarani 3,221 3,113 3% 0% 1%
grc: Ancient Greek 3,239 2,851 11% 0% 2%
gsw: Alemannic 3,221 2,989 7% 0% 1%
gu: Gujarati 3,221 3,061 4% 0% 0%
haw: Hawaiian 3,221 2,943 8% 0% 1%
he: Hebrew 3,221 2,097 34% 1% 5%
hi: Hindi 3,221 3,065 4% 58% 1%
hsb: Upper Sorbian 3,249 1,766 45% 4% 3%
hu: Hungarian 3,316 598 81% 5% 1%
hy: Armenian 3,223 2,871 10% 0% 1%
ia: Interlingua 3,231 0 100% 39% 0%
id: Indonesian 3,222 2,422 24% 44% 0%
ie: Interlingue 3,221 171 94% 0% 2%
inh: Ingush 3,221 3,146 2% 2% 1%
io: Ido 3,221 3,114 3% 0% 0%
it: Italian 3,315 411 87% 0% 0%
ja: Japanese 3,558 1,258 64% 2% 4%
ka: Georgian 3,221 3,131 2% 0% 1%
kab: Kabyle 3,221 2,997 6% 0% 1%
kjp: Eastern Pwo 3,221 3,147 2% 0% 0%
kk-cyrl: Kazakh (Cyrillic script) 3,221 3,097 3% 0% 0%
km: Khmer 3,241 2,619 19% 0% 5%
kn: Kannada 3,221 3,016 6% 0% 0%
ko: Korean 3,322 1,939 41% 2% 1%
ksh: Colognian 3,221 3,031 5% 0% 1%
ku-latn: Kurdish (Latin script) 3,221 3,011 6% 5% 0%
kum: Kumyk 3,221 3,035 5% 0% 0%
ky: Kyrgyz 3,221 3,076 4% 0% 1%
lb: Luxembourgish 3,221 2,508 22% 1% 1%
li: Limburgish 3,221 2,931 9% 0% 0%
lki: Laki 3,221 3,079 4% 0% 0%
lrc: Northern Luri 3,221 3,055 5% 1% 1%
lt: Lithuanian 3,221 509 84% 10% 4%
lv: Latvian 3,221 3,079 4% 1% 1%
mg: Malagasy 3,221 2,989 7% 0% 1%
mi: Māori 3,221 3,054 5% 0% 0%
mk: Macedonian 5,109 896 82% 0% 12%
ml: Malayalam 3,221 3,143 2% 65% 1%
mnw: Mon 3,221 3,027 6% 0% 0%
mr: Marathi 3,221 3,113 3% 28% 1%
ms: Malay 3,256 767 76% 0% 6%
mt: Maltese 3,221 3,081 4% 0% 1%
my: Burmese 3,221 2,981 7% 0% 1%
myv: Erzya 3,221 3,100 3% 17% 0%
nap: Neapolitan 3,221 2,631 18% 0% 1%
nb: Norwegian Bokmål 3,240 2,152 33% 0% 4%
nds: Low German 3,238 2,453 24% 0% 7%
ne: Nepali 3,279 2,622 20% 0% 1%
nl: Dutch 3,350 103 96% 34% 0%
nn: Norwegian Nynorsk 3,228 2,396 25% 0% 4%
oc: Occitan 3,317 488 85% 13% 1%
or: Odia 3,221 3,044 5% 1% 0%
pa: Punjabi 3,221 3,060 4% 70% 1%
pl: Polish 3,353 258 92% 55% 2%
pms: Piedmontese 3,294 171 94% 0% 2%
pnt: Pontic 3,222 3,067 4% 0% 1%
ps: Pashto 3,221 2,986 7% 0% 1%
pt: Portuguese 3,337 96 97% 3% 1%
pt-br: Brazilian Portuguese 3,348 1 99% 24% 1%
qqq: Message documentation 3,237 2,451 24% 0% 0%
qu: Quechua 3,221 3,081 4% 0% 1%
rki: Arakanese 3,221 3,112 3% 99% 0%
ro: Romanian 3,221 2,759 14% 1% 1%
ru: Russian 3,420 30 99% 5% 1%
sc: Sardinian 3,221 3,109 3% 0% 1%
scn: Sicilian 3,236 2,964 8% 0% 1%
sco: Scots 3,221 2,967 7% 0% 2%
sd: Sindhi 3,221 2,998 6% 0% 1%
sdh: Southern Kurdish 3,223 3,102 3% 0% 0%
sk: Slovak 3,228 49 98% 30% 1%
skr-arab: Saraiki (Arabic script) 3,221 2,778 13% 0% 0%
sl: Slovenian 3,228 2,815 12% 0% 0%
sms: Skolt Sami 3,222 3,114 3% 0% 0%
sq: Albanian 3,228 2,553 20% 0% 5%
sr-ec: српски (ћирилица) 3,221 2,036 36% 51% 0%
sr-el: srpski (latinica) 3,221 3,143 2% 0% 1%
sv: Swedish 3,330 173 94% 12% 1%
sw: Swahili 3,221 2,988 7% 0% 1%
ta: Tamil 3,225 2,560 20% 0% 1%
tcy: Tulu 3,221 3,029 5% 0% 0%
te: Telugu 3,226 2,956 8% 65% 1%
th: Thai 3,221 2,493 22% 65% 1%
tl: Tagalog 3,470 1,274 63% 0% 6%
tly: Talysh 3,248 3,152 2% 0% 1%
tr: Turkish 3,225 135 95% 98% 1%
tt-cyrl: Tatar (Cyrillic script) 3,221 3,086 4% 0% 1%
uk: Ukrainian 3,440 114 96% 84% 1%
ur: Urdu 3,221 3,098 3% 51% 1%
uz: Uzbek 3,221 3,138 2% 0% 1%
vec: Venetian 3,221 2,601 19% 0% 1%
vi: Vietnamese 3,224 2,911 9% 4% 1%
vls: West Flemish 3,404 1,657 51% 0% 5%
vo: Volapük 3,221 3,029 5% 0% 1%
xmf: Mingrelian 3,221 3,142 2% 0% 0%
zh-hans: Simplified Chinese 4,381 19 99% 6% 1%
zh-hant: Traditional Chinese 3,738 0 100% 5% 0%
All 134 languages together 447,527 287,128 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