全网整合营销服务商

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

免费咨询热线: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 


相关文章: 太原网站制作公司有哪些,网约车营运证查询官网?  定制建站流程步骤详解:一站式方案设计与开发指南  网站制作壁纸教程视频,电脑壁纸网站?  音乐网站服务器如何优化API响应速度?  香港服务器选型指南:免备案配置与高效建站方案解析  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  高端建站如何打造兼具美学与转化的品牌官网?  英语简历制作免费网站推荐,如何将简历翻译成英文?  电商网站制作价格怎么算,网上拍卖流程以及规则?  建站之家VIP精选网站模板与SEO优化教程整合指南  内网网站制作软件,内网的网站如何发布到外网?  如何确保西部建站助手FTP传输的安全性?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何彻底删除建站之星生成的Banner?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何通过远程VPS快速搭建个人网站?  大连网站设计制作招聘信息,大连投诉网站有哪些?  长沙企业网站制作哪家好,长沙水业集团官方网站?  北京企业网站设计制作公司,北京铁路集团官方网站?  宿州网站制作公司兴策,安徽省低保查询网站?  如何选择网络建站服务器?高效建站必看指南  潮流网站制作头像软件下载,适合母子的网名有哪些?  建站三合一如何选?哪家性价比更高?  如何通过多用户协作模板快速搭建高效企业网站?  如何挑选最适合建站的高性能VPS主机?  建站之星各版本价格是多少?  如何用5美元大硬盘VPS安全高效搭建个人网站?  网站专业制作公司有哪些,做一个公司网站要多少钱?  香港服务器部署网站为何提示未备案?  建站之星展会模版如何一键下载生成?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  大同网页,大同瑞慈医院官网?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何通过.red域名打造高辨识度品牌网站?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  郑州企业网站制作公司,郑州招聘网站有哪些?  建站之星代理费用多少?最新价格详情介绍  如何零基础开发自助建站系统?完整教程解析  浅谈Javascript中的Label语句  制作网站公司那家好,网络公司是做什么的?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  如何安全更换建站之星模板并保留数据?  如何通过FTP服务器快速搭建网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南 

您的项目需求

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