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

424
Vistas
Angular 9: i18n en TypeScript

Estudié la nueva función i18n en Angular 9. https://angular.io/guide/i18n

¿Cómo traducir texto en TypeScript, por ejemplo, mensajes de SnackBar?

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

0

Consulte este blog https://blog.ninja-squad.com/2019/12/10/angular-localize/

ACTUALIZACIÓN PARA 2022

Del documento oficial: https://angular.io/api/localize

 @Component({ template: '{{ title }}' }) export class HomeComponent { title = $localize`You have 10 users`; }

Y

Tienes que agregarlo manualmente a tus mensajes.fr.xlf

 <trans-unit id="6480943972743237078"> <source>You have 10 users</source> <target>Vous avez 10 utilisateurs</target> </trans-unit>

no olvide reservar su aplicación angular.

ACTUALIZAR PARA IDENTIFICACIÓN

 @Component({ template: '{{ title }}' }) export class HomeComponent { title = $localize`:@@6480943972743237078:`; }

https://github.com/angular/angular/blob/252966bcca91ea4deb0e52f1f1d0d3f103f84ccd/packages/localize/init/index.ts#L31

over 4 years ago · Santiago Trujillo Denunciar

0

La mejor manera de translationId es:

 title = $localize`:@@Home.Title:Some title text`

y debe agregarlo manualmente a sus mensajes.xx.xlf (por ejemplo, mensajes.fr.xlf, etc.)

 <trans-unit id="Home.Title"> <source>Some title text</source> <target>TRANSLATION_HERE</target> </trans-unit>
over 4 years ago · Santiago Trujillo Denunciar

0

Aquí hay algunos scripts que se pueden usar para extraer las localizaciones laterales de html + ts a un archivo xlf. Entonces usas $localize como sugiere @Cyclion. Esta solución utiliza el paquete locl cli de Ocombe https://www.npmjs.com/package/@locl/cli Primero debe compilar su proyecto sin localización.

 ng build ProjectName --localize=false

Luego puede extraer traducciones de archivos "binary js" usando la herramienta locl. Uso la versión 0.0.1-beta.6 porque no genera partes de destino en el archivo xlf. Esas partes de destino arruinarán la fusión con xlf-merge. Y también la herramienta ng xi18n tampoco genera esas partes de destino, por lo que la estructura es consistente después de la fusión.

 npx locl extract -s='dist/ProjectName/**/*.js' -f=xlf -o='projects/ProjectName/src/locale/messages_extracted.xlf' --locale=fi

Luego puede combinar el resultado ng xi18n y este resultado. Esto contiene todas las traducciones de html y ts pero sin los metadatos que proporciona el comando ng xi18n de las traducciones del lado html. Yo uso xlf-merge para esto.

 xlf-merge ./projects/ProjectName/src/locale/messages_extracted.xlf projects/ProjectName/src/locale/messages.xlf -o projects/ProjectName/src/locale/messages.xlf

Este comando de combinación agregará todas las traducciones del lado ts faltantes al final del archivo message.xlf

Aquí está el guión completo.

 ng xi18n --project=ProjectName --output-path src/locale && ng build ProjectName --localize=false && npx locl extract -s='dist/ProjectName/**/*.js' -f=xlf -o='projects/ProjectName/src/locale/messages_extracted.xlf' --locale=fi && xlf-merge ./projects/ProjectName/src/locale/messages_extracted.xlf projects/ProjectName/src/locale/messages.xlf -o projects/ProjectName/src/locale/messages.xlf

Y después de estos pasos, tiene todas las etiquetas de traducción en mensajes.xlf. Luego, debe generar/traducir cada archivo de idioma utilizando, por ejemplo, la herramienta xliffmerge.

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