Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
translating_sympa [2013/08/27 11:02]
etienne.meleard@renater.fr
translating_sympa [2017/09/28 10:56]
david.verdin@renater.fr
Line 3: Line 3:
 Sympa is designed to allow easy internationalization of its user interface (service mail messages and web interface). Most translations for one language are gathered in a single PO file that can be manipulated by standard [[http://​www.gnu.org/​software/​gettext/#​TOCintroduction|GNU gettext tools]]. Sympa is designed to allow easy internationalization of its user interface (service mail messages and web interface). Most translations for one language are gathered in a single PO file that can be manipulated by standard [[http://​www.gnu.org/​software/​gettext/#​TOCintroduction|GNU gettext tools]].
  
-Documentation and ressources about software translations : [[http://translate.sourceforge.net/doc/]]+Documentation and ressources about software translations : [[http://docs.translatehouse.org/projects/localization-guide/​en/​latest/​guide/​start.html|Localisation Guide]].
  
-Sympa previously (until Sympa 4.1.x) used XPG4 messages catalogue format. Web and mail templates were language specific. The new organization both provide a unique file to work on for translators and a standard format supported by many software.+<​note>​Sympa previously (until Sympa 4.1.x) used XPG4 messages catalogue format. Web and mail templates were language specific. The new organization both provide a unique file to work on for translators and a standard format supported by many software.</​note>​
  
  
Line 11: Line 11:
 ===== Web interface for translators ===== ===== Web interface for translators =====
  
-The easiest way to translate Sympa user interface is to use our Pootle server.+The easiest way to translate Sympa user interface is to use site for translation.
 <box> <box>
-Sympa Pootle server ​: [[http://pootle.sympa.org]]+Translate ​Sympa : [[https://translate.sympa.org]]
 </​box>​ </​box>​
  
-These are the steps to follow to translate Sympa using pootle:+{{:wiki:​00-pootle-top-new.png?​768|Translate Sympa top page}}
  
 +These are the steps to follow to translate Sympa user interface:
  
-==== Create an account in pootle ==== 
  
-This can be done by clicking the "​Register"​ link to the right of the home page.+==== Create an account ====
  
-==== Choose ​project to translate ====+At first, you must create your account. ​ This can be done by clicking the "Sign In" on the top page then following ​link "Sign up as a new user".
  
-When you log in, you find :+{{:wiki:​00b-pootle-signup-new.png?​768|Sign up dialog}}
  
-  * on your right, ​submenu containing the main navigation links.+==== Choose ​project and language to translate ====
  
-  * in the middle of the page, e presentation of Sympathe languages handled by pootle and the three projects used for the Sympa translation. These three projects are :+When you log in, you find the three projects used for the Sympa translation:​
  
-    ​* Sympa user interface: ​all the web interface and the messages, either sent by mail or displayed in logs; + * Sympa user interface: ​All the web interface and the messages, either sent by mail or displayed in logs; 
-    * Sympa terminologyset of frequently used word upon which translators **must** agree prior to start translating anything else in Sympa; + * Sympa online helpThe help sections displayed by the web interface. 
-    * Sympa online help: the contextual help about parameters and the help section displayed by the web interface.+ * Terminology:​ A set of frequently used word upon which translators **must** agree prior to start translating anything else in Sympa;
  
-{{wiki:​01-pootle-home.png|Pootle home page}}+{{wiki:​01-pootle-projects-new.png?768|Translation projects}}
  
 ==== Choose a language ==== ==== Choose a language ====
  
-When you click on a project name, a page is displayed showing all the sub-project,​ one by language, hosted in pootle. They are displayed in a table whose columns give details about how much work has been done for each language already.+When you click on a project name, a page is displayed showing all the sub-project,​ one by language, hosted in the site. They are displayed in a table whose columns give details about how much work has been done for each language already.
  
-{{wiki:​02-pootle-langs.png|Pootle langs presentation in a project}}+{{wiki:​02-pootle-langs-new.png?768|Pootle langs presentation in a project}}
  
 ==== Go to the editing functions ==== ==== Go to the editing functions ====
  
-In this page, by clicking on the language name, you will reach yet another page which is the true entry point to translation. This page contains informations about each file of the project. You can start translating by clicking on the link titled "Show editing functions"​.+In this page, by clicking on the language name, you will reach yet another page which is the true entry point to translation. This page contains informations about each file of the project.
    
-{{wiki:​03-pootle-project.png|Project home page for a specified lang}}+{{wiki:​03-pootle-project-new.png?768|Project home page for a specified lang}}
  
-Once in the editing functions, you can see a menu containing ​several links. Shortly:+If you selected "​Browse" ​in the top menu, you can see several links. Shortly:
  
-  * click on "Quick translate" to start translating at the first untranslated or fuzzy translated string that pootle will find in the catalog.+  * click on "Continue translation" to start translating at the first untranslated or fuzzy translated string that pootle will find in the catalog.
  
-  * click on "Translate ​all" to start translating at the first string in the file.+  * click on "View all" to start translating at the first string in the file.
  
   * you can use the "​search"​ form to go directly to a particular string you want to translate.   * you can use the "​search"​ form to go directly to a particular string you want to translate.
  
-  * You can also notice a "​commit"​ link that will be used only when you're done working for this session and want to submit your work to the subversion repository. +<​!-- ​{{wiki:​04-pootle-edit_functions.png|Project editing function}} ​-->
- +
-{{wiki:​04-pootle-edit_functions.png|Project editing function}}+
  
 ==== Translate ==== ==== Translate ====
  
-Whichever ​"translate" ​link you clicked, at the preceding step, you will reach a page similar to the one below:+If you selected ​"Translate" ​in the top menu, at the preceding step, you will reach a page similar to the one below:
  
-{{wiki:​05-pootle-translate.png|Project translation}}+{{wiki:​05-pootle-translate-new.png?768|Project translation}}
  
 ---- ----
  
-In this page, you can translate a string whose english version is on the left. Once you're done with this string, click on the "submit" button. ​Pootle ​will save your changes ​and then open the next string to translate+In this page, you can translate a string whose english version is on the left. Once you're done with this string, click on the "Submit" button. ​Your changes ​will be saved and then the next string to translate will be open.
- +
-Note on the image the box on the right of the translation area: if the string contains words defined in the "Sympa terminology"​ project, then they will display, along with their translation. This way, you will maintain the coherence of your translation easily.+
  
 +Note: If the string contains words defined in the "​Terminology"​ project, then they will display at the left of translation area, along with their translation. This way, you will maintain the coherence of your translation easily.
  
-<note warning> The "​submit"​ button below the translation area will **not** commit your translation to the subversion repository. It will only save the catalog ​file on the pootle server. If you want your work to be registered in subversion, you must go back to the editing functions, and then click on the "​commit"​ link.</​note> ​+===== Using PO file =====
  
-===== The PO file format ​=====+==== The PO file format ====
  
 A PO (Portable Object) file is a text file with a header part (containing meta information) and a set of translations. A translation refers to a reference string in English (msgid) and a translated string (msgstr). A PO (Portable Object) file is a text file with a header part (containing meta information) and a set of translations. A translation refers to a reference string in English (msgid) and a translated string (msgstr).
Line 87: Line 84:
   "​POT-Creation-Date:​ 2002-07-16 17:​27+0800\n"​   "​POT-Creation-Date:​ 2002-07-16 17:​27+0800\n"​
   "​PO-Revision-Date:​ 2004-06-23 10:​46+0200\n"​   "​PO-Revision-Date:​ 2004-06-23 10:​46+0200\n"​
-  "​Last-Translator:​ Olivier ​Salaun ​\n" +  "​Last-Translator:​ Olivier ​Salaün\n" 
-  "​Language-Team: ​Fran�ais\n"+  "​Language-Team: ​Français\n"​ 
 +  "​Language:​ fr\n"
   "​MIME-Version:​ 1.0\n"   "​MIME-Version:​ 1.0\n"
-  "​Content-Type:​ text/plain; charset=ISO-8859-1\n"+  "​Content-Type:​ text/plain; charset=UTF-8\n"
   "​Content-Transfer-Encoding:​ 8bit\n"​   "​Content-Transfer-Encoding:​ 8bit\n"​
   "​X-Generator:​ KBabel 1.3.1\n"​   "​X-Generator:​ KBabel 1.3.1\n"​
Line 96: Line 94:
 When translating you should carefully fill (if your translation tools does not do it for you) the following entries of the header : When translating you should carefully fill (if your translation tools does not do it for you) the following entries of the header :
  
-    * Language-Team : it should contain the language name (in the native language) +    * Language-Team : it should contain the language name (in the native language)
-    * Content-Type : the charset ​specified here will be considered the default charset for the language everywhere in Sympa+    * Language : it should contain the gettext locale name.  If you don't know what name to use for your language, please ask Sympa authors. 
-    * Content-Transfer-Encoding : also considered by Sympa as the default one for the language ​+    * Content-Type : the charset ​used to encode this file.  Recently it should ​be always "​UTF-8"​
 +    * Content-Transfer-Encoding : also it should be "​8bit"​. ​
  
 Example, translation : Example, translation :
Line 110: Line 109:
 The lines starting with # are either comments or meta data. They are used by Sympa to provide you with contextual information about the string to translate (parameter names corresponding to %s, %1, %2... entries, list of templates/​modules that refer to this string). msgid and msgstr are respectively the string to translate and the translation. The lines starting with # are either comments or meta data. They are used by Sympa to provide you with contextual information about the string to translate (parameter names corresponding to %s, %1, %2... entries, list of templates/​modules that refer to this string). msgid and msgstr are respectively the string to translate and the translation.
  
-===== Special entries in PO files =====+==== Special entries in PO files ====
  
 There are 3 types of special entries in PO files : There are 3 types of special entries in PO files :
Line 135: Line 134:
   #~ msgstr "​Questa lista e' chiusa: impossibile elencare gli iscritti.\n"​   #~ msgstr "​Questa lista e' chiusa: impossibile elencare gli iscritti.\n"​
  
-===== Tools for editing PO files =====+==== Tools for editing PO files ====
  
 There are a few PO editors that will make your translation job easier : There are a few PO editors that will make your translation job easier :
Line 146: Line 145:
  
  
-===== Updating an existing PO file =====+==== Updating an existing PO file ====
  
-Let's consider Sympa was previously translated in your language and you wish to update the translations (translating new strings, updating changed translations,​ fixing errors,​...). You should download the latest version of the PO file from the [[http://sourcesup.cru.fr/​cgi/​viewcvs.cgi/sympa/po/?​cvsroot=sympa|SVN]] repository. Your favourite PO editor will help you find the untranslated and fuzzy strings. Once you have finished the translation job you should send the new PO file to [[sympa-authors@cru.fr]].+Let's consider Sympa was previously translated in your language and you wish to update the translations (translating new strings, updating changed translations,​ fixing errors,​...). You should download the latest version of the PO file from the [[https://github.com/sympa-community/sympa|source repository]]. Your favourite PO editor will help you find the untranslated and fuzzy strings. 
 + 
 +<​!-- ​Once you have finished the translation job you should send the new PO file to [[sympa-authors@renater.fr]]. ​-->
  
 ===== Translating Sympa for a new language ===== ===== Translating Sympa for a new language =====
  
-The only extra job, compared to PO updates, is to create a new PO file. Download the latest version of the sympa.pot file from our [[http://sourcesup.cru.fr/​cgi/​viewcvs.cgi/sympa/po/?​cvsroot=sympa|CVS repository]]. Rename sympa.pot to LL.po (where LL is your language ​code) and initialize the headers (manually or via your PO editor).+The only extra job, compared to PO updates, is to create a new PO file. Download the latest version of the sympa.pot file from our [[https://github.com/sympa-community/sympa|source ​repository]]. Rename sympa.pot to LL.po (where LL is gettext locale name of your language) and initialize the headers (manually or via your PO editor).
  
-Before you start a translation job, please subscribe to the [[http://​listes.cru.fr/​sympa/​info/​sympa-translation|sympa-translation]] mailing list and ask if others have already started the job.+<!-- 
 +Before you start a translation job, please subscribe to the [[http://​listes.renater.fr/​sympa/​info/​sympa-translation|sympa-translation]] mailing list and ask if others have already started the job. 
 +-->
  
 +<note tip>
 You may wish to translate from a familiar language (other than English) to your native language. You can create the initial version of your LL.po file based on a MM.po file but you should tag all translations in the newly created file as fuzzy. You can perform this operation with the UNIX msgattrib command as follows : You may wish to translate from a familiar language (other than English) to your native language. You can create the initial version of your LL.po file based on a MM.po file but you should tag all translations in the newly created file as fuzzy. You can perform this operation with the UNIX msgattrib command as follows :
   % msgattrib --set-fuzzy -o /tmp/oc.po /tmp/fr.po   % msgattrib --set-fuzzy -o /tmp/oc.po /tmp/fr.po
 +</​note>​
  
-===== Language and country codes =====+==== Gettext locale name ====
  
 If you don't know what your official language code is, check [[http://​www.loc.gov/​standards/​iso639-2/​langhome.html|this document]]. If you don't know what your official language code is, check [[http://​www.loc.gov/​standards/​iso639-2/​langhome.html|this document]].
  
-===== Testing a newly created PO file on your Sympa server =====+If you don't know what gettext locale name to use for your language, please ask Sympa authors.
  
 +==== Testing a newly created PO file on your Sympa server ====
  
 (This method will only work with Sympa release 4.2b.3 or higher) (This method will only work with Sympa release 4.2b.3 or higher)
Line 175: Line 181:
   * restart your sympa server : % /​etc/​rc.d/​init.d/​sympa stop ; /​etc/​rc.d/​init.d/​sympa start    * restart your sympa server : % /​etc/​rc.d/​init.d/​sympa stop ; /​etc/​rc.d/​init.d/​sympa start 
  
-===== Updating a PO file to include new Sympa entries to translate ​=====+==== Updating a PO file to include new Sympa entries to translate ====
  
 This operation is required if you wish to create an uptodate version of your PO file that include both previous translations and new required ones. The list of entries to translate are collected in the ''​sympa.pot''​ template file. ''​sympa.pot''​ can be updated according to code and templates by running the following command in the ''​po/''​ subdirectory of Sympa sources : This operation is required if you wish to create an uptodate version of your PO file that include both previous translations and new required ones. The list of entries to translate are collected in the ''​sympa.pot''​ template file. ''​sympa.pot''​ can be updated according to code and templates by running the following command in the ''​po/''​ subdirectory of Sympa sources :
Line 186: Line 192:
   > msgmerge -o ll.po ll.po sympa.pot   > msgmerge -o ll.po ll.po sympa.pot
  
-===== Merging 2 (or more) PO files =====+==== Merging 2 (or more) PO files ====
  
 You will need to merge PO files when merging Sympa branches or to gather the work of different translators who have edited the same PO file off-line. You will need to merge PO files when merging Sympa branches or to gather the work of different translators who have edited the same PO file off-line.
Line 193: Line 199:
   > msgmerge -C ll-A.po ll-B.po sympa.pot > ll.po   > msgmerge -C ll-A.po ll-B.po sympa.pot > ll.po
  
- +<!-- 
-Please [[sympa-authors@cru.fr|contact us]] if have further questions. ​+Please [[sympa-authors@renater.fr|contact us]] if have further questions. ​ 
 +-->
  • translating_sympa.txt
  • Last modified: 2018/06/11 09:36
  • by ikeda@conversion.co.jp