如何在Angular 2应用程序中翻译Typescript字符串?

时间:2016-12-19 16:47:07

标签: angular typescript

我知道Angular 2 i18n的两个主要平台:The official wayng2-translate。我更倾向于使用官方文档推荐的内容。对我来说,如何翻译HTML字符串非常清楚。但有一点我还没有得到:如何翻译Typescript字符串?

例如,我有以下使用内置i18n解决方案的组件:

import { Component } from '@angular/core';

@Component({
    moduleId: module.id,
    selector: 'hello',
    template: `
        <h1 i18n>Hello {{name}}!</h1>
        <button (click)="notify()"></button>
    `
})
export class HelloComponent {

    private name = 'John Doe';

    notify() {
        /* How do I translate this? */
        alert(`Hello ${this.name}!`);
    }
}

将翻译HTML中的字符串。但是如何翻译警报中显示的字符串?如果没有本地方式,那么推荐的方法是什么?

1 个答案:

答案 0 :(得分:1)

Angular团队非常专注于创建核心产品,其中包含其他人可以选择使用的其他服务(routingtranslations等)。所以不要抹黑任何社区制作的图书馆,这就是让Angular如此有用的原因!

话虽如此,我强烈建议ng2-translate满足您的需求。您可以预加载翻译,同步或异步调用它们,并将其用作模板中的pipe或组件类中的服务。