如何在angularjs中使用angular-translate-loader-static-files

时间:2016-02-23 16:57:15

标签: angularjs json ionic-framework angular-translate

我使用此命令行angular-translate-loader-static-files

安装了bower install angular-translate-loader-static-files

之后,我在文件夹messages_en.json中创建了一个名为i18n的文件json

我的angular.module是这样的:

   angular.module('starter', ['ionic', 'ngStorage', 'ngCordova','starter.services','ionic-datepicker','starter.directives','ion-google-place','ngAutocomplete','colorpicker.module','ui.calendar','ngLoadingSpinner','ionic-ratings','pascalprecht.translate'])

facebookExample.config(function($stateProvider, $urlRouterProvider, $translateProvider) {

     $translateProvider.useStaticFilesLoader({
            prefix: 'i18n/messages_',
            suffix: '.json'
          });

        $translateProvider.preferredLanguage("en");
        $translateProvider.fallbackLanguage("en");
});

在我的index.html

<script type="text/javascript" src="lib/angular-translate/angular-translate.js"></script>

        <script type="text/javascript" src="lib/angular-translate-loader-static-files/angular-translate-loader-static-files.js"></script>

       <script type="text/javascript" src="lib/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js"></script>

我的messages_en.json:

{
    "Accueil" : "welcome",
    "Livre" : "book",

}

但是当我在我的应用程序中运行“Livre&#39;不翻译成英文

问题是什么,请帮帮我

2 个答案:

答案 0 :(得分:3)

您的问题出在您的json文件中。删除最后一个逗号,你应该没问题。

注意:请勿添加angular-translate-loader-static-files.js和angular-translate-loader-static-files.min.js。只选择一个保留。

答案 1 :(得分:0)

如果您的JSON文件无效,您可以添加以下代码来获取错误消息

$scope.changeLanguage = function (langKey) {
    $translate.use(langKey).then(function(){}, function(){toastr.error('JSON file is invalid')})
};