Rumah > pembangunan bahagian belakang > Golang > Bahasa Go melaksanakan API terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Jerman

Bahasa Go melaksanakan API terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Jerman

WBOY
Lepaskan: 2023-08-06 14:15:21
asal
1433 orang telah melayarinya

bahasa go melaksanakan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Jerman

Ikhtisar:
Dalam era globalisasi hari ini, keperluan untuk komunikasi bahasa semakin ketara. API Terjemahan Baidu menyediakan perkhidmatan terjemahan dalam talian yang mudah, dan bahasa Go, sebagai bahasa pengaturcaraan yang pantas dan cekap, boleh memanggil API Terjemahan Baidu dengan mudah. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk menulis program mudah bagi merealisasikan fungsi terjemahan bersama antara bahasa Cina dan Jerman.

Kerja penyediaan:
Sebelum anda mula menulis kod, anda perlu memohon akaun pembangun untuk Baidu Translation API dan mendapatkan ID dan kunci aplikasi yang sepadan. Untuk langkah permohonan khusus, sila rujuk dokumentasi rasmi API Terjemahan Baidu. Selepas mendapatkan ID aplikasi dan kunci, kita boleh mula menulis kod.

Contoh kod:

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
    "strings"
)

func main() {
    fromLang := "zh" // 源语言,中文
    toLang := "de"   // 目标语言,德文
    query := "你好"   // 要翻译的文本

    appID := "your_app_id"       // 替换为自己的应用ID
    appSecret := "your_app_key"  // 替换为自己的应用密钥

    apiURL := "https://fanyi-api.baidu.com/api/trans/vip/translate"

    data := url.Values{}
    data.Set("q", query)
    data.Set("from", fromLang)
    data.Set("to", toLang)
    data.Set("appid", appID)

    salt := "1435660288"
    data.Set("salt", salt)

    sign := appID + query + salt + appSecret

    // 计算签名
    sign = strings.ToLower(sign)
    sign = fmt.Sprintf("%x", sha256.Sum256([]byte(sign)))

    data.Set("sign", sign)

    req, err := http.NewRequest("POST", apiURL, strings.NewReader(data.Encode()))
    if err != nil {
        fmt.Println("Error occurred while creating request:", err)
        return
    }

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        fmt.Println("Error occurred while sending request:", err)
        return
    }

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("Error occurred while reading response:", err)
        return
    }

    fmt.Println(string(body))
}
Salin selepas log masuk

Contoh hasil yang sedang dijalankan:

{
    "from": "zh",
    "to": "de",
    "trans_result": [{
        "src": "你好",
        "dst": "Hallo"
    }]
}
Salin selepas log masuk

Analisis kod:
Kod di atas menghantar permintaan kepada API Terjemahan Baidu melalui permintaan HTTP POST dan memperoleh hasil terjemahan. Antaranya, kami mula-mula menetapkan bahasa sumber, bahasa sasaran dan teks untuk diterjemahkan. Kemudian, mengikut keperluan dokumentasi rasmi, kami menyambung URL permintaan dan mengira nilai tanda. Seterusnya, kami membuat permintaan HTTP dan menetapkan Jenis Kandungan pengepala permintaan. Kemudian, hantar permintaan dan baca hasil jawapan. Akhir sekali, cetak hasil terjemahan.

Ringkasan:
Dengan menggunakan bahasa Go, kami boleh memanggil API Terjemahan Baidu dengan mudah untuk mencapai terjemahan bersama antara bahasa Cina dan Jerman. Dalam projek sebenar, kami boleh membuat lebih banyak pengembangan dan pengoptimuman mengikut keperluan. Saya harap kod contoh dalam artikel ini boleh membantu pembaca dan menggalakkan perkembangan selanjutnya dalam komunikasi bahasa.

Atas ialah kandungan terperinci Bahasa Go melaksanakan API terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Jerman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan