我在我的应用中使用角度翻译,这是我的app.js
var formApp = angular.module('formApp', [
'ngRoute',
'ui.bootstrap',
'pascalprecht.translate'
]).config(function($translateProvider) {
$translateProvider.translations('en', {
HEADLINE: 'Hello there, This is my awesome app!',
INTRO_TEXT: 'And it has i18n support!'
});
});
我喜欢上网的教程。
这就是我在html文件中加载库的方法
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/angular-translate/angular-translate.js"></script>
这就是我打印价值的方式
<h2>{{ 'HEADLINE' | translate }}</h2>
<p>{{ 'INTRO_TEXT' | translate }}</p>
但是当我打开我的应用程序时,我在控制台中获取此消息:
Error: [$injector:unpr] Unknown provider: translateFilterProvider <- translateFilter
有谁知道如何解决这个问题?我是角度的绝对初学者,对不起如果错误是愚蠢的:)
答案 0 :(得分:0)
在您的控制器中,您需要添加$ translate作为依赖项。
formApp.controller('myCtrl', function ($scope, $translate) {
//code
});
因此,例如在html中,你必须在这些元素之前的某个时刻有一个ng-controller,那就是需要将依赖项作为参数注入的控制器。
<div ng-controller="myCtrl">
...
<h2 translate>HEADLINE</h2>
<p translate>INTRO_TEXT</p>
...
</div>
同样在配置块中,您需要设置首选语言:
$translateProvider.preferredLanguage('en');