angular2 国际化实现
angular2国际化通过管道(pipe)的形式实现下载ng2-translate
如何使用可以参照https://github.com/ocombe/ng2-translate
自己写了一个小DEMO,可以在dev分支查看https://github.com/lyt308012546/ng2-webpack-demo
import { Component } from '@angular/core';
import { Http, HTTP_PROVIDERS } from '@angular/http';
import {
TranslateService,
TranslateLoader,
TranslatePipe,
TranslateStaticLoader
} from 'ng2-translate/ng2-translate';
@Component({
selector: 'translate',
template: `
<br>
<br>
<br>
<button (click)="changeLang('en')">英文</button>
<button (click)="changeLang('zh_cn')">中文</button>
<br>
<h1>{{ 'HELLO' | translate:{value: param} }}</h1>
`,
pipes: [TranslatePipe]
})
export class Translate {
param: string = "world";
// userLang: string = "en";
constructor(public translate: TranslateService) {
// var userLang = navigator.language.split('-')[0]; // use navigator lang if available
// userLang = /(fr|en)/gi.test(userLang) ? userLang : 'en';
// // this language will be used as a fallback when a translation isn't found in the current language
// translate.setDefaultLang('zh_cn');
// // the lang to use, if the lang isn't available, it will use the current loader to get them
translate.use("zh_cn");
//获取值
console.log(this.translate.instant("HELLO"));
}
changeLang(userLang) {
// the lang to use, if the lang isn't available, it will use the current loader to get them
this.translate.use(userLang);
}
}
export const TRANSLATE_PROVIDERS = [
HTTP_PROVIDERS,
{
provide: TranslateLoader,
useFactory: (http: Http) => new TranslateStaticLoader(http, 'assets/i18n', '.json'),
deps: [Http]
},
TranslateService
];
angular2 国际化实现的更多相关文章
- Angular2国际化
使用angular-cli初始化项目: ng new my-project 使用npm安装ngx-translate模块 npm install --save @ngx-translate/core ...
- Angular2中使用ngx-translate进行国际化
转自 https://blog.csdn.net/u014291497/article/details/61233033 相较于angularjs中的ng-translate, angular2也有适 ...
- Angular2对待一个URL的处理流程
直到一年前我还不会想到我会写一本书出来,直到两三年前我还不会想到会把自己的业余时间放在写作(技术博客)上.当初在机缘巧合之下,我只是想把自己工作中遇到的问题总结起来,发布在博客中以供日后查阅.不想竟然 ...
- Angular2之管道学习笔记
管道.可以把一个输出流与另一个输入流连接起来.类似 linux.gulp都有应用. 在Angular2中使用管道非常方便.Angular2中本身提供了一些内置管道.当然也可以自定义管道. 文档链接:h ...
- 推荐一套Angular2的UI模板
Core UI Core UI是一款基于Bootstrap4的UI模板,有html.angular2,react和vue版.我是在使用angular2版本中发现其项目结构不符合angular风格指南推 ...
- [转]Ionic国际化解决方案
本文转自:http://www.cnblogs.com/crazyprogrammer/p/7904436.html 1. 核心内容 使用Angular2的国际化(i18n)库:ngx-tra ...
- Ionic国际化解决方案
1. 核心内容 使用Angular2的国际化(i18n)库:ngx-translate 官网地址:http://www.ngx-translate.com/ GitHub地址:https:// ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
随机推荐
- AX 最顶部工作区间窗口文本修改
修改Class\Info\method\workspaceWindowCreated: void workspaceWindowCreated(int _hWnd) { // Put workspac ...
- C# 最简单的递归
public void AddTree(int ParentID, TreeNode pNode) { TreeNode tn1 = new TreeNode(); DataView dvTree = ...
- hbase日常操作及维护
一,基本命令: 建表:create 'testtable','coulmn1','coulmn2' 也可以建表时加coulmn的属性如:create 'testtable',{NAME => ' ...
- Linkedlist,arrayDeque,HashMap,linkedHashMap
Linkedlist 1.extneds AbstractSequentialList, implements List<E>, Deque<E>, Cloneable, ja ...
- poj1001_Exponentiation
这题真是超级大模拟.好繁琐,自己写的打数加法,乘法,写的比我大一时候写的要好很多,大一是借助C++里面的string来写的,这把只用了C,浇一次就ac了,挺开心的,不过写了2个小时啊.注意零的处理.大 ...
- linux 下wifi 功能的实现
一.嵌入式linux四件套配置 1.网卡选型的依据: a.网卡不能乱选,否则没戏.网卡的依据是,kernel的menuconfig -> device drivers -> network ...
- 条款22 template method 模式
template method 模式,模板方法模式 其实他和C++模板没有关系. 前者是提供的为派生类设计者提供清晰指示的一种方法,这个事实表示"如何去实现基类所规定的契约" 基类 ...
- nodejs前端自动化构建
http://99jty.com/?p=1257 http://www.jankerli.com/?p=1628 http://www.cnblogs.com/zhepama/archive/2013 ...
- NotePad++相关设置
Notepad++去掉红色下划线: 插件->DSpellCheck->Auto-check Document 前面的勾去掉 Notepad++自动换行: 视图(View)——>自动换 ...
- HTML自动换行的问题
有时文本文字已经超过所在的区域,但是文字还是不自动换行 可以用强制换行 强制不换行div{ white-space:nowrap;}自动换行div{ word-wrap:break-word; wor ...