如何在Angular8.0下使用ngx-translate进行国际化配置

一. 将ngx-translate添加到Angular应用程序中

npm install @ngx-translate/core @ngx-translate/http-loader rxjs --save

二.在app.module.ts中初始化翻译TranslateModule

import { BrowserModule } from \'@angular/platform-browser\';
import { NgModule } from \'@angular/core\';

import { AppComponent } from \'./app.component\';

// import ngx-translate and the http loader
import {TranslateLoader, TranslateModule} from \'@ngx-translate/core\';
import {TranslateHttpLoader} from \'@ngx-translate/http-loader\';
import {HttpClient, HttpClientModule} from \'@angular/common/http\';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,

    // ngx-translate and the loader module
    HttpClientModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient]
      }
    })
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

// required for AOT compilation
export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http);
}

三.在app.component.ts中设置初始值

import {Component} from \'@angular/core\';
import {TranslateService} from \'@ngx-translate/core\';

@Component({
  selector: \'app-root\',
  templateUrl: \'./app.component.html\',
  styleUrls: [\'./app.component.scss\']
})
export class AppComponent {
  constructor(private translate: TranslateService) {
    translate.setDefaultLang(\'en\');
  }
}

四.在assets/i18n文件下创建让我们为英文翻译创建相关语言JSON文件,如en.json文件

{
 \"demo.title\": \"Translation demo\",
 \"demo.text\": \"This is a simple demonstration app for ngx-translate\"
}

五.在app.component.html中使用

<div>
  <!-- translation: translation pipe -->
  <h1>{{ \'demo.title\' | translate }}</h1>

  <!-- translation: directive (key as attribute)-->
  <p [translate]=\"\'demo.text\'\"></p>

  <!-- translation: directive (key as content of element) -->
  <p translate>demo.text</p>
</div>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容