加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 使用Angular Translate StaticFilesLoader的i18n

发布时间:2020-12-17 17:20:03 所属栏目:安全 来源:网络整理
导读:我正在关注 this tutorial的ng-newsletter,使用Angular-Translate将i18n应用到我的应用程序.当我在我的app.js文件中包含翻译时,该应用程序正常工作,但我无法使StaticFilesLoader工作.这是我的app.js文件,其工作代码已注释掉 – angular.module('myApp',['ngC
我正在关注 this tutorial的ng-newsletter,使用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的一部分.

解决方法

在您的文件中也包含此内容:

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}}]);

将它重命名为angular-translate-loader-static-files.min.js并包含它.

它位于:https://github.com/angular-translate/bower-angular-translate-loader-static-files

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读