如何让 angular 翻译 ts 文件中的多个值并具有参数?
How to have angular translate of for multiple values in a ts file and also having the parameters?
this.snackBar.open(
`Only files of size less than ${this.fileSizeAllowed}KB are allowed`,
this.translate.instant('USER_REG.close'),
{
panelClass: 'errorSnackbar',
duration: 5500,
}
);
我只想将 snackBar 中显示的消息,即“只有小于以下大小的文件”翻译成另一种语言,然后是动态变量,然后是“允许 KB”行 translated.How 做吗? angular 翻译完全陌生!!!
也许这个答案可以帮到您:
您是否尝试过以下操作?
this.snackBar.open(
this.translate.instant('FIRST.MESSAGE')+ ${this.fileSizeAllowed} + this.translate.instant('SECOND.MESSAGE'),
this.translate.instant('USER_REG.close'),
{
panelClass: 'errorSnackbar',
duration: 5500,
}
);
您可以在模板字符串文字中使用 translate.instant
方法。注意 than
后面的 space。如果翻译服务删除了 space,您可以在第一个 ${}
块之后添加它。
this.snackBar.open(
`${this.translate.instant('Only files of size less than ')}${this.fileSizeAllowed}${this.translate.instant('KB are allowed')}`,
this.translate.instant('USER_REG.close'),
{ panelClass: 'errorSnackbar', duration: 5500, }
);
您可以像下面的代码一样简单地使用参数
this.snackBar.open(
this.translateService.stream('MESSAGEKEY', { dynamicVariable: this.fileSizeAllowed}).subscribe((res) => { return res; })
this.translate.instant('USER_REG.close'),
{
panelClass: 'errorSnackbar',
duration: 5500,
};
);
在您的资源文件中,该值将为
'MESSAGEKEY' : "Only files of size less than" {{ dynamicVariable }} "KB are allowed"
this.snackBar.open(
`Only files of size less than ${this.fileSizeAllowed}KB are allowed`,
this.translate.instant('USER_REG.close'),
{
panelClass: 'errorSnackbar',
duration: 5500,
}
);
我只想将 snackBar 中显示的消息,即“只有小于以下大小的文件”翻译成另一种语言,然后是动态变量,然后是“允许 KB”行 translated.How 做吗? angular 翻译完全陌生!!!
也许这个答案可以帮到您:
您是否尝试过以下操作?
this.snackBar.open(
this.translate.instant('FIRST.MESSAGE')+ ${this.fileSizeAllowed} + this.translate.instant('SECOND.MESSAGE'),
this.translate.instant('USER_REG.close'),
{
panelClass: 'errorSnackbar',
duration: 5500,
}
);
您可以在模板字符串文字中使用 translate.instant
方法。注意 than
后面的 space。如果翻译服务删除了 space,您可以在第一个 ${}
块之后添加它。
this.snackBar.open(
`${this.translate.instant('Only files of size less than ')}${this.fileSizeAllowed}${this.translate.instant('KB are allowed')}`,
this.translate.instant('USER_REG.close'),
{ panelClass: 'errorSnackbar', duration: 5500, }
);
您可以像下面的代码一样简单地使用参数
this.snackBar.open(
this.translateService.stream('MESSAGEKEY', { dynamicVariable: this.fileSizeAllowed}).subscribe((res) => { return res; })
this.translate.instant('USER_REG.close'),
{
panelClass: 'errorSnackbar',
duration: 5500,
};
);
在您的资源文件中,该值将为
'MESSAGEKEY' : "Only files of size less than" {{ dynamicVariable }} "KB are allowed"