<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="author" content="Ixen Gerthannes">
<LINK REL="stylesheet" HREF="style.css" TYPE="text/css">
<script language="JavaScript" src="headfoot.js"></script>
</head>

<body>
<script>header("Translation of the program");</script>

<div class="doctext">
To translate a program to your native language you need to edit the file program.lng.<br>
This file is divided into sections:
<ul>
<li><b>Info section</b> - it looks like this:
<pre>
[Info]
Lang Name=English
Lang Code=1033
Base Language=
Font Face=Tahoma
Charset=1
Size=8
RTL reading order=0
Help name=english.chm
Author=Ixen Gerthannes
Version=1.26
</pre>
<table class="doctext" border="1">
<tr bgcolor="lightgrey"><td>Field</td><td>Description</td></tr>
<tr><td>Lang name</td><td>the name of your language.</td></tr>
<tr><td>Lang code</td><td>the language ID of your language.</td></tr>
<tr><td>Base language</td><td>the name of the other language file that will be used if there are some missing strings in your file. You would probably put here 'english.lng'.</td></tr>
<tr><td>Font Face</td><td>Name of the font that will be used to display dialog boxes. The standard font for dialog boxes is 'Tahoma' - change it when the standard font does not properly display the text in your language.</td></tr>
<tr><td>Charset</td><td>charset code of the font you are using</td></tr>
<tr><td>Size</td><td>Point size of the font</td></tr>
<tr><td>RTL reading order</td><td>specifies if the language should be read in right-to-left (some Arabic languages) order or left-to right (most of the European languages).</td></tr>
<tr><td>Author</td><td>the name of the person that has translated this file</td></tr>
<tr><td>Version</td><td>version of this translation file - it should be the version of program for which the file has been prepared.</td></tr>
</table>
</li>
<br>
<li><b>Menus, dialog boxes and string table</b> - all of them are in the form of:
<pre>
[135]
32774=Time critical
32775=Highest
32776=Above normal
32777=Normal
32778=Below normal
</pre>

The number in square brackets contains the identifier of the main resource. The '[0]' section is the one that contains the string table. The strings are in the form 'id=text'. The id is either control id (in the dialog boxes) or menu item id (in menus) or the string id (in the string table).<br><br>

When translating the menus make sure:
<ul>
<li>that you change the ampersands chars ('&') in the way that in the each menu there are not the same two combinations of ampersand and the letter forward to it. (ie. the shouldn't be '&Exit' and 'Chang&e' strings in one menu because the '&' sign precedes two times the 'e' letter.</li>
</ul>
<br><br>
When translating the dialog boxes make sure:
<ul>
<li>that you leave the spaces ' ' one the beginning and at the end of a string if there were any in the source translation. They are needed by the program to properly display some things.</li>
</ul>

<br><br>

When translating the string table make sure:
<ul>
<li>that you do not change the order of the formatting strings (they begins with the '%' sign - ie. %s, %lu, ...) nor delete them. It could cause the program to work unstable or to crash.</li>
<li>that you leave the space characters at the beginning and at the end of the line if there are any (just liku in dialog boxes).</li>
<li>that you properly modify the strings - there are some character pairs that has a special meaning (they are translated before showing the text in program) - '\t' is translated to a tab, '\r' to a carriage-return and '\n' to new-line.</li>
</ul>

</li>
</ul>
<br>
And do not forget to change the file program.lng to something like arabic.lng or russian.lng so anybody would know what language it is.

</div>

<script>footer();</script>
</body>
</html>