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% 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,236 3,133 3% 0% 0%
af: Afrikaans 3,310 1,522 54% 0% 6%
am: Amharic 3,242 3,026 6% 0% 1%
ang: Old English 3,236 1,406 56% 0% 4%
ar: Arabic 3,434 99 97% 84% 1%
arz: Egyptian Arabic 3,429 1,815 47% 27% 1%
ast: Asturian 3,236 3,059 5% 0% 0%
az: Azerbaijani 3,236 2,939 9% 0% 0%
azb: South Azerbaijani 3,236 3,109 3% 0% 0%
ba: Bashkir 3,236 3,171 2% 93% 0%
ban: Balinese 3,244 3,056 5% 0% 0%
be-tarask: Belarusian (Taraškievica orthography) 3,285 1 99% 0% 0%
bew: Betawi 3,236 2,983 7% 0% 0%
bg: Bulgarian 3,296 2,377 27% 20% 1%
bn: Bangla 3,236 3,112 3% 54% 1%
br: Breton 3,324 207 93% 8% 1%
bs: Bosnian 3,244 2,250 30% 88% 1%
ca: Catalan 3,413 0 100% 19% 0%
ce: Chechen 3,236 3,102 4% 0% 1%
ckb: Central Kurdish 3,236 3,162 2% 0% 1%
cps: Capiznon 3,236 3,149 2% 0% 1%
cs: Czech 3,336 7 99% 6% 1%
cy: Welsh 3,241 2,065 36% 0% 0%
da: Danish 3,340 45 98% 8% 1%
de: German 3,326 1 99% 29% 0%
dga: Dagaare 3,236 3,147 2% 0% 0%
diq: Zazaki 3,236 2,546 21% 0% 1%
el: Greek 3,408 1,978 41% 0% 3%
en: English 7,330 0 100% 0% 0%
en-gb: British English 3,236 2,729 15% 88% 0%
eo: Esperanto 3,271 792 75% 0% 4%
es: Spanish 3,292 6 99% 23% 1%
et: Estonian 3,238 2,066 36% 28% 1%
eu: Basque 3,281 2,296 30% 99% 1%
fa: Persian 3,293 2,546 22% 2% 2%
fi: Finnish 3,339 6 99% 23% 0%
fr: French 7,330 0 100% 34% 0%
fy: Western Frisian 3,237 3,112 3% 0% 1%
ga: Irish 3,236 1,914 40% 0% 1%
gl: Galician 3,294 0 100% 7% 0%
gn: Guarani 3,236 3,128 3% 0% 1%
grc: Ancient Greek 3,254 2,866 11% 0% 2%
gsw: Alemannic 3,236 3,004 7% 0% 1%
gu: Gujarati 3,241 3,081 4% 0% 0%
haw: Hawaiian 3,236 2,958 8% 0% 1%
he: Hebrew 3,236 2,100 35% 2% 5%
hi: Hindi 3,236 3,079 4% 59% 1%
hsb: Upper Sorbian 3,264 1,781 45% 4% 3%
hu: Hungarian 3,331 614 81% 5% 1%
hy: Armenian 3,238 2,886 10% 0% 1%
ia: Interlingua 3,252 0 100% 39% 0%
id: Indonesian 3,237 2,235 30% 36% 0%
ie: Interlingue 3,236 187 94% 0% 2%
inh: Ingush 3,236 3,161 2% 2% 1%
io: Ido 3,236 3,116 3% 0% 0%
it: Italian 3,336 219 93% 0% 0%
ja: Japanese 3,577 1,278 64% 2% 4%
ka: Georgian 3,236 3,146 2% 0% 1%
kab: Kabyle 3,236 3,012 6% 0% 1%
kjp: Eastern Pwo 3,236 3,162 2% 0% 0%
kk-cyrl: Kazakh (Cyrillic script) 3,236 3,112 3% 0% 0%
km: Khmer 3,256 2,634 19% 0% 5%
kn: Kannada 3,236 3,031 6% 0% 0%
ko: Korean 3,344 0 100% 1% 0%
ksh: Colognian 3,236 3,046 5% 0% 1%
ku-latn: Kurdish (Latin script) 3,236 3,026 6% 5% 0%
kum: Kumyk 3,236 3,050 5% 0% 0%
ky: Kyrgyz 3,237 3,082 4% 0% 1%
lb: Luxembourgish 3,243 2,502 22% 1% 0%
lfn: Lingua Franca Nova 3,236 2,708 16% 0% 0%
li: Limburgish 3,236 2,946 8% 0% 0%
lki: Laki 3,236 3,094 4% 0% 0%
lrc: Northern Luri 3,236 3,070 5% 1% 1%
lt: Lithuanian 3,236 524 83% 10% 4%
lv: Latvian 3,236 3,094 4% 1% 1%
mg: Malagasy 3,236 3,004 7% 0% 1%
mi: Māori 3,236 3,069 5% 0% 0%
mk: Macedonian 5,124 911 82% 0% 12%
ml: Malayalam 3,236 3,158 2% 65% 1%
mnw: Mon 3,236 3,035 6% 0% 0%
mr: Marathi 3,236 3,128 3% 28% 1%
ms: Malay 3,271 777 76% 0% 6%
mt: Maltese 3,236 3,096 4% 0% 1%
my: Burmese 3,236 2,996 7% 0% 1%
myv: Erzya 3,236 3,115 3% 17% 0%
nap: Neapolitan 3,236 2,646 18% 0% 1%
nb: Norwegian Bokmål 3,260 2,172 33% 0% 4%
nds: Low German 3,253 2,468 24% 0% 7%
ne: Nepali 3,294 2,637 19% 0% 1%
nl: Dutch 3,371 0 100% 33% 0%
nn: Norwegian Nynorsk 3,243 2,411 25% 0% 4%
oc: Occitan 3,332 503 84% 13% 1%
or: Odia 3,236 3,059 5% 0% 0%
pa: Punjabi 3,236 3,051 5% 60% 1%
pl: Polish 3,374 251 92% 54% 2%
pms: Piedmontese 3,309 186 94% 0% 2%
pnt: Pontic 3,237 3,082 4% 0% 1%
ps: Pashto 3,236 3,001 7% 0% 1%
pt: Portuguese 3,357 117 96% 3% 1%
pt-br: Brazilian Portuguese 3,369 7 99% 23% 1%
qqq: Message documentation 3,258 2,466 24% 0% 0%
qu: Quechua 3,236 3,096 4% 0% 1%
rki: Arakanese 3,236 3,127 3% 99% 0%
ro: Romanian 3,236 2,774 14% 1% 1%
ru: Russian 3,440 46 98% 5% 1%
sc: Sardinian 3,236 3,124 3% 0% 1%
scn: Sicilian 3,256 2,983 8% 0% 1%
sco: Scots 3,236 2,982 7% 0% 2%
sd: Sindhi 3,236 3,013 6% 0% 1%
sdh: Southern Kurdish 3,238 3,117 3% 0% 0%
sk: Slovak 3,248 54 98% 30% 1%
skr-arab: Saraiki (Arabic script) 3,241 2,772 14% 0% 0%
sl: Slovenian 3,244 2,815 13% 0% 1%
smn: Inari Sami 3,237 3,171 2% 28% 0%
sms: Skolt Sami 3,237 3,122 3% 0% 0%
sq: Albanian 3,243 2,567 20% 0% 5%
sr-ec: Serbian (Cyrillic script) 3,236 2,050 36% 51% 0%
sr-el: Serbian (Latin script) 3,236 3,158 2% 0% 1%
sv: Swedish 3,350 194 94% 11% 1%
sw: Swahili 3,237 2,999 7% 0% 1%
ta: Tamil 3,240 2,575 20% 0% 1%
tcy: Tulu 3,237 3,044 5% 0% 0%
te: Telugu 3,241 2,971 8% 65% 1%
th: Thai 3,241 2,513 22% 65% 1%
tl: Tagalog 3,485 1,289 63% 0% 6%
tly: Talysh 3,264 3,164 3% 2% 1%
tr: Turkish 3,245 154 95% 98% 1%
tt-cyrl: Tatar (Cyrillic script) 3,236 3,101 4% 0% 1%
uk: Ukrainian 3,460 123 96% 84% 1%
ur: Urdu 3,236 3,113 3% 51% 1%
uz: Uzbek 3,236 3,153 2% 0% 1%
vec: Venetian 3,236 2,616 19% 0% 1%
vi: Vietnamese 3,239 2,925 9% 4% 1%
vls: West Flemish 3,419 1,672 51% 0% 5%
vo: Volapük 3,236 3,044 5% 0% 1%
xmf: Mingrelian 3,236 3,157 2% 0% 0%
yi: Yiddish 3,242 3,152 2% 0% 0%
zh-hans: Simplified Chinese 4,402 22 99% 43% 1%
zh-hant: Traditional Chinese 3,759 1 99% 5% 0%
All 139 languages together 465,952 299,165 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).