rulururu

post Découverte de Prado

novembre 2nd, 2007

Catégorie: Prado — 23unit @ 19 h 37 min

Voici un petit tutorial pour mettre en place un site en français et anglais avec Prado.

Tout d’abord, nous allons configurer le fichier application.xml pour mettre en place la gestion de l’Internationalization (I18N).

Nous lui rajoutons donc le module concerné ayant pour langue par défaut : fr

<module id=”globalization” class=”TGlobalizationAutoDetect” Culture=”fr”>

<translation type=”XLIFF” source=”Application.lang” autosave=”false” cache=”false” />

</module>

Application.lang signifiant que les fichiers xml des langues seront dans le répertoire lang de l’application : protected/lang par défaut.

Ensuite nous modifions le fichier index.php de l’application en lui ajoutant une nouvelle classe héritant de TApplication.

On remplace donc :

$application=new TApplication;
$application->run();

Par :

class MyApplication extends TApplication
{

public function OnLoadStateComplete()
{

parent::OnLoadStateComplete();// If the culture has changed
if (isset($this->Request[’lang’])) {

$this->setGlobalState(’lang’, $this->Request[’lang’]);

}

// This changes the Culture if the GlobalState variable ‘lang’ is set.
if ($this->getGlobalState(’lang’) != “”) {

$this->getGlobalization()->setCulture($this->getGlobalState(’lang’));

}

$this->getGlobalization()->Charset = “UTF-8″; //change the charset

}

}

$application=new MyApplication;
$application->run();

Vous pouvez bien entendu mettre autre chose que UTF-8 pour le Charset.

Nous rajoutons ensuite des liens pour passer de français à anglais et vise et versa :

<a href=”index.php?page=<%= $this->Request->ServiceParameter %>〈=fr”>FR</a>
<a href=”index.php?page=<%= $this->Request->ServiceParameter %>〈=en”>EN</a>

Il ne vous reste plus qu’à mettre <%[Welcome]%> à la place de Welcome par exemple, et Prado va créer automatiquement les fichiers xml : lang/fr/messages.xml et lang/en/messages.xml

Ensuite à vous de rentrer les traductions dans les fichiers xml comme ceci :

<trans-unit id=”1″>

<source>Bienvenue</source>
<target>
Welcome</target>

</trans-unit>

<trans-unit id=”2″>

<source><![CDATA[Propulsé par]]></source>
<target>Powered by</target>

</trans-unit>

Pour le deuxième exemple : <%[Propulsé par]%>

Pour toute question, critique ou suggestion, n’hésitez pas.

Pas de commentaire »

Il n'y a pas encore de commentaire.

RSS des commentaires pour cet article. TrackBack URI

Laisser un commentaire

ruldrurd

Bad Behavior has blocked 16 access attempts in the last 7 days.