2016-12-23 1 views
0

Ng2-translatedirective me cause quelques problèmes, mais je ne comprends pas si je fais quelque chose de mal ou si c'est un bug.La directive ng2-translate ne fonctionne pas alors que le tuyau est

Sur le modèle html du même composant, la traduction pipe fonctionne, alors que la traduction directive ne l'est pas.

En particulier:

<span translate>{{ feature.linkTxt }}</span> // works 

<span [translate]="feature.linkTxt"></span> // not working 

voir https://github.com/ocombe/ng2-translate#4-use-the-service-the-pipe-or-the-directive

Suis-je manque quelque chose ou devrait-il fonctionner?

EDIT

Les feature.linkTxt variables des points à la stringLEARNMORE, ce qui correspond à la chaîne json suivante:

"LEARNMORE": "Learn more", 

Si je passe de la directive sur la conduite, avec la même variable, la traduction le texte est affiché.

La variable feature.linkTxt est générée par l'instruction *ngFor suivante:

<li *ngFor="let feature of featureslist"> ... 
+0

Avez-vous une erreur pour l'utiliser? – ranakrunal9

+0

@ ranakrunal9 aucune erreur que ce soit, le texte n'est tout simplement pas traduit et l'élément DOM est laissé sans texte – ghego1

+0

pouvez-vous partager votre langue json objet de fichier? – ranakrunal9

Répondre

0

Comme par ng2-translate example si votre fichier de langue est comme ci-dessous:

{ 
    HELLO: 'hello {{value}}' 
} 

Ensuite, vous devez l'utiliser comme:

// there is single quote foe HELLO inside [translate] 
<div [translate]="'HELLO'" [translateParams]="{value: 'world'}"></div> 

Donc je pense que votre json est comme : { feature : { linkTxt : 'Your Text' } } et pour cela vous devez l'utiliser comme:

<span [translate]="'feature.linkTxt'"></span> 
+0

Dans mon cas 'feature.linkTxt' est une variable qui est générée dans une boucle' ngFor', c'est pourquoi je n'ai pas le '''' autour. – ghego1

+0

Avez-vous essayé ' feature.linkTxt'? – ranakrunal9

+0

'feature.linkTxt' est une variable, donc j'ai essayé' span spanner {{feature.linkTxt}} 'et cela fonctionne. Apparemment c'est un bug, j'ajoute une réponse pour ça. – ghego1