You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular项目中使用ngx-translate对指定HTML文本做参数化翻译求助

针对你的场景,因为需要给逾期天数部分保留动态加粗样式,我们可以通过拆分翻译文本+参数传递的方式实现,同时不破坏原有的DOM结构。具体步骤如下:

1. 在国际化资源文件中定义翻译键

比如在英文资源文件(en.json)中:

{
  "follow_up": {
    "prefix": "Follow-up is",
    "suffix": "days past due"
  }
}

对应的中文资源文件(zh-CN.json):

{
  "follow_up": {
    "prefix": "跟进已逾期",
    "suffix": "天"
  }
}

2. 修改HTML模板,应用翻译管道

把原有的静态文本替换成translate管道调用,同时保留动态天数的span结构:

<span *ngIf="Days < 0 && !shortSentence">
  {{ 'follow_up.prefix' | translate }}
  <span [class.font-bold]="highlightContent">{{ InDays | positiveNumber }}</span>
  {{ 'follow_up.suffix' | translate }}
</span>

补充:如果不需要给天数加样式的参数化翻译

如果后续不需要动态加粗样式,也可以用单键+参数传递的方式更简洁:

  • 资源文件定义:
{
  "follow_up.past_due": "Follow-up is {{ daysCount }} days past due"
}
  • 模板调用:
<span *ngIf="Days < 0 && !shortSentence">
  {{ 'follow_up.past_due' | translate: { daysCount: InDays | positiveNumber } }}
</span>

这种方式直接把动态天数作为参数传入翻译文本,ngx-translate会自动替换占位符{{ daysCount }}。

另外要注意:如果你的项目中启用了HTML sanitization,不要随便在翻译文本里写HTML标签(比如直接把<span class="font-bold">写进翻译内容),避免被过滤掉,所以拆分DOM结构的方式更安全可靠。

内容的提问来源于stack exchange,提问作者user2439903

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:28:23