How to contribute

Started by Tynan, April 11, 2014, 09:43:08 AM

Previous topic - Next topic

Tynan

This page has info on how people can contribute to the fan-made RimWorld translations. Thank you very much for taking an interest!

How it works: We keep the translations on a popular public collaboration website called GitHub, on the Ludeon GitHub page. GitHub works through a program called Git, which is used to manage repositories of data. Git tracks each change made to the repository, so you can see what's changed, when it changed, and what was there before. It makes it easy to understand who has done what, and remove mistakes.

When Ludeon releases a new version of the game, we pull all the data from the GitHub repositories for each language and include it with the main game. So any translation work you do will be available to everyone as soon as the game is updated.

IMPORTANT LICENSE INFO: These projects are officially-supported fan translations of RimWorld. Ludeon may include content derived from these projects in official releases of RimWorld without owing money or credit to anyone (though you can put your credits into your translations info and will appear in the main game's credits listing). By contributing to these projects you agree to give Ludeon a nonexclusive transferable perpetual worldwide license to use your contributed content in any way in any product, with or without credits, without any compensation except for the satisfaction of the work and community. If your content is in any of these repos and you don't wish these terms to apply to you, contact me immediately at [email protected].

How to contribute

  • Download Git from this page and install it.
  • Go to https://github.com/Ludeon and navigate into the page for your project.
  • Copy the URL of the language project page. For example, if it's French, it'll be https://github.com/Ludeon/RimWorld-fr
  • Open the command line on your computer (here's how), navigate to the folder where you want to keep your translation files. Then type "git clone", then a space, then paste in the URL you copied before. Press ENTER to run the command. This will clone the repository to your computer. More help on this.
  • Download and install Visual Studio Code. Despite the name, this is not just for code. This is a free lightweight text editor with direct Git integration.
  • Use Visual Studio Code to open the folder you cloned. You can now editing the translation files on your computer! You can even commit changes to the repository right in VSCode, without using the command line. This modifies the repository on your computer, but doesn't affect the repository on GitHub. To upload your changes to the repository on GitHub, you need to do more.

    Get set up to contribute to the central GitHub repository:

  • Create a user on GitHub.com.
  • Email support pro Michael at [email protected] telling him the language and your GitHub user name. He will give you access to the appropriate GitHub repo.
  • Work with the other translators through GitHub and the forum page to improve the translation. Remember it's a team effort; sometimes people have different opinions on the best way to translate, so please be ready to collaborate with others.
  • Create a forum account on this forum.
  • Go to the appropriate forum page for your language (listed here) and make a post introducing yourself to the other translators.

    The game has a tool that inserts the original English data in comments in the files and creates "TODO" stubs for every necessary translation automatically. It is extremely useful. If you don't see an "EN:" comment with the original English data above each translation in your translation files, nobody has run the translation cleaner tool yet. You'll need to integrate the files into RimWorld as described and run the tool to update the files for translation.

    Integrate your working files into RimWorld so you can test:

  • Download the version of RimWorld you want to translate, through Steam or your DRM-free download link (you'll need to own the game).
  • If you're working with the Steam version, you need to copy the RimWorld files, otherwise Steam may overwrite the changes you make to the translation. Find the RimWorld folder in your Steam installation. It'll be on a path similar to this:

    C:\Program Files (x86)\Steam\steamapps\common\RimWorld

    Copy that folder, and paste it in another folder on your PC (like C:/Translation/RimWorld).
  • Delete the translation from your copied installation of RimWorld.
  • Move your cloned Git translation folder into its place and change its name to match.
  • You can now start your copied version of RimWorld and test your translation, pull changes from Git continuously. Note that if the game gets updated, you'll need to repeat this process.
  • Start your copied version of RimWorld. Select your language on the main menu.
  • On the main menu, in the bottom left translation info window, click the "Translation cleanup" button. This updates all the translations files to the latest English data format, and inserts the original English text into comments you can reference while translating.
  • On the main menu, in the bottom left translation info window, click the "translation report" button. This produces a text file with info on the translation and what it needs.


Useful info:

There's a English translation available here for reference. This has all the game data in it, in English, ready to be translated to other languages. You can copy the XML over and translate it in-place. Link to English translation on GitHub. Thanks to forum user duduluu for maintaining it.

Duduluu also created a translation tool called RimTrans.

Core language files are stored in (GameFolder)/Data/Core/Languages. The original English data is in (GameFolder)/Data/Core/Languages/English.

Metadata: Translations have metadata that gives them a name and flag.
--- Create a FriendlyName.txt which contains the name of your language in your language (e.g. Italiano not Italian).
--- Create a flag image in PNG format, 128x64 pixels, called LangIcon.png. See other languages for reference.

There are four kinds of translation in RimWorld:

  • Keyed translations are used by the game with their "key". e.g. the game wants to show the game-over message, so it looks up the string with the key "GameOverMessage" in the currently-selected language and displays that.
  • DefInjected translations are different. These work by modifying the core "defs" that define every item, faction, storyteller, skill, and so on. They are data that is "injected" directly into the def data that the game runs on. These are translated by creating a DefInjected folder in your language folder. The en-US language folder lacks one of these because all the original def data is in English so no English data needs to be injected. However, you can see examples from other languages like German.
  • Backstories translations are used to translate character childhood and adulthood backstories.
  • Strings translations are files full of simple lists of "strings" of words. These are used when randomly assembling text, as in art descriptions.

To translate DefInjected stuff, you'll have to look through the various defs in (GameFolder)/Mods/Core/Defs and create translations for each field of each def that you want to change in your language. The basic format is <defName.fieldName>, where defName is the defName of the def you want to inject into, and fieldName is the name of the field. So, for example, if you want to modify the label of wood, you'd write <Wood.label>Bois</Wood.label>. This would change the label of wood to "Bois". For more complex structures like lists, there are other formats to use described here.

Be sure to save your translation files with UTF-8 encoding, or special characters won't show up properly in-game.

Do not leave copies of game data in your translation repo. We don't want to ship a bunch of copies of useless game data, and it will produce errors when the translation is used in-game.

To help with updating translations, translator WMP wrote a tool that finds the difference between two translations. Run it with another more mature translation (or with the English data) and it can show you what tags you still need to translate. Find it here.
Tynan Sylvester - @TynanSylvester - Tynan's Blog

Neone

I started working on translation to Polish.

Keinos

#2
Hello! Here one user that SUPER EXCITED about version A3 has been released.
By the way, I am really into translating also want to translate to my own language.
So if it's possible, could you let me get in to the test group?

Tarrke

I found out that french translation file in the Core Mod and just correct it a bit.

I'd really like to help translate the full game into french.

[attachment deleted by admin: too old]

Semmy

Like tynan said please send me a pm (-:

And we can take care of it.
The only thing necessary for the triumph of evil is for good men to do nothing.
Edmund Burke

Ermantis

Hello there, french fan here.
So i've been working on the french translation all evening, and I've done some pretty good progress. Most of the menus are translated. ;)
I still have to do all the defs, which is quite of work, but i'll manage doing it... ;)
Not sure what is the use of getting in the test team ?
Any way, i'll post my work in a topic in this section when it's done !

confusedwings

i would like to do translation to 'Dutch' (Nederlands)

but since i don't have the game anymore (see other topic about finding out i had a illegal version)
I would need to get the files where i can do the translations on...

Ermantis

Well, that's it, there is my first shot... Still have a bunch of questions to be answered to have a fully working translation, but that's quite a good start for those french guys ;)

Semmy

Quote from: confusedwings on April 12, 2014, 07:22:27 AM
i would like to do translation to 'Dutch' (Nederlands)

but since i don't have the game anymore (see other topic about finding out i had a illegal version)
I would need to get the files where i can do the translations on...

I would advise you to get the game in a legal way.
Than we can talk about adding you to the team where all the files are available.
The only thing necessary for the triumph of evil is for good men to do nothing.
Edmund Burke

AcDie


confusedwings

Quote from: Semmy on April 14, 2014, 05:11:17 AM
Quote from: confusedwings on April 12, 2014, 07:22:27 AM
i would like to do translation to 'Dutch' (Nederlands)

but since i don't have the game anymore (see other topic about finding out i had a illegal version)
I would need to get the files where i can do the translations on...

I would advise you to get the game in a legal way.
Than we can talk about adding you to the team where all the files are available.
I got the game now! Somebody on this forum sende me a PM and after some talking he gave me the money on my new paypall account. (I won't tell his/her name in public so the person wil not be burried in request for money).
I already started on translations to dutch.
it's a slow going proces since it hard to keep talking about the game and not to play it :p

StorymasterQ

Quote from: confusedwings on April 14, 2014, 10:54:51 AM
I got the game now! Somebody on this forum sende me a PM and after some talking he gave me the money on my new paypall account.

The things people do for their beloved game! Happy for you, CW!
I like how this game can result in quotes that would be quite unnerving when said in public, out of context. - Myself

The dubious quotes list is now public. See it here

Ribas

Updated the portuguese version.
I'll now start on the spanish version.

AlyxMS

Tynan, since the UpdateNonEnglishTranslations.bat in the latest test version has targeted to AlyxMS/RimWorld-cn, there is no sense I should keep updating the RWTP repo.
All the other RWTP projects aside from sk and ru are already deleted, and I don't have permission to delete it by myself, can you delete the zh-CN in RWTP? Thanks.
I'll keep working on the RimWorld-cn repo.

Tynan

Quote from: AlyxMS on April 23, 2014, 06:49:30 AM
Tynan, since the UpdateNonEnglishTranslations.bat in the latest test version has targeted to AlyxMS/RimWorld-cn, there is no sense I should keep updating the RWTP repo.
All the other RWTP projects aside from sk and ru are already deleted, and I don't have permission to delete it by myself, can you delete the zh-CN in RWTP? Thanks.
I'll keep working on the RimWorld-cn repo.

Sounds good, I will delete it.

I thought I sent you a message a couple days ago asking you to switch to your personal repo :P Must have missed it.
Tynan Sylvester - @TynanSylvester - Tynan's Blog