Перевод текстов с использованием ng2-translate
Я использовал ng2-translate
переводить заголовки и тексты в моем angular2
веб-приложение. Но теперь я смущен, когда пытаюсь перевести тексты, которые .ts
файл.
Например, я могу перевести текст в HTML-файл следующим образом.
<ion-row id="login-row">
<ion-col>
<ion-list>
<ion-item>
<ion-label stacked>{{ 'USERNAME' | translate }}</ion-label>
<ion-input type="text" [(ngModel)]="username"></ion-input>
</ion-item>
<ion-item>
<ion-label stacked>{{ 'PASSWORD' | translate }}</ion-label>
<ion-input type="password" [(ngModel)]="password"></ion-input>
</ion-item>
</ion-list>
</ion-col>
</ion-row>
Но если у меня есть .ts
текст файла следующим образом. Тогда как я могу перевести эти тексты.
doCheckbox() {
let alert = this.alertCtrl.create();
alert.setTitle('Please Select a Location');
alert.addInput({
type: 'radio',
label: 'Option 1',
value: 'opt1',
checked: true
});
alert.addInput({
type: 'radio',
label: 'Option 2',
value: 'opt2'
});
alert.addButton({
text: 'OK',
handler: data => {
this.testRadioOpen = false;
this.testRadioResult = data;
}
});
alert.present();
}
в приведенном выше примере, я хочу перевести текст, как
"Пожалуйста, выберите местоположение", "Вариант 1", "Вариант 2", "ОК"...
Если у кого-то есть идея преодолеть эту проблему, помогите мне. Благодарю.
1 ответ
Наконец-то нашел ответ. ng2-translate API
дал ответ https://github.com/ocombe/ng2-translate
например:
this.translate.get("SPANISH")
.subscribe((data: string) => {
this.selectedLanguage = data;
});
get()
метод возвращает переведенную строку или объект (если мы передаем массив строк)
Вы должны импортировать ng2-translate
как import {TranslateService} from 'ng2-translate;'
и определите это в вашем конструкторе.