我有一个使用Google Translate API的Android应用程序。 一切都很好,包括当我试图翻译包含撇号的短语时#34;我们已经吃过"西班牙语
然而,当我应该返回的翻译结果包含撇号时会出现问题。例如,当我将西班牙语短语" A ver"翻译成英语时,它返回"让&#39s看到"用";"在" 9"之后。似乎每当我有一个应该返回撇号的短语时,它就会返回"&#39"用";"在" 9"之后。 (不放置";"" 9"因为它被stackoverflow转换为撇号)。
我可以想办法解决它。获得翻译结果后,我可以匹配""&#39" +";"并用撇号替换它。
然而,我不觉得这是我接近它的方式。用户实际输入"&#39"作为翻译的输入,但硬编码这样的手动转换似乎可能会导致问题。我很想听听你对此的看法。
请让我知道我应该如何解决/解决这个问题。
谢谢!
答案 0 :(得分:2)
你是正确的硬编码不是解决方案, 但是,您可以使用已提供的HTML类将此HTML实体转换回撇号。
Html.fromHtml((String) "Let's see").toString()
上面的代码将转换任何有效的HTML实体。 我希望这就是你要找的东西。
答案 1 :(得分:1)
最好的解决方案是将&format=text
添加到您的查询中。
答案 2 :(得分:0)
谢谢纪尧姆。对于使用 php 的人。
$translation = $translate->translate($stringToTranslate, ['target' => $target, 'format' => 'text']);