2017-10-02 2 views
0

Je souhaite traduire des messages dans mes barres d'en-cas angular2. Le problème est de montrer le casse-croûte que j'ai besoin de passer le message en tant que paramètre. Pour traduire en utilisant i18n: https://angular.io/api/common/I18nSelectPipe. Je ne peux pas utiliser l'interpolation comme paramètre. Alors, comment je peux transformer mon message en snackbar?Transformation de tuyau Angular2 i18n dans le fichier .ts

<button md-button (click)="openSnackBar(message, action)">Show snack-bar</button> 

https://plnkr.co/edit/H6rrayAUhBuCx3JOuDCF?p=preview

Répondre

1

Vous pouvez l'utiliser explicity en appelant la méthode tranform sur une nouvelle instance de conduite:

import { I18nSelectPipe } from '@angular/common'; 

const msg = new I18nSelectPipe().transform(message, this.inviteMap); 

Plunker Example

+0

Ok, j'ai essayé de modifier votre exemple et créer Injectable pour Pipe https://plnkr.co/edit/qlcX8g4YX1IKSuktYfRc? p = preview Cela fonctionne bien pour DatePipe mais j'ai un problème avec i18nSelectPipe. Pouvez-vous m'expliquer ce qui ne va pas? – kipris

+1

Vous n'avez pas fourni de services https://plnkr.co/edit/hWmmZt3ZpUD8tz92Ufqg?p=preview Pouvez-vous me montrer un exemple avec DatePipe? – yurzui

+0

Merci, votre réponse m'a beaucoup aidé! :) – kipris