angular (2.4.1) + typescript (2.0.3) + webpack (2.1.0-beta.25) プロジェクトにng2-translate (5.0.0) を追加しました。私は、構築時の早い段階で、メモリ内のいくつかの辞書を介して手動で翻訳を定義しています。setTranslation
TranslateService
コンポーネントコード内で使用すると、すべて正常に動作します。HTMLテンプレート内のディレクティブにもパイプにも正しい構文を見つけることができません。
翻訳の 1 つのセットには、たとえば次のようなものがあります。
en = {
...
loginTitle: 'Please log in',
...
}
1) パイプ
テンプレートが次の場合:
<h3 class="panel-title">{{ 'loginTitle' | translate }}</h3>
アプリケーションは実行時に、非常に早い段階で中断しますplatformBrowserDynamic().bootstrapModule(AppModule)
。
アプリケーションのブートストラップ中にエラーが発生しました。構文エラー
2) 指令 + 内容
テンプレートが次の場合:
<h3 class="panel-title" translate>loginTitle</h3>
アプリケーションは壊れませんが、ページには翻訳されていないキーが表示されるだけloginTitle
です。
3) 指令
テンプレートが次の場合:
<h3 class="panel-title" [translate]="'loginTitle'"></h3>
アプリケーションは壊れませんが、ページは本来あるべき場所にテキストを表示せず、DOM ノードはテキストをラップしません。
ドキュメントで推奨されているようにTranslateModule
、アプリ モジュール レベル ( を使用forRoot
) と共有モジュールの両方でインポートしました。共有モジュールは、他の領域モジュールによってインポートされます。
ネストされた翻訳、一重引用符なしなど、他のバリエーションも試しましたが、うまくいきませんでした。私は何を間違っていますか?
編集シナリオ#1では、初期エラーに関する詳細情報を記録できました:
エラー: テンプレート解析エラー: パイプ 'translate' が見つかりませんでした
しかし、それはすでに ng2-translate の一部である必要があります