如何在使用适用于Android的Google Translate API时返回撇号?

时间:2016-11-14 04:50:01

标签: android google-api google-translate

我有一个使用Google Translate API的Android应用程序。 一切都很好,包括当我试图翻译包含撇号的短语时#34;我们已经吃过"西班牙语

然而,当我应该返回的翻译结果包含撇号时会出现问题。例如,当我将西班牙语短语" A ver"翻译成英语时,它返回"让&#39s看到"用";"在" 9"之后。似乎每当我有一个应该返回撇号的短语时,它就会返回"&#39"用";"在" 9"之后。 (不放置";"" 9"因为它被stackoverflow转换为撇号)。

我可以想办法解决它。获得翻译结果后,我可以匹配""&#39" +";"并用撇号替换它。

然而,我不觉得这是我接近它的方式。用户实际输入"&#39"作为翻译的输入,但硬编码这样的手动转换似乎可能会导致问题。我很想听听你对此的看法。

请让我知道我应该如何解决/解决这个问题。

谢谢!

3 个答案:

答案 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']);