====== 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