Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


This repository is for the translation of OpenRCT2 into other languages.
For the main development and codebase of OpenRCT2, visit OpenRCT2/OpenRCT2.

OpenRCT2's base language is English (UK), this is updated and maintained in the main repository.
Other languages are maintained in this repository.
Changes to the master branch are merged into the develop branch of OpenRCT2/OpenRCT2 every day at 4:00 AM UTC.


Language Non Developer Developer Localisation
English Discord Discord Discord
Nederlands Discord

Build Status


To contribute to the translation of OpenRCT2, you will need to fork this repository.
This allows you to edit and push changes of files to your fork so that you can then open a pull request.
For more information, visit GitHub's official forking guide.

Creating a new language

If you want to begin translating OpenRCT2 for a new language, create a new file in the data directory with the correct two letter language and country codes (e.g. cs-CZ), then paste the contents of the en-GB file into it and start translating the strings.

Maintainers & Maintaining languages

In each commit you create regarding a language file change, start the commit description (aka message) with the language and country code you're translating into, discussed in the previous paragraph (cs-CZ, es-ES, etc) (i.e. git commit -m "es-ES: Description of the commit" )

As this project always are moving forward, new strings get added from time to time which means they need to be added to the language files and be translated. All the new strings that are being added can be found in 'issues' on the localisation webpage here on GitHub. To be a maintainer means that you have to add the new strings found on the issues page into the language you're translating in numerical order.

If you want to become a maintainer, tell us what language you will be maintaining on Discord.

Checking & testing strings in-game

You can always test the translated strings in-game before publishing a pull request. This can be especially handy to see if the strings fits the window.
To do this, go to the directory where OpenRCT2 resides (not to be confused with the directory where it saves your parks and config!), then go to data/language and replace the existing file with your updated version.

Language Status

Newest strings can be found in issues
Language Maintainer
Wuzzy2, Gr33ndev
Not maintained

Note: The status bars can be inaccurate & some maintainers can be more inactive than others.
Anyone can still contribute to the languages.

Languages that inherit from others

These languages only need strings if they differ from the one they are inheriting from

Language Inherits from Maintainer
fr-FR TheClaudeQC

Questions & Support

If you have any question or issues, you can always ask us on Discord.

Checking Translation Integrity

We have an action that automatically runs on every Pull Request and reports, for every supported language:

  • If there are any strings left to translate
  • If there are any strings that do not need translation
  • If there are any strings that might not have been translated, as they are the same

The script is on the repository and can be run locally if one wants to anticipate the results, by doing:

python .github\workflows\ -r <path to en-GB.txt> -m <path to data/language folder on master branch> -b <path to data/language folder on your branch>

Note that -b and -m can use the same argument if you don't want differential analysis.

You can use the --help switch to read more about what each switch does.