Skip to content

Overview of OpenRCT2 repositories on GitHub

Ríša Szlachta edited this page Jul 27, 2025 · 1 revision

This article is written from translator's point of view for a reference when translating and does not encompass all repositories of OpenRCT2. This means that information presented may be considered inaccurate when taking whole project into account.

Repositories and partition of resources

Due to it's size, complexity and a vast number of contributors, OpenRCT2 is divided into several repositories on GitHub. These are each spaces of their own and are not directly linked together. This means that PRs (changes) merged into to Localisation or any other repository (except main OpenRCT2) still need to be merged once again. Although OpenRCT2 takes advantage of various automated processes to compile code and present development builds on daily basis, it still can time for a newly translated strings to be merged into the actual game version that is used by a general audience.

Localisation

Located at https://github.com/OpenRCT2/Localisation resides main localisation repository. It consist of two main parts: data/language and objects. The data/language part gets automatically merged every morning (European time) into the main repository, while objects are merged manually by developers, mostly before assembling a new release.

data/language

More than a half of strings (texts) player can see in the game are translated here. Everything from window titles thru guest thoughts to error tooltips.

Being exception, this folder does not contain original en-GB strings, which are located in en-GB.txt in main repository. Language folder stores only translations, one in each .txt file. File is format is plain text, lines beginning with STR_ and corresponding string number. After colon (:) a string follows. The string may contain special sequences denoted by pair of curly brackets (e.g. {STRINGID}), these will be substituted by meaningful word, phrase or number when the game is running. Any line begging with # is considered a comment.

objects

The objects are not only ordinary objects as one would simply think about (e.g. wall, tree, merry-go-round, roller coaster and it's train), but also objects as data structures, e.g. scenario names and descriptions. Each file contains JSON data structure for one translation. In such file original string can be observed and translation entered. Original strings are denoted by reference- prefix, translation goes into non-prefixed fields. For example, "reference-description": "Original text", "description": "Translated text" .

Objects

Not to be confused with objects folder in Localisation repository, as discussed above. There is no need for translator to touch this repository.

OpenMusic

In OpenMusic reside about a dozen strings, spread thoroughly into .json files, some of them being in sub-folders. These apply to OpenMusic styles, which are used in game as music played by rides, alongside with legacy RCT2 music tracks. In terms of structure, there are separate .json files containing mostly one string to be translated. This is done simply by adding another key-value pair below those already present. Original string is denoted by "en-GB" key.

Other repositories in and outside OpenRCT2

There exist a few translatable strings outside scope discussed above. One of them being windows installer strings, which are as shown in the link, covered as issue under Localisation repository. As part of localisation efforts, such issues are to be found in Localisation repository.

Clone this wiki locally