traduction

GETTEXT

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

Traduction

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

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/

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

Traduction avec Google

tutoriel et documentation

  • traduction.txt
  • Dernière modification : 2023/07/29 16:45
  • de dany