在组件中使用ngx-translate

时间:2017-07-25 22:38:03

标签: javascript angular ngx-translate

我使用ngx-translate在视图中使用管道没有问题。我需要做的是在组件中使用它,例如显示错误消息,或定义数据表列默认内容。

我尝试做类似的事情:

translate.instant("AREA.NEW");

translate.get("AREA.NEW").subscribe((res: string) => {
    console.log(res);
});

我试过在ngOnInit()和ngAfterViewInit()中调用它

但在这两种情况下,我只是得到了#ARE; AREA.NEW"而不是翻译过的单词。我认为json字典是在我打电话后加载的,所以我不知道如何让它工作。

2 个答案:

答案 0 :(得分:0)

导入 TranslateService 并在需要的地方使用它。

import { TranslateService } from '@ngx-translate/core';

export class YourComponent {
  constructor(private translateService: TranslateService) {
    console.log('translation', this.translateService.instant('my_i18n_json_defined_key'));
  }
}

答案 1 :(得分:0)

可行。

constructor(private readonly translateService: TranslateService) { }

ngOnInit() {
    this.translateService.get(['']).subscribe(translations => {
        console.info(this.translateService.instant('key1'));
        console.info(this.translateService.instant('key2'));
        console.info(this.translateService.instant('key3'));
    });
}