Bonjour Marc,
> Et bien, parce que, comme je l'ai indiqué, ça ne marche pas.....
Et alors pourquoi chez moi cela marche ? Et ce depuis longtemps,
quelle que soit la release Cake !
> Là, je ne suis pas d'accord. Relit ce que j'ai écris :
>
> > J'ai testé si __('previous') fonctionnait bien et me retournait sa
> > traduction : pas de problème. Le hic semble se situer dans prev()
>
> La string initiale est donc bien trouvée. C'est dans prev() que ça coince.
??? Si tu me dis qu'avec __("previous") çà marche, je ne comprend pas
pourquoi cela ne fonctionnerait pas avec prev()...
Prev n'est pour rien dans le fonctionnement de gettext().
> Toujours pas d'accord : les chevrons sont, dans le code indiqué,
> indépendant de la recherche de la traduction.
> Relit aussi ce que j'ai écris : je n'ai RIEN qui s'affiche, preuve donc
> que le hic est dans prev()
>>>> Oui, là je me suis planté, je reconnais : tu devrais avoir les chevrons
>>>> même si le mot n'est pas ou mal traduit
Je viens de passer deux jours sur prev() et next() car il y avait un
bug dans le helper.
Suite à mes tickets sur le trac Cake, cela a été corrigé et il y en
avait un autre avant les miens qui semblait être corrigé par la RC2.
Essaie donc de passer à la dernière version de la RC2 au lieu de ta
RC1.
Ensuite, supprime ton fichier .po, remets tout ton projet en UTF-8,
relance le extract du .po et refais ta traduction du mot "previous".
Puis dans ta vue, vérifies que tu as bien (à part peut-être mon 'url',
dont tu n'as pas besoin sans doute) :
<?php echo $paginator->prev('<< '.__('previous', true), array('url' =>
$this->params['pass']), null, array('class'=>'disabled'));?>
Je ne vois aucune raison qui ferait qu'un mot avec des accents fasse
planter la fonction prev() ou next() du paginator Helper...
Bon courage !
Avairet
On 9 juil, 18:27, Marc MENDEZ <[EMAIL PROTECTED]> wrote:
> Bonjour avairet :> Bonjour Marc,
>
> > Je ne suis pas sûr de très bien comprendre ce que tu dis...
> > Mais une première chose me semble claire : pourquoi tu ne mets pas tes
> > accents dans la traduction de previous ?
>
> Et bien, parce que, comme je l'ai indiqué, ça ne marche pas.....
> Pourtant, la première traduction que j'ai indiquée dans mon mail, elle,
> s'affiche bien.
>
> > Moi j'ai fait :
>
> > msgid "previous"
> > msgstr "Précédent"
>
> > Et mon prev() marche impec.
>
> > Si la traduction de "previous" n'est pas trouvée dans le fichier .po
> > français, alors Cake affichera le mot "previous" ! C'est le principe
> > du gettext().
>
> Entièrement d'accord avec toi.> Enfin, je ne pense pas que l'UTF 8 et l'ISO
> soient en cause, mais le
> > fait de passer de l'un à l'autre a peut-être provoqué des schmilblicks
> > dans ton fichier .po et du coup gettext() ne retrouve plus la string
> > initiale...
>
> Là, je ne suis pas d'accord. Relit ce que j'ai écris :
>
> > J'ai testé si __('previous') fonctionnait bien et me retournait sa
> > traduction : pas de problème. Le hic semble se situer dans prev()
>
> La string initiale est donc bien trouvée. C'est dans prev() que ça coince.
>
> > Les chevrons sont concaténés au mot "previous" donc s'ils sont
> > affichés, ton mot aussi et si le mot ne s'affiche pas, les chevrons
> > non plus.
>
> Toujours pas d'accord : les chevrons sont, dans le code indiqué,
> indépendant de la recherche de la traduction.
> Relit aussi ce que j'ai écris : je n'ai RIEN qui s'affiche, preuve donc
> que le hic est dans prev()> Quelle release de Caake utilises-tu ?
>
> 1.2.0.7125 RC1
>
> J'ai eu un peu plus de temps pour creuser : j'ai "tracé" l'exécution de
> prev().
> Voici brièvement les étapes :
>
> Dans l'ordre,
> prev appelle __pagingLink, qui appelle $this->Html->tag($tag, $title,
> $options, $escape);
> tag appelle la méthode h() (définie dans basics.php)
> if ($escape) {
> $text = h($text);
> }
> A l'issu de cet appel, $text est vide...
> Or, $text est (indirectement) la valeur '<< '.__('previous', true).
> Donc, comme il est mis à vide, cela explique pourquoi les chevrons
> n'apparaissent même pas.
> J'ai essayé de ne pas activer l' "escape" en faisant :
>
> <?php echo $paginator->prev('<< '.__('previous', true),
> array('escape'=>false), null, array('class'=>'disabled'));?>
>
> mais, ça n'a pas l'air d'avoir bp d'effet... et là, je suis à la bourre
> pour fouiller plus
>
> De retour vendredi !
>
>
>
> > On 9 juil, 14:27, Marc MENDEZ <[EMAIL PROTECTED]> wrote:
>
> >> Bonjour,
>
> >> Dans app/locale/fre/LC_MESSAGES/default.po, j'ai traduis certaines
> >> expressions et mots standards que l'on trouve lorsqu'on utilise Bake.
> >> Exemples :
>
> >> msgid "Page %page% of %pages%, showing %current% records out of %count%
> >> total, starting on record %start%, ending on %end%"
> >> msgstr "Enregistrements de %start% à %end% - Page %page%/%pages%"
>
> >> msgid "previous"
> >> msgstr "Precedent"
>
> >> msgid "next"
> >> msgstr "Suivant"
>
> >> J'ai enregistré le fichier tantôt en UTF-8 comme recommandé, tantôt en
> >> ISO-8859-1, mais le résultat est le même :
> >> Alors que la traduction du message "Page %page% of %page...." qui
> >> contient un caractère accentué est parfaitement affiché, pour la
> >> traduction de "previous", je n'ai rien à l'écran dès lors que j'écris
> >> "Précédent" au lieu de "Precedent".
> >> Je n'ai rien touché au code généré en standard :
>
> >> <?php echo $paginator->prev('<< '.__('previous', true), array(), null,
> >> array('class'=>'disabled'));?>
>
> >> Vu ce qui est écrit, si la traduction de "previous" ne pouvait pas être
> >> trouvé, je devrais au moins avoir les deux chevrons affichés. Et bien
> >> non : rien, comme si la méthode prev() échouait en silence...
>
> >> J'ai testé si __('previous') fonctionnait bien et me retournait sa
> >> traduction : pas de problème. Le hic semble se situer dans prev()
>
> >> Une idée ?
--~--~---------~--~----~------------~-------~--~----~
Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---