ngx-translate 语言国际化后续之ts里面的转换

之前写了 《angular4使用ngx-translate来实现语言的国际化》(https://www.jianshu.com/p/907b270c1e26) 是怎么在html里面转化的。

而这一篇主要是如何在ts里面转换:
首先在assets/i18n/en.json assets/i18n/zh.json 中加入自己需要转换的:
(assets/i18n/en.json assets/i18n/zh.json 是什么 ?请看我之前的文章 )

我添加的是:
"alertInfo": {
 "loading": "loading..."
}

"alertInfo": {
 "loading": "请稍后..."
}
1.先引入:
import { TranslateService } from '@ngx-translate/core';


2.声明一个变量来接收拿到的value:
loadingMsg: string;


3.获取:
constructor(
    private translate: TranslateService
  ) {
    this.translate.get('alertInfo').subscribe(
      value => {
        this.loadingMsg = value.loading;
      }
    )
  }


4.使用:
this.loadService.showLoading(this.loadingMsg);

用在你需要的地方就可以了,比如alert 、toast 这些的提示信息等。

==================================================================

还有一种方法,也是需要先引入(上个方法的1)
然后使用是判断当前的语言:

判断当前语言:this.translate.getDefaultLang()

   if (this.translate.getDefaultLang() == 'en') {
      this. loadingMsg = ' loading... ';
   } else {
      this. loadingMsg = ' 请稍后... ';
   }

你可能感兴趣的:(ngx-translate 语言国际化后续之ts里面的转换)