0
をIonic2
に翻訳しようとしていますが、のApps
の言語を変更するためにbutton
を追加しました。基本的に、言語を変更する機能は設定ページのみで機能しますが、他のページは何も起こりません。Ionic2の言語を変更する - すべてのページ言語を変更する最も効果的な方法は何ですか?
私は翻訳を行う愚かな方法があります。それは、すべてのページで現在のページの言語を変更する関数を追加して、setting page
のボタンをクリックすると実行されます。
しかし、このソリューションは効率が悪く、どのように効果的な方法で同じことをすることができますか?ここで
は、私のコードの一部です:
ページを設定する:
import { Component, ViewChild } from '@angular/core'; import { NavController, List } from 'ionic-angular'; import {TranslateService, TranslatePipe, TranslateLoader, TranslateStaticLoader} from 'ng2-translate/ng2-translate'; @Component({ selector: 'page-setting', templateUrl: 'setting.html' }) export class SettingPage { translate; @ViewChild(List) list: List; constructor(public navCtrl: NavController, translate: TranslateService) { translate.setDefaultLang('zh'); this.translate = translate; } //When the translation button is clicked click() { this.translate.use('en'); //Change all the pages language location.change('en');`enter code here` home.change('en'); } }
ご返信ありがとうございます。私はあなたのコードを使用しようとしたが、それは私にはうまくいかない。それは私のコンストラクタが間違っていますか? – Capslock10
私は問題を見つけました。他のページのコンストラクタには、 'TranslateService 'パラメータはありません(SHOULD NOT)。私は他のページですべてのTranslateServiceを削除しました。どうもありがとう。 – Capslock10