John Mulcahy
REW Author
Thread Starter
- Joined
- Apr 3, 2017
- Posts
- 8,562
I have made a start on the internationalisation of REW. The latest V5.40 beta build adds a new folder in the REW installation folder, "bundles":
The bundles folder has a set of .properties files, which are text files with REW's user interface text. The end of the file name indicates the language and country the file will be used for, files for Korea would have names ending _ko_KR, e.g. apiprefs_ko_KR.properties. To create translation files, first make copies of the bundles folder files, then change the names of the copies to have the correct ending. After entering translated text the files can be copied back into the bundles folder (keeping any existing files) and when REW is restarted it will pick up the new content if the machine's default locale settings match the filename. The default locale can be seen in the About REW box:
The files contain entries in a KEY=text format, here are the first few lines of the apiprefs properties file as an example:
# Copyright (c) 2025 John Mulcahy All Rights Reserved
# API preferences elements not already covered by prefboxlabels and prefhints
PORT_HINT_TEMPLATE=Enter a port number between {0} and {1}, default is {2}
START_SERVER_BUTTON=Start server
The key must not be altered, the translated text should appear after the =.
Entries with _TEMPLATE in the name have values inserted by REW when using the contents, those values are indicated by the {0}, {1} etc parts of the text. Those must be retained by the translation, with the {0} etc. placeholders in the position they should occupy in the translation.
Entries that end _HINT are used for the tooltips that appear when hovering over a UI element. There is a lot of freedom when translating those. Other entries may be for buttons, labels or headings and that is generally indicated in the key. There may be layout issues in REW when translations are much longer or shorter than the English text. If you notice those, let me know where they occur and I will address them.
Long lines of text in the properties files can be broken up by using a \ character, which indicates that the text continues on the next line. That is just a convenience for editing, it does not change how the text appears in REW.
Some text has embedded html tags, e.g. <br> for a line break. Those should be preserved in translations, but placed appropriately. Do not add html tags in text that does not already have them.
I have more properties files to create, but I will avoid changing the files already generated as far as possible.
Completed translation files can be sent to me to include in the next REW release. This thread can be used by folk wishing to work on translations to coordinate their efforts, hopefully saving duplicated work and helping get agreement on the correct translation entries.
The bundles folder has a set of .properties files, which are text files with REW's user interface text. The end of the file name indicates the language and country the file will be used for, files for Korea would have names ending _ko_KR, e.g. apiprefs_ko_KR.properties. To create translation files, first make copies of the bundles folder files, then change the names of the copies to have the correct ending. After entering translated text the files can be copied back into the bundles folder (keeping any existing files) and when REW is restarted it will pick up the new content if the machine's default locale settings match the filename. The default locale can be seen in the About REW box:
The files contain entries in a KEY=text format, here are the first few lines of the apiprefs properties file as an example:
# Copyright (c) 2025 John Mulcahy All Rights Reserved
# API preferences elements not already covered by prefboxlabels and prefhints
PORT_HINT_TEMPLATE=Enter a port number between {0} and {1}, default is {2}
START_SERVER_BUTTON=Start server
The key must not be altered, the translated text should appear after the =.
Entries with _TEMPLATE in the name have values inserted by REW when using the contents, those values are indicated by the {0}, {1} etc parts of the text. Those must be retained by the translation, with the {0} etc. placeholders in the position they should occupy in the translation.
Entries that end _HINT are used for the tooltips that appear when hovering over a UI element. There is a lot of freedom when translating those. Other entries may be for buttons, labels or headings and that is generally indicated in the key. There may be layout issues in REW when translations are much longer or shorter than the English text. If you notice those, let me know where they occur and I will address them.
Long lines of text in the properties files can be broken up by using a \ character, which indicates that the text continues on the next line. That is just a convenience for editing, it does not change how the text appears in REW.
Some text has embedded html tags, e.g. <br> for a line break. Those should be preserved in translations, but placed appropriately. Do not add html tags in text that does not already have them.
I have more properties files to create, but I will avoid changing the files already generated as far as possible.
Completed translation files can be sent to me to include in the next REW release. This thread can be used by folk wishing to work on translations to coordinate their efforts, hopefully saving duplicated work and helping get agreement on the correct translation entries.