# Guide de traduction de Moodle

La traduction de Moodle n'est pas si difficile. Avant de commencer, il est cependant sage de connaître certaines informations.

## Structure des fichiers de langue de Moodle

Les différentes traductions sont situées dans le dossier lang, chaque langue dans un dossier unique dont le nom est le même que celui de l'abbréviation de la langue : fr, fr_CA, en, de, it, es, ...

Les fichiers principaux sont situés directement dans ce dossier, et se terminent tous par l'extension « .php », par exemple moodle.php, resource.php, etc. Ces fichiers contiennent des expressions plus ou moins courtes, appelées le plus souvent « chaînes de caractères » ou tout simplement « chaînes ».

Certains dossiers contiennent des fichiers avec l'extension « .html » (des pages web) :

- help : contient les fichiers d'aide contextuelle qui s'ouvrent lorsque l'on clique sur les icônes d'aide de Moodle ;
- docs : contient les fichiers de la documentation de base (comme celui-ci !)

## Création d'une toute nouvelle langue pour Moodle

Si votre langue n'est pas encore traduite dans Moodle, ou si vous voulez juste apporter quelques personnalisations à l'interface de votre site, vous pouvez commencer une nouvelle traduction.

Pour ce faire, commencez par créer un nouveau dossier dans le dossier lang en utilisant pour son nom le code à 2 lettres de votre langue. Ces codes standard sont décrits dans le fichier lib/languages.php. Si vous faites simplement une adaptation locale d'une autre langue, utilisez comme nom le code de cette langue, suivi d'un caractère souligné et d'une extension significative de 2 lettres. Par exemple la langue française est désignée par fr, et le canadien-français par fr_ca. Si vous faites une version Unicode d'une traduction, ajoutez _utf8 à la fin (par exemple fr_utf8).

Ensuite, créez dans votre dossier un nouveau fichier "moodle.php" contenant les lignes suivantes :
`<?php
$string['thischarset'] = 'iso-8859-1';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'new language pack';
?>`
ou copiez le fichier moodle.php d'une autre langue dans votre nouveau dossier. Celui du dossier en est le plus actuel, mais peu importe puisque vous allez de toute façon le réécrire. Si vous choisissez de créer un nouveau fichier, vous aurez l'avantage de commencer avec des fichiers de langue complètement vides et propres.

Vous êtes maintenant prêt à insérer les chaînes de caractères de votre langue ! Pour plus de détails voyez ci-dessous.

Si vous créez une toute nouvelle langue, la première chaîne à modifier est celle dénommée thischarset dans le fichier moodle.php. Cette chaîne doit contenir un jeu de caractères (encodage) web valide pour votre langue. Après avoir modifié cette chaîne, enregistrez le fichier moodle.php, puis rechargez la page. Vous pouvez alors continuer à modifier les autres chaînes de caractères.

## Modification d'une langue existante

### Effectuer de petits changements

Si vous voulez juste effectuer quelques petits aménagements dans l'interface pour mieux l'adapter à votre site, ne modifiez pas les fichiers de langue standard ! Si vous le faites, toutes vos modifications seront effacées lors de la prochaine mise à jour de Moodle que vous effectuerez.

Utilisez plutôt les instructions ci-dessus pour créer un tout nouveau dossier de langue, et donnez pour valeur à la chaîne parentlanguage du fichier moodle.php le code de la langue la plus proche de la vôtre (la langue « mère »). Par exemple, une bonne dénomination pour une version française locale seraît « fr_local », et la chaîne parentlanguage auraît pour valeur fr ou fr_ca.

Pour que chacun sur votre site puisse profiter des modifications, vous devrez sélectionner cette nouvelle langue comme langue du site par défaut et restreindre les langues disponibles dans la page Administration -> Configuration -> Paramètres techniques.

### Traduire les fichiers de langue de Moodle (fichiers de chaînes de caractères)

1. Connectez-vous sur votre serveur Moodle en tant qu'administrateur.
2. Allez dans Administration -> Configuration -> Langue, qui est la page d'administration des langues.
3. Sur cette page, choisissez votre langue, puis cliquez sur « Comparer et modifier la langue active ».
4. Vous devriez maintenant voir un formulaire où vous pouvez modifier les chaînes du fichier moodle.php. Si ce n'est pas le cas, vous devrez vous assurez que les fichiers de langue peuvent être modifiés. Vous aurez peut-être à changer les droits de lecture et d'écriture sur ces fichiers.
5. Le formulaire comprend trois colonnes. La première est le nom de chaque chaîne, la deuxième la chaîne en anglais et la dernière sa traduction dans la langue actuelle.
6. Modifiez les chaînes manquantes, surlignées en couleur. N'oubliez pas de cliquer sur le bouton « Enregistrer: moodle.php » lorsque vous aurez terminé. Répétez ce processus pour les autres fichiers, que vous pouvez modifier en cliquant sur leur nom au sommet de la page.
7. Vous pouvez laisser des chaînes vides. Moodle utilisera dans ce cas la chaîne de la langue mère (parentlanguage). si vous n'avez pas défini la langue mère dans le fichier moodle.php, l'anglais sera utilisé par défaut.
8. Une façon rapide de voir toutes les chaînes manquantes est de cliquer sur « Vérifier les textes manquants ». N'écrivez rien dans les chaînes qui n'ont pas (encore) de traduction, sans quoi cet outil si pratique ne fonctionnera plus à satisfaction.

