Angular-translate的localStorage:未知提供者:$ translateLocalStorageProvider

dra*_*mnl 7 angularjs angular-translate

我在我的Angular(v1.x)应用程序中使用angular-translate以及使用$ translateProvider.useStaticFilesLoader从文件加载翻译

angular.module('myApp',['pascalprecht.translate'])

.config(function($translateProvider) {

     $translateProvider.useStaticFilesLoader(
          prefix: window.location.pathname.replace(/[\\\/][^\\\/]*$/, '') + '/__languages/',  // absolute path + language path
          suffix: '.json'
     });

     // $translateProvider.useLocalStorage();
}
Run Code Online (Sandbox Code Playgroud)

Angular-translate工作得很好,但在使用时:

  $translateProvider.useLocalStorage();
Run Code Online (Sandbox Code Playgroud)

(在上面的代码中评论)如本指南中提出的,我收到以下错误:

未捕获错误:[$ injector:unpr]未知提供者:$ translateLocalStorageProvider < - $ translateLocalStorage < - $ translate

当然,我包含了所有需要的js文件:

<script src="bower_components/angular-translate/angular-translate.min.js"></script>
<script src="bower_components/angular-translate-loader-url/angular-translate-loader-url.min.js"></script>
<script src="bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

我甚至试图:

  • 添加'angular-translate-storage-local'作为app.JS中的依赖项
  • .config块中添加$ translateUrlLoader,$ translateStaticFilesLoader.

Ily*_*iev 8

您不必将angular-translate-storage-local依赖项添加到app.js文件中.

我想你只是忘了angular-translate-storage-local在你的HTML中包含:

 <script src="bower_components/angular-translate-storage-local/angular-translate-storage-local.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

链接到github.

  • 在我的情况下,我需要显式添加以下所有文件来摆脱依赖性错误:`angular-cookies`,`angular-translate`,`angular-translate-loader-url`,`angular-translate-loader- static-files`,`angular-translate-storage-local`,`angular-translate-storage-cookie`. (2认同)