  <chapter id="i18n">
    <title>Internationalization</title>

    <sect1 id="adding-languages">
      <title>Adding New Languages</title>

      <para>
        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.
      </para>

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

      <para>
	To add a new language to one of these resources you
	need to make a copy of the English resource (located
	in the <filename>somefile_En.rc</filename> file) over to
	your <filename>somefile_Xx.rc</filename> file, include this
	file in the master <filename>somefile.rc</filename> 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.
      </para>

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

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

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

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-parent-document:("wine-devel.sgml" "set" "book" "part" "chapter" "")
End:
-->
