angular8+ng-zorro支持i18n

angular8+ng-zorro i18n方案

1.采用的技術(shù)方案

 ng-zorro的國際化NzI18nService服務(wù) + ngx-translate插件。
 ng-zorro NzI18nService服務(wù)主要用來配置ng-zorro組件的國際化;
 ngx-translate插件主要用來翻譯頁面的文字顯示。

2.實現(xiàn)的具體方案

  1) 安裝所需的依賴
   npm install @ngx-translate/core --save
   npm install @ngx-translate/http-loader --save
  2) 引入TranslateModule模塊
    在AppModule中引入TranslateModule模塊
    import {TranslateModule} from '@ngx-translate/core';
    根路由引入TranslateModule模塊相關(guān)配置并在imports中配置如下:
   import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
   import {TranslateHttpLoader} from '@ngx-translate/http-loader';
   import {HttpClient} from '@angular/common/http';
    配置AppModule的 imports如下:
  TranslateModule.forRoot({
       loader: {
            provide: TranslateLoader,
            useFactory: HttpLoaderFactory,
             deps: [HttpClient]
         }
    }),
 最后在模塊之外導(dǎo)出 HttpLoaderFactory   
  export function HttpLoaderFactory(http: HttpClient) {
     return new TranslateHttpLoader(http);
   }
  3) 引入語言json文件
     語言json文件是用來對頁面文字進(jìn)行翻譯的根據(jù),需要自己編寫。en.json是翻譯 
     成英文的文件,zh.json是翻譯成中文的文件。
     推薦在assets中引入語言文件。
  4) 設(shè)置語言;
     通常在AppComponent中設(shè)置默認(rèn)的語言
     1)ng-zorro組件的默認(rèn)語言設(shè)置,使用registerLocaleData()設(shè)置,切換語言使用this.i18n.setLocale()方法,
     2)ngx-translate設(shè)置默認(rèn)語言,使用translate.setDefaultLang()設(shè)置,切換語言時使用this.translate.setDefaultLang(),
     設(shè)置語言后,全局可通用。
5)頁面翻譯:
    只需要在翻譯的模塊中引入TranslateModule模塊,component中引入TranslateService即可
   - html中翻譯
     加入管道符 translate即可(包括頁面的靜態(tài)字符串和變量均可),
     如:<button nz-button class="login-form-button" [nzType]="'primary'">{{'登錄'| translate}}</button>
    -ts中翻譯
       使用this.translate.get(需要翻譯的變量),即可得到翻譯后的結(jié)果,
       如:
            this.translate.get(data.reason).subscribe(val => {
                 this.msg = val;
                  this.message.create('error', this.msg );
             })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項A選項B選項C選項D選項E選項F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 10,539評論 0 13
  • 前言前言 隨著科學(xué)技術(shù)的飛速發(fā)展和科學(xué)技術(shù)的日新月異,產(chǎn)品更新?lián)Q代的速度也越來越快,復(fù)雜零件的個數(shù)也越來越多,產(chǎn)...
    穆山閱讀 2,024評論 0 10
  • 今天馬丁老師給我們講的是,制約2的孩子,他們最需要父母的關(guān)愛,尤其是母親給予他們愛。他們天生很脆弱、是接受性...
    minmin1314閱讀 325評論 0 2
  • 2018年6月5日 姓名:潘紅軍 公司 :揚(yáng)州市方圓建筑工程有限公司 【日精進(jìn)打卡第132天】 南京第349期 ...
    5119a64ee3ab閱讀 92評論 0 0
  • 『上一章』(2)談判 【全目錄】 『下一章』(4)周克 VS 周天露 第一卷(3) 溫暖 大堂白色大理石地板鋪滿了...
    紙熏閱讀 431評論 0 1

友情鏈接更多精彩內(nèi)容