User-Made Translations

COOT now has the ability to use fan translations (for COOT version 1.7.4 or higher). Players can take the scripts provided here, translate the dialogue and additional text, then put the translated files back into the game. Note: the game itself is almost 200,000 words!


1. Get the Translation Files

Download this file and unzip it.

This will create a folder called “tl”. Inside you’ll find a folder called “languagetwo”. Don’t change the structure of these folders. “languagetwo” always needs to be inside “tl”.

Inside “languagetwo” are the files you need to change. All of them end in .rpy. Ignore the ones that end with .rpyc. Make sure you keep the .rpy extensions (don’t add .txt or .doc to them). You can use notepad or a text editor to change the files. Always use spaces instead of tabs.

2. How to Translate

Example 1:


translate languagetwo ending_closet_fecbe125: <---- leave lines like this alone

  # mside "Hello, friend." <---- leave lines with # alone
  mside "Hello, friend." <---- you will need change whatever is between the quotation marks


If you were translating the game into Spanish, this would now look like:


translate languagetwo ending_closet_fecbe125: 

  # mside "Hello, friend." 
  mside "Hola, amigo."


Example 2:

Other parts of the game (menu choices and special commands) will look like:


# screens.rpy:803
old "Goodbye"
new "Goodbye"


The ONLY part you would change is the “new” line, specifically the text BETWEEN the quotation marks. So the translated lines would look like this:

# screens.rpy:803
old "Goodbye"
new "Adios"


Example 3:

Ignore anything between { } or [ ] or after \ where \ is followed by a symbol or letter.

For example, in the poetry files, you may see a lot of stuff that looks like:

# typing "{i}[poem_title!t]{/i}\n\n{cps=50}[poeml1!t]{/cps}"
typing "{i}[poem_title!t]{/i}\n\n{cps=50}[poeml1!t]{/cps}"

There is nothing to translate there. Those are all formatting and variable expressions, so you can ignore that.

Note about the trivia game

It would be rough to translate all the trivia questions and answers, so they’ve been left out of the translation files.  If you decide to play the game with translation, the game WILL give you an option to skip and win the trivia game.

Note about common.rpy

If you do a search for your language and “renpy common.rpy” you may be able to find a common.rpy file that’s already been translated for you in that language. (Common.rpy contains common words that are used by the Renpy engine.)

3. Fonts

To use another language font, RENAME the font to “languagetwo.ttf” or “languagetwo.otf” and place the font file in the “languagetwo” folder. You can use any font with the .ttf or .otf extension. Just make sure it’s renamed! ALL the fonts in the game will be changed to this one particular font.


4. How to Use the Translated Files

Once you’re done translating (whew!), put the entire “tl” folder in the “game” folder of Coming Out On Top.

On Steam you can use “BROWSE LOCAL FILES” to find this folder more easily when you right click on COOT in the library.

Exit and restart the game. In the main menu you will now see a “language” option. Choose “other language” and you’ll see the translations appear.


5. Error Messages

If you find you are getting strange error messages like “DecodeError: ‘utf8’ codec can’t decode byte 0xba in position” or “invalid start byte”, you may need to use a different text editor to create the language files. Jedit is one of the free text editors that should correct this issue.


6. For More Information

The Renpy engine website has more info about translating.






3 thoughts on “User-Made Translations

  1. hello i need help translating the game into my language.
    Or is there somewhere already translated scripts?

  2. So I can’t translate my answers in the game? From what I understand, only the dialogues and texts, but not my choices?

    1. Hi Phelipe. Because the choices had to be parsed differently due to the way we created the menus, you’ll find the choices towards the end of the script.

Leave a Reply to Sascha Ryan Cancel reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.