【发布时间】:2021-12-12 12:07:53
【问题描述】:
我们尝试在 Flash Professional CS6 的操作脚本中编写 Google 翻译,但它不起作用。
谁能帮忙?
代码不返回翻译结果。
代码:
private function translate(e)
{
var result_lv:LoadVars = new LoadVars();
result_lv.onLoad = function () {
var str:String = unescape(this);
var txtContent;
var translatedText:String = str.split('":"')[1].split('"}, ')[0];
if(translatedText != undefined)
txtContent.text = translatedText.split('r').join('n').split('"').join("'");
return txtContent.text;
}
var lorem_lv:LoadVars = new LoadVars();
var from:String = "fa";
var to:String = "en"
lorem_lv.v = "1.0";
lorem_lv.format = "text";
lorem_lv.q = e;
lorem_lv.langpair = from + "|" + to;
lorem_lv.sendAndLoad(" http://ajax.googleapis.com/ajax/services/language/translate ", result_lv, "GET");
}
代码解释:
样本
LoadVars.sendAndLoad( )
方法代码解释:
https://flylib.com/books/en/4.13.1.377/1/
================================================ =
编辑 1:
我编辑了我的代码:
我在主函数中添加了返回码,所以主函数有输出。
但该函数仍然没有返回任何翻译后的内容。
改进后的代码:
private function translate(e)
{
var result_lv:LoadVars = new LoadVars();
var txtContent;
result_lv.onLoad = function () {
var str:String = unescape(this);
var translatedText:String = str.split('":"')[1].split('"}, ')[0];
if(translatedText != undefined)
txtContent.text = translatedText.split('r').join('n').split('"').join("'");
return txtContent.text;
}
var lorem_lv:LoadVars = new LoadVars();
var from:String = "fa";
var to:String = "en"
lorem_lv.v = "1.0";
lorem_lv.format = "text";
lorem_lv.q = e;
lorem_lv.langpair = from + "|" + to;
lorem_lv.sendAndLoad(" http://ajax.googleapis.com/ajax/services/language/translate ", result_lv, "GET");
return txtContent.text;
}
================================================ =
编辑 2:
我们找到了一个可以正常返回翻译结果的有效 PHP 函数:
https://github.com/statickidz/php-google-translate-free/blob/1.1.1/src/GoogleTranslate.php
现在我们正在尝试在 Adobe Flash Professional CS6 的 Action Script 2 中加载 PHP 函数结果。
这里有一些关于如何做到这一点的解释:
================================================ =
编辑 3:
一本关于 PHP for Flash 的好书:
基础 PHP for Flash 第 1 版:
https://www.amazon.com/Foundation-PHP-Flash-Steve-Webster/dp/1903450160
================================================ =
编辑 4:
其他一些关于 PHP for Flash 的优秀且完整的书籍:
基础 PHP 5 for Flash 第 1 版:
https://www.amazon.com/Foundation-PHP-Flash-David-Powers/dp/B0096EPX7Q
用于 Flash 的高级 PHP 第 1 版。版本:
https://www.amazon.com/Advanced-PHP-Flash-Steve-Webster/dp/1590591879
================================================ =
编辑 5:
我们重写了现在使用 PHP GoogleTranslate 函数的动作脚本函数。
请看下面的答案。
但它不返回翻译结果。
有人可以帮忙吗?
谢谢
【问题讨论】:
-
您尝试在浏览器或 Postman 中执行此 GET 请求吗?也许此 API 不再可用,或者您需要 Google 的令牌才能使用它?
-
我尝试在浏览器中加载的 SWF 对象中使用此 GET 请求。该 API 是 Google Translate 的 v1,不需要来自 google 的密钥。但版本 2 需要来自 google 的密钥。
-
例如这个谷歌翻译 PHP 类在网络浏览器中工作:github.com/statickidz/php-google-translate-free/blob/1.1.1/src/… 我正在使用 Waterfox G3 和 Xampp 1.7.1 和 PHP 5.2.9 来测试这个脚本,它工作正常。但是在这里我们需要动作脚本才能工作。谢谢
-
也许我们可以使用下页提到的这个工具来加载 php 函数结果在动作脚本中:stackoverflow.com/questions/3133266/…
-
我们正在尝试在动作脚本中调用有效的 php 和 curl 函数。
标签: actionscript