Angular2 i18n - 如何通过代码进行翻译

pie*_*ebo 8 internationalization angular

我在i18n(对于Angular2)中找不到任何文档,这些文档不仅仅是在HTML中显示翻译文本.我需要做的是直接在我的代码中获取翻译的文本.在使用ng-translate功能的Angular 1中,使用$ translate服务很容易获得它.我在Angular 2的新i18n中找不到相应的东西.我错过了什么吗?

rze*_*lek 0

这是在 github 上发布有关 i18n 计划的链接:

https://github.com/angular/angular/issues/9104

于 06-11-2016 @zh99998 询问:

如何在脚本中获取 i18n 字符串?例如:

let _THIS_IS_A_I18N_STRING = ??? alert(_THIS_IS_A_I18N_STRING);

和@vicb(angular2成员)说:

@zh99998 @marcalj 这对于当前的实现来说是不可能的。您能否在问题跟踪器中创建正确的功能请求,填写问题模板并添加用例(并链接到其他实施(如果适用))。

谢谢。

目前似乎无法在代码中使用翻译。

虽然,有一个类似于 angular2 的库$translate

https://github.com/ocombe/ng2-translate

用法类似于$translate(来自文档):

translate.get('HELLO', {value: 'world'}).subscribe((res: string) => {
    console.log(res);
    //=> 'hello world'
});
Run Code Online (Sandbox Code Playgroud)

用法类似于translate过滤器(来自文档):

<div>{{ 'HELLO' | translate:param }}</div>

就我而言(ng1/ng2 混合应用程序),这是最好的解决方案,因为我能够对两个角度版本使用相同的翻译文件。