Contribution offer: Localization work

Shachar Shemesh wine-devel at shemesh.biz
Mon Mar 8 05:51:30 CST 2004


Ivan Leo Murray-Smith wrote:

>Look at the programs directory, most programs can be translated. You're usually
>looking for a De.rc file, if it's missing, make a second copy of the En.rc file,
>and call it De.rc. Now translate the strings in the file. You then have to edit
>the header file, this may be another rc file. In can case you can find the file
>by running
>grep En.rc *
>in the programs directory.
>Open the file, and add
>#include "De.rc"
>in alphabetical order in the list of language rc files. Once you've done this,
>make a patch, so your work can be easily applied to the wine source tree, a
>howto is at http://www.winehq.com/site/sending_patches.
>Also note that quite a few dlls need translating too. The file may not always be
>En.rc, for example in dlls/commdlg it's called cdlg_En.rc
>Finally, one important thing is keeping the translations up to date, so you
>should update the translation every time there is a change in the english
>resource file. Don't forget to check that the existing translations are up to
>date and correct.
>Once you've done a patch, send it, in the email body or as an attachment, to
>wine-patches at winehq.com
>This should give you plenty of work for now :-)
>
>Ivan.
>  
>
Adding a small piece of detail to Ivan's excellent explanation - You 
will also need to change the resource langauge ID when starting the 
translation. These come after the "LANGUAGE" directive. English 
resources will typically have "LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT". 
If you are going to do German, you will need LANG_GERMAN, 
SUBLANG_DEFAULT for most cases and for the Germany's German version.

If you want to go into the details of creating dialects, for example, 
because a certain term is said differently in Swiszerland than in 
Germany, you will need to set a different sublang for it 
(SUBLANG_GERMAN_SWISS in this case). All sublanguages are defined in 
include/winnt.h. If you do decide to go into sublangs, make sure that 
SUBLANG_DEFAULT always exists.

Also, when you translate menus and other UI texts, you may come across 
an apersand in the text ("&Ok"). This marks where the underline goes 
when the text is displayed (for keyboard shortcuts). Move it to whatever 
seems apropriate to you, but make sure that the same menu doesn't have 
two entries with the same character underlined.

Last (and least), I don't think accelerators are used today in any of 
the builtin winelib apps. If you happen to come across them, however, 
let this list know and we'll instruct you how to handle those.

-- 
Shachar Shemesh
Lingnu Open Systems Consulting
http://www.lingnu.com/




More information about the wine-devel mailing list