2013-10-14 11 views
16

私はAngular-translate(PascalPrechtモジュール)を使用しています。角度翻訳static-loader-file PascalPrecht

は、私はそれを例に応じて動作させるためにsuccessed:http://www.ng-newsletter.com/posts/angular-translate.html

しかし、私はローダー静的ファイルを使用して、異なるJSONファイル内のすべての私の翻訳を持っていると思いますが、これは私のために働いていません。私はここでやっていると確信していません。

私はちょうどローダー静的呼び出しでコードの作業(今コメント)を交換し、私の角度モジュールで

/アプリ/言語:私は私のアプリのフォルダにファイルを追加した

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

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

私は私のホームサイトをロードすると、私はコンソールで次のエラーを参照してください。

http://localhost:1234/languages/es.json 404 (Not Found) 

私はこのように、私の接頭語で '/' 最初を削除する場合:次に

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

、私はコンソールに次のエラーが表示されます。

予期しないトークンのH

を申し訳ありませんが、私は私だと思いますどのようにこれがうまくいくのでしょうか。

答えて

9

サーバが.jsonを平文ではなくjsonとして送信していることを確認してください。 また、.jsonファイルの名前が対応する言語キーに依存していることを確認してください。

あなたはここで読むことができたよう:http://angular-translate.github.io/docs/#/guide/12_asynchronous-loading

コードは、あなたのサーバがJSONとしてJSONを送信していない問題を修正したらので、物事が動作するはずです、私にはよさそうだ(「staticFilesLoaderの使用」を参照) 。

+0

これが問題であるかどうかわかりません。サーバーが要求しているURL http:// localhost:1234/languages/es.json 404(Not Found)に注意してください。しかし、ブラウザに次のURLを書き込むと、http:// localhost:1234/app/languages/es.jsonというようにjsonファイルが作成されます。[ { HOME: 'Inicio'、 \t COMPANIES: 'Empresas' \t WHAT_TO_DO: 'QUA©HACER'、 \t ABOUT: 'Nosotros'、 \t CONTACT: '連絡先ヘルプ' } ]。私は問題は、それが/ appをスキップしているため、リソースを見つけることができないと思う。 – Rober

+0

次に、接頭辞に 'app /'を追加してください:) – PascalPrecht

+0

接頭辞: 'app/languages /'を追加すると、この奇妙なエラーが発生します。http:// localhost:1234/app/app/languages/es.json 404(見つかりません)。 2つのアプリがあることに注意してください。 SyntaxError:予期しないトークンH – Rober

3

私はそれを修正しました。 Pascal氏のコメントによると、問題はjsonファイルの形式が間違っていたことです。すべての値を二重引用符で囲む必要があります。

パスが正しくありました。