La traduction se fait avec 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
Il suffit d'utiliser Poedit ou Lokalize sous Linux.
Il faut ouvrir le fichier noalyss/html/lang/LC_MESSAGES/message.po et traduire chaque entrée
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
dans dev/
Retrouve toutes les chaînes de caractères à traduire et les place dans html/lang/<langue>/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
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 "<?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
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