Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.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
使用Android的Google Translate API时如何返回撇号?_Android_Google Api_Google Translate - Fatal编程技术网

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

使用Android的Google Translate API时如何返回撇号?,android,google-api,google-translate,Android,Google Api,Google Translate,我有一个使用谷歌翻译API的Android应用程序。 一切都很好,包括当我试着将包含撇号的短语,如“我们吃过了”翻译成西班牙语时 然而,当我应该返回的翻译结果包含撇号时,就会出现问题。例如,当我将一个西班牙语短语“a ver”翻译成英语时,它会在“9”之后返回“Let's see”和“a”;”。似乎每当我有一个短语应该返回撇号时,它都会在“9”之后返回“'”和“;”。(不将“;”放在“9”之后,因为stackoverflow将其转换为撇号) 我能想出一个解决办法。得到翻译结果后,我可

我有一个使用谷歌翻译API的Android应用程序。 一切都很好,包括当我试着将包含撇号的短语,如“我们吃过了”翻译成西班牙语时

然而,当我应该返回的翻译结果包含撇号时,就会出现问题。例如,当我将一个西班牙语短语“a ver”翻译成英语时,它会在“9”之后返回“Let's see”和“a”;”。似乎每当我有一个短语应该返回撇号时,它都会在“9”之后返回“'”和“;”。(不将“;”放在“9”之后,因为stackoverflow将其转换为撇号)

我能想出一个解决办法。得到翻译结果后,我可以匹配“”和#39“+”的字符串;“并用撇号替换它

然而,我觉得这不是我应该采用的方法。用户不太可能真正输入“'”作为翻译输入,但像这样的手动转换硬编码似乎可能会导致问题。我很想听听你对此的想法

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


谢谢!

你说得对,硬编码不是解决办法, 但是您可以使用已经提供的HTML类将这个HTML实体转换回撇号

Html.fromHtml((String) "Let's see").toString()
以上代码将转换任何有效的HTML实体。
我希望这就是您想要的。

最好的解决方案是在查询中添加
&format=text

感谢Guillaume。感谢那些使用php的人

   $translation = $translate->translate($stringToTranslate, ['target' => $target, 'format' => 'text']);

非常感谢Nakul!一切似乎都很好。但是,我不明白为什么需要这样做。我正在解析一个JSON对象,这意味着它是一个HTML实体还是一个HTML实体,因为我从API获取JSON对象?如果是,如果我从任何API检索信息,我需要这样做吗?再次感谢!我想了解这完全是为了通过实现避免间接错误而进行的推理。@CharlesLi我认为,我取决于您使用的API,因为Google Translate API也可以被网站使用,这就是它对HTML友好的原因。这就是我的想法。