[Community Effort] Translation Kickoff

Leoreth

Blue Period
Moderator
Joined
Aug 23, 2009
Messages
37,060
Location
東京藝術大学
I am kicking off the DoC translation project now. You can find the original thread here.

You can find the text to be translated in Assets/XML/Text/. The text is in XML format. For every string of text to be translated, you will find an XML entry with the following format:

Code:
<TEXT>
   <Tag>TXT_KEY_{SOMETHING}</Tag>
   <English>{English text here}</English>
   <French>{French text here}</French>
   <German>{German text here}</German>
   <Italian>{Italian text here}</Italian>
   <Spanish>{Spanish text here}</Spanish>
</TEXT>

This is what a completely translated entry would look like. Untranslated entries either look like this (English text used for all languages):

Code:
<TEXT>
   <Tag>TXT_KEY_{SOMETHING}</Tag>
   <English>{English text here}</English>
   <French>{English text here}</French>
   <German>{English text here}</German>
   <Italian>{English text here}</Italian>
   <Spanish>{English text here}</Spanish>
</TEXT>

Or like this (literally "No translation." for all languages, this is often the case for civilopedia entries):

Code:
<TEXT>
   <Tag>TXT_KEY_{SOMETHING}</Tag>
   <English>{English text here}</English>
   <French>No translation.</French>
   <German>No translation.</German>
   <Italian>No translation.</Italian>
   <Spanish>No translation.</Spanish>
</TEXT>

Sometimes the German translation exists because I added it right away, but that's not nearly always the case. Also, it's important to double check even the entries that seem completely translated like the first example. Many entries came from RFC (which was already completely translated), but then I changed the English text but could not keep the others updated accordingly.

Other things to keep in mind when translating:
  • Only standard characters in the English alphabet are supported in XML. That means no äöüß for German, vowels with accents in French/Italian/Spanish etc. However, you can use this converter (make sure to check the "encode all alphanumeric characters" option) to convert any normal text in your language in the special encoding required by the game.
  • Everything in rectangular brackets represents a special game character, e.g. [ICON_BULLET] is a bullet point, [ICON_HAPPY] is a happiness symbol etc. Please continue using these as is, they do not need to be translated.
  • Some texts include placeholders that look like this: %s1 (for other text, e.g. a unit name) or %d1 (for numbers). Sometimes they are more complex, e.g. %d1_Change or %s1_CityName. You do not need to know much about them except that they are placeholders for text that is later inserted somewhere else, AND that the number matches the text to be inserted to the placeholder. So you can move around the placeholder freely to fit the sentence, but you can never change this number.
  • Unlike English, the four other languages often require agreement of gender, number or case of words inserted as placeholder. For example, in English you can simply write "The %s1 was destroyed" and insert everything for %s1, but in other languages the article "the" needs to match what is inserted by gender and possibly number. The code provides solutions for that, and you can find examples in the already translated BtS text. Once you run into such a problem I can help you figure it out for the specific case, if necessary.
I have started separate threads for each of the four languages:
I don't want to be involved too much with these efforts and only help out if technical help is needed, but here are a few ground rules and suggestions:
  • Make sure to have someone in charge for each language to coordinate everyone else. It is probably best if this person is reasonably active in the forums and proficient in git. You do not necessarily even have to speak the language but it would be a plus. If you feel capable of doing this, please step up - we shouldn't waste too much time with long organisation or elections. I will formally recognise the coordinator and ask everyone to respect this person.
  • The way to get your translations into the mod is ultimate a pull request on Github. Make sure you have someone on the team to create a pull request, ideally the coordinator.
  • Work in small chunks of text to be translated and coordinate your efforts. It is not conducive to the effort if someone starts translating with the intention to come back when all text in the mod is translated. Pick a set of text entries (one file, or even a section of a file), announce that you are working on it, and report back when you are done or have stopped. It is up to the coordinator to keep track of what is being worked on, what is complete and what is left to do.
  • Alternatively, use collaborative tools. I don't know how well suited e.g. Google docs is but it might significantly reduce your coordination overhead. Or look into other collaborative tools.
  • Small workloads also applies to pull requests. Please don't wait after everything is done and then create a huge pull request. It's much easier for me if you create lots of small pull request for every part you have completely translated.
  • Everything else is up to you. I am not sure about the best way to do this myself, and it probably depends on the specific group of people. Let's figure this out.
Please as general questions about translation (e.g. technical questions etc. here) so that everyone can easily find them. Discussion and coordination of a particular translation effort goes in the corresponding thread.
 
Last edited:
You're hereby proclaimed coordinator for French. Thanks for finding the tool, I will link it in the description above.
 
I'd like to be proclaimed coordinator of Ancient Egyptian. We also need to bring Civilization to old audiences. If we dominate the past, we can gain the future.

You are hereby unofficially proclaimed the officially unofficial coordinator of Ancient Egyptian. I'm not sure how you'll do this, but I have some faith in you.
 
Is this still a thing? It seems to me only French worked out as planned. If the spot isn't taken already I'd like to step up as the coordinator for German.
 
Do it.
 
Top Bottom