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

如何通过ID查找Angular多语言项目中的可翻译字符串?

定位Angular多语言messages中仅含{$INTERPOLATION}字符串的代码来源
  • 用自动生成ID全局搜索
    每个这类无效字符串都带自动生成的ID(格式为@@xxxxxx),直接在代码库全局搜索这个ID,就能找到对应的i18n标记所在的模板或组件代码。比如ID是@@emptyInterpolation456,搜这个字符串,就能定位到模板里类似<span i18n="@@emptyInterpolation456">{$INTERPOLATION}</span>的位置。

  • 排查对应组件的插值绑定
    找到关联组件后,检查它的.html模板文件,找带i18n标记的插值表达式({{ }}),看是不是原本的静态文本被误删了——比如原本是<div i18n="@@greeting">你好, {{userName}}</div>,后来被改成了<div i18n="@@greeting">{{userName}}</div>,就会生成仅含{$INTERPOLATION}的条目。同时也要检查组件.ts文件里用$localize函数的地方,有没有只传插值变量、没写基础文本的情况,比如$localize:@@greeting:${userName};`。

  • 用Angular CLI提取命令查日志
    重新执行ng extract-i18n --verbose命令,看控制台的详细输出,里面会提示生成每个messages条目对应的具体文件路径和行号,直接定位到问题代码的位置。

  • 查版本控制记录
    如果项目用了Git这类工具,搜该messages条目的ID对应的提交记录,看提交diff就能知道原本的文本内容,以及是谁、什么时候修改了代码,快速定位来源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:42:37