4
我在ng-newsletter上關注this tutorial,以便使用Angular-Translate將i18n應用到我的應用程序。當我在我的app.js文件中包含翻譯時,該應用工作正常,但我無法使StaticFilesLoader正常工作。這是我app.js與工作代碼文件註釋OUT-i18n使用Angular Translate StaticFilesLoader
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和一個名爲/語言的文件夾。當我嘗試運行該應用程序時,出現錯誤消息:
Uncaught Error: [$injector:unpr] Unknown provider: $translateStaticFilesLoaderProvider <- $translateStaticFilesLoader
如何將此聲明爲依賴項?我認爲這是pascalprecht.translate的一部分。
angular.module("pascalprecht.translate").factory("$translateStaticFilesLoader",["$q","$http",function(a,b){return function(c){if(!c||!angular.isString(c.prefix)||!angular.isString(c.suffix))throw new Error("Couldn't load static files, no prefix or suffix specified!");var d=a.defer();return b({url:[c.prefix,c.key,c.suffix].join(""),method:"GET",params:""}).success(function(a){d.resolve(a)}).error(function(){d.reject(c.key)}),d.promise}}]);
其重命名爲角轉換-架靜態files.min.js,包括它:
我結束了複製staticFilesLoader模塊,並將其粘貼到主角translate.js文件。它現在可以正常工作。 – bookthief
它幫助的甜!如果前幾天有同樣的問題,我認爲假設每個人都使用涼亭是愚蠢的。 – petur
我確實使用了鮑爾,但仍然沒有得到這種依賴。 – Hampus