Re: Tk et gettext

2002-03-20 Par sujet Patrice Karatchentzeff
Denis Barbier écrivait :

[...]

  je n'ai pas réussi à reproduire tes erreurs, mais ça vient de toute
  façon certainement de constructions comme
$foo = gettext(blah),\n;
  Quand tu veux concaténer des chaînes, il faut mettre un point et pas une
  virgule, ça te fout la zone avec les variables passées en arguments de
  fonctions.

Intuitivement, j'aurai dit pareil mais 

1) C'est marqué comme cela dans la doc gettext-perl
2) Cela fonctionne *au moins* avec print (cf. l'exemple bidon).


Ceci dit, je me suis méfié et pour certains trucs, comme les hachages
ou certaines longues phrases, cela faisait bizarre et j'ai tout
englobé. 

Merci quand même,

PK

-- 
  |\  _,,,---,,_   Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'-.  ;-;;,_   mailto:[EMAIL PROTECTED]
 |,4-  ) )-,_. ,\ (  `'-'  http://p.karatchentzeff.free.fr
'---''(_/--'  `-'\_)   




Re: Tk et gettext

2002-03-20 Par sujet Roland Mas
Patrice Karatchentzeff (2002-03-20 08:13:19 +0100) :

 Denis Barbier écrivait :

 [...]

   je n'ai pas réussi à reproduire tes erreurs, mais ça vient de toute
   façon certainement de constructions comme
 $foo = gettext(blah),\n;
   Quand tu veux concaténer des chaînes, il faut mettre un point et pas une
   virgule, ça te fout la zone avec les variables passées en arguments de
   fonctions.

 Intuitivement, j'aurai dit pareil mais 

 1) C'est marqué comme cela dans la doc gettext-perl

  Avec le = ?

 2) Cela fonctionne *au moins* avec print (cf. l'exemple bidon).

  Ah oui mais c'est pas pareil.  Avec print, si tu mets une virgule,
ça appelle print avec deux arguments, et pas avec un seul argument qui
est la concaténation des deux.

  print $a,$b est équivalent à print ($a, $b).  $c = $a, $b est
équivalent à $c = { $a, $b } ou à $c = { $a ; $b }.  Le bloc entre
accolades est évalué séquentiellement et sa valeur est la valeur du
dernier élément.

Roland.
-- 
Roland Mas

S'agirait pas d'atteindre la sublime transcendance du supramental sans
se bouger le fion un minimum... -- in Sri Raoul le petit yogi (Gaudelette)




Re: Tk et gettext

2002-03-20 Par sujet Patrice Karatchentzeff
Roland Mas écrivait :
  Patrice Karatchentzeff (2002-03-20 08:13:19 +0100) :
  
   Denis Barbier écrivait :
  
   [...]
  
 je n'ai pas réussi à reproduire tes erreurs, mais ça vient de toute
 façon certainement de constructions comme
   $foo = gettext(blah),\n;
 Quand tu veux concaténer des chaînes, il faut mettre un point et pas une
 virgule, ça te fout la zone avec les variables passées en arguments de
 fonctions.
  
   Intuitivement, j'aurai dit pareil mais 
  
   1) C'est marqué comme cela dans la doc gettext-perl
  
Avec le = ?

Bonne question en fait. Extrait de la doc :

   INTERNATIONALIZING YOUR PROGRAM
   
   Step 1
   --
   
   If you've already written your code, you need to
   wrap the gettext() function around all of the
   text strings. Needless to say, this is much easier if
   you do it while you write.
   
   print Welcome to my program\n;
   
   print gettext(Welcome to my program), \n;
   
   Note that you probably don't want to include that newline
   in the gettext() call, nor any formatting codes such as
   HTML tags. The argument to gettext() is the text string
   in the default language or locale. This is known as the
   C locale and should probably be usually English.

donc quand on emploie print (la fonction de Perl), il n'y a pas de
« = ». Par contre, il n'y a rien sur un autre type de
construction. Comment i18nisons les exemples suivants :

   $print = C'est pas si simple l'i18n\n

et

   %NoteBook =
(
  connection = [COnnection, Connexion, 0],
  mail   = [Mail,   Courriel,  1],
  log= [Log,Journaux de bord,  0],
)

(sachant que la l10n ici se situe dans le 2e champs bien sûr)

et 

$toto = $top - Button
 (
   -text= joli bouton,
   -command = \{kill_button},
 );

[...]

Ah oui mais c'est pas pareil.  Avec print, si tu mets une virgule,
  ça appelle print avec deux arguments, et pas avec un seul argument qui
  est la concaténation des deux.

Merci. Je n'avais pas fait attention à cela.

PK

PS : en attendant, je repars à zéro en suivant les conseils de Denis.

-- 
  |\  _,,,---,,_   Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'-.  ;-;;,_   mailto:[EMAIL PROTECTED]
 |,4-  ) )-,_. ,\ (  `'-'  http://p.karatchentzeff.free.fr
'---''(_/--'  `-'\_)   




Re: Tk et gettext

2002-03-20 Par sujet Denis Barbier
On Wed, Mar 20, 2002 at 11:28:00AM +0100, Patrice Karatchentzeff wrote:
[...]
 donc quand on emploie print (la fonction de Perl), il n'y a pas de
 « = ». Par contre, il n'y a rien sur un autre type de
 construction. Comment i18nisons les exemples suivants :
 
$print = C'est pas si simple l'i18n\n

 $print = gettext(C'est pas si simple l'i18n\n)
ou
 $print = gettext(C'est pas si simple l'i18n).\n

 et
 
%NoteBook =
 (
   connection = [COnnection, Connexion, 0],
   mail   = [Mail,   Courriel,  1],
   log= [Log,Journaux de bord,  0],
 )

 %NoteBook =
  (
connection = [COnnection, gettext(Connexion), 0],
mail   = [Mail,   gettext(Courriel),  1],
log= [Log,gettext(Journaux de bord),  0],
  )

 et 
 
 $toto = $top - Button
  (
-text= joli bouton,
-command = \{kill_button},
  );

  $toto = $top - Button
   (
 -text= gettext(joli bouton),
 -command = \{kill_button},
   );

Denis