我最近一直给写了一块的FoxPro的任务与谷歌界面翻译,所以我们可以翻译我们的软件的文本到当前用户/机器语言。
该代码我发现/修改/写的作品完美的拉丁语字符集,但如果你尝试像中国它回来所有问号。
我已经尝试使用VFP功能STRCONV()与每一个选项的组合可能的,但没有成功。 我也尝试设置的LocaleID之前的文本以任何方式操纵 - 仍然没有运气。
在这一点上,我的想法。 作为一个老的DOS程序员,我没有什么可以在处理Unicode的没有经验。
我还没有包含在任何代码,因为正如我所说,该代码,除非你试图与中国(或日本)使用它工作正常。
请帮忙!
编辑:这是不与谷歌的通信功能。 还有其他功能的支持,但他们没有与编码做。
* MODIFIED BY: MICHAEL COOLEY - 11/19/2012
* PURPOSE: TRANSLATE TEXT FROM ONE LANGUAGE TO ANOTHER
* EXPECTS: STRING (SOURCE LANGUAGE CODE)
* STRING (DESTINATION LANGUAGE CODE)
* STRING (THE TEXT TO TRANSLATE)
* RETURNS:
FUNCTION Translate(lcFrom,lcTo,lcText)
LOCAL lcHttp AS MSXML2.XMLHTTP
LOCAL lcRequest AS String
lcRequest = "http://translate.google.com/translate_a/t?client=j" + ;
"&"+"text="+this.EncodeURL(lcText)+"&"+"hl="+lcTo+"&"+"sl="+lcFrom+"&"+"tl="+lcTo
lcHttp = CREATEOBJECT("MSXML2.XMLHTTP")
lcHttp.open("GET",lcRequest,.f.)
IF lcHttp.status == 200
lcText = this.GetTranslationString("trans", lcHttp.responseText) + CHR(10)
ELSE
lcText = ""
ENDIF
RETURN lcText
ENDFUNC