Re all,
perhaps i found the ultimate solution

With this solution we don't have to create id and write directly the master template in english.
First the problem with the solution i send just before is that we need to work with RTF which is in a binary format.
With this solution we can have only ONE master text file in english and convert it to localized RTF files.
Here the solution:
Convert the english RTF file to a markdown text file (
http://en.wikipedia.org/wiki/Markdown)
So a Welcome.rtf file will be convert to Welcome.mmd:
#->Chameleon<-#
->v%CHAMELEONVERSION% r%CHAMELEONREVISION%<-
->Do not install to an Apple Macintosh computer<-
->**Developpers :**<-
->%DEVELOP%<-
->**Thanks to :**<-
->%CREDITS%<-
->**Package :**<-
->%PKGDEV%<-
->Package built by: %WHOBUILD%, language translated by: blackosx<-
Copyright © %CPRYEA%
After that we can extract all strings to an en.pot file with po4a (
http://po4a.alioth.debian.org/man/man7/po4a.7.php.en)
po4a-gettextize -f text -m Welcome.mmd -M UTF-8 -p en.pot
which create a pot file like this:
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-03-01 11:23+0100\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"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: Plain text
#: Welcome.mmd:3
msgid "#->Chameleon<-# ->v%CHAMELEONVERSION% r%CHAMELEONREVISION%<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:5
msgid "->Do not install to an Apple Macintosh computer<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:9
msgid "->**Developpers :**<- ->%DEVELOP%<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:12
msgid "->**Thanks to :**<- ->%CREDITS%<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:15
msgid "->**Package :**<- ->%PKGDEV%<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:17
msgid ""
"->Package built by: %WHOBUILD%, language translated by: blackosx<- Copyright "
"© %CPRYEA%"
msgstr ""
Now copy en.pot to fr.po for the traduction and open the fr.po in poedit. Translate the file and we have now a fr.po file:
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: TEST 1.0\n"
"POT-Creation-Date: 2012-03-01 11:23+0100\n"
"PO-Revision-Date: 2012-03-01 11:28+0100\n"
"Last-Translator: Yves Blusseau <xxxxx@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: Plain text
#: Welcome.mmd:3
msgid "#->Chameleon<-# ->v%CHAMELEONVERSION% r%CHAMELEONREVISION%<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:5
msgid "->Do not install to an Apple Macintosh computer<-"
msgstr "->Ne pas installer sur un ordinateur Apple Macintosh<-"
#. type: Plain text
#: Welcome.mmd:9
msgid "->**Developpers :**<- ->%DEVELOP%<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:12
msgid "->**Thanks to :**<- ->%CREDITS%<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:15
msgid "->**Package :**<- ->%PKGDEV%<-"
msgstr ""
#. type: Plain text
#: Welcome.mmd:17
msgid "->Package built by: %WHOBUILD%, language translated by: blackosx<- Copyright © %CPRYEA%"
msgstr ""
Now translate the original document (Welcome.mmd) to a localized one (Welcome.fr.mmd):
po4a-translate -f text -m Welcome.mmd -M utf-8 -p fr.po -k 10 -l Welcome.fr.mmd
The new generated file (Welcome.fr.mmd):
#->Chameleon<-#
->v%CHAMELEONVERSION% r%CHAMELEONREVISION%<-
->Ne pas installer sur un ordinateur Apple Macintosh<-
->**Developpers :**<-
->%DEVELOP%<-
->**Thanks to :**<-
->%CREDITS%<-
->**Package :**<-
->%PKGDEV%<-
->Package built by: %WHOBUILD%, language translated by: blackosx<-
Copyright © %CPRYEA%
The last phase is to convert all the localized markdown file (.mmd) to RTF file.
For that we can use MultiMarkdown which is avaible for OSX.
If we change the master file Welcome.mmd we only have to update the xx.po file with:
po4a-updatepo -f text -m Welcome.mmd -M utf-8 -p fr.po
then fix translation with poedit
What is really good with this solution:
* Work only with standardize text files
* Replacing our own strings (like %CREDITS%) is easy with text files.
* We can merge all the translation to one file for one language.
If the markdown language is not enough for us we can use other format because po4a knows a lot of other format:
- dia: uncompressed Dia diagrams.
- docbook: DocBook XML.
- guide: Gentoo Linux's XML documentation format.
- ini: INI format.
- kernelhelp: Help messages of each kernel compilation option.
- latex: LaTeX format.
- man: Good old manual page format.
- pod: Perl Online Documentation format.
- sgml: either DebianDoc or DocBook DTD.
- texinfo: The info page format.
- tex: generic TeX documents (see also latex).
- text: simple text document.
- wml: WML documents.
- xhtml: XHTML documents.
- xml: generic XML documents (see also docbook).
Tell me what do you think about that.
JrCs