問題タブ [angular-translate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - AngularJS と Angular Translate を使用して、文字列が翻訳されているかどうかを確認するにはどうすればよいですか?
文字列に翻訳された値があるかどうかを確認するにはどうすればよいですか? AngularJS と AngularTranslate を使用しています。
値が翻訳されている場合にのみ値を表示したい。Angular Translate は、翻訳が利用できない場合、未翻訳の文字列を表示します。
私はこれを始めました:
しかし、変換フィルターが機能する前に比較が行われるため、これは機能しません。(少なくとも私はそれが起こると思います)。
私がやったことは次のとおりです。
}))
これはうまくいきますが、これを行うより良い方法があるかどうか疑問に思っていますか?
angularjs - angular-translate で現在の言語を取得する
コントローラーで現在使用されている言語を取得する方法はありますか (なし$translateProvider
)?
サービスで何も見つかりませんでした$translate
。
angularjs - Angularjs はコード ビハインドで変換します
enum クラスを SELECT ステートメントにバインドするのに苦労しています。
与えられた TypeScript 定義:
と使用法:
このコードにはいくつかの問題があります。
1) 列挙値はハードコードされています
2) デフォルト値の機能が機能しない - このバグを angularjs がこのシナリオを処理する方法まで追跡しました。それは比較を使用します === したがって "0" !== 0. 初期の ng-model 値が select に設定されていません
{translatedVal, enumId} の 2 つのプロパティを持つコントローラーに新しい配列を作成することで、この問題を解決してもかまいません。
問題は、この「translatedVal」を実際の翻訳とどのように同期させるかです。
angular-translate を使用します。
javascript - 言語をグローバルに変更せずに angular-translate フィルターでロケールを変更する
私の使用例は、キーと変換された値のリスト、次のような定義リストです。
現在のソリューションは明らかに、両方ではなく、現在優先されている言語に翻訳されます。
translate
そのキーだけに特定の言語を使用するようにフィルターに指示する方法はありますか? ドキュメントは補間ハッシュを参照していますが、特定の言語をフィルターに渡すのに役立つものをまだ見つけていません。バージョン 1.1.0 を使用しています。
javascript - オブジェクト リテラル内で promise を使用する方法
angular-translateバージョン 2.0 では、$ translate サービスは実際の翻訳ではなく、promise を返します。非同期の読み込みが行われている可能性があるため、これは良い考えであることがわかります。しかし、このようにオブジェクトリテラル内で $translate サービスを使用したため、私の場合、サービスを適切に使用する方法がわかりません。
質問:オブジェクト リテラル内で promise を使用するにはどうすればよいですか?
(ドキュメントによると)次のように使用することになっています:
javascript - angular-translate-loader-partial が初期ロード時に .config() の外部で {parts} をロードしない
アプリで angular-translate を使用し、angular-translate-loader-partial を使用して必要に応じてリソース モジュールをロードしています。リソース サービスの初期ロードで $translatePartialLoader.addPart(resource) を使用しようとすると、ロードされる「パーツ」はページ上で変換されませんが、$translatePartialLoader.isPartAvailable(resource) を使用して使用可能であると表示されます。
以下のコードでは、'menus' リソースが適切に翻訳されます。「人」リソースは「ロード」されていますが、翻訳は行われません。
これが angular.config のコードのチャンクです -
この呼び出しは、初期ロード時に私のリソース サービスによって行われています -
angular.run で更新が行われています -
サイトが読み込まれると、$translatePartialLoader.addPart({part}); が呼び出されます。設計どおりに動作します。
angularjs - angular-gettext を使用すると、ローカル Npm モジュール「grunt-angular-gettext」が見つかりませんというエラーが表示されます
アプリに i18n を実装するために angular-gettext を使用したいのですが、これに従いましたhttp://lostechies.com/gabrielschenker/2014/02/11/angularjspart-12-multi-language-support/ このコマンドを使用しました:
私の Gruntfile.js :
このコマンド grunt nggettext_extract を使用して翻訳を抽出すると、次のエラーが発生します。
どうしてか分かりません?パッケージ grunt-angular-gettext がノード モジュールに存在します。これに対処するのを手伝ってもらえますか?
javascript - Angular-Translations: 動的に見つかった翻訳キーの翻訳を表示します
angular コントローラーは、angular-translations を使用して翻訳するつもりのメッセージを生成する場合があります。
コントローラーでは、現在、次のような変数をtranslation keyに割り当てています。
そのキーの翻訳が次のように指定されている場所
ご覧のとおり、projectName を翻訳に置き換える必要もあります。
私は私の見解でこのようなことを試しました
しかし、それは機能しません。動的に見つかった翻訳キーを翻訳し、翻訳された行にスコープ変数を追加するにはどうすればよいですか?