-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Language support
RCT2 was originally released in the following languages:
- British English
- American English
- French
- German
- (European?) Spanish
- Italian
- Dutch
- Swedish
- Korean
- Simplified Chinese
- Traditional Chinese
- (Brazilian?) Portuguese
There are three languages in which RCT2 was released later on. These are Japanese, Russian and Polish.
For the Latin languages, RCT2 uses its own code page, which is based on Windows-1252.
Chris Sawyer's website mentions there was also a Japanese version. This is supported by some screenshots and videos provided in chat and on the issue tracker. However, this version is very hard to find, at least when attempting to find it in English.
Examination of a TTP demo has shown some of its files (those belonging to the base game) contain Japanese translations (using ID 8, which was previously thought to be unused). These translations are also present in the Steam version. The translations have been extracted and are now used in OpenRCT2. We don't know whether the G1.DAT from the Japanese version will be compatible with OpenRCT2, and because of this we recommend Japanese players to use the files from the non-Japanese version of RCT2.
Akella has created its own Russian translation of RCT2, which has also been made available by GOG. It also comes with its own G1.DAT which has the non-ASCII characters replaced with Russian characters. This means that non-ASCII names from the regular version will not show up correctly in this version and vice versa. It also lacks a banner font, which causes all of them to appear blank.
The .DAT files have been translated, using the ID for American English (1) for the base game translations, and the ID for British English for the expansion translations. For some reason, the British English fields also contain Russian, but those translations are far more generic and do not appear in-game.
The texts from both the game itself and the .DAT files have been extracted and are now used in OpenRCT2. It is recommended for Russian players to use the files from the regular (English) RCT2 version and not those from this less compatible Russian version.
While RCT1 was released in Polish, RCT2 was not. CD Projekt has created their own translation, by replacing the English translations with Polish (in other words, in the same way Akella did the Russian translation). Polish is encoded using RCT2's own encoding scheme (see Encoding), which does support Polish characters. This is probably because RCT1 supported it. Presumably, RCT1 and RCT2 use the same encoding scheme.
RCT2's DAT files contain translations. Each of them is preceded by a code. Strings are terminated with a 00 character. An asterisk means that the translation is present, but not used.
Code | Language | Present in original | Present in WW | Present in TT | Comments |
---|---|---|---|---|---|
0 | British English | Yes | Yes | Yes | |
1 | American English | Yes | No | No | Falls back to British English |
2 | French | Yes | Yes | Yes | |
3 | German | Yes | Yes | Yes | |
4 | Spanish | Yes | Yes | Yes | |
5 | Italian | Yes | Yes | Yes | |
6 | Dutch | Yes | Yes | Yes | |
7 | Swedish | Yes | Yes | Yes | |
8 | Japanese | Yes* | No | No | Present in the Steam versions and TTP demo, not present in the disk and GOG versions. Only the base game is translated. |
9 | Korean | Yes | No | Yes* | Expansions not officially released in this language. |
10 | Simplified Chinese | Yes | Yes* | No | Expansions not officially released in this language. |
11 | Traditional Chinese | Yes | No | Yes* | Expansions not officially released in this language. |
12 | Unknown | No | No | No | Might have been reserved for Polish. (RCT1 had a regular release in Polish) |
13 | Brazilian Portuguese | Yes | No | Yes* | Expansions not officially released in this language. |
For Latin languages, RCT2 used its own encoding, which is based on Windows-1252. It replaces some characters that RCT2 does not use with formatting codes and Polish characters. This does have the side effect that there is no support for Danish, Norwegian and Icelandic, as the æ, ø and ð are missing, even though there is support for Swedish. Support for Finnish is not complete either, but only š and ž are missing, which (according to Wikipedia) are only used in loanwords.
The Polish characters have been encoded as follows:
Hex code | Dec code | Windows-1250 | Windows-1252 | RCT2-Polish |
---|---|---|---|---|
9F | 159 | Ÿ | Ą | |
A2 | 162 | ¢ | Ć | |
A6 | 166 | ¦ | Ę | |
A7 | 167 | § | § | Ł |
C6 | 198 | Æ | Ń | |
D0 | 208 | Đ | Ð | Ś |
D7 | 215 | × | Ź | |
D8 | 216 | Ř | Ø | Ż |
DD | 221 | Ý | Ý | ą |
DE | 222 | Ţ | Þ | ć |
E6 | 230 | ć | æ | ę |
F0 | 240 | đ | ð | ń |
F7 | 247 | ÷ | ÷ | ł |
F8 | 248 | ř | ø | ś |
FD | 253 | ý | ý | ż |
FE | 254 | þ | ź |
For the non-Latin languages, the following code pages are used:
- Japanese: 932
- Korean: 949
- Simplified Chinese: 936
- Traditional Chinese: 950
Four versions of RCT2 have been examined: the disk version, the Russian GOG version, the TTP demo and the Steam version. The latter two appear to have the same files.
The disk version contains full translations for Korean, Simplified Chinese and Traditional Chinese. For unknown reasons, the ride names in the TTP-demo/Steam versions are in English for those languages.
The Russian GOG version has its translations in the American English fields for the base game, and in the British English fields for the expansions. This mirrors the actual American English translation.
Starting from 0.0.3, OpenRCT2 supports UTF-8. In addition, languages that RCT2 supported will also use the translations in the .DAT files in OpenRCT2. Extra languages will use British English.
Using UTF-8 makes adding new languages a lot easier. In theory, OpenRCT2 could be made to work with any language now, as long as Unicode supports it. The languages that are currently available in OpenRCT2 can be found here.
If a newly added language uses the Latin or Cyrillic alphabet, the sprite font is typically used (see the section below). If letters are missing, the sprite font will be extended to include them, or TTF will be used instead.
Non-Latin, non-Cyrillic languages use a TTF font. The used font and outlining differs per language, meaning that support needs to be added on a language-by-language basis.
RCT2 uses its own bitmap font/sprite font. It has support for the characters in its own encoding, but no others.
OpenRCT2 has extended the sprite font with several letters and other glyphs:
- Ææ and Øø were added to display Norwegian and Danish.
- Ğğ, İ, Şş and ı were added to display Turkish.
- Ăă, ȘȘ and Țț were added to display Romanian.
- Őő and Űű were added to display Hungarian.
- The interpunct (·) was added to display Catalan.
- Čč, Ďď, Ěě, Ňň, Řř, Šš, Ťť, Ůů, Ýý and Žžare were added to display Czech.
- German opening quotation marks („), the ellipsis (…) and the guilder sign (ƒ) were added.
- The Russian sprite font, as seen in the GOG version, was also added (but in a compatible way). It was extended further by creating glyphs for the banner font and adding support for Ёё (yo).
Languages are maintained in the Localisation repository. You can submit new languages or corrections for existing ones there. Changes are merged into the main repository every night.
- Home
- FAQ & Common Issues
- Roadmap
- Installation
- Building
- Features
- Development
- Benchmarking & stress testing OpenRCT2
- Coding Style
- Commit Messages
- Overall program structure
- Data Structures
- CSS1.DAT
- Custom Music and Ride Music Objects
- Game Actions
- G1 Elements Layout
- game.cfg structure
- Maps
- Music Cleanup
- Objects
- Official extended scenery set
- Peep AI
- Peep Sprite Type
- RCT1 ride and vehicle types and their RCT2 equivalents
- RCT12_MAX_SOMETHING versus MAX_SOMETHING
- Ride rating calculation
- SV6 Ride Structure
- Settings in config.ini
- Sizes and angles in the game world
- Sprite List csg1.dat
- Sprite List g1.dat
- Strings used in RCT1
- Strings used in the game
- TD6 format
- Terminology
- Track Data
- Track Designs
- Track drawers, RTDs and vehicle types
- Track types
- Vehicle Sprite Layout
- Widget colours
- Debugging OpenRCT2 on macOS
- OpenGL renderer
- Rebase and Sync fork with OpenRCT2
- Release Checklist
- Replay System
- Using minidumps from crash reports
- Using Track Block Get Previous
- History
- Testing