私のionic2アプリでng2-translateを使用していますが、次のようなhtmlの静的テキストでうまく機能しています。
<ion-title>{{ 'Inventory.view-header' | translate }}</ion-title>
このタイトルを翻訳してもらいましたが、これを翻訳しようとすると:
<ion-item menuClose *ngFor="let p of pages" (click)="openPage(p)">
<ion-icon color="gray" name="{{p.icon}}" item-left></ion-icon>
{{p.title}}
</ion-item>
翻訳パイプをion-titleとしてp.titleを翻訳できません。私はそれを行うことができます:
this.translate.onLangChange.subscribe((event: LangChangeEvent) => {
this.pages[0].title = event.translations.Menu.pantry;
this.pages[1].title = event.translations.Menu.inventory;
...
しかし、翻訳したいすべての ngfor または配列を購読したくありません。これを機能させる別の方法はありますか?
app.module の私の conf:
import { TranslateStaticLoader, TranslateModule, TranslateLoader} from 'ng2-translate';
export function createTranslateLoader(http: Http) {
return new TranslateStaticLoader(http, './assets/i18n', '.json');
}
@NgModule({
declarations: [
MyApp,
...
],
imports: [
IonicModule.forRoot(MyApp),
TranslateModule.forRoot({
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [Http]
})
],
...