在 Angular 项目中添加 i18n 插件 ngx-translate
来源:互联网 发布:优化web性能 编辑:程序博客网 时间:2024/05/18 02:19
个人博客原文:在 Angular 项目中添加 i18n 插件 ngx-translate
摘要:本文将介绍在 Angular4 项目中配置 ngx-translate i18n 国际化组件
npm 安装 ngx-translate 模块
npm install @ngx-translate/core --savenpm install @ngx-translate/http-loader --save
在 Angular 项目配置
app.module.ts
添加
import { TranslateLoader, TranslateModule} from '@ngx-translate/core';import { TranslateHttpLoader } from '@ngx-translate/http-loader'; imports: [ TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: (createTranslateHttpLoader), deps: [Http] } }) ]
结果如下:
import { BrowserModule } from '@angular/platform-browser';import { NgModule } from '@angular/core';import { HttpModule, Http } from '@angular/http';import { TranslateLoader, TranslateModule} from '@ngx-translate/core';import { TranslateHttpLoader } from '@ngx-translate/http-loader';import { AppComponent } from './app.component';export function createTranslateHttpLoader(http: Http) { return new TranslateHttpLoader(http, './assets/i18n/', '.json');}@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, HttpModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: (createTranslateHttpLoader), deps: [Http] } }) ], providers: [], bootstrap: [AppComponent]})export class AppModule { }
app.component.ts
添加
import { TranslateService } from "@ngx-translate/core"; constructor(public translateService: TranslateService) { } ngOnInit() { // --- set i18n begin --- this.translateService.addLangs(["zh", "en"]); this.translateService.setDefaultLang("zh"); const browserLang = this.translateService.getBrowserLang(); this.translateService.use(browserLang.match(/zh|en/) ? browserLang : 'zh'); // --- set i18n end --- }
结果如下:
import { Component } from '@angular/core';import { TranslateService } from "@ngx-translate/core";@Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css']})export class AppComponent { title = 'app'; constructor(public translateService: TranslateService) { } ngOnInit() { // --- set i18n begin --- this.translateService.addLangs(["zh", "en"]); this.translateService.setDefaultLang("zh"); const browserLang = this.translateService.getBrowserLang(); this.translateService.use(browserLang.match(/zh|en/) ? browserLang : 'zh'); // --- set i18n end --- }}
添加多语言文件
在 * src/app/assets/ * 下创建 * i18n * 文件夹,并在文件夹内创建 * en.json * 和 * zh.json * 文件
测试
app.component.html
添加代码:
<div> <span> test the i18n module: ngx-translate</span> <h1>{{ 'hello' | translate }}</h1></div>
在 en.json 和 zh.json 文件中添加配置
* en.json *
{ "hello": "the word is hello"}
* zh.json *
{ "hello": "你好"}
测试结果
在中文下
在英文下
示例代码
angular + ngx-translate
参考文章
ngx-translate core
阅读全文
0 0
- 在 Angular 项目中添加 i18n 插件 ngx-translate
- 在 Angular 项目中添加插件 ng-bootstrap
- angular-translate for i18n and I10n
- Angular2中使用ngx-translate进行国际化
- 【Angular】Angular项目添加ng-bootstrap插件
- 在 Angular 项目中添加 clean-blog 模板
- angular-translate国际化中变量替换
- 关于在已有项目中手动添加cordova插件
- 【个人笔记重点,不作为参考】主题:Angular2中使用ngx-translate进行国际化
- angular国际化angular-translate中语言包的两种形式
- 在 Angular 项目中配置 Wijmo5
- 在Angular项目中使用PrimeNG组件
- springMVC项目中配置i18n
- angular2+国际化实践(ngx-translate方案)
- 在Eclipse中添加插件
- angular translate入门示例
- angular-translate 的总结
- 利用ngx-angular实现angular2的国际化
- 壓縮率太高時,不宜使用2-Pass
- 《机器学习》学习笔记九 主题模型之LDA
- c与c++
- Android 自定义文本标签
- java入门浅解
- 在 Angular 项目中添加 i18n 插件 ngx-translate
- 括号配对问题
- SQL Server游标的使用
- 内存泄露防止
- AOP 常见应用场景
- 【Cocos2d-x】开发基础-Cocos2d-x坐标系
- sqlserver游标使用和循环
- JAVAMAIL试用google邮箱发送邮件
- 【TCP】流量控制和拥塞控制