navigationend - Angular 4-iónico 3 traducción del texto dentro del archivo ''.ts''
router events subscribe angular 4 (2)
Hola chicos, quiero saber cómo traducir texto en el archivo ''.ts''
básicamente es un texto de carga
showLoader() {
this.loading = this.loadingCtrl.create({
content: ''Loading...''
});
this.loading.present();
}
lo que necesito es enviar un mensaje de texto "Cargando ..." traducido a "Cargo ..." cuando el idioma está configurado en francés
Gracias
Puedes hacerlo como a continuación:
Nota: Extraje esto de mi código base de trabajo. Por lo tanto, ajuste como lo desee. Si necesita ayuda adicional, hágamelo saber.
presentLoader(): Loading {
this.translate.get(''Please_wait'').subscribe(res => {
this.content = res;
});
let loader = this.loadingCtrl.create({
content: this.content
});
loader.present();
return loader;
}
La respuesta de @ Sampath funciona perfectamente, pero aun así, quería agregar otra forma de hacerlo, devolviendo una Promise
.
Como el método get
es asincrónico, prefiero crear la Loading
cuando la traducción está lista, en lugar de crearla y luego actualizar la referencia al contenido.
// Imports
import { Observable } from ''rxjs/Observable'';
import ''rxjs/add/operator/toPromise'';
// ...
presentLoader(translationKey: string): Promise<Loading> {
return this.translate.get(translationKey)
.toPromise()
.then(translation => {
// Create the loader
let loader = this.loadingCtrl.create({
content: translation
});
// Present the loader
loader.present();
// Return the loader
return loader;
});
}
Y puedes usar ese método así:
this.presentLoader(''Please_wait'').then((loader: Loading) => {
// This code is executed after the loading has been presented...
// ... You can use the loader property to hide the loader
});