Translation Introduction

From ReactOS Wiki
Revision as of 18:08, 18 September 2005 by Harteex (talk | contribs) (Spelling)
Jump to: navigation, search

This wiki article is not complete yet


Translating software into the native language of different people is a very important thing to make the software usable to bigger audience.

The ReactOS team welcomes anyone who wish to contribute by translating. This article is written to help you to get started.

The first thing you should check is if there are any other translators working on your language. You can see a list of languages and translators on the Translations page.

If there are other translators listed, you should contact them and tell them you are interested in translating. You could also ask them about the actual translation's status.

If your language isn't listed, feel free to write the langeuage up in the list on the Translations page.

Write your name down under the language together with your email

How to translate

Translating ReactOS is done by editing different resource files (.rc).

Where to download the files

The latest files are available in SVN. Make sure you get the files from there and not from any release since they might be outdated. You can browse and download single files from SVN through this page:

Most of the rc-files are in different folders in lib and subsys/system.

How to translate the files

Below is an example rc-file from ReactOS Access Control List Editor (aclui).

(Note that in a few lines some unimportant things, from a translation point of view, have been cut out fit the formatting of this page)

#include <reactos/resource.h>
#include <defines.h>
#include "resource.h"


CAPTION "Security"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
  LTEXT "&Group or user names:", -1, 7, 7, 105, 8
  PUSHBUTTON "A&dd...", IDC_ACELIST_ADD, 116, 87, 50, 14
  PUSHBUTTON "&Remove", IDC_ACELIST_REMOVE, 170, 87, 50, 14
  LTEXT "Allow", -1, 135, 107, 32, 8, SS_CENTER
  LTEXT "Deny", -1, 176, 107, 32, 8, SS_CENTER

  IDS_PSP_TITLE "Permissions for %1"

The first thing to do is to make a copy of the english rc-file, usually called En.rc, and name it after your language. If you do not know the code for your language, take a look at the 2-letter codes in the bottom of ISO-639. Please note that a few files may differ from this list, for example files originally from Wine. So make sure that a translation of your language does not exist before you start to translate it yourself.

When you have copied the file it's just to begin the actual translation.

  • First change - LANG_ENGLISH

A good thing to start with is to change LANG_ENGLISH into your language. Depending on your language and location, you might also have to change SUBLANG_DEFAULT. A list with choices are available here: link coming soon

  • The &-letter

Note the &-letter which is inside some words above. It defines a hotkey, the letter which comes after the &-letter becomes a hotkey.

A hotkey is a key you can use to fast access different menu's etc. The hotkey is shown with an underline.

  •  %

The %-sign is followed by another character like the %1 you see in the rc-file above. This should not be changed as it is usually a text string or a value being printed.

  • \n

This is a linebreak.

Now the translation is pretty straight-forward. The words to translate are between quotation marks. However, you should not translate all words in quotation marks, there are some exceptions. But often it's pretty easy to see in the file what to translate and what to not translate. For example you should not translate "MS Shell Dlg" (which is a font, as you can see in the beginning of the line) or "SysListView32".

Submit your translation

One way to submit your translation could be to speak with an operator on the ReactOS IRC channel.

Additional help

If you need more help, feel free to send your question to the translation mailing list (ros-translate). You can also speak with an operator in the ReactOS IRC channel.


You don't have to translate everything exactly the same as Windows. If you believe you can translate something better than Windows, go on! However you are encouraged to keep common terms, like for example the menus in the windows.

Also, Try to keep your translation consistent, ie try to not translate the same term differently in different places.

Guidelines / Tips

There are no enforced guidelines, but some things that are recommended.

  • Proofreading

By having another member of your translation team proofreading all your translations and giving his/her suggestions, the translation will keep a higher quality. This idea started in the Swedish translation team, and this how we in that team handle it:

1. Someone translate a file and in our case uploads it to our ftp-server.

2. Another member of the team proofreads the file and give his/hers comments.

3. The original author makes changes accordingly to the comments if he/she agrees with them.

4. If there is anything the two members don't agree on, we have a vote by all members.

Of course you don't need to follow these steps but some kind of proofreading is highly recommended.

  • A place to meet and chat

Having a place to meet and chat makes the translation a lot easier. A tip is to set up an IRC channel on the freenode network and meet there.


In this section I've decided to add questions and answers which were asked on irc and/or the ros-translate mailing list.

  • Q: Which files will be translated by the WINE project?
  • A: The Wine translations are already available in the ReactOS source tree. If you would translate/update a file which is also in Wine, the commiter will also send the update to Wine.