Angularjs 使用角度平移静态文件加载器的i18n

Angularjs 使用角度平移静态文件加载器的i18n,angularjs,internationalization,Angularjs,Internationalization,在使用angularJS翻译模块时,我遇到了类似的问题 类似问题的参考Url: 这是我的JS代码: var app = angular.module('myApp', ['pascalprecht.translate']); app.config(function ($translateProvider) { $translateProvider.useStaticFilesLoader({ prefix: 'locale-', suffix: '.json' })

在使用angularJS翻译模块时,我遇到了类似的问题

类似问题的参考Url:

这是我的JS代码:

var app = angular.module('myApp', ['pascalprecht.translate']);

app.config(function ($translateProvider) {

  $translateProvider.useStaticFilesLoader({
    prefix: 'locale-',
    suffix: '.json'
  });
  $translateProvider.preferredLanguage('en_US');

});

app.controller('langController', ['$scope', '$translate', function ($scope, $translate) {

  $scope.switchLanguage = function (key) {
    $translate.use(key);
  };
}]);
html:

<!doctype html>
<!--[if lt IE 7]> <html class1="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="Description" content="angular translate brings internationalization (i18n) and localization (l10n) to your Angular apps!">
    <meta name="fragment" content="!">
    <title>angular translate - i18n for your Angular apps, made easy.</title>

    <script src="js/angular.js"></script>
    <script src="js/angular-translate.min.js"></script
    <script src="https://rawgithub.com/PascalPrecht/bower-angular-translate-loader-static-files/master/angular-translate-loader-static-files.js"></script>  
    <script src="app.js"></script>
  </head>

  <body ng-app="myApp">


            <div class="span4">
              <div class="well">
                  <h2 translate>Hello</h2>
                  <p translate>This is a paragraph</p>
                  <p translate>Welcome to Hello world!</P>
              </div>
              <div ng-controller="langController">
                <button class="btn" ng-click="changeLanguage('en')" translate="BUTTON_LANG_EN" class="ng-scope">english</button>
                <button class="btn" ng-click="changeLanguage('de')" translate="BUTTON_LANG_DE" class="ng-scope">german</button>

              </div>
              <hr>

              <div ng-controller="langController">
                <select ng-model="lang" ng-selected="selected">
                  <option disabled="disabled" selected="selected">Select Language</option>  
                  <option ng-click="changeLanguage('en')" class="ng-scope">English</option>
                  <option ng-click="changeLanguage('de')" class="ng-scope">German</option>
                </select>
              </div>
            </div>
   </body>
</html>
locale-de_de.json:

"TITLE":"Hallo",
"FOO":"Dies ist ein Paragraph.",
"BUTTON_LANG_EN":"englisch",
"BUTTON_LANG_DE":"deutsch",
"TEXT":"herzlich willkommen auf Hallo Welt!"
我已将.js、.html、locale-en_US.json、locale-de_de.json语言文件放在同一个文件夹中,无法获得所需的输出,在Firefox控制台中出现错误:错误:[$injector:unpr]未知提供程序:$translateStaticFileLoaderProviderchange ng click=changeLanguage'en' 使用:ng click=change language'en_en'

更改ng单击=更改语言“de” 使用:ng click=changeLanguage'de_de'

json文件的语言是

{
"TITLE":"Hallo",
"FOO":"Dies ist ein Paragraph.",
"BUTTON_LANG_EN":"englisch",
"BUTTON_LANG_DE":"deutsch",
"TEXT":"herzlich willkommen auf Hallo Welt!"
}

您需要在索引文件中使用此js

<script src="https://rawgithub.com/PascalPrecht/bower-angular-translate-loader-static-files/master/angular-translate-loader-static-files.js"></script>
<script src="https://rawgithub.com/PascalPrecht/bower-angular-translate-loader-static-files/master/angular-translate-loader-static-files.js"></script>