翻译文本使用ng2-translate

时间:2016-12-01 07:26:10

标签: angular typescript ionic2 language-translation 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 个答案:

答案 0 :(得分: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;'并在构造函数中定义它。