Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Angular 6中的组件中提取文本进行翻译(ngx translate)_Javascript_Html_Angular - Fatal编程技术网

Javascript 如何从Angular 6中的组件中提取文本进行翻译(ngx translate)

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)以这种方式“标记”每个字符串: 这个字符串 这个按钮

我试图找到一种方法来获取Angular 6项目文件(ts和样式以及html文件)中的所有文本字符串,以便使用文件路径自动生成嵌套的JSON对象。例如,在组件html文件中:

app/shared/forms/categories/categories.component.html:

,但它将只提取已经可翻译的
{{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