Changes between Version 12 and Version 13 of TranslateIntro


Ignore:
Timestamp:
May 22, 2009, 12:56:34 PM (15 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TranslateIntro

    v12 v13  
    1 = Web and GUI translations =
     1= Translating BOINC =
    22       
    3 BOINC has mechanisms for non-English translations of
     3BOINC supports non-English translations of
    44
    5     * Parts of this site (the [/download.php Download] and [/poll.php BOINC user survey] pages, and related pages)
     5    * This web site
    66    * The BOINC Manager
    7     * Parts of the BOINC-supplied portion of project web sites
     7    * The generic (BOINC-supplied) part of project web sites
    88    * The project-specific parts of project web sites
    99
    10 == Instructions for volunteer translators ==
     10Translations are done by volunteers.
     11If you're interested in helping:
    1112
    12 Translations are done by volunteers. If you're interested in helping:
     13    * Visit the [https://boinc.berkeley.edu/translate/ BOINC Translation Services] web page (BTS) and click on your language.
    1314
    14     * Register at the [https://boinc.berkeley.edu/translate/ BOINC Translation Services] web page (BTS).
    15     * Subscribe to the [mlist:boinc_loc boinc_loc] email list, which is for translation-related discussion and announcements.
    16     * Make suggestions and send an email to the boinc_loc email list telling you made suggestions for a specific language that need a review.
    17     * Because web sites are dynamic, you will have to periodically update your translation. You can do this efficiently by looking at the BTS web page or the SVN diffs of the authoritative translation file.
    18 {{{
    19 #!comment Where can someone find this authoritative file? It must be somewhere in the svn but where?
    20 }}}
    21     * Email the translation manager ([[T(MailHide|tran...@boinc...|k=01LUzWNjTW63Fi-QRO2-H2ug==&c=hVi2Vhq36r0HGWxOKyVciRIHCa8ey_fi-teaby_UMcg=)]]) if your language is not listed in the BOINC Translation Services.
    22     * If you are translation manager you can also download the .po file via SVN or BTS and use an external program like [http://www.poedit.net/ poedit] or [http://translate.sourceforge.net/wiki/virtaal/index Virtaal].
     15You'll see some or all of the following "projects":
     16 * Pootle: ignore this
     17 * BOINC Client 6.6.x: the current client release. '''Only BOINC-Manager.po is relevant; ignore other files.'''
     18 * BOINC Development: the development versions of both client and server. This should contain:
     19  * BOINC-Manager.po: translations for the BOINC Manager
     20  * BOINC-Project-Generic.po: translations for the generic part of project web sites
     21  * BOINC-Web.po: translations for the BOINC web site
     22 * SETI@Home Website
    2323
    24 == Translation files ==
     24If any of these isn't there, it means the translation doesn't exist yet.
     25If it is there, the color-coded bar shows how much of the translation has been done.
    2526
    26 Most translations are based on translation files. Translation files are in PO format, which is described [http://www.gnu.org/software/gettext/manual/html_node/gettext_9.html#SEC9 here]. These have names like `da.po` (Danish) and `en.po` (English). It's very simple. For example:
     27If you want to add or modify a translation:
     28 
     29 * Create an account on the BTS site
     30 * Subscribe to the [mlist:boinc_loc boinc_loc] email list, which is for translation-related discussion and announcements.
    2731
    28 {{{
    29 #!html
    30 <h2 style="text-align: center;">en.po (English)</h2>
    31 }}}
     32Email boinc_loc if your language is not listed in the BOINC Translation Services.
    3233
    33 {{{
    34 msgid "Current version"
    35 msgstr ""
     34Selected people have "write access" to each language.
    3635
    37 msgid "%1 currently has the following applications. "
    38 "When you participate in %2, work for one or more "
    39 "of these applications will be assigned to your computer. "
    40 "The current version of the application will be downloaded "
    41 "to your computer. This happens automatically; you don't have to do anything."
    42 msgstr ""
    43 }}}
     36 * If you want write access to a language, send email to boinc_loc requesting it.
    4437
    45 {{{
    46 #!html
    47 <h2 style="text-align: center;">da.po (Danish)</h2>
    48 }}}
     38If you have write access to a language, make sure to monitor the boinc_loc email list
     39for notifications of when there are new strings to translate.
     40You can do translations via the BTS site.
     41If prefer, you can download the .po file and use an external program like [http://www.poedit.net/ poedit] or [http://translate.sourceforge.net/wiki/virtaal/index Virtaal].
    4942
    50 {{{
    51 msgid "Current version"
    52 msgstr "Nuværende version"
     43If you don't have write access to your language,
     44you can still help by suggest translations on the BTS site.
     45When you're done, send email to boinc_loc to notify the person with write access.
    5346
    54 msgid "%1 currently has the following applications. "
    55 "When you participate in %2, work for one or more "
    56 "of these applications will be assigned to your computer. "
    57 "The current version of the application will be downloaded "
    58 "to your computer. This happens automatically; you don't have to do anything."
    59 msgstr "%1 har i øjeblikket følgende applikationer. "
    60 "Når du deltager i %2 vil arbejde fra en eller flere "
    61 "af disse applikationer blive tildelt din computer. "
    62 "Den nuværende version af applikationen vil blive downloadet "
    63 "til din computer. Dette sker automatisk - du behøver ikke at gøre noget."
    64 }}}
    6547
    66 Each translation has a token CHARSET whose value should be the character set used in the translation.
    67 Only UTF-8 is accepted by the BOINC Translation Services.
    68 You can edit UTF-8 on Windows using [http://notepad-plus.sourceforge.net/uk/site.htm Notepad++].
    69 On Linux, you can use [http://www.vim.org/htmldoc/mbyte.html#UTF-8 vim].
     48 
    7049
    71 Here you can find all the translation files for
    72 
    73     * [source:trunk/boinc/locale/ all languages]
    74 {{{
    75 #!comment There are more places where .po files can be found. Are they used anymore?
    76 }}}
    77 
    78 == Writing translatable web pages ==
    79 
    80 Translatable web pages must be PHP, and must include
    81 
    82 {{{
    83 require_once("../inc/translation.inc");
    84 }}}
    85 
    86 Literal text is replaced with `tra("text")`. For example,
    87 
    88 {{{
    89 page_head("Current version");
    90 }}}
    91 
    92 is replaced with
    93 
    94 {{{
    95 page_head(tra("Current version"));
    96 }}}
    97 
    98 For BOINC projects, the directory [source:trunk/boinc/html/languages/translations/ html/languages/translations] contains a number of 'translation files'. When a person accesses the page, the browser passes a list of languages. The BOINC PHP code finds the first of these languages for which a translation is available, or English if none. As the page is generated, each call to `tr()` replaces the token with the corresponding translated text.
    99 
    100 In developing web pages, keep in mind that word order differs between languages, so you should avoid breaking a sentence up into multiple translation units. For example, use constructs like
    101 
    102 {{{
    103 msgid "Already have an original 'Classic' account as of May 14, 2004?"
    104 "%1We've transferred it, just %2activate it%3. "
    105 "%4Otherwise %5create a new account%6."
    106 msgstr ""
    107 }}}
    108 
    109 with the corresponding PHP:
    110 
    111 {{{
    112 printf(tra("Already have an original 'Classic' account as of May 14, 2004? %1We've transferred it, just %2activate it%3. %4Otherwise %5create a new account%6."),
    113 "<br>", "<a href=\"sah_email_form.php\">", "</a>",
    114 "<p><img src=\"images/arrow_right.gif\">",
    115 "<a href=create_account_form.php>", "</a>"
    116 );
    117 }}}
    118 
    119 == Project-specific translations ==
    120 
    121 The web site of a BOINC-based project involves both
    122 
    123     * BOINC pages, such as the forms for creating accounts. These are part of the BOINC source code distribution, and are updated periodically by BOINC.
    124     * Project-specific pages (and BOINC pages that are modified by the project).
    125 
    126 To allow translations of both types of pages, a project can haves its own 'project-specific translation files'. These are stored in a directory [source:trunk/boinc/html/user/project_specific_translations html/user/project_specific_translations]. Project-specific translation files override BOINC translation files.
    127 
    128 == BOINC Manager translations ==
    129 
    130 Menu names and other text in the BOINC manager are stored in files in [source:trunk/boinc/locale/ boinc/locale/].