ionic2 のモーダルと組み合わせて ng2-translate を使用すると問題が発生します。通常のページの翻訳は機能しています。
これは私のapp.module.tsファイルです:
import ...
@NgModule({
declarations: [
MyApp,
//...
],
imports: [
TranslateModule.forRoot({
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [Http]
}),
IonicModule.forRoot(MyApp),
],
exports: [
TranslateModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
//...
],
providers: [Storage, {provide: ErrorHandler, useClass: IonicErrorHandler}]
})
export class AppModule {}
export function createTranslateLoader(http: Http) {
return new TranslateStaticLoader(http, 'assets/i18n', '.json');
}
たとえば、私のダッシュボードでは、次の HTML コードを使用して正しい翻訳を取得できます。
<h2>{{'general.tasks' | translate}}</h2>
しかし、次のコードで ionic-angular から ModalController を使用して新しいモーダルを開くと、次のようになります。
let taskModal = this.modalCtrl.create(TaskCancelPage, {'task': task});
taskModal.onDidDismiss(data => {
console.log(data);
});
taskModal.present();
その新しい TaskCancelPage に同じ HTML コードを持つ
<h2>{{'general.tasks' | translate}}</h2>
しかし、ここでは、変換された値ではなく、 general.tasksのみを取得します。