Setelah menulis artikel sebelumnya di PHP menggunakan Google Translate API, tiba-tiba saya ingin membuat kelas ASP agar pengguna asp bisa menggunakannya. Kemudian saya mulai menulis dan menemukan bahwa saya telah banyak melupakan asp. Misalnya tema, idenya sama persis dengan artikel C#, saya hanya mengubahnya menjadi metode implementasi ASP. Lihat langsung kodenya:
Copy kode kodenya sebagai berikut:
Penerjemah Google Kelas
subKelas_Inisialisasi()
RURI=http://translate.google.com/translate_t?langpair={0}&text={1}
Akhiri Sub
Pilihan Pribadi_ '
Properti Dapatkan Keikutsertaan
Keikutsertaan=Pilihan_
Properti Akhir
Properti Izinkan Memilih (Opt_s)
Keikutsertaan_=Keikutsertaan_s
Properti Akhir
RURI Swasta
Fungsi AnalyzeChild (pola, teks, IPos)
Redupkan regEx, Cocokkan, Cocok
Setel regEx = RegExp Baru
regEx.IgnoreCase = benar
regEx.Global = Benar
regEx.Pattern = pola
regEx.Multiline = Benar
RedupRetStr
Setel Kecocokan = regEx.Execute(teks)
If(Matches.Count > 0)Then RetStr= Matches(0).SubMatches(IPos)
AnalisisAnak=RetStr
Setel regEx =Tidak Ada
Fungsi Akhir
Fungsi getHTTPHalaman(url)
redupkan objekXML
atur definisi objXML=server.createobject(MSXML2.XMLHTTP)'
objXML.open GET,url,false'open
objXML.kirim()'kirim
Jika objXML.readystate<>4 maka
fungsi keluar
Akhiri Jika
getHTTPage=BytesToBstr(objXML.responseBody)
setel objXML=tidak ada yang tutup
jika err.number<>0 maka err.Clear
Fungsi Akhir
Fungsi BytesToBstr(tubuh)
objekstream redup
setel objstream = Server.CreateObject(adodb.stream)
objstream.Jenis = 1
objstream.Mode =3
objstream.Buka
objstream.Tulis isi
objstream.Posisi = 0
objstream.Jenis = 2
objstream.Charset = utf-8
'Konversi pengkodean UTF-8 default asli ke pengkodean GB2312, jika tidak, langsung menggunakan XMLHTTP untuk memanggil halaman web dengan karakter Cina akan menghasilkan kode yang kacau
BytesToBstr = objstream.ReadText
objstream.Tutup
setel objstream = tidak ada
Fungsi Akhir
Fungsi Publik GetText(str)
If(isempty(str)) Kemudian Keluar dari Fungsi
Redupkan Url baru, Rs
newUrl=Ganti(Ganti(RURI,{0},Server.URLEncode(Opt)),{1},Server.URLEncode(str))
Rs=getHTTPHalaman(Url baru)
GetText = AnalyzeChild((<div id=result_box dir=ltr>)([?:/s/S]*?)(</div>),Rs,1)
Fungsi Akhir
Sub kelas_Terminate
Akhiri Sub
Kelas Akhir
Kemudian saat menggunakan:
Copy kode kodenya sebagai berikut:
DimObj
Setel Obj = GoogleTranslator baru
Obj.Opt=zh-CN|en
respon.tulis(Obj.GetText(kita))
Selesai. Perlu dicatat bahwa karena produk Google mana pun dalam format UTF-8, file asp ini disimpan dalam format UTF-8 dan ditambahkan di awal:
<%@ LANGUAGE=Halaman Kode VBScript=65001%>
<%Opsi Eksplisit
'... Salin kode saya di atas
Itu saja.