Rumah >pembangunan bahagian belakang >Golang >Menggunakan bahasa go dan API terjemahan Baidu untuk menterjemahkan bahasa Cina dan Romania kepada satu sama lain

Menggunakan bahasa go dan API terjemahan Baidu untuk menterjemahkan bahasa Cina dan Romania kepada satu sama lain

王林
王林asal
2023-08-05 23:29:21636semak imbas

Gunakan API Terjemahan Golang dan Baidu untuk menterjemah bahasa Cina ke bahasa Romania

Pengenalan

Artikel ini akan memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk menterjemah bahasa Cina ke bahasa Romania. Kami akan menggunakan API Terjemahan Baidu untuk terjemahan teks dan menulis program mudah menggunakan bahasa Go untuk melaksanakan fungsi terjemahan.

API Terjemahan Baidu

API Terjemahan Baidu ialah antara muka terbuka yang menyediakan terjemahan bersama antara berbilang bahasa. Dengan menghantar permintaan HTTP ke API, anda boleh mendapatkan hasil terjemahan teks. Sebelum kita mula, kita perlu memohon akaun pembangun untuk Baidu Translation API dan mendapatkan ID dan kunci aplikasi API. Untuk proses permohonan khusus, sila rujuk dokumentasi rasmi Baidu Translation API.

Pelaksanaan program

Pertama, kita perlu mengimport pakej HTTP dan pakej JSON yang perlu kita gunakan.

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)

Kemudian, kami mentakrifkan fungsi untuk melaksanakan fungsi terjemahan teks.

func translate(text, from, to string) (string, error) {
    appID := "your_app_id"     // 替换为你的应用ID
    appKey := "your_app_key"   // 替换为你的应用密钥
    apiURL := "http://api.fanyi.baidu.com/api/trans/vip/translate"

    // 构造请求URL
    params := url.Values{}
    params.Add("q", text)
    params.Add("from", from)
    params.Add("to", to)
    params.Add("appid", appID)
    params.Add("salt", "123456")  // 为了简化,我们直接指定salt
    sign := appID + text + "123456" + appKey
    sign = md5.Sum([]byte(sign))
    params.Add("sign", sign)

    // 发送HTTP请求
    resp, err := http.Get(apiURL + "?" + params.Encode())
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()

    // 读取响应内容
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }

    // 解析JSON响应
    var result struct {
        TransResult []struct {
            Src string `json:"src"`
            Dst string `json:"dst"`
        } `json:"trans_result"`
    }
    err = json.Unmarshal(body, &result)
    if err != nil {
        return "", err
    }

    // 返回翻译结果
    return result.TransResult[0].Dst, nil
}

Akhir sekali, kami menulis fungsi utama untuk menguji fungsi terjemahan.

func main() {
    // 测试文本
    text := "你好,世界!"

    // 翻译
    translated, err := translate(text, "zh", "ro")
    if err != nil {
        fmt.Println("翻译失败:", err)
        return
    }

    // 打印翻译结果
    fmt.Println(translated)
}

Jalankan program

Simpan kod di atas sebagai fail go, kemudian susun dan jalankan program melalui baris arahan. Anda akan melihat program mengeluarkan hasil terjemahan Bahasa Romania Cina.

$ go run main.go
Salut, lume!

Kesimpulan

Dengan menggunakan API Terjemahan Golang dan Baidu, kami berjaya melaksanakan fungsi terjemahan bersama antara bahasa Cina dan Romania. Kod sampel ini boleh berfungsi sebagai titik permulaan yang anda boleh lanjutkan dan sesuaikan dengan keperluan anda. Saya harap artikel ini akan membantu anda mempelajari bahasa Go dan API Terjemahan Baidu!

Atas ialah kandungan terperinci Menggunakan bahasa go dan API terjemahan Baidu untuk menterjemahkan bahasa Cina dan Romania kepada satu sama lain. 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