Necesito usar TranslateService.instant de ngx-core y pasar parámetros para hacer la interpolación de cadenas.
Hasta ahora he hecho:
MY_STRING: "Welcome {{user}}"En mi componente hago:
translateService.instant(MY_STRING, {user: 'Nick'})y lo que obtengo de esto es:
Welcome {{user}}El parámetro usuario no se interpola. ¿Qué estoy haciendo mal?
Para usar el método instant , debe asegurarse de que sus traducciones se hayan cargado y que sea seguro usarlo, de lo contrario, fallará. Ese puede ser el punto.
La explicación es sencilla, tienes tres formas de cargar la traducción:
Está seguro de que sus archivos de traducción ya están cargados y no necesitan actualizaciones: translate.instant('key')
No está seguro acerca de la carga y no necesita actualizaciones (devuelve un Observable para suscribirse): translate.get('key')
Desea actualizaciones cuando el usuario cambia el idioma:
traducir.stream('clave')
Creo que podría usar la opción de obtener, ya que es la que tiene errores menos conocidos:
let userName = 'Nick' translateService.get('MY_STRING', { user: this.userName }).subscribe((text:string) => {console.log(text});