Documentation on tools translation of EKD
-----------------------------------------

A) Presentation, execution:
---------------------------

EKD (EnKoDer-Mixer) possesses tools allowing to manage diverse stages for the translation of the software.

To reach these tools of translation (under GNU / LINUX) you have to set up at first the SVN version. To do 
it, follow this procedure:

http://ekd.tuxfamily.org/index.php/Developpement/SVNEnglish

Afterward it is necessary to verify that the directory: /home /user/ekd was indeed created (user corresponds 
to your user's name naturally).

It will then be necessary to enter this directory ekd, to open a terminal and to type this inside :

cd /home/user/ekd

To execute the script it will be necessary to enter the following command (with the rights user and not 
those administrator):

python ekd_outils_traduction.py

Here is the interface which will display at this moment (it will be necessary to choose the action to be 
executed):

====================================================================================
TRANSLATION TOOLS FOR EKD
====================================================================================
* 1) Create a (locale/ekd.po) file from all the texts in EKD.
# --------------
* 2) Turns update .po files (translations in later). Update files will be saved in your home
directory and will be of the form: ekd_symbole_language_date_time_maj.pot
(eg ekd_en_EN_8_3_2011_20h37_maj.pot).
# --------------
* 3) Reverse the msgid (gathering all the original texts, in this french case) and msgstr
fields (together the texts destination, in english). In fact this function can offer EKD texts
in english. This is the first creation of the file: locale/creation/ekd_en_EN_invert_msgid_msgstr
(beware it is preferable that the english translation of EKD is up to date, ie file:
locale/en_EN/LC_MESSAGES/ekd.pot). With this function you can, for example, request a translation
of EKD english to german.
Result PO file will recover in: locale/inverser_msgid_msgstr/creation.
# --------------
* 4) This feature allows you to replace the french translation of texts (msgid fields) while
recovering the new translation (msgstr fields). Translations recovered will be deposited (by
renaming the file ekd.po) and dropping it in the directory: locale/it_IT/LC_MESSAGES (eg Italian).
WARNING: for this to work, you must put the PO file (once translated) in directory:
locale/inverser_msgid_msgstr/update/entree (and while having to put the files in trash if there
were before).
The result will be in: locale/inverser_msgid_msgstr/update/sortie_FR.
# --------------
* 5) This feature allows you to update the translation (from english into a different language)
by taking into account the new EKD text added.
WARNING: for this to work, you must put the PO file (once translated) in directory (and while
having put the files to the trash if there were before):
locale/inverser_msgid_msgstr/update/entree.
The result will be in: locale/inverser_msgid_msgstr/update/sortie_EN.
When the result retrieved, you can send the POT file to the translator so that it continues to
work on.
====================================================================================
* Type 1 to create a .po file (locale/ekd.po) from all the texts in EKD
------------------------------------------------------------------------------------------------
* Type 2 to update your files .po files (to do when .po files have been translated)
------------------------------------------------------------------------------------------------
* Type 3 fields to reverse msgid and msgstr fields and offer an english version of text
contained in EKD
------------------------------------------------------------------------------------------------
* Type 4 to put the texts in french while keeping the matches translation has been made (this
is done from the inversion of the msgid and msgstr fields, as is just above the choice 3)
------------------------------------------------------------------------------------------------
* Type 5 to update the .pot file by taking into account the new text contained in EKD. msgid
fields will be in english and msgstr fields in the language that comes to be translated (note
it is preferable that the english translation is up to date)
------------------------------------------------------------------------------------------------
* Enter 0 on the keyboard to exit without doing anything
------------------------------------------------------------------------------------------------
What is your choice, 1, 2, 3, 4, 5 or 0 (?): 

B) Detailed explanations:
-------------------------

First, (and in all the explanations which are going to follow) you will have to replace "user" by 
your user's name under GNU/LINUX.

1) If you type "1" you will generate two files of translation with extension .po, both files will be 
named ekd.po and ekdDoc.po (and will be in the directory : /home/user/ekd/local), these files will to be 
to load and to translate in PoEdit (http://fr.wikipedia.org/wiki/PoEdit, http://sourceforge.net/projects/poedit) 
or directly in the interface of translation for EKD:

http://ekd.tuxfamily.org/index.php/Developpement/DocPasserelleDeTraductionEnglish

The translations are to be done from french to teh other langages.

For information : in these files ekd.po and ekdDoc.po, the text fields of msgid (that is the initial texts) will 
be in French, and the text fields msgstr (that is texts once translated) will be empty (because not still translated). 

In fact this first tool translation serves to update both files the PO with the new texts contained in EKD (which 
change during the development, certain texts will have changed, the others will have disappeared), but attention, 
all the texte fields of msgstr will always be empty.

2) If you type "2" you will have the possibility of updating files the PO (that is ekd.po and ekdDoc.po) contained in:

/home/user/ekd/locale 

... languages managed by EKD, for example for the English language files contained in:

