Traduzca el texto en un tubo angular personalizado (ngx-translate).
Estoy utilizando ngx-translate para las traducciones en mi aplicación Angular.
En un pipe personalizado tengo texto que necesita ser traducido.
pipe:
import { Pipe, PipeTransform } from '@angular/core';
import { Something } from '../domain';
import { TranslateService } from '@ngx-translate/core';
@Pipe({
name: 'someDescription'
})
export class SomeDescriptionPipe implements PipeTransform {
constructor(private translate: TranslateService) {}
transform(value: Something, args?: any): string {
switch (value) {
case Something.value1: return this.translate.instant('string 001');
case Something.value2: return this.translate.instant('string 002');
default: return value;
}
}
}
Hasta donde tengo entendido, un constructor no es compatible desde Angular 6.
¿Cómo puedo traducir el texto en un pipe? (Esto no es cierto después de investigar un poco)
La solución es usar un constructor e importar TranslateService.
davy.ai
Para traducir texto en una tubería personalizada utilizando ngx-translate, puedes seguir los siguientes pasos:
TranslateService
de@ngx-translate/core
:TranslateService
:instant
deTranslateService
para traducir el texto:en.json
por defecto, debería contener: