全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Angular2中如何使用ngx-translate进行国际化

相较于AngularJS中的ng-translate, angular2也有适合自己的国际化模块,就是ngx-translate。

项目地址:https://github.com/ngx-translate/core

使用angular-cli初始化项目:

ng new my-project 

使用npm安装ngx-translate模块

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

在项目的根模块app.module.ts中引入该模块

import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';

export function HttpLoaderFactory(http:Http){
 return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
@NgModule({
 declarations: [
  AppComponent
 ],
 imports: [
  ...
  TranslateModule.forRoot({
   loader:{
    provide:TranslateLoader,
    useFactory:HttpLoaderFactory,
    deps:[Http]
   }
  }

  )
 ],
 providers: [],
 bootstrap: [AppComponent]
})

在assets文件夹下新建i18n文件夹,并且新建两个语言的json文件。(比如zh-CN.json和en.json)

json文件是key-value形式的,key值代表要翻译的字符串,value值为特定语言的翻译结果,不用语言的文件一般key值是相同的,只是value值不同。

//zh-CN.json
{
  "welcome":"欢迎使用本应用",
  "hello":"你好",
  "get-lang":"获取语言类型"
}

//en.json
{
  "welcome":"welcome to this app",
  "hello":"Hola"
}

然后在相应的组件中使用Translate服务

import { TranslateService } from '@ngx-translate/core'
@Component({
 ...
})
export class AppComponent {
 constructor(private translate: TranslateService) {
  //添加语言支持
  translate.addLangs(['zh-CN', 'en']);
  //设置默认语言,一般在无法匹配的时候使用
  translate.setDefaultLang('zh-CN');

  //获取当前浏览器环境的语言比如en、 zh
  let broswerLang = translate.getBrowserLang();
  translate.use(broswerLang.match(/en|zh-CN/) ? broswerLang : 'zh-CN');
 }

 changeLang(lang) {
  console.log(lang);
  this.translate.use(lang);
 }
 toggleLang() {
  console.log(this.translate.getBrowserLang());
  //获取语言风格,相当于更详细的语言类型,比如zh-CN、zh-TW、en-US
  console.log(this.translate.getBrowserCultureLang());
 }
}

示例模板:

<div>
 <h2>{{ title | translate }}</h2>
 <label>
  {{ 'hello' | translate }}
  <select #langSelect (change)="changeLang(langSelect.value)">
   <option *ngFor="let lang of translate.getLangs()" [value]="lang" [selected]="lang === translate.currentLang">{{ lang }}</option>
  </select>
 </label>
</div>
<button (click)="toggleLang()">{{'get-lang' | translate}}</button>

使用方式和angularjs中的ng-translate类似,使用translate管道。

效果:

源码地址:https://github.com/justforuse/angular2-demo/tree/master/angular-translate

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


# ngx  # translate  # ngxtranslate  # ngx-translate  # 国际化  # Angular2+国际化方案(ngx-translate)的示例代码  # Angular4项目中添加i18n国际化插件ngx-translate的步骤详解  # 浅析如何利用angular结合translate为项目实现国际化  # AngularJs 国际化(I18n/L10n)详解  # AngularJS国际化详解及示例代码  # Angular 项目实现国际化的方法  # 自己的  # 也有  # 值为  # 大家多多  # 相较  # 你好  # TranslateHttpLoader  # TranslateLoader  # HttpLoaderFactory  # function  # export  # ts  # module  # app  # TranslateModule  # import  # js  # AppComponent  # declarations  # imports 


相关文章: 如何用低价快速搭建高质量网站?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  ,怎么用自己头像做动态表情包?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何配置FTP站点权限与安全设置?  如何在云主机上快速搭建多站点网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何高效配置香港服务器实现快速建站?  如何在阿里云部署织梦网站?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  制作网页的网站有哪些,电脑上怎么做网页?  C++如何使用std::optional?(处理可选值)  如何在服务器上三步完成建站并提升流量?  临沂网站制作企业,临沂第三中学官方网站?  建设网站制作价格,怎样建立自己的公司网站?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  家具网站制作软件,家具厂怎么跑业务?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  建站主机与虚拟主机有何区别?如何选择最优方案?  建站之星如何助力网站排名飙升?揭秘高效技巧  c# 在ASP.NET Core中管理和取消后台任务  简单实现Android文件上传  如何制作网站标识牌,动态网站如何制作(教程)?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  高端网站建设与定制开发一站式解决方案 中企动力  建站之星如何取消后台验证码生成?  大型企业网站制作流程,做网站需要注册公司吗?  招贴海报怎么做,什么是海报招贴?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  TestNG的testng.xml配置文件怎么写  如何设计高效校园网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  如何快速搭建FTP站点实现文件共享?  如何快速选择适合个人网站的云服务器配置?  制作农业网站的软件,比较好的农业网站推荐一下?  建站之星伪静态规则如何设置?  建站168自助建站系统:快速模板定制与SEO优化指南  网站制作报价单模板图片,小松挖机官方网站报价?  教程网站设计制作软件,怎么创建自己的一个网站?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  代购小票制作网站有哪些,购物小票的简要说明?  如何在云主机快速搭建网站站点?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何通过cPanel快速搭建网站?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  建站主机无法访问?如何排查域名与服务器问题  如何快速搭建高效可靠的建站解决方案?  建站VPS推荐:2025年高性能服务器配置指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。