之前写了 《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 = ' 请稍后... ';
}
网友评论