我更改了離子2中後退按鈕的名稱,但有人知道如何用ng2-translate翻譯此按鈕嗎?翻譯按鈕離子2
this.config.set('backButtonText', 'Go Back'); // < want to translate this with ng2-translate.
我更改了離子2中後退按鈕的名稱,但有人知道如何用ng2-translate翻譯此按鈕嗎?翻譯按鈕離子2
this.config.set('backButtonText', 'Go Back'); // < want to translate this with ng2-translate.
可以轉換這樣後面的文本(假設你已經成功實施了NG2-轉換模塊)在app.ts:
initializeApp() {
this.platform.ready().then(() => {
this.config.set('backButtonText', this.translate.get('ui.general.back')['value']);
});
}
這裏有必要設置這樣的準備功能,因爲本地化加載異步,這是你知道本地化文件已被加載和模塊已準備好工作的地方。
很顯然,我已經設置下ui.general.back適當的JSON-文件翻譯文本;)
如果您還沒有訪問的配置,那麼你需要將其導入:
import {..., Config} from 'ionic-angular';
您可以翻譯後的文字是這樣,穿上app.component.ts
ngAfterViewInit() {
this.navCtrl.viewWillEnter.subscribe((view) => {
let parentView = this.navCtrl.getPrevious(view);
if (parentView) {
this.translate.get('nav.back.label').first().subscribe(
moduleName => { this.navCtrl.getActive().getNavbar().setBackButtonText(moduleName); }
);
}
}); }
這適用於我。做得很好 :) –
我不得不使用它像這樣(在app.component.ts)
this.platform.ready().then(() => {
this.translate.get('GENERIC.BACK').subscribe(backLabel => {
this.config.set('ios', 'backButtonText', backLabel);
});
});
在你app.module.ts:
@NgModule({
declarations: [
MyApp
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp, {
platforms: {
ios: {
backButtonText: 'Voltar'
}
}
}),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]})
大,這個工程。我還必須在構造函數中添加'private config:Config' – Guus
也適用於翻譯組件文本(如動作表) –
要保留android的僅箭頭樣式,請在this.config.set中添加'ios'作爲第一個參數: 'this .config.set('ios','backButtonText',this.translate.get('ui.general.back')['value']);' –