Je traduis le module couteauprive, et je tombe sur ce texte qui fait parti de la chaîne toutmulti:description :
Cet outil accepte également les arguments. Par exemple, le raccourci <code><:chaine{arg1=un texte, arg2=un autre texte}:></code> permet de passer deux paramètres à la chaîne suivante : <code>'chaine'=>'Voici mes arguments : @arg1@ et @arg2@'</code>.$
$
La fonction SPIP utilisée est alors : <code>_T('chaine', array('arg1'=>'un texte', 'arg2'=>'un autre texte'))</code>.$
$
et je n'y comprends presque rien. Est-ce que quelqu'un peut me donner un exemple d'utilisation ?
Par exemple, si on définit une chaine de langue comme ceci :
dans local_en.php : 'hello' => 'Hello world, my name is @name@ !',
dans local_fr.php : 'hello' => 'Bonjour le monde, je m'appelle @name@ !',
etc.
Eh bien le raccourcis <:hello{name=Patrice}:> dans un texte provoquera l'affichage de la chaine dans la langue en cours où la variable @name@ aura été remplacée par 'Patrice'.
Ah d'accord, pigé ! Merci.
C'est surtout l'utilisation de "arg1" et "arg2" comme exemples qui m'a trompé. Je pensais que c'était obligatoire d'utiliser ces mots.
Je dirais peut-être des « variables » plutôt que des « arguments » dans l'explication?
$
User variables can also be added to the shortcuts. For example, <code><:a_text{name=John, tel=2563}:></code> makes it possible to pass the values to the SPIP language file: <code>'a_text'=>'Please contact @name@, the administrator on @tel@.</code>.$
$
In this case, the SPIP function used is: <code>_T('a_text', array('var1'=>'first text', 'var2'=>'second text', ...))</code>.$
$
- - -
L'intérêt de la chose est limité à des textes statiques, n'est-ce pas ?
C'est à dire, dans un squelette, je ne peux pas mettre :
<:mon_texte{nom=#GET{ma_variable}}:>
je pense ?
Paolo
Patrice Vanneufville wrote:
D'accord,
Ce terme tiré des arguments d'une fonction...
Je pense qu'il faudrait changer l'exemple et mettre qq de plus parlant à la place :
'ma_chaine'=>"Je m'appelle @nom@ et j'ai @age@ ans."
Ca serait plus explicite, non ?
Pat
At 21:46 26/10/2008, Paolo wrote:
Patrice Vanneufville wrote:
Par exemple, si on définit une chaine de langue comme ceci :
dans local_en.php : 'hello' => 'Hello world, my name is @name@ !',
dans local_fr.php : 'hello' => 'Bonjour le monde, je m'appelle @name@ !',
etc.
Eh bien le raccourcis <:hello{name=Patrice}:> dans un texte provoquera l'affichage de la chaine dans la langue en cours où la variable @name@ aura été remplacée par 'Patrice'.
Ah d'accord, pigé ! Merci.
C'est surtout l'utilisation de "arg1" et "arg2" comme exemples qui m'a trompé. Je pensais que c'était obligatoire d'utiliser ces mots.
Je dirais peut-être des « variables » plutôt que des « arguments » dans l'explication?
$
User variables can also be added to the shortcuts. For example, <code><:a_text{name=John, tel=2563}:></code> makes it possible to pass the values to the SPIP language file: <code>'a_text'=>'Please contact @name@, the administrator on @tel@.</code>.$
$
In this case, the SPIP function used is: <code>_T('a_text', array('var1'=>'first text', 'var2'=>'second text', ...))</code>.$
$
- - -
L'intérêt de la chose est limité à des textes statiques, n'est-ce pas ?
C'est à dire, dans un squelette, je ne peux pas mettre :
<:mon_texte{nom=#GET{ma_variable}}:>
je pense ?
normalement si, #GET, #ENV, n'importe quelle balise (sans doute meme avec filtre)