The Vox Populi Localization Project

Estebanium

Prince
Joined
Oct 16, 2014
Messages
483
Location
Germany


:c5goldenage: Introduction
Hi guys, some time has passed since I started to translate the City-State Diplomacy Mod to German. I then came to the Community Patch Project and a new plan was formed: The localization of this amazing Project. I have now reached a state where I can leave the niche of the forum and write my own contribution.

This project is divided into two parts. The first part contains all translated information of Vox Populi for a specific language. For the future, I hope that other languages will be added.
The second part is for those who would like to see their native language in Vox Populi and so want to translate.

I created a modular mod-mod, that allows you to add different languages to the project. Each module of Vox Populi will have a corresponding mod-mod that will add the localization support.

I chose this approach because it was incredibly difficult to keep track of an upcoming update, to not delete anything that was already translated and to not screw everything up.


:c5goldenage: The Language Pack
The Language Pack will contain all languages that have been translated by you, the Community.
For now it only contains my parts of the German translation.

Features of the Language Pack:

  • Enjoy the Community Patch in German (work in progress).
  • All changes of the Community Patch will be shown correctly, if you play the game in German.
  • Even if the entire content has not been translated into German, the missing content is presented in English.

:c5goldenage: How to install
  1. Download the Language Pack and extract it somewhere
  2. You will find six folders inside of this Pack
  3. Copy all of them to the Mods folder of your Civilization V in My Documents
  4. Double check if your Cache folder is deleted and run the Game afterwards in your native language.
    After all modules have been activated, first changes in the game should be visible: Buildings, Policies, etc.
  5. Please pay attention to the order of activating those mods: (1) Community Patch, then (1a) Community Patch INT, then (2) Community Balance Overhaul, (2a) Community Balance Overhaul INT, etc.


Supported languages:
Even if a language is not yet completed, playing in your native language will at least show these texts in English.
  • German (Progress: 56%):​
    • (1) Community Patch: 59%
    • (2) Community Balance Overhaul: 51%
    • (3) CSD for CBP: 100%
    • (4) Civ IV Diplomatic Features: 12%
    • (5) More Luxuries: 100%
    • (6a) Community Balance Overhaul - Compatibility Files (EUI): 86%



:c5science: Changelog

Recent changes to 12.18.1
  • Added latest changes of 12.18.1 to the Language Pack. See commits for more information.
 
Last edited:
:c5goldenage: The Framework
The Framework is for all of you, that want to create their own translation.

By downloading the framework, you will have six folders (mod-mods), that will contain the translation files for the original modules. Each module will have the correct dependency to the original module and I made sure to keep the load order correctly.

EDIT: At first I decided to release the Framework in a state in which it already contains my parts of the German translation. My plan was to add your translations later.
To be honest, I think that it was too complicated to tell you something about modinfo-files and load-orders and how to add your language to the existing files.


:c5goldenage: Content of the Framework
The Framework is the foundation of being able to translate the game and more importantly, have a consistent file structure to share the work of the translator with the community.
This will avoid single file translations that are unclearly, difficult to handle for the update process, etc..

By looking at the modinfo file of "(1a) Community Patch INT" for instance, you can see that it only contains a few files. Moreover you will notice, that most files seems to be in a xx_XX folder. the xx_XX is a placeholder for the language-tag that is going to be added by you.

You might will know these here: en_US, fr_FR, ru_RU? In the final Language Pack, we will have all files that contain text in different folders, matching their language tag:
Spoiler :
Code:
    <Files>
    <File md5="1C8E4B03DCAF847F9E720006BE4F890E" import="0">Core Files/Core Tables/xx_XX/SampleEvents.xml</File>
    <File md5="1068E7F85BAD2EBD5FC0877D44E7C32B" import="0">Core Files/PNM Mods DB/API/xx_XX/Espionage.xml</File>
    <File md5="A9E2CFE8DBF758DA9921F10FBC36EDF9" import="0">Core Files/PNM Mods DB/API/xx_XX/Religion.xml</File>
    <File md5="FE29E4556695CBF3282DC6D54B254EB1" import="0">Core Files/PNM Mods DB/BUGFIX/xx_XX/GoodyHutMessages.xml</File>
    <File md5="AC8E2D5BABBF69396CD2220D1AB7B117" import="0">Core Files/PNM Mods DB/BUGFIX/xx_XX/SpyNames.xml</File>
    <File md5="71C5C2CB6203D6342BEA1FF2BCA47847" import="0">Core Files/PNM Mods DB/BUGFIX/xx_XX/UnitclassNotUnit.xml</File>
    <File md5="3D5DAB2B7F7DD8E45C3EE234AA2196D3" import="0">Core Files/PNM Mods DB/PROMOTIONS/xx_XX/UnitNaming.xml</File>
    <File md5="99F6DA4B2DEF5881FA2FBFE14A504AEC" import="0">Core Files/PNM Mods DB/PROMOTIONS/xx_XX/VariableRecon.xml</File>
    <File md5="340C4993050B8B21DCE3C6ED532EE2F3" import="0">Core Files/Text/CoreText_xx_XX.sql</File>
    <File md5="3D79628BD2F1C7E421D10889876415BB" import="0">Core Files/Text/CoreText_xx_XX.xml</File>
    <File md5="F5A105057DF4D4B6BDDCA3E40D6AB7FF" import="0">Modules/Events/Other/xx_XX/MiscEvents.xml</File>
    <File md5="E876EE4F4F9734DD03DFBAE4E5C74A26" import="0">Modules/Events/Text/xx_XX/City_xx_XX.xml</File>
    <File md5="81898FB9717607C6A611D88F82206C30" import="0">Modules/Events/Text/xx_XX/EventCore_xx_XX.xml</File>
    <File md5="03F89956D42782E42796F95FB5321560" import="0">Modules/Events/Text/xx_XX/Player_xx_XX.xml</File>
  </Files>
