Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan bahasa go dan API terjemahan Baidu untuk merealisasikan terjemahan bahasa Cina dan Thai

Gunakan bahasa go dan API terjemahan Baidu untuk merealisasikan terjemahan bahasa Cina dan Thai

WBOY
WBOYasal
2023-08-06 17:13:421007semak imbas

Gunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan Cina-Thai

Pengenalan:
Dengan kemajuan globalisasi, pertukaran dan kerjasama rentas sempadan menjadi semakin kerap. Dengan latar belakang ini, permintaan untuk perkhidmatan terjemahan juga semakin meningkat. Dalam bidang pembangunan perisian, kadangkala anda perlu menterjemah teks dari satu bahasa ke bahasa lain, yang memerlukan penggunaan API terjemahan. Artikel ini akan memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan Cina-Thailand.

Langkah pelaksanaan:

  1. Pastikan anda telah memasang persekitaran pembangunan bahasa Go dan mengkonfigurasi GOPATH.
  2. Pertama, kami perlu mendaftar akaun di Baidu Cloud Platform dan membuat aplikasi untuk mendapatkan Kunci API dan Kunci Rahsia. Simpan kedua-dua kekunci ini untuk kegunaan kemudian.
  3. Perkenalkan perpustakaan yang berkaitan ke dalam projek bahasa Go untuk melaksanakan permintaan rangkaian dan penghuraian JSON. Jalankan arahan berikut dalam terminal untuk memasang perpustakaan ini:
go get -u github.com/levigross/grequests
go get -u github.com/bitly/go-simplejson
  1. Buat fail Go bernama translate.go dan import perpustakaan yang diperlukan:translate.go的Go文件,并导入必要的库:
package main

import (
    "fmt"
    "github.com/levigross/grequests"
    "github.com/bitly/go-simplejson"
)
  1. translate.go文件中编写翻译函数:
func translate(text, from, to, appId, appKey, salt string) (string, error) {
    url := fmt.Sprintf("http://api.fanyi.baidu.com/api/trans/vip/translate?q=%s&from=%s&to=%s&appid=%s&salt=%s&sign=%s",
        text, from, to, appId, salt, sign(text, appId, salt, appKey))

    resp, err := grequests.Get(url, nil)
    if err != nil {
        return "", err
    }

    defer resp.Close()

    json, err := simplejson.NewFromReader(resp)
    if err != nil {
        return "", err
    }

    translation := json.Get("trans_result").GetIndex(0).Get("dst").MustString()

    return translation, nil
}
  1. 编写签名函数,用于生成签名字符串:
func sign(text, appId, salt, appKey string) string {
    signStr := appId + text + salt + appKey

    md5hash := md5.Sum([]byte(signStr))

    return fmt.Sprintf("%x", md5hash)
}
  1. main函数中调用translate函数进行中泰文翻译:
func main() {
    appId := "your_appId"
    appKey := "your_appKey"
    from := "zh"
    to := "th"
    salt := strconv.Itoa(rand.Int())

    translation, err := translate("你好,世界!", from, to, appId, appKey, salt)
    if err != nil {
        fmt.Println("翻译失败:", err)
        return
    }

    fmt.Println("翻译结果:", translation)
}
  1. your_appIdyour_appKey
  2. go run translate.go
    1. Tulis fungsi terjemahan dalam fail translate.go:
    rrreee
        Tulis fungsi tandatangan untuk menjana rentetan tandatangan:
      1. rrreee
          Panggil fungsi terjemah dalam fungsi utama untuk melaksanakan terjemahan Cina-Thai:


          rrreee

            Tukar your_appId kod > dan <code>your_appKey digantikan dengan Kunci API dan Kunci Rahsia yang anda perolehi di Baidu Cloud Platform. 🎜🎜Masukkan direktori projek dalam terminal dan laksanakan arahan berikut untuk menjalankan program: 🎜🎜rrreee🎜🎜Anda akan melihat hasil terjemahan keluaran "สวัสดีค่ะ", yang merupakan terjemahan bahasa Cina "Hello,!" Thai . 🎜🎜🎜Kesimpulan: 🎜Artikel ini memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan Cina-Thai. Dengan menggunakan API Terjemahan Baidu, kami dapat melaksanakan terjemahan bahasa dengan cepat dan tepat untuk memenuhi keperluan komunikasi dan kerjasama rentas sempadan. Semoga artikel ini dapat membantu anda! 🎜

    Atas ialah kandungan terperinci Gunakan bahasa go dan API terjemahan Baidu untuk merealisasikan terjemahan bahasa Cina dan Thai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn