Documentation traducteur

De Dolibarr Wiki.

Contents

Language.png Traduire l'application Dolibarr dans une autre langue

Dolibarr est livré avec plusieurs langues. Par défaut, le Français et l'Anglais sont toujours complets. Les autres langues dépendent des contributions. Cette documentation vous présente comment traduire les fichiers langues pour ajouter une langue non traduite ou traduite de manière incomplète.

Il existe 4 méthodes pour réaliser la traduction de Dolibarr (1 automatique avec autotranslator.php, 3 manuelles avec phpLangEditor, iniTranslation et la méthode complètement manuelle). Les voici par ordre de préférences:

Traduction automatique avec l'outil autotranslator.php

  • OS du traducteur: Tous
  • Outil: autotranslator.php fourni avec Dolibarr 2.5.1 et plus dans le répertoire dev/translation.

Pour traduire ou mettre à jour tous les fichiers dans une nouvelle langue, lancez simplement le script:

php autotranslator.php lang_code_source lang_code_target

Par exemple :

php autotranslator.php en_US pt_PT

pour traduire en portugais (pt_PT) en utilisant l'anglais (en_US) comme fichiers sources.

Tous les fichiers non existant seront créés, et ceux existant déjà seront mis à jour pour être complétés avec les chaines manquantes. Les chaines déjà traduites sont conservées tel quelles. L'outil utilise le service de traduction Google pour trouver la valeur traduite d'une chaine, aussi un accès internet depuis le poste où est lancé la commande est requis. Votre PHP doit de plus avoir les permissions d'écrire dans le répertoire htdocs/langs directory et doit avoir les fonctions de l'extension curl disponibles.

Traduction manuelle avec le plugin phpLangEditor de Firefox

  • OS du traducteur: Tous
  • Outil: phpLangEditor (plugin pour Firefox)

Voici les étapes à suivre pour une traduction via phpLangEditor: PhpLangEditor.jpg

  1. Installer Firefox et le plugin phpLangEditor ( File:PhpLangEditor254.xpi ). Vérifiez que le module est bien à l'état actif.
  2. Une étape supplémentaire est requise pour finaliser l'installation. Saisissez dans le champ URL, le texte about:config puis dans le champ filtre, saisissez phplangeditor. Double cliquer sur la ligne phpLangEditor.file.typeOfLangExt et mettre ini a la place de php. phpLangEditor est maintenant prêt pour traduire Dolibarr.
  3. Depuis Firefox, ouvrir phpLangEditor en choisissant le menu Outils -> PHP lang editor.
  4. Cliquez sur "Ouvrir le fichier de référence" et choisissez votre fichier .lang d'origine (par exemple dans votre répertoire Dolibarr, htdocs/langs/en_US/bills.lang
  5. Cliquez sur "Ouvrir le fichier de traduction" et sélectionnez le fichier qui contiendra la traduction, si un fichier existe déjà (par exemple htdocs/langs/es_ES/bills.lang).
  6. Vous pouvez choisir d'afficher tous les termes à traduire ou uniquement les termes non-traduits. Cliquez sur le terme dans la colonne de gauche pour le traduire dans la case du bas. Vous pouvez aussi utiliser des raccourcis-clavier comme CTRL+N pour passer au suivant
  7. Enregistrer le fichier une fois la traduction terminée.
  8. Editer le fichier avec un éditeur de texte pour supprimer ou corriger la première ligne de commentaire. En effet, avec phpLangEditor, il n'est pas possible de traduire les lignes commentées (commençant par un #), aussi le fichier traduit contient une fois enregistré la ligne commentaire du fichier source. Une petite édition manuelle est nécessaire pour corriger ou supprimer cette ligne, bien que cela ne nuise pas au bon fonctionnement du nouveau fichier .lang.

Traduction manuelle avec iniTranslator

  1. Lancer votre application de traduction qui vous demandera le fichier modèle (Par exemple, sous iniTranslator, faire Fichier - Ouvrir Original). Choisir le fichier source modèle dans le répertoire htdocs/langs/en_US ou htdocs/langs/fr_FR, qui sont à jour.
  2. Puis choisissez éventuellement le fichier destination, dans le répertoire htdocs/langs/xx_XX ou xx est le code langue à traduire.
  3. Votre outils affichera les 2 fichiers face à face avec les chaines à traduire manquante.
  4. Compléter
  5. Sauvegarder le nouveau fichier destination.

Attention, iniTranslator souffre d'un grave défaut. Il ne conserve pas l'ordre d'origine des paramètres et tri le fichier généré par ordre alphabétique des clés plutot que dans l'ordre du fichier source. De plus, les zones commentaires du fichiers source ne sont pas repercutées dans le fichier destination traduit.


Traduction manuelle complètement

Pour traduire Dolibarr dans une autre langue, il faut aller dans le répertoire langs et créer un répertoire ayant pour nom le code langue à traduire (En suivant le même format que ceux déjà existant, par exemple en_US, fr_FR, es_ES, de_DE, etc...). Il faut ensuite recopier les fichiers lang depuis un répertoire déjà traduit (par exemple en_US/main.lang ou fr_FR/bills.lang), les recopier dans le répertoire de la nouvelle langue que l'on vient de créer et traduire le contenu de ces fichiers.

Ces fichiers sont constitués de la manière suivante:

Code1=Phrases à traduire 1
Code2=Phrases à traduire 2
...
Coden=Phrases à traduire n

Seules les phrases à droite du = sont à traduire, le code doit rester inchangé. Il est possible de traduire les fichiers un par un, sans tous les traduire d'un coup. Si un fichier n'a pas été traduit dans la nouvelle langue, Dolibarr utilisera l'anglais.

Pour avoir une chaine variable selon la langue dans le code PHP, tout ce que vous avez à faire et de charger le fichier lang et d'utiliser la méthode pour récupérer la variable traduite. Ceci peut se faire de la manière suivante:

$langs->load("nomdufichier"); // ou $langs->load("nomdufichier@monmodule") si monfichier.lang est dans le répertoire htdocs/monmodule/langs/xx_XX   
 
print $langs->trans("CodeX")

Et une entrée du type

CodeX=Phrase X

doit être ajoutée aux fichiers .lang

Intégrer sa traduction dans Dolibarr

Si vous avez complété des fichiers .lang existant déjà dans Dolibarr mais incomplets ou si vous avez créé des nouveaux fichiers .lang pour une nouvelle langue, vous pouvez :

  • Inclure vos changements ou fichiers dans la version officielle de Dolibarr. Ceci est possible si vous connaissez le système GIT. Pour cela, créer un compte sur http://www.github.com, forker le projet, modifier les fichiers concernés et envoyer une Pull Request.
  • Ou plus simplement, envoyer vos fichier par mail en pièce jointe sur la liste: dolibarr-dev@nongnu.org. Un développeur les intégrera pour vous.


Remarque: Il y a 2 langues maitres, toutes les 2 toujours complètes:

  • Le français (fichiers .lang du répertoire lang/fr_FR)
  • L'anglais (fichiers .lang du répertoire lang/en_US)

Il est possible d'utiliser indifférement l'une ou l'autre (celle qui arrange) comme référence car les 2 sont à jour. Tous les autres fichiers langues sont susceptibles d'être incomplets.

Diffusion de votre traduction

Dans les sources Dolibarr officielles

La meilleure chose à faire, après avoir réalisé une traduction, est de les inclure dans la version officielle de Dolibarr. Ceci est possible si vous connaissez le système GIT. Pour cela, créer un compte sur http://www.github.com, forker le projet, faite votre changement et envoyer une Pull Request.

En tant qu'extension

Quand vous avez créer une nouvelle langue, si elle n'est pas intégrée dans Dolibarr, elle peut être malgré tout diffuser pour d'autres utilisateurs. Vous pouvez fabriquer un package pour la distribuer en utilisant le script build/makepack-dolibarrlang.pl ou en réalisant un zip de manière manuel que vous posterez sur dolistore.com ou sur la mailing-list des développeurs https://savannah.nongnu.org/mail/?group=dolibarr.

Le fichier fabriqué doit juste être dézippé dans le répertoire Dolibarr pour que la langue soit disponible.

Language.png Traduire la documentation du wiki

Le wiki est maintenu en 3 langues: Englais, Français et Espagnol. Si vous voulez améliorer la documentation d'une de ces langues, il vous suffit de créer un compte sur ce wiki. Ensuite, vous pouvez modifier toute page qui possède une traduction incorrecte ou traduire une page qui attend d'être traduite. La liste de ces pages est disponible sur la page Category:Page_waiting_for_translation.

Outils personnels
Autres langues
AnglaisEspagnol