====== GETTEXT ======
La traduction se fait avec [[http://www.gutenberg.org/wiki/Gutenberg:GNU_Gettext_Translation_How-To|gettext]] sauf pour les fichiers javascript.
Google translate peut traduire les fichiers po
Pour créér un message à traduire, écrivez-la en français entouré de _( ) puis utilisez dev/extract_test.sh pour générer les fichiers po puis après traduction (poedit, vi ou google translate) compilez-les avec le script dev/compile_text.sh
Attention sous Unix, vous devez avoir les locales NL_nl et EN_en pour que la traduction fonctionne (voir man locale)
Ici une discussion avec un fichier d'exemple [[https://forum.noalyss.eu/viewtopic.php?f=3&t=5630&p=5635]]
====== Traduction ======
Il suffit d'utiliser [[https://poedit.net/|Poedit]] ou [[https://userbase.kde.org/Lokalize/fr|Lokalize]] sous Linux.
Il faut ouvrir le fichier noalyss/html/lang/LC_MESSAGES/message.po et traduire chaque entrée
====== Ajouter une nouvelle langue ======
N'hésitez pas à demander qu'on le fasse pour vous.
Depuis le répertoire noalyss
a) créer le répertoire pour la langue avec les codes internationaux (es : espagnol , fr : français , en : anglais ) souligné le pays (exemple : en_US)
Dans la suite , remplacer {your_local} par cette valeur
mkdir -p html/lang/{your_local}/LC_MESSAGES
b) executer depuis le répertoire noalyss
export LOCAL={your_local} # ici le code correspondant au répertoire
msginit --locale=$LOCAL -i html/lang/messages.po -o html/lang/$LOCAL/LC_MESSAGES/messages.po
Maintenant le fichier est créé avec les messages à traduire.
c) Pour traduire (sous Linux)
poedit html/lang/$LOCAL/LC_MESSAGES/messages.po
d) Adapter les fichiers pour compiler
Pour compiler et extraire, il faudra adapter des fichiers
Compile
noalyss/dev/compile_text.sh
echo "Your language"
cd ../..
cd {your_local}/LC_MESSAGES
msgfmt -c -v messages.po
extrait
noalyss/dev/extract_text.sh
echo "Your language"
msgmerge -U -s html/lang/{your_local}/LC_MESSAGES/messages.po html/lang/messages.po
====== Les scripts ======
dans dev/
===== extract_text.sh =====
Retrouve toutes les chaînes de caractères à traduire et les place dans html/lang//LC_MESSAGES
#!/bin/bash
# Brief : extract strings from the file, in order to update a
# po file. It is used for the translation
#
#
# This file is a part of NOALYSS under GPL
# Author D. DE BONTRIDDER danydb@aevalys.eu
echo "Extract"
cd ..
xgettext -L PHP -j --from-code=UTF-8 -p html/lang/en_US/LC_MESSAGES/ html/*.php include/*.php include/template/*.php
xgettext -L PHP -j --from-code=UTF-8 -p html/lang/nl_NL/LC_MESSAGES/ html/*.php include/*.php
===== get_menu.sh =====
Retrouve les menus et les inscrit dans un fichier afin de pouvoir être traités par extract_text.sh
#!/bin/bash
export PGUSER=dany
export PGPASSWORD=dany
export PGHOST=localhost
export PGDATABASE=trunkdossier25
export PGPORT=5000
(
echo "" ) > ../include/menu_translate.php
===== compile_text.sh =====
Compile le fichier afin que les traductions soient disponibles
#!/bin/bash
# Brief : compite the file .mo,
# It is used for the translation
#
#
# This file is a part of NOALYSS under GPL
# Author D. DE BONTRIDDER danydb@aevalys.eu
cd ../html/lang
cd en_US/LC_MESSAGES
msgfmt -c -v messages.po
cd ../..
cd nl_NL/LC_MESSAGES
msgfmt -c -v messages.po
====== Traduction avec Google ======
http://barry.coffeesprout.com/translating-po-files-using-google-translate/
====== tutoriel et documentation ======
- [[http://www.grafikart.fr/tutoriels/php/internationaliser-site-gettext-104|Tutoriel Vidéo]]
- [[https://webtranslateit.com/fr/docs/file_formats/gettext_po]]
- [[https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html]]
- [[http://en.wikipedia.org/wiki/Gettext]] Anglais
- [[http://fr.wikipedia.org/wiki/Gettext]] Français