2016-11-16 58 views
2

在我的应用程序中,我使用angular-translate来翻译我的应用程序。现在我开始使用angular-ui-notification,并且卡住了。尝试翻译来自angular-ui-notification的消息时,角度转换不起作用。 角翻译使用这种语法鉴于angular-ui-notification和翻译消息

{{ badRequestServerError | translate}} 

翻译这里是我的控制器通知

if (response.status == 400) { 
    Notification.error({message: '{{ badRequestServerError | translate}}', positionY: 'bottom', positionX: 'right'}); 
     }; 

但这不工作。当我打开浏览器我allways得到这

{{ badRequestServerError | translate}}

在我看来我尝试使用不带引号,但仍然没有。 在github angular-ui-notification我找不到解释的地方。

回答

0

如果$scope.badRequestServerError值是翻译键,你可以注入$filter到控制器中,然后:

Notification.error({message: $filter('translate')($scope.badRequestServerError), positionY: 'bottom', positionX: 'right'}); 

或者,如果您正在使用的服务器响应的状态代码和badRequestServerError已经是翻译的关键,你可以这样设置:

Notification.error({message: $filter('translate')('badRequestServerError'), positionY: 'bottom', positionX: 'right'}); 
+0

很好的解决方案,但是如何在这种情况下在我的translate.js文件中定义翻译文本。例如,我有英文,并添加badRequestServerError:“不良要求等”,对于克罗地亚,我添加badRequestServerError:“kriv zahtjev”。如何处理这个问题,如何在所选语言的“$ scope”消息上更改语言设置? – Arter

+0

如果您使用'angular-translate',它不会自行翻译文本。您应该首先定义一对关键值。例如:'{'BAD_REQUEST_ENG':'错误的请求','BAD_REQUEST_CRO':'kriv zahtjev'}',并且让你的服务器只发送密钥。查看'angular-translate' [网站](https://angular-translate.github.io/)的“工作原理”部分。 – user3632710

+0

thnx,我定义了这个,这个工作(我有一点问题,英文)...我给你的​​plunker不工作的版本,因为我的应用程序有很多很多的部分...这里是链接translate.js文件和我的控制器https://plnkr.co/edit/4ITHsiDCtie1I1c5noHI?p=catalogue thanke you – Arter