Translation Introduction

From ReactOS Wiki
Revision as of 20:43, 27 July 2014 by Magnos15 (talk | contribs) (Primeiros Passos)
Jump to: navigation, search

A equipa do ReactOS dá as boas vindas a todos os que desejem contribuir na tradução. Este artigo foi escrito para ajuda-lo a iniciar.

Se precisar de mais ajuda sobre coisas, que não estão cobertas pelo artigo, sinta-se livre em perguntar no forum do ReactOS (Secção de Discussão Geral do Forum do ReactOS) ou em Canais de IRC do ReactOS. Também pode nos enviar as suas duvidas para as listas de correio de tradução (ros-translate) ou de lista de desenvolvimento (ros-dev).

Primeiros Passos

Deve verificar se existem outros tradutores trabalhando no seu idioma confirmando na página da List of Translators, também pode contacta-los em IRC. Se houver outros tradutores listados, deve contacta-los e dizer-lhes que está interessado em traduzir. Pode também perguntar-lhes sobre o estado actual da tradução.

Se o seu idioma não está listado, sinta-se a vontade para escrever acima na página em List of Translators em baixo seu nome.

Traduções Wine

The files coming from Wine (list) should be translated in Wine to have them imported later.

Please refer to WineHQ Patch submission guidelines.

Translate ReactOS

Where to download the files

The latest files are available in our Subversion repository. 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 our ViewVC.

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-US.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 (you can also find list of locale names on this MSDN page). 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 is just to begin the actual translation:

  • First change LANG_ENGLISH into your language (Example: LANG_SWEDISH). Depending on your language and location, you might also have to change the Sublang from SUBLANG_NEUTRAL or SUBLANG_DEFAULT.
  • The words to translate are between quotation marks. However, there are some exceptions but often it is pretty easy to see. 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".
  • As most translation resources are now encoded in UTF-8, please save your .rc files as "UTF-8".
  • Leave an end of file line (a blank line) at the end of your rc file for ease of building.

If some of the fields, labels, etc. is too small for your language, you may resize it.

For example, in:

 PUSHBUTTON "&Some text", IDC_ACELIST_REMOVE, 170, 87, 50, 14

The numbers 170, 87, 50, 14 stand for LEFT, TOP, WIDTH, HEIGHT. So, changing 50 to 60 will result in a longer pushbutton.

In case you are not updating old translations, you will have to edit some more files. In each application, DLL, etc. folder, there should be a file named either rsrc.rc or <applicationname>.rc. You shall open it and add the path to your language file in it.

Common Characters

Char Comment
& The ampersand, which is inside some words above. It defines a hotkey; the letter which comes after the ampersand becomes a hotkey.

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

% The percent 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 line break.
/* text */ This is commented text. You may consider leaving the source language text in order to facilitate future work.

Submit your translation

To submit your translation, please create a patch file for it and file a Jira Bug report for it.

Here is a small step-by-step (for TortoiseSVN) guide for doing this:

  1. Right-click on the root folder of ReactOS source folder and click on TortoiseSVN --> Create patch.
  2. Make sure that all your changed files are selected in the appearing dialog and then click on OK. Save the result as a ".patch" file.
  3. Go to Jira, log in and click on Create Issue. Choose "Core ReactOS" as project and "Improvement" as issue type.
  4. Enter a short description in the Summary text box, for example "TRANSLATION: German translation for explorer". In the Description text box enter something similar.
  5. Now, click on the button next to "Attachment" and choose your .patch file.
  6. Click on "Create".


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, i.e. try to not translate the same term differently in different places.


  • 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 is how, we in that team handle it:
  1. Someone translates a file and in our case uploads it to our ftp-server.
  2. Another member of the team proofreads the file and give his/her 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 use or set up an IRC channel on the freenode network and meet there.