Differences

This shows you the differences between the selected revisions of the page.

translation_admin 2020-06-22 translation_admin 2025-02-05 (current)
Line 2: Line 2:
===== Translating the Application ===== ===== Translating the Application =====
-When you want to start translating WinSCP, please [[&forum/viewforum.php?f=9|contact us on the Translation forum]]. Before posting, [[this>../../forum/profile.php?mode=register|register on the forum]], using an email address you want us to use to communicate with you. Post to the topic of the language you want to work on (start a new topic, if your language is not listed yet). Do not forget to post your full name.+When you want to start translating WinSCP, please [[&forum/viewforum.php?f=9|contact us on the Translation forum]]. Before posting, [[this>../../forum/profile.php?mode=register|register on the forum]], using an email address you want us to use to communicate with you. Post to the topic of the language you want to work on (start a new topic, if your language is not listed yet). Do not forget to post your full name. Thanks!
If we need a help with the translation, we will create a [[this>../transladmin.php|translator account]] for you. Your username is always your e-mail address. If we need a help with the translation, we will create a [[this>../transladmin.php|translator account]] for you. Your username is always your e-mail address.
Line 13: Line 13:
A format of the file is like an INI file, for example: A format of the file is like an INI file, for example:
-<code> +<code ini
-; file comment +; File comment 
-[file+[File
-; "original english string" +; "Original English string" 
-key="translated string" +Key="Translated string" 
-; "original english string2+; "Original English string 2
-key2="translated string2" +Key2="Translated string 2"
</code> </code>
-Where the ''file'' is either a form (dialog) definition (''.dfm'' extension), a resource strings file (''.rc'' extension) or strings for [[ui_installer|setup application]] (''.isl'' extension). The key should give you some idea about the purpose of the string. For form definitions, it is a context and the name of the component using the string.+Where the ''File'' is either a form/window/dialog definition (a ''.dfm'' extension), a resource strings file (a ''.rc'' extension) or strings for [[ui_installer|setup application]] (a ''.isl'' extension). The key should give you some idea about the purpose of the string. For form definitions, it is a context and the name of the component using the string.
Example: Example:
-<code>+<code ini>
[SiteAdvanced.dfm] [SiteAdvanced.dfm]
-MainPanel.PageControl.ScpSheet.ShellGroup.Caption="Shell"+MainPanel.PageControl.ScpSheet.ShellGroup.<nohilite>Caption</nohilite>="Shell"
</code> </code>
-The "Shell" is the title (caption) of the shell group box on //[[ui_login_scp|SCP/Shell page]]// of Advanced Site Settings dialog.+The //"Shell"// is the title (caption) of the "shell" group box on //[[ui_login_scp|SCP/Shell page]]// of Advanced Site Settings dialog.
-The strings that need to be translated are marked with ''<translate>'' keyword in place of "translated string" (initially all strings are marked this way).+The strings that need to be translated are marked with ''<translate>'' keyword in place of "Translated string" (initially all strings are marked this way).
Use UTF-8 encoding when editing the INI file. Use UTF-8 encoding when editing the INI file.
Line 50: Line 49:
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 achieve, as dialogs often use strings from different sources. You'll probably need several attempts to get it right. 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 achieve, as dialogs often use strings from different sources. You'll probably need several attempts to get it right.
 +
 +Some ==hint== strings have two parts separated by a pipe ''|''. The two parts are short and long hint. They display separately in a hint popup of a command. Translate them separately and keep the ''|'' between them.
==== [[special_sections]] Special Sections ==== ==== [[special_sections]] Special Sections ====
-Section ''[default.isl]'' contains general strings for the setup application ([[&url(innosetup)|Inno Setup]]), which is used to implement WinSCP installer. Inno Setup has already been translated to [[https://jrsoftware.org/files/istrans/|many languages]]. If your language is among them, we will copy Inno Setup translation to this section. If you disagree with the official translation, please discuss it with Inno Setup translator, rather than modifying WinSCP translation.+Section ''[default.isl]'' contains general strings for the setup application ([[&url(innosetup)|Inno Setup]]), which is used to implement WinSCP installer. Inno Setup has already been translated to [[https://jrsoftware.org/files/istrans/|many languages]]. If your language is among them, we will copy Inno Setup translation to this section. If you disagree with the official translation, please discuss it with Inno Setup translator, rather than modifying its copy in WinSCP translation.
-In section ''[TextsWin1.rc]'', the first two strings have the keys ''TRANSLATOR_INFO2'' and ''TRANSLATOR_URL''. They will appear on the [[ui_about|About dialog]]. You may include there anything you want. Such as, //"Translation (c) 2009 Your name"//, or anything else. For the URL, you can use both an HTTP URL and an e-mail address.+In section ''[TextsWin1.rc]'', the first two strings have the keys ''TRANSLATOR_INFO2'' and ''TRANSLATOR_URL''. They will appear on the [[ui_about|About dialog]]. You may include there anything you want. Such as, //"Translation (c) 2022 Your name"//, or anything else. For the URL, you can use both an HTTP URL and an e-mail address.
==== [[testing]] Testing Your Translation ==== ==== [[testing]] Testing Your Translation ====
Line 67: Line 68:
Translations are also stored on the [[https://github.com/winscp/winscp/tree/translations/translations|project Git repository on GitHub]]. The repository is updated once a day. Translations are also stored on the [[https://github.com/winscp/winscp/tree/translations/translations|project Git repository on GitHub]]. The repository is updated once a day.
-Use Git only to access historical translations. To download the current translation, always use [[this>../transladmin.php|translation web-interface]]. The web-interface updates the most recent translation (as stored on in the repository) on-the-fly to the last WinSCP version, e.g. it adds new strings to translate (that did not exist, when the translation was updated the last time), removes obsolete strings, etc.+Use Git only to access historical translations. To download the current translation, always use [[this>../transladmin.php|translation web-interface]]. The web-interface updates the most recent translation (as stored in the repository) on-the-fly to the last WinSCP version, e.g. it adds new strings to translate (that did not exist, when the translation was updated the last time), removes obsolete strings, etc.
By default, your changes to translations are committed to Git repository under your name, but with a generic email address (''translator@winscp.net''). If you want to have your changes associated with your real email address/GitHub account, let us know. By default, your changes to translations are committed to Git repository under your name, but with a generic email address (''translator@winscp.net''). If you want to have your changes associated with your real email address/GitHub account, let us know.
Line 92: Line 93:
If we do not do so, it may be because your translation does not qualify for public usage yet due to some shortcomings; and we had have no means to contact you, because you have not registered. In such case, please post a message on [[this>../../forum/|support forum]]. If we do not do so, it may be because your translation does not qualify for public usage yet due to some shortcomings; and we had have no means to contact you, because you have not registered. In such case, please post a message on [[this>../../forum/|support forum]].
-===== [[moderator]] Translation Forum Moderator ===== +===== [[rank]] Forum Rank ===== 
-We will grant your forum account a moderator status to the Translation forum and tag your account as "Translator". You will have rights to moderate (delete, edit, etc.) posts in the forum.+We will tag your forum account as //"Translator"// to highlight it in the threads.
===== Automatic Updates ===== ===== Automatic Updates =====
As a translator, you are entitled to [[updates#automatic_upgrade|automatic application updates]]. To enable automatic updates, enter your translator account username/email in [[ui_pref_updates|WinSCP preferences]]. As a translator, you are entitled to [[updates#automatic_upgrade|automatic application updates]]. To enable automatic updates, enter your translator account username/email in [[ui_pref_updates|WinSCP preferences]].

Last modified: by martin