Module compatible TC

De Cms Made Simple France
Aller à : navigation, rechercher

Rendre son module traduisible et le traduire

Rendre son module traduisible

Pour laisser la communauté vous aider à traduire un module, il faut préalablement savoir parler ANGLAIS ! car oui, la norme chez CmsMadeSimple est de coder vos langues en anglais par défaut.

Pour ce faire, créez dans le répertoire de votre module cette arborescence :

./lang/ ./lang/ext/ ./lang/en_US.php

dans le fichier en_US.php vous allez déclarer simplement cette ligne

<?php
  $lang['world'] = 'Hello World';
?>

Vous pouvez maintenant dans le code de votre module appeler cette chaine dans la langue de l'utilisateur simplement avec cette fonction

  echo "<p>.$this->Lang('world')."</p>";

Cas du wording dans Smarty

Une astuce pour ceux qui travaillent dans les templates et souhaitent appeler cette fonction :

  $smarty->assign('mod', $this);

puis dans votre template

  <p>{$mod->Lang('world')}</p>

Cas du wording avec paramètre.

Un cas particulier : faire du wording avec un paramètre : "Bonjour John, Tu as 30 ans aujourd'hui"

La déclaration dans le fichier en_US.php se fait ainsi

  $lang['connexion'] = 'Hello %s, You're %d years old today.';

et l'on ajoute les paramètres dans l'appel précédent.

  echo "<p>.$this->Lang('world', 'John', 30)."</p>";

La fonction est basée sur la fonction PHP sprintf, voir l'API CmsMadeSimple

Cas du wording pour une popup Javascript.

Un autre cas particulier : faire du wording pour des popup JS, les accents et les apostrophes passants mal, il est recommandé de les transformer en symbole UNICOD


Traduire votre module

A ce stade du wiki vous avez rendu votre module traduisible et même si le français est vote langue natale, vous vous êtes retenu de tout écrire en dur dans vos fichiers. BRAVO !

Pour faire traduire votre module, le plus simple est de mettre à disposition sur la forge et le Translation Center le fichier de lang en_US.php

  • La première étape est administrative. Vous devez en effet vous créer un compte sur le forum anglais.
  • La seconde étape est d'enregistrer votre projet et le faire accepter (comptez 24h) sur la forge en spécifiant bien la source de votre code (SVN / GIT / GITHUB)
  • La troisième étape consiste à s'inscrire en tant que developpeur sur le projet de traduction FR.
  • La quatrième est de se connecter sur le TranslationCenter et de cliquer sur "Français" avant de cliquer sur le lien de votre module.

Vous pouvez maintenant traduire

Cette dernière étape n'est pas toujours automatique. Contacter un membre de l'administration si vous rencontrez un soucis (module non présent, connexion impossible, ...)

Vous pouvez découvrir plus d'informations sur le sujet de la traduction sur notre guide.

Déjà finit...

Voilà pour cette partie, vous avez maintenant la possibilité de traduire et faire traduire vos modules

Retourner sur la liste des tutoriaux