C\#바 이 두 번역 API 를 호출 하여 번역 기능 을 실현 합 니 다.
바 이 두 번역 은 구 글 번역 에 비해 정확성 을 향상 시 킬 수 있 는 공간 이 많 지만 인터넷 의 현실 상황 과 바 이 두 번역 인터페이스의 무료 용이 성 측면 에서 우 리 는 바 이 두 번역 인 터 페 이 스 를 선택 할 수 있다.자세 한 절 차 를 살 펴 보도 록 하 겠 습 니 다.
방법 은 아래 와 같다.
appid 와 passWord 는 바 이 두 번역 오픈 플랫폼 까지 신청 해 야 합 니 다.
using System;
using System.Net;
using System.Web.Security;
using System.Web.Script.Serialization;
namespace TranslatorOfWang
{
class TranslateFunction
{
public static string Translate(string content)
{
string languageFrom = "en", languageTo = "zh";
if (Translate(content, languageFrom, languageTo).Error_code == null)
{
return Translate(content, languageFrom, languageTo).Trans_result[0].Dst;
}
else
return Translate(content, languageFrom, languageTo).Error_msg;
}
public static PostResult Translate(string content, string languageFrom, string languageTo)
{
string appId = "2018111519456789", passWord = "gMk8wEKxENvbpUcvFxxx", randomNum = new Random().Next().ToString();
string md5Sign = FormsAuthentication.HashPasswordForStoringInConfigFile(appId + content + randomNum + passWord, "MD5").ToLower();
string FullRequest = "http://api.fanyi.baidu.com/api/trans/vip/translate?q=" + content + "&from=" + languageFrom + "&to=" + languageTo + "&appid=" + appId + "&salt=" + randomNum + "&sign=" + md5Sign;
string m_Content = new WebClient().DownloadString(FullRequest);
PostResult m_postResult = new JavaScriptSerializer().Deserialize<PostResult>(m_Content);
return m_postResult;
}
public class PostResult{
public string Error_code { set; get; }
public string Error_msg { set; get; }
public string From { set; get; }
public string To { set; get; }
public TranslateContent[] Trans_result { set; get; }
}
public class TranslateContent
{
public string Src { set; get; }
public string Dst { set; get; }
}
}
}
PostResult 는 바 이 두 API 가 반환 하 는 값 형식 으로 구 성 된 사용자 정의 클래스 입 니 다.클래스 의 모든 이름과 바 이 두 번역 API 반환 값 의 이름 이 일치 해 야 합 니 다.업그레이드 기능:
먼저 번역 할 텍스트 를 TXT 문서 에 기록 하고 홈 디 렉 터 리 에 있 는 File 디 렉 터 리 에 저장 하면 다음 코드 로 읽 고 번역 하여 매번 번역 할 때마다 바 이 두 번역 에 문장 길이 제한 이 있 는 문 제 를 해결 할 수 있 습 니 다.TBTxtName.txt 는 번역 할 파일 이름 으로 바 꿀 기호 와 언어 를 스스로 선택 할 수 있 습 니 다.
public void ReadAndTranslate()
{
string TextName = “TBTxtName.txt”;
string path = "File/";
StreamReader sr = new StreamReader(path + TextName + ".txt", Encoding.Default);
StreamWriter m_SW = new StreamWriter(path + DateTime.Now.ToString("yyyymmddhhmm") + "TransLated" + ".txt", true);
//
string xx = sr.ReadToEnd();
string[] split = xx.Split(new char[] { '.','!','?', ';', ',', ':' });
string content;
for (int i = 0; i < split.Length; i++)
{
content = split[i];
if (content != null & content != "" & content != " " & content != "
" & content != "\t" & content != "\r")
{
string line = TranslationFunction.Translate(content);
m_SW.WriteLine(line);
//m_SW.WriteLine(content);
}
}
m_SW.Dispose();
m_SW.Close();
}
총결산C\#바 이 두 번역 API 를 호출 하여 번역 기능 을 실현 하 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C\#바 이 두 번역 API 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 십시오.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.