Jump to content

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% oder {{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.

Sprache Messages Untranslated Completion Reviewed Outdated
acm: Iraqi Arabic 3,235 3,132 3% 0% 0%
af: Afrikaans 3,309 1,521 54% 0% 6%
am: Amharic 3,241 3,025 6% 0% 1%
ang: Old English 3,235 1,405 56% 0% 4%
ar: Arabic 3,433 97 97% 84% 0%
arz: Egyptian Arabic 3,428 1,813 47% 27% 1%
ast: Asturian 3,235 3,058 5% 0% 0%
az: Azerbaijani 3,235 2,938 9% 0% 0%
azb: South Azerbaijani 3,235 3,108 3% 0% 0%
ba: Bashkir 3,235 3,170 2% 93% 0%
ban: Balinese 3,243 3,055 5% 0% 0%
be-tarask: Belarusian (Taraškievica orthography) 3,284 4 99% 0% 0%
bew: Betawi 3,235 2,982 7% 0% 0%
bg: Bulgarian 3,295 2,375 27% 20% 0%
bn: Bangla 3,235 3,111 3% 54% 1%
br: Breton 3,323 205 93% 8% 1%
bs: Bosnian 3,243 2,249 30% 88% 1%
ca: Catalan 3,412 0 100% 19% 0%
ce: Chechen 3,235 3,105 4% 0% 1%
ckb: Central Kurdish 3,235 3,161 2% 0% 1%
cps: Capiznon 3,235 3,148 2% 0% 1%
cs: Czech 3,335 0 100% 6% 0%
cy: Welsh 3,240 2,064 36% 0% 0%
da: Danish 3,339 43 98% 8% 1%
de: German 3,325 4 99% 29% 0%
dga: Dagaare 3,235 3,146 2% 0% 0%
diq: Zazaki 3,235 2,545 21% 0% 1%
el: Greek 3,407 1,977 41% 0% 3%
en: English 7,329 0 100% 0% 0%
en-gb: British English 3,235 2,728 15% 88% 0%
eo: Esperanto 3,270 790 75% 0% 4%
es: Spanish 3,291 6 99% 23% 1%
et: Estonian 3,237 2,065 36% 28% 1%
eu: Basque 3,280 2,294 30% 99% 1%
fa: Persian 3,292 2,544 22% 2% 2%
fi: Finnish 3,338 0 100% 23% 0%
fr: French 7,329 0 100% 34% 0%
fy: Western Frisian 3,236 3,111 3% 0% 1%
ga: Irish 3,235 1,913 40% 0% 1%
gl: Galician 3,293 0 100% 6% 0%
gn: Guarani 3,235 3,127 3% 0% 1%
grc: Ancient Greek 3,253 2,865 11% 0% 2%
gsw: Alemannic 3,235 3,003 7% 0% 1%
gu: Gujarati 3,240 3,080 4% 0% 0%
haw: Hawaiian 3,235 2,957 8% 0% 1%
he: Hebrew 3,235 2,099 35% 2% 5%
hi: Hindi 3,235 3,078 4% 59% 1%
hsb: Upper Sorbian 3,263 1,780 45% 4% 3%
hu: Hungarian 3,330 612 81% 5% 1%
hy: Armenian 3,237 2,885 10% 0% 1%
ia: Interlingua 3,251 3 99% 39% 0%
id: Indonesian 3,236 2,234 30% 35% 0%
ie: Interlingue 3,235 185 94% 0% 2%
inh: Ingush 3,235 3,160 2% 2% 1%
io: Ido 3,235 3,119 3% 0% 0%
it: Italian 3,335 254 92% 0% 0%
ja: Japanese 3,576 1,276 64% 2% 4%
ka: Georgian 3,235 3,145 2% 0% 1%
kab: Kabyle 3,235 3,011 6% 0% 1%
kjp: Eastern Pwo 3,235 3,161 2% 0% 0%
kk-cyrl: Kazakh (Cyrillic script) 3,235 3,111 3% 0% 0%
km: Khmer 3,255 2,633 19% 0% 5%
kn: Kannada 3,235 3,030 6% 0% 0%
ko: Korean 3,343 0 100% 1% 0%
ksh: Colognian 3,235 3,045 5% 0% 1%
ku-latn: Kurdish (Latin script) 3,235 3,025 6% 5% 0%
kum: Kumyk 3,235 3,049 5% 0% 0%
ky: Kyrgyz 3,236 3,081 4% 0% 1%
lb: Luxembourgish 3,242 2,503 22% 1% 1%
li: Limburgish 3,235 2,945 8% 0% 0%
lki: Laki 3,235 3,093 4% 0% 0%
lrc: Northern Luri 3,235 3,069 5% 1% 1%
lt: Lithuanian 3,235 523 83% 10% 4%
lv: Latvian 3,235 3,093 4% 1% 1%
mg: Malagasy 3,235 3,003 7% 0% 1%
mi: Māori 3,235 3,068 5% 0% 0%
mk: Macedonian 5,123 910 82% 0% 12%
ml: Malayalam 3,235 3,157 2% 65% 1%
mnw: Mon 3,235 3,034 6% 0% 0%
mr: Marathi 3,235 3,127 3% 28% 1%
ms: Malay 3,270 776 76% 0% 6%
mt: Maltese 3,235 3,095 4% 0% 1%
my: Burmese 3,235 2,995 7% 0% 1%
myv: Erzya 3,235 3,114 3% 17% 0%
nap: Neapolitan 3,235 2,645 18% 0% 1%
nb: Norwegian Bokmål 3,259 2,171 33% 0% 4%
nds: Low German 3,252 2,467 24% 0% 7%
ne: Nepali 3,293 2,636 19% 0% 1%
nl: Dutch 3,370 0 100% 33% 0%
nn: Norwegian Nynorsk 3,242 2,410 25% 0% 4%
oc: Occitan 3,331 502 84% 13% 1%
or: Odia 3,235 3,058 5% 1% 0%
pa: Punjabi 3,235 3,074 4% 70% 1%
pl: Polish 3,373 249 92% 54% 2%
pms: Piedmontese 3,308 185 94% 0% 2%
pnt: Pontic 3,236 3,081 4% 0% 1%
ps: Pashto 3,235 3,000 7% 0% 1%
pt: Portuguese 3,356 115 96% 3% 1%
pt-br: Brazilian Portuguese 3,368 1 99% 23% 1%
qqq: Message documentation 3,257 2,465 24% 0% 0%
qu: Quechua 3,235 3,095 4% 0% 1%
rki: Arakanese 3,235 3,126 3% 99% 0%
ro: Romanian 3,235 2,773 14% 1% 1%
ru: Russian 3,439 45 98% 5% 1%
sc: Sardinian 3,235 3,123 3% 0% 1%
scn: Sicilian 3,255 2,982 8% 0% 1%
sco: Scots 3,235 2,981 7% 0% 2%
sd: Sindhi 3,235 3,012 6% 0% 1%
sdh: Southern Kurdish 3,237 3,116 3% 0% 0%
sk: Slovak 3,247 52 98% 30% 1%
skr-arab: Saraiki (Arabic script) 3,240 2,791 13% 0% 0%
sl: Slovenian 3,243 2,814 13% 0% 0%
smn: Inari Sami 3,236 3,170 2% 28% 0%
sms: Skolt Sami 3,236 3,121 3% 0% 0%
sq: Albanian 3,242 2,566 20% 0% 5%
sr-ec: Serbian (Cyrillic script) 3,235 2,049 36% 51% 0%
sr-el: Serbian (Latin script) 3,235 3,157 2% 0% 1%
sv: Swedish 3,349 192 94% 12% 1%
sw: Swahili 3,236 2,998 7% 0% 1%
ta: Tamil 3,239 2,574 20% 0% 1%
tcy: Tulu 3,236 3,043 5% 0% 0%
te: Telugu 3,240 2,970 8% 65% 1%
th: Thai 3,240 2,512 22% 65% 1%
tl: Tagalog 3,484 1,288 63% 0% 6%
tly: Talysh 3,263 3,163 3% 2% 1%
tr: Turkish 3,244 152 95% 98% 1%
tt-cyrl: Tatar (Cyrillic script) 3,235 3,100 4% 0% 1%
uk: Ukrainian 3,459 102 97% 83% 1%
ur: Urdu 3,235 3,112 3% 51% 1%
uz: Uzbek 3,235 3,152 2% 0% 1%
vec: Venetian 3,235 2,615 19% 0% 1%
vi: Vietnamese 3,238 2,925 9% 4% 1%
vls: West Flemish 3,418 1,671 51% 0% 5%
vo: Volapük 3,235 3,043 5% 0% 1%
xmf: Mingrelian 3,235 3,156 2% 0% 0%
yi: Yiddish 3,241 3,151 2% 0% 0%
zh-hans: Simplified Chinese 4,401 11 99% 27% 1%
zh-hant: Traditional Chinese 3,758 0 100% 5% 0%
All 138 languages together 462,578 296,367 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).