67

AngularJS で複数の言語をサポートするためのドキュメントを見つけようとしましたが、成功しませんでした。ローカライズはサポートされていますか?

4

6 に答える 6

72

angular-translate をご覧ください: https://github.com/angular-translate/angular-translate

すべての DIY 愛好家向け:

angular: hereのローカライズされたファイルを見つけることができます

これらのファイルは、組み込みの角度フィルター: datecurrency、およびnumberで役立ちます。すごい…今のところ。

ここで、独自のテキストを使用したいと考えています。必要なのは、angular.js 依存性注入の機能だけです。「myTexts_en_us.js」のような新しいファイルを作成し、次のように $provide.value を使用します。

$provide.value("myTexts", {firstText : "This is my localized text"});

詳細: http:
//jsfiddle.net/4tRBY/24/

実際に使用するには、フィルターを追加する必要があります: http://jsfiddle.net/4tRBY/41/

チップ:

  • 新しいローカリゼーション ファイルを手動、JS、またはサーバーで html に挿入してください。(ここではサーバーが最良の選択です!)
  • angular-local ファイルの 1 つを含める場合、アプリ モジュールで設定する必要はありません。(自動的に $locale が作成されます - フィドルを参照してください)
  • $provide-value に id キーを追加し、値をファイルで使用している言語コードに設定します。これはテストに役立ちます。
于 2013-02-24T20:20:04.037 に答える
18

あなたが探しているのは$locale です

実際には、angularjs ホームページの途中にも例があります。

彼らの例からのスニペット:

function BeerCounter($scope, $locale) {
  $scope.beers = [0, 1, 2, 3, 4, 5, 6];
  if ($locale.id == 'en-us') {
    $scope.beerForms = {
      0: 'no beers',
      one: '{} beer',
      other: '{} beers'
    };
  } else {
    $scope.beerForms = {
      0: 'žiadne pivo',
      one: '{} pivo',
      few: '{} pivá',
      other: '{} pív'
    };
  }
}

それが「標準」であるかどうかはわかりませんが、それは始まりです。やるべきローカリゼーションがたくさんある場合は、コントローラーに挿入するサービスを作成するだけだと思います...次の疑似コードのようなもの:

app.service('myLocalization', ['$locale', function($locale) {
    var res = {
       'help' : { 
           'en-us': 'help',
           'es-mx': 'ayudame'
       },
       'beer' : {
            'en-us': 'beer',
            'es-mx': 'cerveza'
       }
    }

    return {
       getString: function(key) {
          return res[key][$locale.id];
       }
    }
});
于 2012-09-30T23:19:17.420 に答える
7

ローカリゼーション専用のモジュールを作成しました - https://github.com/4vanger/angular-l10n メッセージのローカリゼーション、パラメーターの置換、飛行中のロケールの変更をサポートし、それを使用する便利な方法をいくつか提供します - フィルター、ディレクティブなど.

于 2013-04-11T10:28:15.737 に答える
2

情報を完全にするために、AngularJS 1.4 ストリーム内のどこかから始めて、コアからすぐに別の i18n 実装があります。https://github.com/angular/i18nをご覧ください。

于 2015-03-06T18:19:42.117 に答える