For each mod-mod I made sure that I replicated the file structure and the load order of the original module. Furthermore I deleted all unnecessary code in those xml and sql files, that are already processed by the original module. I don't want to merge all sql and xml files in one file per mod-mod, because for the updating progress it is a lot easier to keep track of the changes and to find the correct file.


:c5goldenage: How to add a new language?
This is the most exciting part. So if you want to add the file structure for e.g. Russia, you have to follow the procedure to add the language to the framework. After the process, you will be able to see the content of Vox Populi in the game if you play it in your native language. This means that if you play in Russia, you will have all parts of Vox Populi shown up currently in English until you decide to translate it to Russia.
  1. Prepare the file structure:
    1. Please make sure, that you installed Vox Populi matching the version of the Framework.
    2. After downloading and extracting the Framework, leave it in your Download folder as a working folder. This is how the Framework will look like: View attachment 463593
    3. Do you see the Hit and Go.bat? It will execute the Java file "renameFolders.jar".
      Thanks to merill. Make sure that you installed Java, before you execute the Hit and Go.bat
    4. Please enter the new language tag (ex: de_DE, or ru_RU):
      By executing the bat, you will be asked to enter a language string. So at first you have to know, what language string represents your native language. German e.g. de_DE or Russia ru_RU
    5. In this example I want to translate Vox Populi to Russia, so I enter ru_RU into the window and hit Enter. It will inform you of the quantity of folders and files that have been renamed. That was the first part, you prepared the Framework for your language.
  2. Prepare the actual files of the Framework:
    The last, but most important step is the following one.
    So you prepared all framework modules. If you would start the Game now, nothing would be different than before. There is one last step to do.
    1. Open Notepad++ and press Ctr+SHIFT+F or navigate to Search -> Find in Files
      1. Find what: language_xx_XX - yes those x'es are correct
      2. Replace with: language_your_STRING - e.g. language_ru_RU
      3. Filters: *.*
      4. Directory: PATH to the WORKING DIRECTORY - e.g. E:\Downloads\Vox Populi Translation Framework
        filterx.png

      5. Hit Replace in Files afterwards.
      6. You have prepared all xml and sql files and in addition prepared the file structure.
      7. You can copy all six folders now to the Mods folder of Civilization V. You should know that you don't have to use More Luxuries and so you don't need to use the Framework module.
Double check if your Cache folder is deleted and run the Game afterwards in your native language.

By activating Vox Populi and the Framework in the Mods menu, you should now see English texts for content of Vox Populi like Buildings, Policies, etc.

Please pay attention to the order of activating those mods: (1) Community Patch, then (1a) Community Patch INT, then (2) Community Balance Overhaul, (2a) Community Balance Overhaul INT, etc.


:c5goldenage: How to update the Framework?
I use the program "Beyond Compare 4", but I guess there is also a free program like this.It allows the display of differences of two folders. By copying the original Vox Populi folders to a working directory like the Desktop. Installing the new version of Vox Populi afterwards, you can find out what has been changed.

bc2.png


Now I can navigate to my translation files of the framework and alter my translation.

I recently switched to GitHub and this will make it easier for you to change your translation by looking at the changes (commits) of the Framework.


:c5goldenage: Download

Vox Populi Translation Framework 2.1.26.1
Compatible with Vox Populi 2.1.26.1 (Full Setup EUI)


:c5science: Changelog

Recent changes to 2.1.26.1
  • Added latest changes of 2.1.26.1 to the Framework
 

Attachments

  • filter.png
    filter.png
    28.5 KB · Views: 358
Last edited:
I think this is a great idea and I could work on the Italian version.

However, I think you should contact the people working on Vox Populi and try to understand if there is a way to keep text and translation when a new patch version is issued. I think the best way for doing this is that when modders change some values for improving the balance, they work on a different file: the file with the text should always be the same, because the work involved in translating all the text is about 150-200 hours and it can't be done everytime there is an update.
 
I think this is a great idea and I could work on the Italian version.

However, I think you should contact the people working on Vox Populi and try to understand if there is a way to keep text and translation when a new patch version is issued. I think the best way for doing this is that when modders change some values for improving the balance, they work on a different file: the file with the text should always be the same, because the work involved in translating all the text is about 150-200 hours and it can't be done everytime there is an update.
so github?
 
In my humble opinion github is not the solution. The solution is to have the files with text that keep always the same and different files with values, for a better balance, which are changing.

