Est-il possible de traduire des chaînes à l'intérieur du code source d'un composant dans Angular6.
F. e.
window.confirm("HELP me");
Je n'ai rien trouvé à part la traduction normale des fichiers HTML ( Angular Docs i18n ).
Merci d'avance
3 Réponses :
Il y a beaucoup d'informations intéressantes sur l'avenir d'Angular i18n dans ce numéro: https: //github.com/angular/angular/issues/16477
J'ai essayé une solution pour cela et cela fonctionne, voici comment je l'ai réussi à traduire mes alertes ngx-toaster qui sont appelées dans mon fichier ts, par exemple j'ai ceci:
<h2 i18n="@@testTitle" #test [hidden]="true">created successfully</h2>
je l'ai converti en ceci
@ViewChild('test') myDivElementRef: ElementRef; ... constructor(private toastrService: ToastrService) {} ngOnInit() { this.toastrService.success(this.myDivElementRef.nativeElement.outerHTML, '', { enableHtml : true });
et dans mon modèle, je crée un div avec #test reference
ngOnInit() { this.toastrService.success('created successfully', ''); }
p >
Dans Material Angular 6:
<pre> <p [hidden]="true"> <span #espiontest>{{'Add_Profil_application_lang.Creationeffectuée' | translate}} </span> </p> </pre>
Déclaration
this.toastr.successToastr(this.myDivElementRef.nativeElement.outerHTML, null, {enableHTML: true});
dans le constructeur
constructor( public toastr: ToastrManager){ }
dans votre fonction ou OnInt
@ViewChild('espiontest') myDivElementRef: ElementRef;
En html, cet élément {{'Add_Profil_application_lang.Creationeffectuà © e' | translate}}
est la traduction dans les fichiers ./i19n/en
et ./i19n/fr
import { locale as english } from './i19n/en'; import { locale as français } from './i19n/fr'; import { ToastrManager } from 'ng6-toastr-notifications';
p>