gpt4 book ai didi

angular - 如何从 Angular 6 自动生成的 XLIFF 文件中删除位置、源文件和行号?

转载 作者:太空狗 更新时间:2023-10-29 18:28:03 26 4
gpt4 key购买 nike

我们正在使用 Angular 的内置工具从模板中提取消息。

这工作正常,我们使用以下方法获取 XLIFF 文件中的所有信息:

ng xi18n

在这个文件中一个trans-unit看起来像这样:

<trans-unit id="3535a6c8296b457542000d2cbd15ca93f86cdd79" datatype="html">
<source>Homepage</source>
<context-group purpose="location">
<context context-type="sourcefile">app/component/nav/nav.component.html</context>
<context context-type="linenumber">39</context>
</context-group>
<note priority="1" from="description">description</note>
<note priority="1" from="meaning">title</note>
</trans-unit>

即使<context-group purpose="location">中的内容看起来很有趣,它将项目和实现细节扩展到外部翻译服务。

有没有办法告诉 Angular 不要将这些信息包含到 XLIFF 文件中?

或者,是否有其他工具可以进行转换?也许编译器在构建过程中获得该信息很重要。

最佳答案

你不应该删除那些,因为 Angular 需要它来翻译。

但如果这是你想要的,你可以使用 JS 脚本来删除它们:

const fs = require('fs');
const data = fs.readFileSync('./i18n.xliff').toString();
const contentToRemoveRegexp = /<context-group purpose="location">([.\s\S])*<\/context-group>/g;
const replaced = data.replace(contentToRemoveRegexp, '');
fs.writeFileSync('./i18n-updated.xliff', replaced);

将它存储在你想要的任何 JS 文件中,并在你的包文件中制作一个脚本:

"i18n:update": "ng xi18n && node path/to/your/script/js"

关于angular - 如何从 Angular 6 自动生成的 XLIFF 文件中删除位置、源文件和行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54788912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com