angular translate static-loader-file PascalPrecht

Rob*_*ber 16 angularjs

我正在使用Angular-translate(PascalPrecht模块).

我成功地按照以下示例使其工作:http://www.ng-newsletter.com/posts/angular-translate.html

但是,我想使用loader-static-files将所有翻译放在不同的json文件中,但这对我不起作用.我不确定我在这里干什么.

在我的角度模块中,我只是使用loader-static调用替换了工作代码(现在已注释):

angular.module('myApp.i18n', ['pascalprecht.translate'])
    .config(['$translateProvider', function ($translateProvider) {
        /*$translateProvider.translations('en', {
            HOME: 'Home',
            COMPANIES: 'Companies',
            WHAT_TO_DO: 'What to do',
            ABOUT: 'About us',
            CONTACT: 'Contact'
        })
        .translations('es', {
            HOME: 'Inicio',
            COMPANIES: 'Empresas',
            WHAT_TO_DO: 'Qué hacer',
            ABOUT: 'Nosotros',
            CONTACT: 'Contacto'
        });*/
        $translateProvider.preferredLanguage('es');

        $translateProvider.useStaticFilesLoader({
          prefix: '/languages/',
          suffix: '.json'
        });
}]);
Run Code Online (Sandbox Code Playgroud)

我在我的app文件夹中添加了文件:

/app/languages/en_US.json /app/languages/es.json

当我加载我的主站点时,我在控制台中看到下一个错误:

http://localhost:1234/languages/es.json 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)

如果我删除前缀中的第一个'/',如下所示:

$translateProvider.useStaticFilesLoader({
              prefix: 'languages/',
              suffix: '.json'
            });
Run Code Online (Sandbox Code Playgroud)

然后,我在控制台中出现下一个错误:

意外的令牌H.

对不起,我想我不知道这应该如何运作.

Pas*_*cht 9

确保您的服务器发送.json为json而不是纯文本.此外,请确保.json文件的名称取决于相应的语言键.

你可以在这里阅读:http://angular-translate.github.io/docs/#/guide/12_asynchronous-loading("Using staticFilesLoader")

代码对我来说很好,所以一旦你修复了你的服务器没有将json作为json发送的问题,事情就应该有效了.