如何使用ngx-translate翻译打字稿文件中的组件或服务字符串

时间:2018-05-15 16:07:15

标签: angular internationalization translation ngx-translate

如何使用ngx-translate翻译打字稿文件中的组件或服务字符串?

例如,如果我需要从验证服务返回已翻译的验证错误,那么如何在服务本身中执行此操作而不是使用: 模板文件中的{{'errorCode' | translate}}

1 个答案:

答案 0 :(得分:2)

你可以使用ngx-translate get方法,使用要翻译的字符串的键值(用于翻译json文件):

 // in your validation_service.ts, where translate is ngx-translate obj
 constructor(private translate: TranslateService) {
  console.log('Called Constructor');
  translate.addLangs(['en', 'ar']);
  translate.setDefaultLang('en');
}
 getErrorMsg(errors) {
      if (errors.required) {
        // get translation of the error
        const requiredError: any = this.translate.get('requiredFieldError');
        // return the error to be displayed
        return requiredError.value;
    }
  }

注意:

我发现了一些可以解决这个问题的问题,但是我正在改写它,因为我无法轻易找到这些问题(stackoverflow在我编写这些问题时提出了这些问题),所以希望这可以帮助遇到类似问题的人。