是否可以在我的应用程序的LiveCode中创建一个翻译器来翻译应用程序中的任何文本? 我试过嵌入谷歌翻译,但它没有成功
三江源
答案 0 :(得分:0)
要将Google翻译合并到您的LiveCode应用中,您必须使用Google翻译API。它记录在https://cloud.google.com/translate/v2/using_rest。请注意,与其他Google网络服务不同,Translate是一种付费服务,因此您必须订阅才能长期使用它。但是,似乎有一个免费试用版,所以你可以在决定之前尝试一下。请参阅文档页面上的“免费试用版”链接。
使用像这样的RESTful API在LiveCode中很简单。尝试它的最简单方法是找到服务的示例URL查询。一个包含在链接到上面的文档页面中: https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&q=hello+world&source=en&target=de
URL查询字符串由基本URL和一系列名称=值对组成。在此示例中,请注意第一个名称=值对是API密钥。您必须通过注册该服务来获取此密钥。下一个名称=值对是要翻译的文本,“hello world”,编码用于通过互联网传输。接下来是源语言,英语和目标语言德语。 在LiveCode中,您将在脚本中使用以下内容:
put "en" into tSourceLangCode
put "de" into tTargetLangCode
put "?key=YOUR-API-KEY-HERE" into tArgList
put "&q=" & urlEncode("hello world") after tArgList
put "&source=" & tSourceLangCode & "&target=" & tTargetLangCode after tArgList
put "https://www.googleapis.com/language/translate/v2" & tArgList into tURLstr
put URL URLstr into tResult
此服务似乎将其结果作为JSON编码文本返回,因此您必须将JSON转换为LiveCode数组,或者自己解析翻译。在LiveCode 8及更高版本中,有一个内置的JSON库,它可以通过简单的函数调用将JSON转换为数组。
put jsonImport(tResult) into tResArray
put tResArray["data"]["translations"][1]["translatedText"] into fld "myField"
此API有很多内容,在上面的第一个链接中有记录,但这是在LiveCode中使用Web服务API的基本过程。如果您想了解有关在LiveCode中使用Web服务的更多信息,请在此处撰写有关此主题的入门课程: