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
translating_sympa [2006/12/01 09:55]
olivier.salaun@cru.fr
translating_sympa [2018/06/11 09:36]
ikeda@conversion.co.jp Obsoletion
Line 1: Line 1:
 ====== Translating Sympa ====== ====== Translating Sympa ======
  
-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]]. Only online user documentation uses a different translation procedure : localized web templates are located in a subdirectory under web_tt2/, check the [[http://​sourcesup.cru.fr/​cgi/​viewcvs.cgi/​sympa/​web_tt2/​|CVS repository]].+<​note>​ 
 +Updated description ​is found at:
  
-Documentation and ressources about software translations : [[http://​translate.sourceforge.net/doc/]]+  * [[https://​translate.sympa.org/pages/help|New translation site]]
  
-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>​
  
-===== Web interface for translators ===== 
- 
-The easiest way to translate Sympa user interface is to use our Pootle server. 
- 
-Sympa Pootle server : [[http://​pootle.sympa.org]] 
- 
- 
- 
-===== 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). 
- 
-Example, header part of fr.po : 
- 
-  msgid ""​ 
-  msgstr ""​ 
-  "​Project-Id-Version:​ fr\n" 
-  "​POT-Creation-Date:​ 2002-07-16 17:​27+0800\n"​ 
-  "​PO-Revision-Date:​ 2004-06-23 10:​46+0200\n"​ 
-  "​Last-Translator:​ Olivier Salaun \n" 
-  "​Language-Team:​ Fran�ais\n"​ 
-  "​MIME-Version:​ 1.0\n" 
-  "​Content-Type:​ text/plain; charset=ISO-8859-1\n"​ 
-  "​Content-Transfer-Encoding:​ 8bit\n"​ 
-  "​X-Generator:​ KBabel 1.3.1\n"​ 
- 
-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) 
-    * Content-Type : the charset specified here will be considered the default charset for the language everywhere in Sympa. 
-    * Content-Transfer-Encoding : also considered by Sympa as the default one for the language ​ 
- 
-Example, translation : 
- 
-  #. (list.name) 
-  #: src/​etc/​tt2/​listmaster_notification.tt2:​36 
-  #: src/​etc/​tt2/​listowner_notification.tt2:​18 
-  msgid "List %1 automatic bounce management"​ 
-  msgstr "​Gestion des adresses en erreur pour la liste %1" 
- 
-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 ===== 
- 
-There are 3 types of special entries in PO files : 
- 
- * Untranslated : the string has not been translated yet 
-      Example : 
- 
-  #: wwsympa/​tt2/​subindex.tt2:​53 
-  msgid "Add selected addresses"​ 
-  msgstr ""​ 
- 
- * Fuzzy : this tag indicates that the translation might not be correct 
-   ​Example : 
- 
-  #: wwsympa/​tt2/​admin_menu.tt2:​82 wwsympa/​tt2/​admin_menu.tt2:​88 
-  #, fuzzy 
-  msgid "​Bounces"​ 
-  msgstr "​Unzustellbare Adresse"​ 
- 
- * Obsolete : the corresponding string is no more used by Sympa 
-   ​Example : 
- 
-  #~ msgid "List is Private : You can not browse subscribers'​ list.\n"​ 
-  #~ msgstr "​Questa lista e' chiusa: impossibile elencare gli iscritti.\n"​ 
- 
-===== Tools for editing PO files ===== 
- 
-There are a few PO editors that will make your translation job easier : 
- 
-    * KBabel (===== http://​i18n.kde.org/​tools/​kbabel/​ =====) 
-      KBabel is part of the KDE environment. It helps you create and edit your PO files. You can navigate among untranslated/​fuzzy strings. KBabel also detect errors in the format. 
-    * PoEdit ([[http://​poedit.sourceforge.net/​]]) 
-    * Emacs and its PO mode is adapted for emacs experts. 
-    * Ktranslator (===== http://​www.geocities.com/​SiliconValley/​Sector/​4288/​ =====) 
-    * GTranslator ([[http://​www.gtranslator.org/​]]) ​ 
- 
-===== 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|CVS]] 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]]. 
- 
-===== 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). 
- 
-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. 
- 
-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 
- 
-===== Language and country codes ===== 
- 
-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 ===== 
- 
- 
-(This method will only work with Sympa release 4.2b.3 or higher) 
-Considering that LL.po in your newly created catalogue : 
- 
-  * copy LL.po in Sympa sources po/ directory 
-  * edit the po/Makefile to add LL to the LINGUAS variable 
-  * edit your sympa.conf to make the new language available : supported_lang fr,en_US,LL 
-  * compile and install your catalogue : % ./configure ; make ; make install 
-  * 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 ===== 
- 
-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 : 
-  > make pot 
- 
-You can then update all PO files as follows : 
-  > make update-po 
- 
-This last operation performs the following ''​msgmerge''​ on each PO file : 
-  > msgmerge -o ll.po ll.po sympa.pot 
- 
-===== 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. 
- 
-This last operation performs the following ''​msgmerge''​ on each PO file : 
-  > msgmerge -C ll-A.po ll-B.po sympa.pot > ll.po 
- 
- 
-Please [[sympa-authors@cru.fr|contact us]] if have further questions. ​ 
  • translating_sympa.txt
  • Last modified: 2018/06/11 09:36
  • (external edit)