### Traduire les fichiers d'aide et la documentation

Il n'y a pas encore d'éditeur intégré dans Moodle pour traduire les fichiers d'aide et la documentation, mais ce n'est pas vraiment difficile. Il est important d'utiliser la langue en comme langue de référence. Copiez un fichier d'aide de ce dossier au même endroit dans votre propre dossier de langue. Utilisez ensuite un éditeur de texte pour modifier le fichier, en vous assurant de ne pas modifier le code qu'il contient (en général des balises HTML). N'UTILISEZ PAS UN TRAITEMENT DE TEXTE pour modifier ou écrire ces fichiers. Ces programmes les font grossir inutilement !
Ne laissez pas de chaînes non traduites dans vos fichiers de langue !

Prenez la peine d'écrire des fichiers d'aide en conformité avec la norme XHTML. Ceci comprend notamment les points suivants :

- toutes les balises ouvertes doivent être fermées : <p>lalala</p>
- tous les éléments doivent être correctement imbriqués : <p> lalala <em>lalala</em> </p>
- tous les éléments et les attributs doivent être écrits en bas de casse (minuscules)
- tous les attributs doivent être écrits en totalité et entre guillemets droits : <p align="right"> lalala </p>
- les éléments vides doivent être terminés par /> : <br /> <hr />. Il faut mettre un espace avant le caractère « / ».
- chaque balise « img » doit comporter un attribut « alt="" » (qui peut être vide) et doit en outre être fermé par un espace et />, par exemple <img alt="" src="photo.gif" />
- les balises courtes du code PHP <?= et <? sont à retirer au profit de leur version normale <?php
- AUCUNE balise « font » ne doit figurer dans le code. Les balises <p> <em> <h1> <h2> etc. sont suffisantes pour les fichiers de langues
- le nom de la langue (indiqué dans la variable « $string['thislanguage'] » dans le fichier « moodle.php ») doit être dans la mesure du possible conforme au standard « Unicode Numeric Character References (NCR) », car ceci permet un affichage correct de ce nom dans TOUS les encodages (pour un exemple, voir la langue chinoise)

Aucun des fichiers du dossier « help » ne nécessite de description de document (doc type), ni des balises html, body, head (ouvrantes ou fermantes), car ces fichiers sont inclus à l'aide du fichier « help.php ». Le script se chargera de composer des pages formatées correctement. Cela signifie qu'il n'y a pas beaucoup d'opportunité de laisser libre cours à votre créativité ! Veuillez coller au plus près de l'exemple de la langue anglaise.

Les fichiers du dossier « docs » doivent en revanche être en pleine conformité avec la norme XHTML, y compris la description de document (doc type), l'entête, etc.

Si vous cliquez sur « Vérifier les textes manquant » dans la page d'administration des langues, une liste des fichiers manquant sera également affichée. En lieu et place des fichiers manquant, Moodle utilisera les fichiers de la langue mère (parentlanguage). Il ne faut donc pas laisser des copies non traduites des fichiers d'aide dans votre dossier de langue, sinon cet outil si pratique ne fonctionnera plus à satisfaction.

## Offrir votre dossier de langue au projet Moodle

En offrant votre traduction au projet Moodle, vous aiderez les autres personnes parlant votre langue. Votre langue sera en outre distribuée avec toutes les versions futures de Moodle.

Compressez simplement votre dossier de langue complet en un fichier zip et envoyez-le à translation@moodle.org.

Nous vous communiquerons alors tous les détails nécessaires.

Voici une liste de vérification à utiliser avant de proposer vos fichiers de langue :

- Aucun fichier vide ?
- Aucun fichier ni aucune chaîne non traduite ?
- Fichiers d'aide pas modifié avec un traitement de texte ?
- Fichier README contenant une description de la langue, le nom et l'adresse de courriel du traducteur ?
- Nom du dossier d'après le code de langue valable (vérification dans moodle\lib\languages.php) ?
- Les fichiers de langue tournent sans erreur sur un Moodle de test ?
- Lorsque la variable "thislanguage" contient des lettres avec diacritiques ou dans un autre alphabet que le romain, elle est écrite en notation NCR ?
- Les chaînes et fichiers sont-ils conformes au format XHTML ?

## Maintenance de fichiers de langue standard

Si vous vous êtes engagé dans la maintenance d'une langue dans Moodle, vous aurez intérêt à utiliser le CVS de Moodle afin d'avoir à disposition une version de Moodle toujours à jour et de pouvoir déposer vos modifications directement dans le projet Moodle.

Pour être au courant des changements dans le projet, il est des plus judicieux de s'abonner à la liste de distribution CVS. Cela vous aidera à garder votre traduction aussi proche du texte anglais que possible.

Il vous faut en outre vous abonner au Forum des langues de Moodle (en anglais), où vous trouverez les nouveautés et des discussions sur les modifications ayant un impact sur la traduction.

Documentation Moodle

Version: $Id$