ionic2 基于ngx-translate實(shí)現(xiàn)多語言切換耗跛,翻譯

1.安裝ng2-translate

在命令提示符中進(jìn)入到項(xiàng)目目錄下裕照,輸入以下 回車。

npm install ng2-translate --save

2.導(dǎo)入TranslateModule

首先導(dǎo)入TranslateModule
在app.module.ts 下添加以下代碼

import { HttpModule, Http } from '@angular/http';
import { TranslateModule, TranslateLoader, TranslateStaticLoader } from 'ng2-translate';

export function createTranslateLoader(http: Http) {
  return new TranslateStaticLoader(http, './assets/i18n', '.json');
}

@NgModule({
  imports: [
    BrowserModule,
    TranslateModule.forRoot({
      provide: TranslateLoader,
      useFactory: (createTranslateLoader),
      deps: [Http]
    }), 
    IonicModule.forRoot(MyApp)
  ]
})

3.添加語言包

在src/assets 下新建文件夾i18n调塌,在i18n文件夾下添加 en.json ,tw.json,zh.json 這三個(gè)json文件晋南。


833855-20170517153705682-1729067632.png

en.json

{
  "HOME": {
   "TITLE":"Home",
   "CONTENT":"Hello word!"
  }
}

zh.json

{
  "HOME": {
   "TITLE":"首頁",
   "CONTENT":"你好,世界羔砾!"
  }
}

再次聲明下负间,如果使用的是懶加載的情況偶妖,需要在home.module.ts里聲明下


QQ截圖20180514113445.png

4.用法

打開文件app.component.ts,添加代碼

translate.setDefaultLang('en'); // 設(shè)置默認(rèn)的語言包

import { TranslateService } from 'ng2-translate';
constructor(translate: TranslateService) {
     translate.setDefaultLang('en'); 
}

在頁面里政溃,這樣使用

home.html

第一種
<ion-header>
  <ion-navbar>
    <ion-title>{{ 'HOME.TITLE' | translate }}</ion-title>
  </ion-navbar>
</ion-header>
第二種
  <ion-item>
     <ion-label class="icon icon-user"></ion-label>
     <!-- 在節(jié)點(diǎn)屬性上調(diào)用 -->
     <ion-input type="text" [placeholder]=" 'HOME.TITLE' | translate "></ion-input>
   </ion-item>

在home.ts

第一種
 this.translate.get("LOGIN.EMAIL_NULL").subscribe(value => {
        this.native.showToast(value);
      });
第二種
this.translate.instant("ALL.CAMERT")趾访;
instant方法的參數(shù)和返回類型與get方法一致,與get方法不同的是該方法是同步的董虱,當(dāng)lang改變時(shí)扼鞋,是無法即時(shí)更新的。大多數(shù)時(shí)候愤诱,instant方法可以滿足我們的使用需求云头,可是在頁面緩存的情況下,比如動(dòng)態(tài)的標(biāo)簽欄淫半,無法動(dòng)態(tài)刷新溃槐。解決辦法如下:
ionViewDidLoad() {
        this.listenLangChange();
    }

    // 當(dāng)切換本地語言的時(shí)候,tabs標(biāo)簽欄各項(xiàng)子標(biāo)題需手動(dòng)切換
    listenLangChange() {
        this.translate.onLangChange
            .subscribe(() => {
                // 寫法一
                for(let tab of this.tabs) {
                    tab.title = this.translate.instant(`tabsPage.${tab.name}`);
                }
                // 寫法二
                let titles = this.translate.instant("tabsPage");
                for(let tab of this.tabs) {
                    tab.title = titles[ tab.name ];
                }
            });
    }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末科吭,一起剝皮案震驚了整個(gè)濱河市竿痰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌砌溺,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件变隔,死亡現(xiàn)場(chǎng)離奇詭異规伐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)匣缘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門猖闪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肌厨,你說我怎么就攤上這事培慌。” “怎么了柑爸?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵吵护,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我表鳍,道長(zhǎng)馅而,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任譬圣,我火速辦了婚禮瓮恭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘厘熟。我一直安慰自己屯蹦,他們只是感情好维哈,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著登澜,像睡著了一般阔挠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帖渠,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天谒亦,我揣著相機(jī)與錄音,去河邊找鬼空郊。 笑死份招,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的狞甚。 我是一名探鬼主播锁摔,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼哼审!你這毒婦竟也來了谐腰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤涩盾,失蹤者是張志新(化名)和其女友劉穎十气,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體春霍,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砸西,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了址儒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芹枷。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖莲趣,靈堂內(nèi)的尸體忽然破棺而出鸳慈,到底是詐尸還是另有隱情,我是刑警寧澤喧伞,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布走芋,位于F島的核電站,受9級(jí)特大地震影響潘鲫,放射性物質(zhì)發(fā)生泄漏绿聘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一次舌、第九天 我趴在偏房一處隱蔽的房頂上張望熄攘。 院中可真熱鬧,春花似錦彼念、人聲如沸挪圾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哲思。三九已至洼畅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棚赔,已是汗流浹背帝簇。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留靠益,地道東北人丧肴。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像胧后,于是被迫代替她去往敵國(guó)和親芋浮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351