首页i18n特殊字符转义

i18n特殊字符转义

自动处理 i18n 翻译文件中的特殊字符转义,支持 JSON 和纯文本两种格式,解决花括号、@符号等引起的解析错误

i18n特殊字符转义规则

1. 花括号 { }

原因:{key} 是占位符语法

转义方式:{'{'} 和 {'}'}

2. @ 符号

原因:@:path.to.key 是链接语法

转义方式:{'@'}

3. 美元符号 $

原因:$ 可能被用作特殊变量或列表语法

转义方式:{'$'}

4. 管道符 |

原因:| 是复数形式的分隔符

转义方式:{'|'}

技术背景

i18n 库通常会将 JSON 字符串编译成函数以支持参数注入和复数形式。任何具有特殊语法的字符(如 {}、@、|)如果需要作为普通字符显示,都必须进行转义,否则会被编译器误认为是控制指令,导致解析错误或应用崩溃。

安全建议

为避免所有问题,建议对任何括号都进行转义,这样可以避免未来可能的解析错误。

Vue I18n 两种模式特殊字符转义对照表(仅需转义字符)

想要显示的字符legacy: true (v8 兼容)legacy: false (v9+ 现代)渲染结果
{{'{'}{ '{' }{
}{'}'}{ '}' }}
@{'@'}{ '@' }@
|{'|'}{ '|' }|
${'$'}{ '$' }$
{name}{'{'}name{'}'} { '{' }name{ '}' }{name}
@user{'@'}user{ '@' }user @user
a|ba{'|'}ba{ '|' }ba|b

总结

  • 核心格式区别:Legacy Mode (legacy: true) → 字符 (无空格);Modern Mode (legacy: false) → 字符 (有空格)。
  • 关键避坑:两种模式的格式不可混用(如 legacy: true 用空格格式会报错)。

数据默认在您的本地浏览器上处理,不会上传至服务器。如需上传会明确提示。

© 2026 See-Tool. 保留所有权利。 | 联系站长