Difference between revisions of "Translator's Information"

From Claws Mail FAQ
Jump to: navigation, search
m (more s/CVS/Git/)
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
If struggling with any worlwide projected audience bear in mind any target audience can be struggling with a worldwide variety of stores.http://www.uggsverkaufonline.de.com/ , Meaning of which to your supplying that they are one that individuals bring back to it's essential to get providing somethig exclusive.http://www.uggsbootsonline.uk.com/ ,
+
===The Release Process===
  
 +
: The Claws Team sets a date for release, at least 2 weeks in advance.
 +
:: <u>Week One:</u> Git feature freeze
 +
::: No new features are added to Git, the Team try to fix as many outstanding bugs as possible, test new features thoroughly, and improve any translatable strings as is deemed necessary.
 +
::: A message announcing the forthcoming release is sent to the [http://www.claws-mail.org/MLs.php translators' mailing list]. Translators should respond to this message, confirming whether they will or will not be submitting updates.
 +
:: <u>Week Two:</u> Git string freeze
 +
::: No new features are added and no translatable strings are changed or added.
 +
::: During this second week, translators should update their local Git trees and work on updating their translations. For those translators who are unable to build from Git, up to date POT files are made available for download at http://www.claws-mail.org/i18n/.
 +
::: If no strings were changed from the previous release the PO file <u>must not be changed and does not need to be submitted</u>.
 +
::: When a translator has updated his/her translations they should be sent to Paul at [mailto:translations@thewildbeast.co.uk translations@thewildbeast.co.uk] at any time before the week is up. They will then be committed to Git and included in the release.
 +
:: <u>Week Three:</u> The release
 +
::: The release will be made on Day One of Week Three.
  
 +
: <b>Bug-Fix Releases</b>
 +
:: The Claws Team occasionally feels the need to make bug-fix releases. These are normally indicated by an increment of the MICRO_VERSION, (e.g. from version 2.7.0 to 2.7.1). The bug-fix releases contain none of the new features that have been added to Git since the last major release, and they also do not contain any new translatable strings that may have been added to Git. Therefore no translation updates are required for these releases and, consequently, the usual process, detailed above, is not initiated.
  
Learn the consumer
+
===Information for new translators===
  
[Point one]
+
'''Starting fresh'''
  
If the business enterprise is without a doubt providing subsequently you'll know your visitors properly.http://www.gunstigschmuck.de.com/ , But also for good internet advertising you need to filter this approach perception as well as pick a unique part to a target.http://www.monclerdonne.com/ ,
+
First grab yourself a copy of the Claws Mail sources, preferably from [http://www.claws-mail.org/git.php Git], and create a claws-mail.pot file:
 +
: ./autogen.sh
 +
: cd po
 +
: make claws-mail.pot
 +
If you are not able to build from Git, then get a copy of the last released sources from the [http://sourceforge.net/project/showfiles.php?group_id=25528&package_id=147457 SourceForge Claws-Mail files page], which has the claws-mail.pot file included.
  
Take into account how one can section plus try to portion a person's concentrate on net purchasers. As an example you actually might possibly take action as a result of time or maybe simply by geographic part or simply each. Consider on-line you need to start by providing to the unique precise projected audience, hence these i am never discussing your entire shoppers, merely all those you would like to obtain on the website.
+
Copy claws-mail.pot to [LANGUAGE ABBREV].po, (replace [LANGUAGE ABBREV] with the correct abbreviation for your language, e.g. 'es' if you are translating into Spanish).
 +
: cp claws-mail.pot es.po
  
To give an example say you might be an important athletic shoe dealer and also need to widen on line product sales. Understanding in which newer people are more inclined to get on the net an individual particular target him or her. The following subsequently causes the best internet page your home web page featuring the newest dog trainers your advertisements tactic could be including a lot of gameplay shops. Which means that your regular brick and mortar site visitor might be a mid previous particular person, your precise on the web shopper it's possible that adolescents.
+
Open your new po file with your favourite text editor, (or you may prefer to use a translation catalog editor, such as [http://poeditor.com POEditor], [http://poedit.sourceforge.net poedit] or [http://kbabel.kde.org/ kbabel], for example), and first edit the header section of your file. You will need to replace the text in UPPERCASE with the correct values. The easiest way to work out how to do this is to compare it to another po file that already exists:
  
Learn the merchandise
+
{| border="1"
 +
|+ po file header section
 +
! your new po file !! es.po
 +
|-
 +
| <pre># SOME DESCRIPTIVE TITLE.
 +
# Copyright (C) YEAR The Claws Mail Team
 +
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 +
#
 +
#, fuzzy
 +
msgid ""
 +
msgstr ""
 +
"Project-Id-Version: PACKAGE VERSION\n"
 +
"Report-Msgid-Bugs-To: paul@claws-mail.org\n"
 +
"POT-Creation-Date: 2007-01-30 09:03+0000\n"
 +
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 +
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 +
"Language-Team: LANGUAGE <LL@li.org>\n"
 +
"MIME-Version: 1.0\n"
 +
"Content-Type: text/plain; charset=CHARSET\n"
 +
"Content-Transfer-Encoding: 8bit\n"
 +
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"</pre>
 +
| <pre># Spanish translation of Claws Mail.
 +
# Copyright (C) 2007 The Claws Mail Team
 +
# Ricardo Mones <ricardo@mones.org>, 2000-2007.
 +
#
 +
msgid ""
 +
msgstr ""
 +
"Project-Id-Version: claws mail\n"
 +
"Report-Msgid-Bugs-To: paul@claws-mail.org\n"
 +
"POT-Creation-Date: 2007-01-25 12:17+0100\n"
 +
"PO-Revision-Date: 2007-01-25 19:28+0200\n"
 +
"Last-Translator: Ricardo Mones <ricardo@mones.org>\n"
 +
"Language-Team: Ricardo Mones <ricardo@mones.org>\n"
 +
"MIME-Version: 1.0\n"
 +
"Content-Type: text/plain; charset=iso-8859-1\n"
 +
"Content-Transfer-Encoding: 8bit\n"
 +
"Plural-Forms: nplurals=2; plural=n != 1;\n"</pre>
 +
|}
 +
Consult the [http://www.gnu.org/software/gettext/manual/html_node/gettext_150.html gettext manual] for the correct Plural-Forms entry for your language.
  
[Point two]
+
Next you will add your translated strings in the <b>msgstr</b> sections.
 +
Again, an example from es.po:
  
You will need to know very well what added benefits ones own supplement delivers in your targeted purchasers. Catalog the pros and variety these individuals to be able worth focusing on. Clear away on the catalog those who will be contrary or perhaps diminish one other features. To put it differently in case you are trading the lowest priced never at the same time checklist quite possibly the most well-made seeing that this can put mistrust inside the buyers thought process. You should definitely can sell a very important factor mainly and already you may be obvious for the gains that you are available to your website.
+
{|
 +
|-
 +
  <pre>#: src/account.c:372
 +
msgid ""
 +
"Some composing windows are open.\n"
 +
"Please close all the composing windows before editing the accounts."
 +
msgstr ""
 +
"Hay ventanas de composici&oacute;n abiertas.\n"
 +
"Cierre todas las ventanas de composici&oacute;n antes de editar las cuentas."
 +
</pre>
 +
|}
  
[Point three]
+
There are some variations to the format which you should be aware of:
  
Aim for ones own products and solutions intended for net business which might be the best option because of this. Diverse goods could put up for sale internet in comparison with with your neighborhood business. Take into consideration reasons in addition to simply the despatch fee in addition to bear in mind the prospective projected audience mainly because talked about preceding. There is absolutely no time around hoping getting your child's boots or shoes around the internet site since they're the actual lightest, once you have resolved the particular visitors that you will be promotion to be able to is normally kids.
+
:: Default hotkeys are indicated by the '_' character:
 +
:::{|
 +
|-
 +
<pre>#: src/account.c:767
 +
msgid " _Set as default account "
 +
msgstr " _Establecer como primaria "</pre>
 +
|}
  
Internet pages
+
:: The presence of dynamically-generated text is indicated by the 'c-format' line. The 'c format', (%s, %d, etc.), in your <b>msgstr</b> must match the one used in the <b>msgid</b>:
 +
:::{|
 +
|-
 +
<pre>#: src/account.c:867
 +
#, c-format
 +
msgid "Copy of %s"
 +
msgstr "Copia de %s"</pre>
 +
|}
  
 +
:: Some strings have informational data for translators included in the <b>msgid</b> part, delimited by the '|' character. Their purpose is to indicate the context of the string and they should not appear in your <b>msgstr</b>:
 +
:::{|
 +
|-
 +
<pre>#: src/prefs_msg_colors.c:228
 +
msgid "Tooltip|Pick color for 2nd level text"
 +
msgstr "Elejir el color para el texto de segundo nivel"</pre>
 +
|}
  
 +
:: Other strings have the informational data included in the comment header, indicated by 'TRANSLATORS: &hellip;':
 +
:::{|
 +
|-
 +
<pre>#. TRANSLATORS: 'color %d' refers to the filtering/processing
 +
#. rule name and should not be translated
 +
#: src/prefs_msg_colors.c:432 src/prefs_msg_colors.c:464
 +
#, c-format
 +
msgid "Set label for 'color %d'"
 +
msgstr "Establecer la etiqueta para el &laquo;color %d&raquo;"</pre>
 +
|}
  
Use a website per help and extra web pages just for alternative activities the fact that you would like to accomplish. One example is a page to gather contact communications information. Guarantee that each and every website will do a very important factor exclusively.
+
:: Some strings contain markup, which should be left in place:
 +
:::{|
 +
|-
 +
<pre>#: src/wizard.c:892
 +
msgid "<span weight=\"bold\">Your name:</span>"
 +
msgstr "<span weight=\"bold\">Su nombre:</span>"</pre>
 +
|}
  
This concept regarding ease-of-use diamond rings by that report. Guarantee that the consumer is definitely hardly ever bewildered. That you'll be hardly ever multiple mouse click far from your property webpage. Map-reading sytems and switches needs to be distinct and also convenient to use and additionally on the rather the majority of include several naviagtion solutions. (Navigation models are classified as the links you actually press to have coming from document that will web page over a world-wide-web site).
+
:: Here is an example of Plural-Forms usage:
 +
:::{|
 +
|-
 +
<pre>#: src/inc.c:592
 +
#, c-format
 +
msgid "Done (%d message (%s) received)"
 +
msgid_plural "Done (%d messages (%s) received)"
 +
msgstr[0] "Hecho (%d mensaje (%s) recibido)"
 +
msgstr[1] "Hecho (%d mensajes (%s) recibidos)"</pre>
 +
|}
  
Maintain the amazing features as a result of aspects this matter the particular target each internet page. As an example do not need elegant peripheral illustrations or photos and even sporting graphics. These kinds of will simply take away from the pages of content reason.
+
'''Checking your translation for errors''' (and completeness)
 +
: /usr/bin/msgfmt -c --statistics es.po
  
[Point five]
+
'''Building Claws Mail with your new translation included'''
  
Bear in mind each and every website incorporates a exact reason, typically to be able to focus on a unique products reward.
+
For this step you will need to be able to build from Git, so a full set of development tools is required.
 +
 
 +
Open the file configure.ac in your text editor and locate the line that begins with 'ALL_LINGUAS=', then add your language to the list of languages.
 +
 
 +
Then run ./autogen.sh [OPTIONS], make, make install as usual.
 +
 
 +
'''Updating your translation'''
 +
 
 +
When it is time to update your translation, first update your [http://www.claws-mail.org/git.php Git] working directory.
 +
Then do the following:
 +
 
 +
: cd po
 +
: rm claws-mail.pot
 +
: make claws-mail.pot
 +
 
 +
Next issue the following command to update your po file:
 +
 
 +
: /usr/bin/msgmerge --update es.po claws-mail.pot
 +
 
 +
Then open your file and locate the strings that need updating. These will have an empty <b>msgstr</b> or will be marked 'fuzzy':
 +
::{|
 +
|-
 +
<pre>#: src/mainwindow.c:838 src/messageview.c:332
 +
#, fuzzy
 +
msgid "/_Tools/List _URLs..."
 +
msgstr "/_Herramientas/Exportar _HTML..."</pre>
 +
|}
 +
 
 +
::{|
 +
|-
 +
<pre>#: src/action.c:1184
 +
#, fuzzy, c-format
 +
msgid "--- Ended: %s\n"
 +
msgstr "--- Ejecutando: %s\n"</pre>
 +
|}
 +
 
 +
Correct the <b>msgstr</b> and, in the first example, remove the line '#, fuzzy', or, in the second example, remove just the 'fuzzy, ' part of the line, leaving the c-format part intact.

Revision as of 11:09, 1 April 2013

The Release Process

The Claws Team sets a date for release, at least 2 weeks in advance.
Week One: Git feature freeze
No new features are added to Git, the Team try to fix as many outstanding bugs as possible, test new features thoroughly, and improve any translatable strings as is deemed necessary.
A message announcing the forthcoming release is sent to the translators' mailing list. Translators should respond to this message, confirming whether they will or will not be submitting updates.
Week Two: Git string freeze
No new features are added and no translatable strings are changed or added.
During this second week, translators should update their local Git trees and work on updating their translations. For those translators who are unable to build from Git, up to date POT files are made available for download at http://www.claws-mail.org/i18n/.
If no strings were changed from the previous release the PO file must not be changed and does not need to be submitted.
When a translator has updated his/her translations they should be sent to Paul at translations@thewildbeast.co.uk at any time before the week is up. They will then be committed to Git and included in the release.
Week Three: The release
The release will be made on Day One of Week Three.
Bug-Fix Releases
The Claws Team occasionally feels the need to make bug-fix releases. These are normally indicated by an increment of the MICRO_VERSION, (e.g. from version 2.7.0 to 2.7.1). The bug-fix releases contain none of the new features that have been added to Git since the last major release, and they also do not contain any new translatable strings that may have been added to Git. Therefore no translation updates are required for these releases and, consequently, the usual process, detailed above, is not initiated.

Information for new translators

Starting fresh

First grab yourself a copy of the Claws Mail sources, preferably from Git, and create a claws-mail.pot file:

./autogen.sh
cd po
make claws-mail.pot

If you are not able to build from Git, then get a copy of the last released sources from the SourceForge Claws-Mail files page, which has the claws-mail.pot file included.

Copy claws-mail.pot to [LANGUAGE ABBREV].po, (replace [LANGUAGE ABBREV] with the correct abbreviation for your language, e.g. 'es' if you are translating into Spanish).

cp claws-mail.pot es.po

Open your new po file with your favourite text editor, (or you may prefer to use a translation catalog editor, such as POEditor, poedit or kbabel, for example), and first edit the header section of your file. You will need to replace the text in UPPERCASE with the correct values. The easiest way to work out how to do this is to compare it to another po file that already exists:

po file header section
your new po file es.po
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The Claws Mail Team
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: paul@claws-mail.org\n"
"POT-Creation-Date: 2007-01-30 09:03+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
# Spanish translation of Claws Mail.
# Copyright (C) 2007 The Claws Mail Team
# Ricardo Mones <ricardo@mones.org>, 2000-2007.
#
msgid ""
msgstr ""
"Project-Id-Version: claws mail\n"
"Report-Msgid-Bugs-To: paul@claws-mail.org\n"
"POT-Creation-Date: 2007-01-25 12:17+0100\n"
"PO-Revision-Date: 2007-01-25 19:28+0200\n"
"Last-Translator: Ricardo Mones <ricardo@mones.org>\n"
"Language-Team: Ricardo Mones <ricardo@mones.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

Consult the gettext manual for the correct Plural-Forms entry for your language.

Next you will add your translated strings in the msgstr sections. Again, an example from es.po:

#: src/account.c:372
msgid ""
"Some composing windows are open.\n"
"Please close all the composing windows before editing the accounts."
msgstr ""
"Hay ventanas de composición abiertas.\n"
"Cierre todas las ventanas de composición antes de editar las cuentas."

There are some variations to the format which you should be aware of:

Default hotkeys are indicated by the '_' character:
#: src/account.c:767
msgid " _Set as default account "
msgstr " _Establecer como primaria "
The presence of dynamically-generated text is indicated by the 'c-format' line. The 'c format', (%s, %d, etc.), in your msgstr must match the one used in the msgid:
#: src/account.c:867
#, c-format
msgid "Copy of %s"
msgstr "Copia de %s"
Some strings have informational data for translators included in the msgid part, delimited by the '|' character. Their purpose is to indicate the context of the string and they should not appear in your msgstr:
#: src/prefs_msg_colors.c:228
msgid "Tooltip|Pick color for 2nd level text"
msgstr "Elejir el color para el texto de segundo nivel"
Other strings have the informational data included in the comment header, indicated by 'TRANSLATORS: …':
#. TRANSLATORS: 'color %d' refers to the filtering/processing
#. rule name and should not be translated
#: src/prefs_msg_colors.c:432 src/prefs_msg_colors.c:464
#, c-format
msgid "Set label for 'color %d'"
msgstr "Establecer la etiqueta para el «color %d»"
Some strings contain markup, which should be left in place:
#: src/wizard.c:892
msgid "<span weight=\"bold\">Your name:</span>"
msgstr "<span weight=\"bold\">Su nombre:</span>"
Here is an example of Plural-Forms usage:
#: src/inc.c:592
#, c-format
msgid "Done (%d message (%s) received)"
msgid_plural "Done (%d messages (%s) received)"
msgstr[0] "Hecho (%d mensaje (%s) recibido)"
msgstr[1] "Hecho (%d mensajes (%s) recibidos)"

Checking your translation for errors (and completeness)

/usr/bin/msgfmt -c --statistics es.po

Building Claws Mail with your new translation included

For this step you will need to be able to build from Git, so a full set of development tools is required.

Open the file configure.ac in your text editor and locate the line that begins with 'ALL_LINGUAS=', then add your language to the list of languages.

Then run ./autogen.sh [OPTIONS], make, make install as usual.

Updating your translation

When it is time to update your translation, first update your Git working directory. Then do the following:

cd po
rm claws-mail.pot
make claws-mail.pot

Next issue the following command to update your po file:

/usr/bin/msgmerge --update es.po claws-mail.pot

Then open your file and locate the strings that need updating. These will have an empty msgstr or will be marked 'fuzzy':

#: src/mainwindow.c:838 src/messageview.c:332
#, fuzzy
msgid "/_Tools/List _URLs..."
msgstr "/_Herramientas/Exportar _HTML..."
#: src/action.c:1184
#, fuzzy, c-format
msgid "--- Ended: %s\n"
msgstr "--- Ejecutando: %s\n"

Correct the msgstr and, in the first example, remove the line '#, fuzzy', or, in the second example, remove just the 'fuzzy, ' part of the line, leaving the c-format part intact.