美文网首页
ngx-translate 语言国际化后续之ts里面的转换

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

作者: 云小诺 | 来源:发表于2018-08-14 15:24 被阅读0次

    之前写了 《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里面的转换

          本文链接:https://www.haomeiwen.com/subject/rwlvbftx.html