Fichiers de traduction
Catégorie : Standards

Un module doit obligatoirement comporter un répertoire language.
Ce document est destiné à  expliquer ce que doit contenir ce répertoire, et comment préfixer les différentes définitions de langage.

1 - Répertoires
mymodule
language
english
french
.....
Le répertoire english est obligatoireet sera pris par défaut avec ses définitions.
Si votre site est configuré en français (préférences générales), créez le répertoire french et créez au fur et à  mesure les définitions de langage.
Une fois votre module terminé, faites une copie des fichiers dans le répertoire english et traduisez le tout.

2 - Fichiers de langues

Sauf cas particulier, les différents répertoires (english, french, ...) doivent obligatoirement contenir les fichiers main.php et modinfo.php
Les fichiers admin.php et block.php ne sont utiles que pour l'administration et le(s) bloc(s) du module.

Fichier langage

Préfixe

Fichiers concernés

Définitions pour

main.php

_MD

mymodule/index.php
(tous les fichiers du module, excepté blocs et administration)

- les fichiers de votre module
(à  la racine, répertoire include, etc.)

modinfo.php

_MI

mymodule/admin/menu.php
mymodule/xoops_version.php

- l'installation et mà j du module.
- les préférences du module
- la popup admin. du module

admin.php

_AM

mymodule/admin/index.php
(tous les fichiers d'administration du module)

- les fichiers d'administration

block.php

_MB

mymodule/block/myblock.php
(tous les fichiers des blocs)

- les blocs

Chaque définition de language devra utiliser le préfixe indiqué ci-dessus, suivi du nom du module en majuscule.
L'intérêt de ce préfixage est d'éviter les messages d'erreur (en mode debug php), indiquant que la définition de langage existe déjà .

3 - main.php
Fichier principal des variables de langage utilisées par vos différents fichiers.
Mieux vaut les commenter et les classer par fichier, sans oublier d'éliminer celles que vous n'utilisez pas, ou plus.

// index.php
define("_MD_MYMODULE_TITLE","Mon module");

// myfile.php
define("_MD_MYMODULE_TITLE","Titre");

// messages d'erreur
define("_MD_MYMODULE_ERROROCCURED","Une erreur est survenue");

// myform.inc.php (si vous avez un fichier include de formulaire)
define("_MD_MYMODULE_YOURNAME","Votre nom :");

4 - modinfo.php
Fichier d'information du module utilisé par xoops pour la gestion de votre module.
Ne pas oublier de faire une mise à  jour du module aprês chaque modification de ce fichier.

// * Le nom du module
define("_MI_MYMODULE_NAME","Mon module");

// * Brêve description du module
define("_MI_MYMODULE_DESC","Module ??? pour XOOPS");

// *Noms des blocs de ce module (si besoin)
define("_MI_MYMODULE_BNAME1","Mon bloc 1");

// *Noms des items de la popup admin du module (si besoin)
define("_MI_MYMODULE_ADMENU1","Ajouter un sujet");

// *Notification: description des évenements et texte pour les mail templates (si besoin)
define ('_MI_MYMODULE_NEWPOST_NOTIFY', 'Nouvel envoi');

5 - admin.php
Si vous avez une administration de votre module, variables de langage utilisées par celle-ci.

define("_AM_MYMODULE_DBUPDATED","Base de données mise à jour avec succés !");
define("_AM_MYMODULE_CONFIG","Configuration du module");

6 - blocks.php
Si vous avez des blocs de votre module, variables de langage utilisées par ceux-ci.

define("_MB_MYMODULE_TMRSI","Aujourd'hui l'article le plus lu est :");
define("_MB_MYMODULE_HITS","Nombre de lectures");

7 - mail_template
Si votre module permet l'envoi de mails (notification p.ex.) créez un sous répertoire mail_template dans language/english et mettez y les templates nécessaires.

Ex : newpost_notify.tpl
Bonjour {X_UNAME}, Un nouveau message a été ajouté sur {X_SITENAME}. Vous pouvez voir ce message ici : {COMMENT_URL} ----------- Vous recevez ce message parce que vous avez choisi d'être notifié quand des nouveaux articles sont ajoutés à  notre site. Si c'est une erreur ou si vous ne voulez plus recevoir de tels avis, mettez s'il vous plaît à  jour vos souscription en visitant le lien ci-dessous : {X_UNSUBSCRIBE_URL} Merci de ne pas répondre à  ce message. ----------- {X_SITENAME} ({X_SITEURL}) Le Webmestre {X_ADMINMAIL}

8 - Utiliser l'existant
Un certain nombre de définitions de langage sont déj à  créées pour les besoins du systême, et peuvent être réutilisées pour votre module.
Le fichier language/.../global.php contient en particulier des définitions pour 'Oui', 'Non', 'Envoyer', etc qu'il est inutile de créer à  nouveau.

9 - Rêgles d'écriture
Ecrire les définitions entre doubles quotes et remplacer les caratêres actentués par leur équivalent html
Utiliser de préférence les verbes à  l'infinitif : Envoyer plutôt que Envoyez p. ex.
Respectez

<a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/" title="Licence, certains droits réservés"><img src="http://www.frxoops.org/images/cdr_bouton.gif" alt="Licence, certains droits réservés" /></a>