我很难自动将中文单词转换成英文。我哪里出错了?
如果我将菲律宾语单词转换为英语,一切都可以,但不是中文单词。它仍会产生一个字符串但不可读的中文字。
procedure TForm1.btn2Click(Sender: TObject);
var
sTemp : AnsiString;
begin
try
// filipino to english SUCCESS
sTemp := TranslateText('maganda', 'fil', ' en');
memo2.Lines.Add(sTemp);
// chinese to english FAILED
sTemp := TranslateText('美丽', 'zh', ' en');
memo2.Lines.Add(sTemp);
except
on E:Exception do
begin
ShowMessage(E.Message);
end;
end;
end;
function TranslateText(const AText, SourceLng, DestLng : AnsiString) : AnsiString;
var
XmlDoc : OleVariant;
Node : OleVariant;
begin
Result:=WinInet_HttpGet(Format('http://api.microsofttranslator.com/v2/Http.svc/Translate?appId=%s&text=%s&from=%s&to=%s',['73C8F474CA4D1202AD60747126813B731199ECEA',AText,SourceLng,DestLng]));
XmlDoc:= CreateOleObject('Msxml2.DOMDocument.6.0');
try
XmlDoc.Async := False;
XmlDoc.LoadXML(Result);
if (XmlDoc.parseError.errorCode <> 0) then
raise Exception.CreateFmt('Error in Xml Data %s',[XmlDoc.parseError]);
Node:= XmlDoc.documentElement;
if not VarIsClear(Node) then
Result:=XmlDoc.Text;
finally
XmlDoc:=Unassigned;
end;
end;