Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-04-2010 17:41:38

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Zend_translate avec formatage spécial sur les caractères ? Possible ?

Bonjour,

J'utilise Zend_translate depuis plusieurs mois, cependant, je viens de tomber sur une situation bien particulière et j'aurais besoin de votre aide pour m'indiquer quels seraient la meilleure pratique ou comment est-ce que je pourrait contourner le problème sans être "Dirty".

Zend_translate est utilisé dans mon pour traduire mon texte en anglais et en français. Cependant, je suis sur une situation où certains termes (nom de produits) existent seulement en anglais mais doit se retrouver dans le texte français en italique (pour différencier). Je dois donc appliquer du formatage sur une partie de texte de une seule langue.

J'ai tout de suite essayé d'intégrer du Html dans mon dictionnaire de traduction:

Code:

//Fr:

'Services de dark fiber' => 'Services de <i>dark fiber</i>'

Cependant, Zend_translate converties mes balises en entités html ce qui ne mets pas mon texte en italique dans mon cas.

Pour du contenu normal, je pourrais bien faire une exeption et écrire une condition directement dans ma vue pour détecter la langue et faire écrire un autre text HTML mais ce serait la solution "Dirty". De plus, ce serait impossible dans mon cas car ceci provient de label de Zend_naviguation qui traduit automatique mes labels avec zend_translate:

Code:

Exemple:
$pages = array(    
            array(
                                'controller'     => 'index',
                'action'         => 'index', 
                'route'         => 'simple',
                'label'         => 'Services de dark fiber',  <!-- AUTOMATIQUEMENT traduit -->
                'uri'             => '/fr',
...
...
$container = new Zend_Navigation($pages);

J'aimerais donc savoir s'il existe une bonne alternative pour mon problème

Merci

Hors ligne

 

#2 22-07-2010 15:18:10

vg33
Membre
Date d'inscription: 30-07-2008
Messages: 46

Re: Zend_translate avec formatage spécial sur les caractères ? Possible ?

Pour les balises dans les chaînes traduites, j'ai créé mon propre view helper. Dans les chaînes traduites, je remplace les "<" et ">" par "[[" et "]]". Puis, dans mon helper, après traduction, je fais un simple str_replace :

Code:

class My_View_Helper_Translate extends Zend_View_Helper_Translate
{
    
    /**
     * Traduit un message en remplaçant la syntaxe wiki
     *
     * @param  string $messageid Id du message à traduire
     * @return mixed string|Zend_View_Helper_Translate le message traduit
     */
    public function translate($messageid = null)
    {
        $translatedMessage = parent::translate($messageid);
        if (is_object($translatedMessage)) {
            return $translatedMessage;
        }
        
        // remplacement des caractères interdits en xml
        $translatedMessage = str_replace('[[', '<', $translatedMessage);
        $translatedMessage = str_replace(']]', '>', $translatedMessage);
        $translatedMessage = str_replace('$$', '&', $translatedMessage);
        
        return $translatedMessage;
    }
}

Hors ligne

 

#3 22-07-2010 15:27:34

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: Zend_translate avec formatage spécial sur les caractères ? Possible ?

Pas fou comme solution !

C'est une bonne alternative quand même. Dommage qu'il n'y est pas une option on/off pour les entités html

Hors ligne

 

#4 22-07-2010 18:20:08

vg33
Membre
Date d'inscription: 30-07-2008
Messages: 46

Re: Zend_translate avec formatage spécial sur les caractères ? Possible ?

probitaille a écrit:

Pas fou comme solution !

C'est une bonne alternative quand même. Dommage qu'il n'y est pas une option on/off pour les entités html

A toi de la coder smile Pour moi, je viens de le faire grâce à ta remarque. Merci !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages