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

如何在Aurelia i18n的TValueConverter中带参数使用HTML属性?

在Aurelia i18n中使用带参数的HTML翻译(TValueConverter语法)

没问题,这个需求完全可行!Aurelia的TValueConverter其实支持和t指令一样的[html]前缀写法,只需要简单调整语法就能实现带参数的HTML翻译。

方法一:给翻译Key添加[html]前缀

直接在你要翻译的key字符串前面加上[html]前缀,然后正常传递参数即可。示例如下:

<!-- 模板中的写法 -->
${'[html]title' | t: { some: '自定义参数' }}

对应的i18n资源文件(比如en.json)里,title的值可以包含HTML标签和参数占位符:

{
  "title": "欢迎来到<span class='highlight'>{{some}}</span>的页面"
}

这样渲染后,<span>标签会被解析为真实的HTML元素,参数也会正确替换进去。

方法二:结合innerhtml.bind使用

如果你觉得加前缀的方式不够直观,也可以用innerhtml.bind属性绑定来配合TValueConverter,这种方式不需要给key加前缀:

<!-- 模板中的写法 -->
<div innerhtml.bind="'title' | t: { some: '自定义参数' }"></div>

这种方式下,innerhtml.bind会自动把TValueConverter返回的带HTML的内容渲染成真实DOM元素,效果和第一种方法一致。

重要注意事项

无论用哪种方式,都要确保翻译内容是可信的!如果翻译文本中包含用户输入的未过滤内容,很容易引发XSS攻击。一定要对不可信内容做转义或过滤处理后再用于翻译。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:19:29