【发布时间】:2014-03-27 12:31:26
【问题描述】:
我在 ng-newsletter 关注 this tutorial,使用 Angular-Translate 将 i18n 应用于我的应用程序。当我在 app.js 文件中包含翻译时,该应用程序运行良好,但我无法让 StaticFilesLoader 工作。这是我的 app.js 文件,其中的工作代码已被注释掉-
angular.module('myApp',
[
'ngCookies',
'ngRoute',
'ngResource',
'pascalprecht.translate',
'myApp.services',
'myApp.directives',
'myApp.controllers',
]);
angular.module('myApp.services', ['ngResource']);
angular.module('myApp.directives', []);
angular.module('myApp.controllers', []);
angular.module('myApp')
.config(['$httpProvider', '$translateProvider', function($httpProvider, $translateProvider) {
$httpProvider.defaults.useXDomain = true;
$httpProvider.defaults.withCredentials = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
console.log($httpProvider.defaults);
/*$translateProvider.translations('en', {
HEADLINE: 'This is my home page',
HOME: 'Home',
SETTINGS: 'Settings',
LOGOUT: 'Log Out',
EDIT: 'Edit' ,
DELETE: 'Delete' ,
PASSWORD: 'Password' ,
CONFIRM_PASSWORD: 'Confirm Password' ,
BUTTON_TEXT_EN: 'english',
BUTTON_TEXT_DE: 'german'
})
.translations('de', {
HEADLINE: 'Dies ist der Homepage',
HOME: 'Zuhause',
SETTINGS: 'Einstellungen',
LOGOUT: 'Ausloggen',
EDIT: 'Bearbeiten' ,
DELETE: 'Löschen' ,
PASSWORD: 'Passwort' ,
CONFIRM_PASSWORD: 'Passwort Bestätigen' ,
BUTTON_TEXT_EN: 'englisch',
BUTTON_TEXT_DE: 'deutsch'
}); */
$translateProvider.preferredLanguage('en');
$translateProvider.useStaticFilesLoader({
prefix: '/languages/',
suffix: '.json'
});
}]);
我在我的应用程序中添加了两个文件 en.json 和 de.json 以及一个名为 /languages 的文件夹。当我尝试运行应用程序时,我收到一条错误消息:
Uncaught Error: [$injector:unpr] Unknown provider: $translateStaticFilesLoaderProvider <- $translateStaticFilesLoader
如何将其声明为依赖项?我认为这是 pascalprecht.translate 的一部分。
【问题讨论】:
标签: angularjs internationalization