Javascript 如何从Angular 6中的组件中提取文本进行翻译(ngx translate)
我试图找到一种方法来获取Angular 6项目文件(ts和样式以及html文件)中的所有文本字符串,以便使用文件路径自动生成嵌套的JSON对象。例如,在组件html文件中: app/shared/forms/categories/categories.component.html:Javascript 如何从Angular 6中的组件中提取文本进行翻译(ngx translate),javascript,html,angular,Javascript,Html,Angular,我试图找到一种方法来获取Angular 6项目文件(ts和样式以及html文件)中的所有文本字符串,以便使用文件路径自动生成嵌套的JSON对象。例如,在组件html文件中: app/shared/forms/categories/categories.component.html: ,但它将只提取已经可翻译的{{name.space.here | translate}}管道等 如果这是不可能的,是否有一种方法可以使用一些默认标记(如trans)以这种方式“标记”每个字符串: 这个字符串 这个按钮
,但它将只提取已经可翻译的{{name.space.here | translate}}
管道等
如果这是不可能的,是否有一种方法可以使用一些默认标记(如trans
)以这种方式“标记”每个字符串:
这个字符串
这个按钮
我的问题是前端开发人员已经对所有内容进行了硬编码,现在我们正在研究需要从标记和代码中提取的4位数字符串,以便进行翻译。一个可能对您有所帮助的简单解决方案是:
<(.+)( .*)?>(.*[a-zA-Z]+.*)<\/\1>
这意味着每行只有一个带有文本的标记(
在同一行中可能会产生问题),并且该文本与其包含的标记在同一行中。一个简单的解决方案可能会帮助您:
<(.+)( .*)?>(.*[a-zA-Z]+.*)<\/\1>
这意味着每行只有一个带有文本的标记(
在同一行中可能会产生问题),并且该文本与其包含的标记在同一行中。您可以使用ngx translate extractor
您可以使用ngx翻译提取器
你可以用
npm安装-g github:juliandavidmr/text2locale
提取并生成JSON文件:
text2locale输入“/example/src“-o”。/example/locale/”-l en-t es,de,zh
您可以使用
npm安装-g github:juliandavidmr/text2locale
提取并生成JSON文件:
text2locale输入“/example/src“-o”。/example/locale/”-l en-t es,de,zh
您是否已尝试过该选项?ngxi18n
工具将所有文本插入到翻译友好的XLIFF文件中。如果愿意,您可以将该文件转换为JSON。一些文本已经转换为{{Some.thing | translate}}
,并移动到assets/i18n中的相应文件。我希望能有一些快速而肮脏的方法,它可以将硬编码字符串转换为{{some.thing | translate}}
,同时收集内容并将其添加到lang.json文件。您尝试过这个方法吗?ngxi18n
工具将所有文本插入到翻译友好的XLIFF文件中。如果愿意,您可以将该文件转换为JSON。一些文本已经转换为{{Some.thing | translate}}
,并移动到assets/i18n中的相应文件。我希望能有一些快速而肮脏的工具,它可以将硬编码字符串翻译成{{some.thing | translate}}
,同时收集内容并将其添加到lang.json文件库中,以感谢您的努力!,但您所建议的是在整个代码基础上执行的方式是危险的。特别是当你在HTML中使用正则表达式时,有很多方法可以解决很多边缘问题。但是,如果您手动操作,它可能会加快您的过程。不幸的是,据我所知,没有其他方法可以让解析器识别需要在HTML.kudos中翻译的文本!,但您所建议的是在整个代码基础上执行的方式是危险的。特别是当你在HTML中使用正则表达式时,有很多方法可以解决很多边缘问题。但是,如果您手动操作,它可能会加快您的过程。不幸的是,据我所知,解析器没有其他方法可以识别需要在HTML中翻译的文本。
<\1 i18n \2>\3<\/\1>
<tag>
<subtag> text </subtag>
</tag>
ngx-translate-extract --input ./src --output ./src/assets/i18n/template.json