@ Diemauerdk, документация не объясняет, как получить переводы с использованием машинописи, потому что это невозможно.Обходной путь может иметь несколько переводов.Это
//file locale-us.ts
export const translation:any={
greeting:"Hello World!",
mainTitle:"The best Appliacion of the world"
}
//file locale-es.ts
export const translation:any={
greeting:"¡Hola Mundo!",
mainTitle:"la mejor aplicación del mundo"
}
В ваших .ts вы можете иметь трубу
import { Pipe, PipeTransform } from '@angular/core';
import { translation } from '../../i18n/locale-us';
@Pipe({ name: 'translation' })
export class TranslationPipe implements PipeTransform {
constructor() {}
transform(value: string): string {
return translation[value] || null;
}
}
И вы можете использовать в компоненте, где вы вводите трубу в конструктор, например,
constructor(private translate: TranslationPipe){}
//And use like
alert(this.translate.transform('greeting'));
Тогда вы можете использовать отдельные "fileReplacements" в angular.json.Не показывать все angular.json, где вы должны добавить fileReplacement.У вас есть fe.g.об этом, если вы скачаете i18n пример документации https://angular.io/guide/i18n#internationalization-i18n
"configurations": {
"production": {
...
},
"production-es": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}, //add this two lines
{
"replace": "src/i18n/locale-us.ts",
"with": "src/i18n/locale-es.ts"
}
],
...
"outputPath": "dist/my-project-es/",
"i18nFile": "src/locale/messages.es.xlf",
...
},
"es": {
//And add this too
"fileReplacements": [
{
"replace": "src/i18n/locale-us.ts",
"with": "src/i18n/locale-es.ts"
}
],
...
"outputPath": "dist/my-project-es/",
"i18nFile": "src/locale/messages.es.xlf",
...
}
}