VirtualBox

Changes between Version 23 and Version 24 of Translating


Ignore:
Timestamp:
Aug 27, 2008 8:20:18 PM (16 years ago)
Author:
Dmitry A. Kuminov
Comment:

Updated for I18N 2.0 (Qt4).

Legend:

Unmodified
Added
Removed
Modified
  • Translating

    v23 v24  
    11= Translating !VirtualBox (I18N) =
    22
    3 This document describes how users without a strong technical background in software engineering can contribute translations to other languages. The process is very straightforward and based on the easy to use [http://doc.trolltech.com/3.3/linguist-manual-3.html Qt Linguist] tool which is a part of the Qt Toolkit version 3.
     3This document describes how users without a strong technical background in software engineering can contribute translations to other languages. The process is very straightforward and based on the easy to use [http://doc.trolltech.com/4.3/linguist-manual.html Qt Linguist] tool which is a part of the Qt toolkit for C++ version 4.
    44
    55Translation is possible for all languages, including languages with non-latin alphabets. The process requires you to perform an initial translation which you then have to keep up to date as !VirtualBox evolves. The original language is English which -- together with German -- is handled by the !VirtualBox team. The Qt Linguist tool will also assist you in finding where your translation has to be updated for a new release of !VirtualBox.
     
    3535== Prerequisites ==
    3636
    37 The only prerequisite at the moment to create a new or update an existing translation is the [http://doc.trolltech.com/3.3/linguist-manual-3.html Qt Linguist] tool. In order to get Qt Linguist, [ftp://ftp.trolltech.com/qt/source/ download] and install the latest version of Qt Toolkit 3.x for your platform. Please note that we will not accept translation files processed by Qt Linguist version 4 (part of Qt Toolkit 4.x) because the format of language files may differ there.
     37The only prerequisite at the moment to create a new or update an existing translation is the [http://doc.trolltech.com/4.3/linguist-manual.html Qt Linguist] tool. In order to get Qt Linguist, download the latest 4.x.x version of the Open Source Edition of the Qt toolkit for C++ for your platform from the [http://trolltech.com/downloads/opensource Trolltech site]. Alternatively, you can try to download the toolkit sources from the [ftp://ftp.trolltech.com/qt/source/ Trolltech ftp site] and compile them yourself to get a Qt Linguist application. Please note that we will not accept translation files processed by Qt Linguist version 3 (part of Qt Toolkit 3.x.x) because the format of language files is incompatible with Qt4.
    3838
    39 Note that the !VirtualBox source code is '''not''' necessary to perform a translation or to test it. See below for detailed instructions.
     39Note that the full !VirtualBox source code is '''not''' necessary to perform a translation or to test it. See below for detailed instructions.
    4040
    4141== Preparing a translation to a new language ==
     
    4444
    4545 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.
    46  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.
    47  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.
    48  4. Download translation templates for each component: [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts VirtualBox_xx_YY.ts] and [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox/nls/qt_xx_YY.ts qt_xx_YY.ts].
     46 2. Check that your language is not yet supported by visiting the [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox4/nls] directory in the source tree.
     47 3. Add a comment to ticket:2018 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.
     48 4. Download translation templates for each component: [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox4/nls/VirtualBox_xx_YY.ts VirtualBox_xx_YY.ts] and [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox4/nls/qt_xx_YY.ts qt_xx_YY.ts].
    4949 5. Rename the templates to {{{VirtualBox_my_MY.ts}}} and {{{qt_my_MY.ts}}}, respectively.
    5050 6. Start Qt Linguist, open and translate renamed files you got in step 5.
     
    7171
    7272 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.
    73  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
    74  3. Goto this [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox/nls directory] and download translation files for all components ({{{VirtualBox_my_MY.ts}}} and {{{qt_my_MY.ts}}}).
     73 2. Look through comments to ticket:2018 to find out who is currently maintaining the translation to your language. Contact these people in order to coordinate your work and avoid conflicts
     74 3. Goto [http://virtualbox.org/svn/vbox/trunk/src/VBox/Frontends/VirtualBox4/nls] and download translation files for all components ({{{VirtualBox_my_MY.ts}}} and {{{qt_my_MY.ts}}}).
    7575 4. Start Qt Linguist, open the downloaded files and update translations.
    7676 5. Check your translation at runtime by referring to the '''Testing the translation''' section below.
     
    7878Please read carefully the '''Translation hints''' section below to learn more about the translation process.
    7979
    80 Existing translation source files are periodically synchronized with the source code by the GUI maintainer at Sun, 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.
     80Existing translation source files are periodically synchronized with the source code by the GUI maintainer at Sun, 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:2018 for more information about the synchronization process.
    8181
    8282== Translation hints ==
     
    8484This section contains important notes about translating the !VirtualBox product.
    8585
    86  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).
     86 1. '''Read''' the [http://doc.trolltech.com/4.3/linguist-manual.html Qt Linguist manual] to get general information about translating Qt applications. Pay special attention to understanding the status of translatable items (unfinished, obsolete).
    8787 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 leading and trailing space characters serve as horizontal item margins. Also, a leading space in the translatable item is often used as a separator from the preceding word that will appear after string concatenation, and therefore needs to be preserved.
    8888 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.
     
    105105== Submitting the translation ==
    106106
    107 When you think your translation looks good and ready to be shared with others, you may submit the translation source files you created ({{{VirtualBox_my_MY.ts}}} and {{{qt_my_MY.ts}}}, according to the examples above) by packing it to a .zip archive named {{{VirtualBox_my_MY.zip}}} and attaching to ticket:234.
     107When you think your translation looks good and ready to be shared with others, you may submit the translation source files you created ({{{VirtualBox_my_MY.ts}}} and {{{qt_my_MY.ts}}}, according to the examples above) by packing it to a .zip archive named {{{VirtualBox_my_MY.zip}}} and attaching to ticket:2018.
    108108
    109109The same thing should be done after you have updated an existing translation, but please be careful with the name of the file you are attaching and make sure you will not replace somebody's else attachment with the same name (you may and should replace a previous attachment of the same name only if it was also attached by you and only if it contains an outdated version of the same translation file you are attaching now).
    110110
    111 '''PLEASE REMEMBER''' that before your translation can be included into the !VirtualBox code base and distribution archives, '''you must allow innotek to make use of your contributions'''. The [wiki:Contributor_information] section describes how to do it. Basically, you have two options: either to fill out the [wiki:ICA innotek Contributor's Agreement] (ICA) and send it to innotek or to make the following statement directly in the ticket:234 comment where you attach your translation source file:
     111'''PLEASE REMEMBER''' that before your translation can be included into the !VirtualBox code base and distribution archives, '''you must allow innotek to make use of your contributions'''. The [wiki:Contributor_information] section describes how to do it. Basically, you have two options: either to fill out the [wiki:ICA innotek Contributor's Agreement] (ICA) and send it to innotek or to make the following statement directly in the ticket:2018 comment where you attach your translation source file:
    112112{{{
    113113    The <MyLanguage> (<my_MY>) translation attached here by <my_full_name> is published under the terms of the [wiki:"MIT license"].

© 2023 Oracle
ContactPrivacy policyTerms of Use