Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Comment localiser une chaîne contenant un lien

Posted by ghismo on 09/24/2008 08:59

Bonjour,

Voilà, j'ai la chaîne suivante à localiser : "Vous trouverez de l'aide en cliquant sur <a href="{jurl 'admin~default:help'}">ce lien</a>."

Ce qui me pose un double problème : le fait de pouvoir passer du HTML dans ma locale, et le fait de la paramétrer avec un contenu non statique.

Help ! :)

  [Opened] Re: Comment localiser une chaîne contenant un lien

Reply #1 Posted by laurentj on 09/24/2008 14:49

Bonjour,

Dans le cas présent, crée deux locales, tout simplement.

Et si dans un même template, tu as beaucoup de locales, le mieux serait de faire des templates dédiées à chaque langue, ce qui évite l'utilisation des locales de properties.

Ainsi, au lieu d'avoir

  templates/montemplate.tpl

Tu aurais

  templates/en_EN/montemplate.tpl  // version anglaise
  templates/fr_FR/montemplate.tpl  // version FR

  [Opened] Re: Comment localiser une chaîne contenant un lien

Reply #2 Posted by Julien on 09/24/2008 17:33

Hello,

il est aussi possible d'utiliser : les chaines avec paramètres

 ma_chaine = Vous trouverez de l'aide en cliquant sur %sce lien%s.

puis :

 {jlocale 'mon_ficher.ma_chaine', array('<a href="{jurl \'admin~default:help\'}">','</a>')}

je suis pas certain que la syntaxe marchera telle que dans un template, mais c'est l'idée. Au pire stocker le résultat de

 {jurl \'admin~default:help\'}

dans une variable avant et utiliser cette variable dans l'appel à jlocale.

NB : il peut être judicieux de numéroter les paramètres afin d'éviter tout problème si la chaine est plus complexe et contient d'autres paramètres.


Julien

  [Opened] Re: Comment localiser une chaîne contenant un lien

Reply #3 Posted by Julien on 09/29/2008 10:37

oui, c'est vrai, je crois que tu as raison.

Autant que je me souvienne, les fois où j'ai utilisé ça, je cherchais la locale dans le contrôleur ou zone, avec un truc un peu tordu du style :

 $response->body->assign('link',
    sprintf(htmlspecialchars(jLocale::get('mon_ficher.ma_chaine')),
        array('<a href="'.jUrl::get('admin~default:help').'">','</a>')));

Julien

  [Opened] Re: Comment localiser une chaîne contenant un lien

Reply #4 Posted by laurentj on 09/29/2008 13:46

@ghismo: ma solution est toujours valable...

  [Opened] Re: Comment localiser une chaîne contenant un lien

Reply #5 Posted by ghismo on 09/29/2008 14:25

Merci Julien.

Laurent, oui, merci, je pense partir sur les deux templates, la solution des deux variables ne me plaît pas beaucoup, j'ai aussi des chaînes avec plus d'un lien (c'est un texte sur l'accueil de l'admin pour expliquer comment prendre en main le site, du blabla et quelques liens sur les écrans d'admin principaux), et des langues qui fonctionnent à l'envers comme le français et le japonais, sûr que le lien se retrouvera à l'opposé dans ma phrase. Au pire je mettrai ça en base.

 
Page
  1. Re: Comment localiser une chaîne contenant un lien