翻译Angular Typescript代码中的字符串

时间:2019-02-08 10:25:33

标签: angular6 angular-i18n

是否可以在Angular6的组件源代码中转换字符串。

F。 e。

window.confirm("HELP me");

除了HTML文件的常规翻译(Angular Docs i18n)之外,我什么都没找到。

提前谢谢

3 个答案:

答案 0 :(得分:1)

您可以使用https://github.com/ngx-translate/i18n-polyfill直到Angular i18n获得对它的内置支持(大概在版本9左右)。作者正在开发Angular i18n,因此,我可以放心地相信他的期望,因为它将会很接近到Angular i18n的未来功能。

在本期中,关于Angular i18n的未来有很多有趣的信息:https://github.com/angular/angular/issues/16477

答案 1 :(得分:0)

我已经为此尝试了一种解决方案,并且可以正常工作,这就是我如何管理它来转换我在ts文件中调用的ngx-toaster警报的方式,例如,我有以下内容:

ngOnInit() {
 this.toastrService.success('created successfully', '');
}

我将其转换为此

@ViewChild('test') myDivElementRef: ElementRef;
...
constructor(private toastrService: ToastrService) {}
ngOnInit() {
this.toastrService.success(this.myDivElementRef.nativeElement.outerHTML, '', {
  enableHtml :  true
});

在我的模板中,我使用#test参考创建一个div

<h2 i18n="@@testTitle" #test [hidden]="true">created successfully</h2>

答案 2 :(得分:0)

在“材料角6”中:

import { locale as english } from './i19n/en';
import { locale as français } from './i19n/fr';
import { ToastrManager } from 'ng6-toastr-notifications';

声明

     @ViewChild('espiontest') myDivElementRef: ElementRef;

在构造函数中

    constructor(
      public toastr: ToastrManager){
    }

您的职能或OnInt

    this.toastr.successToastr(this.myDivElementRef.nativeElement.outerHTML, null, {enableHTML: true});

在html中,此元素{{'Add_Profil_application_lang.Creationeffectuée' | translate}}是文件./i19n/en./i19n/fr中的翻译

<pre>
<p [hidden]="true">
   <span #espiontest>{{'Add_Profil_application_lang.Creationeffectuée' | translate}} 
</span>
</p>
</pre>