複数の言語をサポートするためのドキュメントをAngularJSで見つけようとしましたが、成功しませんでした。ローカライズはサポートされていますか?
角度変換をご覧ください: https://github.com/angular-translate/angular-translate
すべてのDIYの人々:
角度のローカライズされたファイルを見つけることができます: here
これらのファイルは、組み込みのangularフィルター: date 、 currency 、および 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/
ヒント:
探しているのは $ 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'
};
}
}
それが言うごとに「標準」であるかどうかはわかりません...しかしそれは始まりです。ローカリゼーションのlotがあった場合、コントローラーに挿入するサービスを作成すると思います...このような擬似コード:
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];
}
}
});
ローカライズを目的としたモジュールを作成しました- https://github.com/4vanger/angular-l10n メッセージのローカライズ、パラメーターの置換、フライト中のロケールの変更をサポートし、多くの便利な方法を提供しますそれを使用する-フィルタ、ディレクティブなど.
情報の完全性のために-AngularJS 1.4ストリーム内のどこかから始めて-コアのすぐ外に別のi18n実装があります。 https://github.com/angular/i18n をご覧ください
国際化サポートをお探しの場合は、完全な多言語機能を備え、実装も簡単な以下のプロジェクトを参照できます。 githubプロジェクトをご覧ください
これも確認できます。
https://github.com/angular-ui/ui-utils/pull/17
現時点でangularで利用可能な他のi18nライブラリよりもパフォーマンスが優れています。