View previous topic :: View next topic |
Author |
Message |
Guillaume Smarty n00b
Joined: 07 Jul 2008 Posts: 1
|
Posted: Mon Jul 07, 2008 3:31 pm Post subject: Multi Langue avec Smarty |
|
|
Bonjour,
J'attaque la création d'un site avec Smarty, et j'aimerai qu'il soit multilangue, savez-vous comment partir : faut-il utiliser la base de données ou plutot les fichiers XML ? Y a t'il quelque chose dans Smarty qui facilite ca ?
J'ai vu dans la doc de Smarty qu'apparemment il peut y avoir dans les plugins une fonction de blocs qui peut permettre cela ? Avez-vous déja essayé ?
Merci !! |
|
Back to top |
|
reb Smarty Rookie
Joined: 17 Aug 2005 Posts: 23
|
|
Back to top |
|
mumuri Smarty Rookie
Joined: 06 Apr 2008 Posts: 27
|
Posted: Sun Jul 13, 2008 4:24 pm Post subject: |
|
|
si tu regardes dans zikula (qui utilise smarty)
il ont un smarty pnml
Quote: | Example _EXAMPLESTRING = 'Hello World' {pnml name="_EXAMPLESTRING"} returns Hello World
_EXAMPLESTRING = 'There are %u% users online'; $usersonline = 10 {pnml name=_EXAMPLESTRING u=$usersonline} returns There are 10 users online |
qui charge des constantes de fichier de configuration prédéfini, ensuite il doivent charger le bon fichier de configuration au chargement de la page |
|
Back to top |
|
gtraxx Smarty Regular
Joined: 08 Jan 2008 Posts: 56
|
Posted: Tue Aug 05, 2008 11:06 am Post subject: |
|
|
reb ta méthode est très bien mais comment l'adapter avec un GET au lieux d'une session.
Genre je clique sur fr pour charger la config française |
|
Back to top |
|
reb Smarty Rookie
Joined: 17 Aug 2005 Posts: 23
|
Posted: Sat Aug 09, 2008 5:07 pm Post subject: |
|
|
gtraxx wrote: | reb ta méthode est très bien mais comment l'adapter avec un GET au lieux d'une session.
Genre je clique sur fr pour charger la config française |
Pareil :
Code: | $_GET['strLangue'] = 'fr'; |
La session c'est pratique car comme ça, tu garde le choix en mémoire. L'exemple était très simplifié ; le choix de la langue peut venir d'un GET, d'une préférence en SGBD, d'un paramètre de l'application,...
On pourrait avoir :
Code: |
if (empty($_SESSION['strLangue']) || !empty($_GET['strLangue'])) {
$_SESSION['strLangue'] = empty($_GET['strLangue']) ? 'fr' : $_GET['strLangue'];
}
|
comme ça on a une langue par défaut si rien n'est précisé. Si on a déjà la langue choisie (en session) on peut la modifier via une variable en GET
Last edited by reb on Wed May 05, 2010 10:34 pm; edited 1 time in total |
|
Back to top |
|
gtraxx Smarty Regular
Joined: 08 Jan 2008 Posts: 56
|
Posted: Sat Aug 09, 2008 11:53 pm Post subject: |
|
|
c'est vrai que c plus pratique d'utilisez cette méthode pour les parties static un fichier .conf pour charger la langue des menus, des textes static, etc ..
je vais tester avec ton exemple
mais une derniere question, au lieux d'un seul fichiers texte comment attribuer par exemple en.txt pour l'anglais, fr.txt , etc ..
Donc un fichiers de config par langue
merci |
|
Back to top |
|
reb Smarty Rookie
Joined: 17 Aug 2005 Posts: 23
|
Posted: Sun Aug 10, 2008 12:08 pm Post subject: |
|
|
Pareil :
Code: | {config_load file="`$smarty.session.strLangue`.txt"} |
en ayant précisé au départ l'emplacement des fichiers conf., par exemple :
Code: | $smarty->config_dir = '/chemin/vers/lang/'; |
Last edited by reb on Wed May 05, 2010 10:34 pm; edited 1 time in total |
|
Back to top |
|
gtraxx Smarty Regular
Joined: 08 Jan 2008 Posts: 56
|
Posted: Tue Aug 19, 2008 4:36 pm Post subject: |
|
|
Sa marche parfaitement, je pense réaliser un petit plugin a l'occasion
merci |
|
Back to top |
|
mhurier Smarty n00b
Joined: 20 Aug 2008 Posts: 4
|
Posted: Wed Aug 20, 2008 1:52 pm Post subject: |
|
|
cool merci ca ma servit |
|
Back to top |
|
djkost85 Smarty Rookie
Joined: 24 Dec 2008 Posts: 5
|
Posted: Wed Dec 24, 2008 2:22 pm Post subject: |
|
|
thnks |
|
Back to top |
|
djazzc Smarty n00b
Joined: 10 Aug 2009 Posts: 3
|
Posted: Mon Aug 10, 2009 5:06 pm Post subject: smarty multi language |
|
|
@reb merci beaucoup, ca marches niquel!! |
|
Back to top |
|
gtraxx Smarty Regular
Joined: 08 Jan 2008 Posts: 56
|
Posted: Mon Feb 22, 2010 9:56 am Post subject: |
|
|
Bonjour je tiens à préciser que cette méthode fonctionne bien avec smarty 3 seulement la fonction config_load déconne de temps en temps dans smarty 3 (probléme de compilation peut être)
Est ce du a l'encodage des fichiers de configuration ou peut être la syntaxe ?
Sans oublier que les commentaires avec # sont bien pris en charge mais pas les ####
Bref je retourne le tout dans tous les sens afin que tout sois parfais avec notre cher smarty qui grandi bien |
|
Back to top |
|
|