traduction

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
traduction [2013/12/17 12:55] – créée danytraduction [2023/07/29 16:45] (Version actuelle) dany
Ligne 1: Ligne 1:
-GETTEXT+====== GETTEXT ====== 
  
 La traduction se fait avec [[http://www.gutenberg.org/wiki/Gutenberg:GNU_Gettext_Translation_How-To|gettext]] sauf pour les fichiers javascript. La traduction se fait avec [[http://www.gutenberg.org/wiki/Gutenberg:GNU_Gettext_Translation_How-To|gettext]] sauf pour les fichiers javascript.
  
-!! tutoriel +Google translate peut traduire les fichiers po 
-[[http://www.grafikart.fr/tutoriels/php/internationaliser-site-gettext-104|Tutoriel Vidéo]]+ 
 +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.1387281340.txt.gz
  • Dernière modification : 2013/12/17 12:55
  • de dany