1

Я использовал ng2-translate для перевода заголовков и текстов в мое angular2 веб-приложение. Но я теперь смущен, когда пытаюсь перевести тексты, которые переходят из файла .ts.
например, я могу перевести тексты в html-файл следующим образом.Перевод текстов с использованием ng2-translate

<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(); 
    } 

в приведенном выше примере, я хочу, чтобы переводить тексты, как

'Пожалуйста, выберите Location', 'Вариант 1', 'Вариант 2', 'OK' ...

Если у кого-то есть идея преодолеть эту проблему, помогите мне. Спасибо.

ответ

1

Наконец-то нашел ответ. ng2-translate API дал ответ (https://github.com/ocombe/ng2-translate#api)

например:

this.translate.get("SPANISH") 
     .subscribe((data: string) => { 
      this.selectedLanguage = data; 
     }); 

get() метод возвращает переведенную строку или объект (если мы передаем массив строк)

вы должны импортировать ng2-translate в import {TranslateService} from 'ng2-translate;' и определить его в ваш конструктор.

Смежные вопросы