Перевести строки в коде Angular Typescript
Можно ли переводить строки внутри исходного кода компонента в Angular6.
Ф. е.
window.confirm("HELP me");
Я не нашел ничего, кроме обычного перевода для файлов HTML ( Angular Docs i18n).
заранее спасибо
0 ответов
Вы можете использовать https://github.com/ngx-translate/i18n-polyfill до тех пор, пока Angular i18n не получит встроенную поддержку для него, вероятно, около версии 9. Автор работает над Angular i18n, поэтому я считаю, что доверять безопасно его ожидание того, что оно будет близко к будущей функции Angular i18n.
В этом выпуске много интересной информации о будущем Angular i18n: https://github.com/angular/angular/issues/16477
В материале Angular 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>
Я попробовал решение для этого, и оно работает, вот как мне удалось перевести мои предупреждения ngx-toaster, которые вызываются в моем файле ts, например, у меня есть это:
ngOnInit() {
this.toastrService.success('created successfully', '');
}
я преобразовал это в это
@ViewChild('test') myDivElementRef: ElementRef;
...
constructor(private toastrService: ToastrService) {}
ngOnInit() {
this.toastrService.success(this.myDivElementRef.nativeElement.outerHTML, '', {
enableHtml : true
});
и в моем шаблоне я создаю div с ссылкой #test
<h2 i18n="@@testTitle" #test [hidden]="true">created successfully</h2>