Google Translate API允许指示不应使用
翻译的文本块<span translate='no'>Skip this text while translating</span>
在某些情况下,非翻译标签的行为不正确,导致翻译API忽略其中一个单词并复制非翻译标签。输入翻译API:
0c40152c asdasd alsdls3 ec3f297a <span translate="no">AAAAA123AAAA</span> Nov 30 translate
从意大利语翻译成英语(不确定语言是否重要)时,返回以下结果:
0c40152c asdasd alsdls3 ec3f297a <span translate="no">AAAAA123AAAA</span> Nov 30 <span translate="no">AAAAA123AAAA</span>
请注意,文本末尾的“翻译”已由非翻译标签代替。
如果我使用替代语法<span translate='no'>
而不是<span class='notranslate'>
,则会出现此问题。
这是一个已知的错误吗?有明智的解决方法吗?
答案 0 :(得分:0)
是:https://issuetracker.google.com/issues/121076288
span标记中的notranslate类的翻译问题
您遇到的问题:
翻译API给出了从德语翻译为阿拉伯语的错误结果德语文本:
QANTARA移民-科恩滕弗赖·埃斯特普吕丰·艾尔·钱森·菲尔·艾尔弗勒格里奇移民德国阿拉伯语翻译:
QANTARA迁移-QANTARA迁移إلىألمانيا您期望发生的事情:
正确翻译而无需使用notranslate将跨度加倍-如您所见,这在阿拉伯语翻译中翻了一番
似乎还有其他一些相关的内容,例如https://issuetracker.google.com/issues/74168658和https://issuetracker.google.com/issues/35902695。
恐怕只有骇客。
最简单的解决方法是将这些部分替换为令牌,例如,唯一数字或url使Translate足够聪明,不会碰触,翻译,然后将原始字符串换回。
一个更通用的解决方案是使用ModelFront之类的方法(完全公开:我在那儿工作)来检测错误,并且仅在那些情况下才做。
答案 1 :(得分:-2)
您似乎已将意大利语指定为输入语言,但是文本中很少有可以翻译的单词(例如“翻译”),并且在源语言中无法识别它们。 这可能会导致翻译算法出现问题,在这里似乎就是这种情况。
一种解决方法是将源语言设置为通过API获取automatically detected并检查confidence value:
置信度值是介于0到0之间的可选浮点值 1.该值越接近1,语言检测的置信度越高。该成员并非总是有空
如果置信度值足以满足您的需要,它将尝试检测适当的源语言进行翻译。
另一种解决方法是在文本中添加更多单词,以便该算法可以处理更多数据。 I have tested the API,输入内容与您描述的相同,但增加了一些单词。结果输出是预期的。