Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

487
Vistas
No se puede obtener una traducción dinámica de texto usando ngx translate/core - angular 2 mecanografiado

Problema :

Tengo texto dinámico que proviene del archivo Json. Estoy usando el método translate.get() como este:

 this.translate.get('keyInJson').subscribe(res => { this.valueFromJson = res; /* creating an object using above text */ });

Como esto es asíncrono, no puedo obtener el texto traducido cuando se procesa la página. Intenté envolver el método anterior dentro de Observables , Promises pero no puedo obtener la versión traducida del texto durante la carga de la página. Pude obtener el texto traducido después de probar diferentes enfoques, pero el código se volvió demasiado complejo y no confiable.

Comportamiento esperado/deseado Debe cargar la versión traducida del texto

Reproducción del problema Genere dinámicamente el texto en lugar de codificarlo en html y luego intente renderizar la versión traducida.

Entorno Angular2, mecanografiado, Ionic 2

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

@nkadu1

instant(key: string|Array, interpolateParams?: Object): string|Object: Obtiene el valor traducido instantáneo de una clave (o una matriz de claves). Este método es síncrono y el cargador de archivos predeterminado es asíncrono. Usted es responsable de saber cuándo se cargaron sus traducciones y cuándo es seguro usar este método .

 const translated = this.translate.instant('keyInJson');

@masterach TranslateHttpLoader es lo que está buscando. Aquí hay un artículo que podría ser útil para usted.

over 4 years ago · Santiago Trujillo Denunciar

0

He estado usando @ ngx-translate desde hace un tiempo. Yo uso el módulo de dos maneras:

  1. Usando la tubería:

{{'código_a_traducir' | traducir }}

  1. usando el servicio

const traducirTexto: string = this.translateService.instant('code_to_translate')

el servicio de traducción debe pasarse en el constructor de su componente (o servicio)

por lo general, declaro el resultado de la cadena en mi función app.ini antes de cargar los componentes y uso solo un servicio de traducción para toda mi aplicación. También declaro mi TranslateLoader personalizado para administrar la fuente de las traducciones desde cualquier lugar (api externa, archivo json, etc.)

over 4 years ago · Santiago Trujillo Denunciar

0

¿Por qué no usa la tubería en html en lugar de traducir en ts?

 <div>{{ 'HELLO' | translate:param }}</div>

o

 <div [innerHTML]="'HELLO' | translate"></div>
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda