使用 Google 时如何 return 撇号 翻译 API 为 Android?
How to return apostrophe when using Google Translate API for Android?
我有一个 Android 应用程序使用 Google 翻译 API。
一切都很好,包括当我尝试将包含撇号(如 "We've eaten")的短语翻译成西班牙语时。
但是,当我应该返回的翻译结果包含撇号时,就会出现问题。例如,当我将西班牙语短语 "A ver" 翻译成英语时,它 returns "Let's see" 带有“;”在“9”之后。似乎每当我有一个应该 return 撇号的短语时,它 returns "'" with a ";"在“9”之后。 (不放置“;”在“9”之后,因为它被 Whosebug 转换为撇号)。
我想办法解决了。得到翻译结果后,我可以匹配“”'”+“;”的字符串,并将其替换为撇号。
但是,我不认为这是我应该处理它的方式。用户不太可能实际输入“'”作为翻译输入,但像这样硬编码手动转换似乎可能会导致问题。我很想听听您对此的看法。
请让我知道我应该如何 fix/approach 这个问题。
谢谢!
你是正确的硬编码不是解决方案,
但是您可以使用已经提供的 HTML 类 将此 HTML 实体转换回撇号。
Html.fromHtml((String) "Let's see").toString()
以上代码将转换任何有效的 HTML 实体。
希望这就是您要找的。
最佳解决方案是将 &format=text
添加到您的查询中。
谢谢纪尧姆。对于那些使用 php.
的人
$translation = $translate->translate($stringToTranslate, ['target' => $target, 'format' => 'text']);
谢谢。对于那些使用 go 的人。 (api v3)
req := &translatepb.TranslateTextRequest{
MimeType: "text/plain", // add this line to request
}
我有一个 Android 应用程序使用 Google 翻译 API。 一切都很好,包括当我尝试将包含撇号(如 "We've eaten")的短语翻译成西班牙语时。
但是,当我应该返回的翻译结果包含撇号时,就会出现问题。例如,当我将西班牙语短语 "A ver" 翻译成英语时,它 returns "Let's see" 带有“;”在“9”之后。似乎每当我有一个应该 return 撇号的短语时,它 returns "'" with a ";"在“9”之后。 (不放置“;”在“9”之后,因为它被 Whosebug 转换为撇号)。
我想办法解决了。得到翻译结果后,我可以匹配“”'”+“;”的字符串,并将其替换为撇号。
但是,我不认为这是我应该处理它的方式。用户不太可能实际输入“'”作为翻译输入,但像这样硬编码手动转换似乎可能会导致问题。我很想听听您对此的看法。
请让我知道我应该如何 fix/approach 这个问题。
谢谢!
你是正确的硬编码不是解决方案, 但是您可以使用已经提供的 HTML 类 将此 HTML 实体转换回撇号。
Html.fromHtml((String) "Let's see").toString()
以上代码将转换任何有效的 HTML 实体。 希望这就是您要找的。
最佳解决方案是将 &format=text
添加到您的查询中。
谢谢纪尧姆。对于那些使用 php.
的人 $translation = $translate->translate($stringToTranslate, ['target' => $target, 'format' => 'text']);
谢谢
req := &translatepb.TranslateTextRequest{
MimeType: "text/plain", // add this line to request
}