If this is not possible, then is better to have a final version of Vox Populi, which will not be patched or modified and to translate it.
 
However, I think you should contact the people working on Vox Populi and try to understand if there is a way to keep text and translation when a new patch version is issued. I think the best way for doing this is that when modders change some values for improving the balance, they work on a different file: the file with the text should always be the same
This is not possible and not the way CIV V is working. Even the developers of the game used several files with different languages, all containing values for strength, defense and building costs.
The work involved in translating all the text is about 150-200 hours and it can't be done every time there is an update.
I guess you misunderstood the way my Framework works. If you are interested in translating Vox Populi, you only need to download it once. You will set up your environment and start translating. When an update is going to be released, I will try to update the Framework and my Language Pack as soon as possible. When the update is done, it is not intended that you re-download the files every time and that you start over and over again to add your progress. The Framework should be just the beginning of creating your own Language Pack.

In my humble opinion github is not the solution. The solution is to have the files with text that keep always the same and different files with values, for a better balance, which are changing.

If this is not possible, then is better to have a final version of Vox Populi, which will not be patched or modified and to translate it.
This brings me to GitHub. So when G is releasing a new update, I will do the work for the Community to find out what has been changed on the 'text-side'. I will then push these changes into the Framework and my personal Language Pack. I am doing this with GitHub, because you can easily track those changes by looking at the commits of the Framework. You could get the same result by using a comparing program like 'Beyond Compare 4' and do it on your own. I mentioned it in the Framework post.

I am not that experienced in using GitHub, but I am doing it for all of you who are. It is certainly possible that you fork my Framework and every time I release an update, you can implement them in your repository, but maybe someone can help you a bit more with this topic.

A last comment on your doubts of the frequency of updates, that would result in a possible time consuming process:
I am doing the translation for more than two years now. I work more or less often on the project, but the frequency of official updates (Vox Populi) declined and the amount of text changes, too. While I needed up to two hours of work in the past, in order to implement the latest changes, I now need less than half an hour to implement them. The time of translating the latest changes is already included and I am doing it for the Framework and the Language Pack.

I hope you got a better idea of the project and I hope you are now more likely to start your translation.

Greetings,
Estebanium
 
It sounds great! I will get more familiar with your Framework and I will start translate some text. I will keep you updated about my progress. Thank you for your explanation.

Cheers,

Luca
 
So, im trying to translate to polish and I have a problem with sql ( xml is easy enough ).

Im not using your framework - im just using the Modbuddy

I replaced the UPDATE Language_EN_us with UPDATE Language_PL_PL and it went well ( the civilopedia changed), but all Polish letters dissapired and the text was messed up. So what's the problem? Am I missing something simple? I saw that your German translantion is using German letters. Please help.
 
So, im trying to translate to polish and I have a problem with sql ( xml is easy enough ).

Im not using your framework - im just using the Modbuddy

I replaced the UPDATE Language_EN_us with UPDATE Language_PL_PL and it went well ( the civilopedia changed), but all Polish letters dissapired and the text was messed up. So what's the problem? Am I missing something simple? I saw that your German translantion is using German letters. Please help.
When you edit sql files, you need to use two single quotes (apostrophe).
like this
Code:
city''s science

cf.
http://stackoverflow.com/questions/...alue-that-contains-an-apostrophe-single-quote
 
I can't understand. What am I doing wrong?

English:
Code:
-- Siege Unit
UPDATE Language_en_US
SET Text = 'Moves at half-speed in enemy territory'
WHERE Tag = 'TXT_KEY_PROMOTION_MUST_SET_UP';

Polish:

Code:
-- Siege Unit
UPDATE Language_PL_PL
SET Text = 'Porusza się z połową prędkości na obcym terytorium.'
WHERE Tag = 'TXT_KEY_PROMOTION_MUST_SET_UP';
 
Last edited:
Notepad but when I save in UTF-8 Encoding in game you can see orginal game text not the CP changed one...
 
First thing you need to do: Make sure that you don't have any errors in you sql files. If you are using ModBuddy, open all files and have a look for issues that are posted at the left bottom of the window. Furthermore, please use Notepad++, it is a lot more advanced e.g. you can undo a lot more and converting a file to UTF-8 is a lot easier.
When you downloaded Notepad++, open the file and have a look at the right bottom. You can see the current encoding there. It must be UTF-8, because otherwise umlauts or letters like yours will not be displayed. Your text will look like letters are missing. To fix it, click encoding in the menu and hit "Convert to UTF-8 without BOM". That's it.

How do you do the translation, you said you are using ModBuddy. Did you copy just the Vox Populi installation and started to convert the language tags? If so, you can run into some problems..
 
Zuerst vielen dank für deine wundervolle Arbeit mit der deutschen Übersetzung sehr gute Arbeit, ich bin auch schon ein älteres Semester und dir sehr dankbar für deine deutsche Übersetzung, P.S. kann man dir bei der Übersetzung englisch-deutsch helfen!
und wenn ja wie kannst du mir bitte sagen wie wir in Kontakt treten können, Christian F.
 
Top Bottom