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 |
_MD |
mymodule/index.php |
- les fichiers de votre module |
|
_MI |
mymodule/admin/menu.php |
- l'installation et mà  j du module. |
|
_AM |
mymodule/admin/index.php |
- les fichiers d'administration |
|
_MB |
mymodule/block/myblock.php |
- 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