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
];
复制代码

 

posted @   Liuyt  阅读(1045)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· MQ 如何保证数据一致性?
点击右上角即可分享
微信分享提示