Differences
This shows you the differences between the selected revisions of the page.
2005-11-20 | 2005-11-20 | ||
making the english a little more idiomatic (80.58.14.107) | correcting english (80.58.14.107) | ||
Line 8: | Line 8: | ||
If I need your help (the language is either not being translated at all or there is still lot of work to do on it or the translation is abanoned and I need a maintainer for it), I'll create a [[this>../transladmin.php|translator account]] for you. Your username is always your e-mail address. | If I need your help (the language is either not being translated at all or there is still lot of work to do on it or the translation is abanoned and I need a maintainer for it), I'll create a [[this>../transladmin.php|translator account]] for you. Your username is always your e-mail address. | ||
- | ==== How to Translate? ==== | + | ==== How Do I Translate? ==== |
- | Once you have a translator account, you may login to translation web-interface. There select your language. Before you will be also to download INI file with strings to translate, you may need to press //Update// button. If the INI file for the language does not exists yet, it will be created. If it already exists, it will get updated, in case it does not contain all strings from the most recent version yet. This can happen if the last translator abanoned the translation while ago. You may need to press //Update// button also with every new release. | + | Once you have a translator account, you may login to the translation web-interface. Once there, select your language. Before you can download the INI file with the strings to translate, you may need to press the //Update// button. If the INI file for the language does not exist yet, it will be created. If it already exists, it will be updated, in the case that it doesnt contain all the strings from the most recent version yet. This can happen if the last translator abandoned the translation a while ago. You may need to press the //Update// button with every new release. |
- | Format of the file is like INI file, example: | + | Format of the file is like the INI file, for example: |
<code> | <code> | ||
Line 22: | Line 22: | ||
</code> | </code> | ||
- | Where file is either form (dialog) definition (''.dfm'' extension), resource strings file (''.rc'' extension) or strings for [[installation|setup application]] (''.isl'' extension). Key should give you some idea about purpose of the string. For form definitions it is context and the name of component using the string. The strings that need to be translated have keyword ''<translate>'' in place of "translated string" (initially all strings). | + | Where the file is either a form (dialog) definition (''.dfm'' extension), a resource strings file (''.rc'' extension) or strings for [[installation|setup application]] (''.isl'' extension). The key should give you some idea about the purpose of the string. For the form definitions it is a context and the name of a component using the string. The strings that need to be translated have the keyword ''<translate>'' in stead of "translated string" (initially all strings). |
Example: | Example: | ||
Line 31: | Line 31: | ||
</code> | </code> | ||
- | The "Shell" is title (caption) of shell group box on //[[ui_login_scp|SCP tab]]// of Login dialog. | + | The "Shell" is the title (caption) of the shell group box on //[[ui_login_scp|SCP tab]]// of Login dialog. |
- | There are two special sections. ''[default.isl]'' contains general strings for setup application ([[&url(innosetup)|Inno Setup]]). The application is already translated to [[&url(innosetuptransl)|several languages]]. If your language is among them, I'll copy the translation to this section. Please check for typos and other mistakes in the section. | + | There are two special sections: ''[default.isl]'' contains general strings for the setup application ([[&url(innosetup)|Inno Setup]]). The application has already been translated to [[&url(innosetuptransl)|several languages]]. If your language is among them, I'll copy the translation to this section. Please check for typos and other mistakes in this section. |
- | ''[Obsolete strings]'' section contains translated strings that are no longer used in the latest version of application. Also when I need to significantly change original english string, I try to change the string key as well, if possible. In this case your translation will move to ''[Obsolete strings]'' with next update. This forces you to update the string translation. You may reuse original translation from obsolete section, if appropriate. Then you may safely remove whole section. | + | The ''[Obsolete strings]'' section contains translated strings that are no longer used in the latest version of the application. Also when I need to significantly change the original english string, I try to change the string key as well, if possible. In this case your translation will move to ''[Obsolete strings]'' with the next update. This forces you to update the string translation. You may reuse the original translation from an obsolete section, if appropriate. Then you may safely remove the whole section. |
- | Some strings contain parameter placeholders like ''%s'' or ''%d''. These are replaced by actual value on run-time. Make sure that you keep the same order as in english string. I know it can be sometime difficult, because some languages have different word-ordering, but it have to be so. Also translated string should have approximately same length as original string. This applies mainly for strings that appear on dialogs. The error messages etc, might be usually as long as necessary. | + | Some strings contain parameter placeholders like ''%s'' or ''%d''. These are replaced by the actual value at run-time. Make sure that you keep the same order as in the english string. I know it can be difficult sometimes, because some languages have different word-orders, but it has to be so. Also translated strings should have approximately the same length as the original string. This applies mainly for strings that appear on dialogs. The error messages etc, might be usually as long as necessary. |
- | Some strings use ''&'' character to mark accelerator character (the one after ''&''). When user presses ''Alt-X'', where ''X'' is the accelerator character, associated control (button, edit box, menu, etc.) receives focus (cursor moves to it, etc.). The accelerator character should be unique on each screen (window). It is also difficult to maitain this, as the dialogs use often strings from different sources. So you'll probably succeed with this after several tries. | + | Some strings use the ''&'' character to mark the accelerator character (the one after ''&''). When the user presses ''Alt-X'', where ''X'' is the accelerator character, the associated control (button, edit box, menu, etc.) receives the focus (cursor moves to it, etc.). The accelerator character should be unique for each screen (window). It can be difficult to maintain this also, as the dialogs often use strings from different sources. So you'll probably require several attempts to get it right. |
- | Also please, if you encounter strange sequence like ''#13#10'', include it in translation too. For such strings I recommend you to copy the English one and replace the words only, keep the "strange" patterns. Avoid ever using double quotes (''"''), use always single-quotes ('''''), in this just follow the way the original english string is written. Double quotes are used to mark begin and end of the string. | + | Also, please, if you encounter strange sequences like ''#13#10'', include it in translation too. For these strings I recommend that you to copy the English one and replace the words only, keep the "strange" patterns. Avoid ever using double quotes (''"''), use always single-quotes ('''''), in this just follow the way the original english string is written. Double quotes are used to mark begin and end of the string. |
In section ''[TextsWin1.rc]'', the first string has key ''TRANSLATOR_INFO''. This string will appear on [[ui_about|About dialog]]. You may enter there anything you want. Like "Transation (c) 2005 Your name", or whatever you want. | In section ''[TextsWin1.rc]'', the first string has key ''TRANSLATOR_INFO''. This string will appear on [[ui_about|About dialog]]. You may enter there anything you want. Like "Transation (c) 2005 Your name", or whatever you want. |