Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== 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 <code bash> mkdir -p html/lang/{your_local}/LC_MESSAGES </code> b) executer depuis le répertoire noalyss <code bash> 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 </code> Maintenant le fichier est créé avec les messages à traduire. c) Pour traduire (sous Linux) <code bash> poedit html/lang/$LOCAL/LC_MESSAGES/messages.po </code> d) Adapter les fichiers pour compiler Pour compiler et extraire, il faudra adapter des fichiers Compile noalyss/dev/compile_text.sh <code bash> echo "Your language" cd ../.. cd {your_local}/LC_MESSAGES msgfmt -c -v messages.po </code> extrait noalyss/dev/extract_text.sh <code bash> echo "Your language" msgmerge -U -s html/lang/{your_local}/LC_MESSAGES/messages.po html/lang/messages.po </code> ====== Les scripts ====== dans dev/ ===== extract_text.sh ===== Retrouve toutes les chaînes de caractères à traduire et les place dans html/lang/<langue>/LC_MESSAGES <code bash> #!/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 </code> ===== get_menu.sh ===== Retrouve les menus et les inscrit dans un fichier afin de pouvoir être traités par extract_text.sh <code bash> #!/bin/bash export PGUSER=dany export PGPASSWORD=dany export PGHOST=localhost export PGDATABASE=trunkdossier25 export PGPORT=5000 ( echo "<?php " psql -A -F" " -t -c "select '\$menu[]=_('''||replace(me_menu,'''',E'\\\\''')||''');' , '\$desc[]=_('''||replace(me_description,'''',E'\\\\''')||''');' from menu_ref ;" echo "?>" ) > ../include/menu_translate.php </code> ===== compile_text.sh ===== Compile le fichier afin que les traductions soient disponibles <code bash> #!/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 </code> ====== 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 traduction.txt Dernière modification : 2023/07/29 16:45de dany