Difference between revisions of "Translator's Information"

From Claws Mail FAQ
Jump to: navigation, search
 
m
Line 1: Line 1:
'''The Release Process'''
+
===The Release Process===
  
 
: The Claws Team sets a date for release, at least 2 weeks in advance.
 
: The Claws Team sets a date for release, at least 2 weeks in advance.
Line 6: Line 6:
 
::: A message announcing the forthcoming release is sent to the [http://www.claws-mail.org/MLs.php translators' mailing list].
 
::: A message announcing the forthcoming release is sent to the [http://www.claws-mail.org/MLs.php translators' mailing list].
 
:: <u>Week Two:</u> CVS string freeze
 
:: <u>Week Two:</u> CVS string freeze
::: No new features are added and no translatable strings are changed, added or removed.
+
::: No new features are added and no translatable strings are changed or added.
 
::: During this second week, translators should update their local CVS trees and work on updating their translations. For those translators who are unable to build from CVS, up to date POT files are made available for download at http://www.claws-mail.org/i18n/.
 
::: During this second week, translators should update their local CVS trees and work on updating their translations. For those translators who are unable to build from CVS, up to date POT files are made available for download at http://www.claws-mail.org/i18n/.
 
::: Whan 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 CVS and included in the release.
 
::: Whan 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 CVS and included in the release.
Line 16: Line 16:
  
 
===Information for new translators===
 
===Information for new translators===
 +
 +
'''Starting fresh'''
 +
 +
First grab yourself a copy of the Claws Mail sources, preferably from [http://www.claws-mail.org/cvs.php CVS], and create a claws-mail.pot file:
 +
: ./autogen.sh
 +
: cd po
 +
: make claws-mail.pot
 +
If you are not able to build from CVS, 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.
 +
 +
Copy claws-mail.pot to [LANGUAGE ABBREV].po, (replace [LANGUAGE ABBREV] with the correct abbreviation for your language, e.g. 'is' if you are tranlating into Icelandic).
 +
: cp claws-mail.pot is.po
 +
 +
Open your new po file with your favourite text editor, (or you may prefer to use a translation catalog editor, such as [http://poedit.sourceforge.net poedit] or [http://kbabel.kde.org/ kbabel], for example), and first edit the the header section of your file. You will need to replace the text in UPPERCASE with the correct values. The easiest way to workmout how to do this is to compare it to another po file that already exists:
 +
 +
{| 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) 2000 Free Software Foundation, Inc.
 +
# 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.
 +
 +
Next you will add your translated strings in the <b>msgstr</b> section.
 +
Again, an example from es.po:
 +
 +
{|
 +
|-
 +
  <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>
 +
|}
 +
 +
There are some variations to the format which you should be aware of:
 +
 +
:: Default hotkeys are indicated by the '_' character:
 +
:::{|
 +
|-
 +
<pre>#: src/account.c:767
 +
msgid " _Set as default account "
 +
msgstr " _Establecer como primaria "</pre>
 +
|}
 +
 +
:: The presence of dynamically-generated text is indicated by the 'c-format' line:
 +
:::{|
 +
|-
 +
<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: ':
 +
:::{|
 +
|-
 +
<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>
 +
|}
 +
 +
:: 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>
 +
|}
 +
  
 
'''Checking your translation for errors''' (and completeness)
 
'''Checking your translation for errors''' (and completeness)
: /usr/bin/msgfmt -c --statistics en_GB.po
+
: /usr/bin/msgfmt -c --statistics is.po

Revision as of 13:03, 6 February 2007

The Release Process

The Claws Team sets a date for release, at least 2 weeks in advance.
Week One: CVS feature freeze
No new features are added to CVS, 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.
Week Two: CVS string freeze
No new features are added and no translatable strings are changed or added.
During this second week, translators should update their local CVS trees and work on updating their translations. For those translators who are unable to build from CVS, up to date POT files are made available for download at http://www.claws-mail.org/i18n/.
Whan 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 CVS 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 CVS since the last major release, and they also do not contain any new translatable strings that may have been added to CVS. 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 CVS, and create a claws-mail.pot file:

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

If you are not able to build from CVS, 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. 'is' if you are tranlating into Icelandic).

cp claws-mail.pot is.po

Open your new po file with your favourite text editor, (or you may prefer to use a translation catalog editor, such as poedit or kbabel, for example), and first edit the the header section of your file. You will need to replace the text in UPPERCASE with the correct values. The easiest way to workmout 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) 2000 Free Software Foundation, Inc.
# 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 section. 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:
#: 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>"


Checking your translation for errors (and completeness)

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