В моем коде страницы у меня есть выражение:
{{key | containerkeyname | translate }}
где ключ - некоторая строка (идентификатор поля), фильтр-имя- контейнер принимает его и выводит ключ трансляции (обслуживает удобное для пользователя описание для поля), и, наконец, перевод - это перевод этого ключа.
Это работает отлично (перевод предоставляется), однако, когда я меняю язык перевода, это выражение не переводится (в отличие от остальной части интерфейса, который использует много переводов, главным образом, с помощью директивы). Я запутался, так как фильтр перевода последний в строке.
Что могло быть причиной и как я мог добиться нормального повторного перевода этого выражения?
AS @Chandermani сказал, что первопричиной является вероятный фильтр без учета $ translate. (См. Замечательную функцию в фильтрах stateful/stateeless: http://blog.thoughtram.io/angularjs/2014/11/19/exploring-angular-1.3-stateful-filters.html). Таким образом, только изменение того, что есть до этого фильтр вызовет реакцию.
Чтобы он работал, я изменил код следующим образом:
span(translate='{{key|containerkeyname}}')