/home/user/ekd/locale/en_EN/LC_MESSAGES

..., so:

/home/user/ekd/locale/en_EN/LC_MESSAGES/ekd.po
/home/user/ekd/locale/en_EN/LC_MESSAGES/ekdDoc.po

... by adding the new texts in french during the successive developments.

How to do ?

Let us stay with our example of the english language, let us imagine that you translated some texts from french to 
english contents in the file:

/home/user/ekd/locale/en_EN/LC_MESSAGES/ekd.po 

... (either in PoEdit or in the interface of translation of EKD). Place this new file of translation in:

/home/user/ekd/locale/en_EN/LC_MESSAGES

..., rename it ekd.po (this will replace the older file). To finish, execute the tool translation concerned with the 
command:

python /home/user/ekd/ekd_outils_traduction.py

... type 2, the various files of translation will have been updated (the new french texts of EKD will have been added, 
and while protecting the already made translations; in this particular case english translation in our example). The 
new updates will have been generated in your /home/user, for example the following files (with a .pot extension):

/home/user/ekd_en_EN_15_10_2011_16h55.pot
/home/user/ekdDoc_en_EN_15_10_2011_16h55.pot

Send the updates in question (put them in download somewhere) by sending an email in: ekd.forum at gmail.com

3) If you  type "3", you will invert the initial text fields with the text fields after translation (in fact you go to 
invert fields msgid with fields to msgstr). If you have in your ownership a translation from french to english of EKD, 
this menu 3 replaces your initial text fields with english texts (while the text fields to be translated will be empty). 
It will exclusively serve to propose the texts of EKD in english (to be able to be translated by the non french-speaking 
[for example from nglish to russian]).

How to do ?

Let us keep our example of a preliminary translation of EKD from french to english (it is for the translations from english 
to the other languages that this menu 3 is planned), take the file:

/home/user/ekd/locale/en_EN/LC_MESSAGES/ekd.pot

... (if necessary, rename the ekd.po file to ekd.pot). Your files (two files will be generated : one with the extension .po 
and the other one with the .pot extension) will be in the directory:

/home/user/locale/inverser_msgid_msgstr/creation

... in this example, you got the files:

/home/user/locale/inverser_msgid_msgstr/creation/ekd_en_EN_invert_msgid_msgstr_INITIAL_15_10_2011_17h10.po
/home/user/locale/inverser_msgid_msgstr/creation/ekd_en_EN_invert_msgid_msgstr_INITIAL_15_10_2011_17h10.pot

To finish send the updates in question (put them in download somewhere) by sending an email in: ekd.forum at gmail.com

Information 1: the translation from french to english of EKD is ultra-important (!) because it is from the english text that 
this menu 3 is going to be able to work.

Information 2 : during the translations from french to english, if the translators translate various fields from french texts 
exactly in the same way into english it is going to have a problem there (it already occurred), the only way of locating these 
possible problems (being crossed by this menu 3) is to load the file (with the extension .po) in PoEdit, to inform the fields of 
the part Catalog (Catalog > Configuration - > Information Project) and then to register (File > to Record under). If fatal errors 
are located, please indicate them by sending an email in: ekd.forum at gmail.com

4) If you type "4" you are to be able to put back in position the french translation of texts (fields msgid) while getting back 
the new translations (fields msgstr). The translations so got back can be deposited (by renaming the file ekd.po) in the directory:

/home/user/ekd/locale/it_IT/LC_MESSAGES (for example pout italian language).

How to do ?

Let us take as example a translation of the texts of EKD from english to italian, once the ended translation it will be necessary 
to put the file the PO of translation in the directory:

/home/user/ekd/locale/inverser_msgid_msgstr/update/entree

..., then type 4 your numeric keyboard and the initial text fields in french (corresponding to the italian translations; 
always in our example of a translation in italian language) will be ready put back in position in the good place. You will then 
have got back the initial texts fields in french and the texts fields translated into italian.

To finish send the updates in question (put them in download somewhere) by sending an email in: ekd.forum at gmail.com

5) If you type "5" you will update the translation (from english to another language) by taking into account the new texts 
(retranslated in english) contained in EKD.

ATTENTION : so that it can work, it is necessary to put the file the PO (once translated from english to another language) in 
the directory (and while having beforehand putting the present files in this directory, in the basket):

/home/user/ekd/locale/inverser_msgid_msgstr/update/entree

How to do ?

Once the made translation (for example from english to italian) put deposit the file the PO in the directory:

/home/user/ekd/locale/inverser_msgid_msgstr/update/entree 

... ( as specified just above, if it is about a POT file, rename it with an extension .po), then type "5" your numeric 
keyboard.

For information : the final update will be in :

/home/user/ekd/locale/inverser_msgid_msgstr/update/sortie_EN

... and the file will be called for example (for the translation from english to italian) :

ekd_en_EN_to_it_IT_UPDATE_15_10_2011_17h15.pot

Once the result was got back, you can send the file POT to the translator so that he continues the work.