Wine HQ

  WineHQ Menu
  WineHQ
  AppDB
  Bugzilla
  Wine Wiki
  Wine Forums
  About
  Introduction
  Features
  Screenshots
  Contributing
  News Blog
  World Wine News
  Press
  License
  Download
  Get Wine Now
  Support
  Getting Help
  FAQ
  Documentation
  HowTo
  Live Support Chat
  Paid Support
  Development
  Developers Guide
  Mailing Lists
  GIT
  Sending Patches
  To Do Lists
  Fun Projects
  Janitorial
  Winelib
  Status
  Resources
  WineConf
  Languages
English English
Español Español
  Search WineHQ

Adding New Languages

4.5. Adding New Languages

This file documents the necessary procedure for adding a new language to the list of languages that Wine can display system menus and forms in. Adding new translations is not hard as it requires no programming knowledge or special skills.

Language dependent resources reside in files named somefile_Xx.rc or Xx.rc, where Xx is your language abbreviation (look for it in include/winnls.h). These are included in a master file named somefile.rc or rsrc.rc, located in the same directory as the language files.

To add a new language to one of these resources you need to make a copy of the English resource (located in the somefile_En.rc file) over to your somefile_Xx.rc file, include this file in the master somefile.rc file, and edit the new file to translate the English text. You may also need to rearrange some of the controls to better fit the newly translated strings. Test your changes to make sure they properly layout on the screen.

In menus, the character "&" means that the next character will be highlighted and that pressing that letter will select the item. You should place these "&" characters suitably for your language, not just copy the positions from English. In particular, items within one menu should have different highlighted letters.

To get a list of the files that need translating, run the following command in the root of your Wine tree: find -name "*En.rc".

When adding a new language, also make sure the parameters defined in ./dlls/kernel/nls/*.nls fit your local habits and language.