/ / angularjs: gettext nie działa w ngSwitch - angularjs, gettext, ng-switch, angular-gettext

angularjs: gettext nie działa w ngSwitch - angularjs, gettext, ng-switch, angular-gettext

Próbuję użyć gettext w połączeniu z ngSwithc, jak następuje:

<ANY ng-switch="expression">
<ANY ng-switch-when="matchValue1" translate>...</ANY>
<ANY ng-switch-when="matchValue2" translate>...</ANY>
<ANY ng-switch-default translate>...</ANY>
</ANY>

Tutaj to jsfiddle demonstrujące problem. Otrzymuję błąd

Error: [$compile:multidir] Multiple directives [ngSwitchWhen, translate] asking for transclusion on: <div ng-switch-when="opt0" translate="">

Jakąkolwiek sugestię, w jaki sposób mogę użyć gettext w połączeniu z ngSwitch?

Odpowiedzi:

3 dla odpowiedzi № 1

Prosta naprawa to ruch translate przypisz do innego znacznika wewnątrz switch tagi


1 dla odpowiedzi nr 2

Rozwiązałem to nieco inaczej, korzystając z usługi tłumaczenia i takiej.

<div>
<select class="form-control" id="selectLocale" ng-model="selectedLocale"
ng-options="locale as translate(locale.name) for locale in locales">
</select>
</div>

Umożliwiło mi to dodanie funkcji w zakresie $ scope, aby uzyskać przetłumaczony ciąg przez wywołanie

$scope.translate = function(str) {
return LanguageService.getTranslatedString(str);
};

Teraz za każdym razem, gdy selektor przechodzi przez macierz, wywoła tę funkcję, aby przetłumaczyć ciąg znaków. Aby uzyskać więcej informacji o tagu select, sprawdź a AngularJS: API: wybierz dyrektywę w dokumentacji.

Odwiedź mój wpis na blogu a Angular-GetText Snippets w celu uzyskania bardziej szczegółowych informacji.