問題タブ [ng2-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.
angular - ng2-translate: TypeError: ブートストラップで undefined(…) のプロパティ 'toString' を読み取れません
ブートストラップで次のエラーが発生しました。
TypeError: undefined(…) のプロパティ 'toString' を読み取れません。
私はAngular2 RC1を使用してng2-translate 2.1
います。
また、以前のバージョン: Angular2 Beta-17およびng2-translate 1.11
.
こちらがboot.ts
こちらがsystemjs.config.js
boot.js
のセッターにブレークポイントがある場合ng2_translate
:
ng2_translate_1_1
「ほぼ」空です:
angular - ng2-translate - パイプ「翻訳」が見つかりませんでした
Angular2 - rc 1 バージョンのテストを実行するように Karma 構成を修正しています。テストを実行できますが、html 内に翻訳パイプがあると失敗します。([ここ][1]から取得した構成を動作させることができました)
私のカルマ.conf
私のカルマ-テスト-shim.js
私のテストの1つ:
...
... describe('ログインメッセージ', () => {
....
コンポーネントのhtml:
...
...
Karma の実行時に表示されるエラー:
パイプ 'translate' が見つかりませんでした ("class="glyphicon glyphicon-info-sign msg-icon"> ][innerHTML]="msg.key | translate "> "): LoginMessages@6:47 エラー: テンプレート解析エラー: ...
翻訳パイプが実際のアプリ内で正常に機能することを言及します。どんなアイデアでも大歓迎です!
javascript - Angular 2 翻訳ライブラリ?
ng2-translate以外に Angular 2 Translation の代替ライブラリはありますか?
angular - ng2-translate - OnPush 変更検出を使用してコンポーネントで翻訳文字列が更新されない
アプリケーションの言語を最初に変更すると、翻訳サービスが新しい言語を表すファイルを要求します。「スマート」コンポーネントの文字列は更新を正しく反映しますが、「純粋/ダム」コンポーネントは反映されず、以前の言語。ただし、新しい言語ファイルがキャッシュに読み込まれ、言語を変更し続けると、すべて正常に動作するように見えます。
純粋なコンポーネントは、新しい言語ファイルの ajax 応答からの更新を解決していないようです。ファイルが既にキャッシュに読み込まれている場合にのみ、言語が正しく変更されます。繰り返しますが、これは ChangeDetectionStrategy.OnPush を使用しているコンポーネント専用です。
ダム コンポーネントで Inputs と Observables を使用して changeDetection を理解していますが、この場合のパイプに関してはあまり詳しくありません。おそらく私は何かを逃していますか?
UDPATE
私はなんとか修正をハックしました。それは素晴らしいものではありませんが、機能します。これは、翻訳サービスをラップする私のサービスのコンストラクターです。
選択しようとしている言語の言語 json ファイルが既にキャッシュにあるかどうかを確認します。持っていない場合は、ng2-translate の「reloadLang」メソッドを使用して取得します。取得したら、空のタイムアウトを使用してから、「translate.use」を呼び出します。タイムアウトを取ると機能しないため、どこかにタイミングの問題があります。切り替えようとしている翻訳ファイルが既にある場合は、通常どおり translate.use を使用するだけで、すべて正常に動作します。
}
ここで何が起こっているのか完全にはわかりませんが、ChangeDetectionStrategy.OnPush の使用と、翻訳ファイルの要求からの新しい応答が混在しているようです。他の誰かがこれを見ている場合は、あなたの意見を追加してください。
angular - Angular 2 RC4 プロバイダー エラー ng2-translate
angular2 で ng2-translate を使用していますが、非常にうまく機能しています。ポイントは、昨日angularをRC4に更新したばかりで、ng2-translateモジュールに問題があると思います。
このエラーがあります:
処理されていない Promise の拒否: エラー: 無効なプロバイダー - Provider と Type のインスタンスのみが許可されています。取得: [object Object]
これが私のmain.tsです:
提供セクションを削除してサービスを翻訳すると、正常に機能します。
みんなありがとう。
angular - IE 固有:翻訳パイプが Angular 2 RC4 で機能しない
ng2-translate を使用してuserNameを異なる言語で表示しようとしています。
私のLoginComponentは以下のようになります。
私のテンプレートlogin.component.htmlには、 userNameを表示するラベルがあります
翻訳をサポートするために、さまざまな .json ファイルがあります。
現在、Chrome、Firefox、IE11 の言語設定を変更しています。Chrome と Firefox では完全に機能しますが、IE11 では機能しません。:(
何が問題であり、可能な解決策を教えてください。
ありがとう、
デボパム
angular - 単体テストが ng2-translate で失敗し続ける
アプリを正常に実行しているときはすべて問題ありません。ただし、これらの単体テストを作成しようとすると、問題が発生します。以下のコードからプロジェクト固有のコード/クラスを削除しました。
私が得ているエラーは
Chrome 51.0.2704 (Mac OS X 10.11.6) アプリ: Angular で宣言例外が発生しました FAILED TypeError: AngularAppComponent.translationConfig (/Users/angular/dist/app/angular.component.js: 40:23)
どんな助けでも大歓迎です。
main.ts でブートストラップしました
ここに私の angular.component.ts があります
ここに私の angular.component.spec.ts があります
angular - Angular 2 と XHRBackend との競合
ブートストラップでng2-translateとXHRBackend { provide: XHRBackend, useClass: InMemoryBackendService }を使用すると問題が発生します( import { InMemoryBackendService, SEED_DATA} from 'angular2-in-memory-web-api' を使用)
例外が発生します:「元の例外: ステータスの応答: URL に対して 404 見つかりません: null」
ng2-translate e はデータを取得しようとしますが、「偽の」XHRBackendを使用しても何も取得できないと思います。
この行{ provide: XHRBackend, useClass: InMemoryBackendService }がなければ、すべて正常に動作します。どうすればそれを管理できるか誰か説明できますか?私はAngular 2 RC4を持っています。
前もって感謝します