我知道Angular 2 i18n的两个主要平台:The official way和ng2-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中的字符串。但是如何翻译警报中显示的字符串?如果没有本地方式,那么推荐的方法是什么?
答案 0 :(得分:1)
Angular团队非常专注于创建核心产品,其中包含其他人可以选择使用的其他服务(routing
,translations
等)。所以不要抹黑任何社区制作的图书馆,这就是让Angular如此有用的原因!
话虽如此,我强烈建议ng2-translate
满足您的需求。您可以预加载翻译,同步或异步调用它们,并将其用作模板中的pipe
或组件类中的服务。