使用Delphi 7将中文单词转换为英语

时间:2017-06-06 01:22:09

标签: delphi-7

我很难自动将中文单词转换成英文。我哪里出错了?

如果我将菲律宾语单词转换为英语,一切都可以,但不是中文单词。它仍会产生一个字符串但不可读的中文字。

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;

0 个答案:

没有答案