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.
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 (
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.
|Newest strings can be found in issues|
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
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\translation_check.py -r <path to en-GB.txt> -m <path to data/language folder on master branch> -b <path to data/language folder on your branch>
-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.