Я пытаюсь использовать ng2-translate на Ionic2
, чтобы сделать многоязычный, и я добавил button
для изменения языка Apps
на setting page
. В принципе, функция изменения языка работает только на странице настроек, но на другой странице ничего не произойдет.Изменить язык на 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». Я удалил все TranslateService на других страницах, и сейчас это работает. Большое спасибо. – Capslock10