Changes between Version 9 and Version 10 of Translating
- Timestamp:
- Apr 11, 2007 4:21:27 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Translating
v9 v10 43 43 1. Define a language identifier for your language according to the rule described above. If translations to your language vary depending on the country, use the {{{_<TERRITORY>}}} suffix, otherwise omit it (i.e. no need to apply the suffix if it represents the only possible country). Let's say that your language code is {{{my_MY}}} for the purpose of this description. 44 44 2. Check that your language is not yet supported by visiting this [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox/nls directory] in the source tree. 45 3. Download the translation template [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts VirtualBox_xx_YY.ts]. 46 4. Rename the template to {{{VirtualBox_my_MY.ts}}}. 47 5. Start Qt Linguist, open the {{{VirtualBox_my_MY.ts}}} file and translate it. 48 6. Make sure all the fields in a special context named {{{@@@}}} are properly translated (see below). 49 7. Check your translation at runtime by referring to the '''Testing the translation''' section below. 45 3. Add a comment to ticket:234 that you are going to maintain the translation to your language to inform other people that may also want to participate. Before adding such a comment, check that nobody else has already started the translation to the same language. 46 4. Download the translation template [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts VirtualBox_xx_YY.ts]. 47 5. Rename the template to {{{VirtualBox_my_MY.ts}}}. 48 6. Start Qt Linguist, open the {{{VirtualBox_my_MY.ts}}} file and translate it. 49 7. Make sure all the fields in a special context named {{{@@@}}} are properly translated (see below). 50 8. Check your translation at runtime by referring to the '''Testing the translation''' section below. 50 51 51 52 === Special context @@@ === … … 54 55 55 56 1. Native language name (the original value is {{{English}}}). Translate it to a common, human-readable name of the language of your translation, as written in the language itself. For example, for Russian, it will be {{{Русский}}}. Please note that the {{{<language>}}} part in the name of the {{{.ts}}} file must match the language specified here. 56 2. Native language country name (the original value is {{{ built-in}}}). If the language of your translation is the same regardless of the territory (country) of speaking, then translate it to an empty string. If you are translating to a particular variant of your language, translate this item to a common, human-readable name of the territory (country) where this variant is used, as written in the language itself. Please note that the {{{<TERRITORY>}}} part in the name of the {{{.ts}}} file must match the language specified here.57 2. Native language country name (the original value is {{{--}}}). If the language of your translation is the same regardless of the territory (country) of speaking, then translate it to an empty string. If you are translating to a particular variant of your language, translate this item to a common, human-readable name of the territory (country) where this variant is used, as written in the language itself. Please note that the {{{<TERRITORY>}}} part in the name of the {{{.ts}}} file must match the language specified here. 57 58 3. Language name, in English (the original value is {{{English}}}). The same as 1, but a common English spelling of the language name. 58 4. Language country name, in English (the original value is {{{ built-in}}}). The same as 2, but a common English spelling of the territory (country).59 4. Language country name, in English (the original value is {{{--}}}). The same as 2, but a common English spelling of the territory (country). 59 60 5. Comma-separated list of translators (the original value is {{{InnoTek}}}). This item used is to specify a list of authors who worked on this translation. Please use the Latin alphabet here, to make it readable by everyone. 60 61 61 62 Every item in this special context has a self-descriptive comment field, so it will not be difficult to locate them in your translation file even if the order there differs from the order they are listed here. 62 63 63 Please read the [http://doc.trolltech.com/3.3/linguist-manual-3.html Qt Linguist manual] carefullyto learn more about the translation process.64 Please read carefully the '''Translation hints''' section below to learn more about the translation process. 64 65 65 66 == Updating the translation of an existing language == … … 68 69 69 70 1. Define a language identifier for your language according to the rule described above. If translations to your language vary depending on the country, use the {{{_<TERRITORY>}}} suffix, otherwise omit it (i.e. no need to apply the suffix if it represents the only possible country). Let's say that your language code is {{{my_MY}}} for the purpose of this description. 70 2. Goto this [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox/nls directory] and download the {{{VirtualBox_my_MY.ts}}} file. 71 3. Start Qt Linguist, open the {{{VirtualBox_my_MY.ts}}} file and translate it. 72 4. Check your translation at runtime by referring to the '''Testing the translation''' section below. 71 2. Look through comments to ticket:234 to find out who is currently maintaining the translation to your language. Contact these people in order to coordinate your work and avoid conflicts 72 3. Goto this [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox/nls directory] and download the {{{VirtualBox_my_MY.ts}}} file. 73 4. Start Qt Linguist, open the {{{VirtualBox_my_MY.ts}}} file and translate it. 74 5. Check your translation at runtime by referring to the '''Testing the translation''' section below. 73 75 74 Please read the [http://doc.trolltech.com/3.3/linguist-manual-3.html Qt Linguist manual] carefully to learn more about the translation process, in particular, about the status of the translatable item (unfinished, obsolete).76 Please read carefully the '''Translation hints''' section below to learn more about the translation process. 75 77 76 78 Existing translation source files are periodically synchronized with the source code by the GUI maintainer at !InnoTek, either a few weeks before a new product release, or after a big number of language-related changes in the UI. This synchronization is performed to add new (untranslated) strings used in the UI to translation files, which then need to be translated by contributors. See ticket:234 for more information about the synchronization process. 79 80 == Translation hints == 81 82 This section contains important notes about translating the VirtualBox product. 83 84 1. Read the [http://doc.trolltech.com/3.3/linguist-manual-3.html Qt Linguist manual] to get general information about translating Qt applications. Pay special attention to understanding the status of translatable items (unfinished, obsolete). 85 2. Preserve spaces around (and between) words if they are used for justification purposes. Examples of such items are category names in the global and VM settings dialogs where preceding and trailing space chars serve as horizontal item margins. 86 3. Translate only human-readable words and sentences. Leave HTML markup and other sorts of special characters untouched -- otherwise you may completely break the text appearance in the UI. 77 87 78 88 == Testing the translation ==