Gunakan bahasa go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Indonesia

WBOY
Lepaskan: 2023-08-26 09:31:45
asal
1432 orang telah melayarinya

Gunakan bahasa go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Indonesia

Menggunakan bahasa Go untuk membangunkan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Indonesia

Dalam konteks globalisasi, pertukaran antara negara telah menjadi semakin kerap. Terjemahan telah menjadi alat yang sangat diperlukan dan memainkan peranan penting dalam komunikasi silang budaya. Baidu Translation API ialah alat terjemahan yang berkuasa dan mudah digunakan yang boleh memenuhi keperluan terjemahan antara bahasa yang berbeza. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangunkan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Indonesia, dan melampirkan contoh kod yang sepadan.

Pertama, kami perlu mendaftar dan membuat aplikasi pada Platform Terjemahan Baidu, dan mendapatkan ID Apl dan Kunci Apl permohonan itu. Alamat pendaftaran ialah: https://fanyi-api.baidu.com/product/11

Seterusnya, kami boleh menggunakan bahasa Go untuk menulis kod dan menghantar permintaan terjemahan ke Baidu Translation API melalui permintaan HTTP. Kami boleh menggunakan pakej net/http Go untuk menghantar permintaan HTTP dan pakej github.com/tidwall/gjson untuk menghuraikan data JSON yang dikembalikan.

package main

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

    "github.com/tidwall/gjson"
)

const (
    appID  = "your_app_id"
    appKey = "your_app_key"
    apiURL = "https://fanyi-api.baidu.com/api/trans/vip/translate"
)

type TranslationResult struct {
    From        string `json:"from"`
    To          string `json:"to"`
    TransResult []struct {
        Src string `json:"src"`
        Dst string `json:"dst"`
    } `json:"trans_result"`
}

func main() {
    // 定义要翻译的文本和目标语言
    text := "Hello world!"
    targetLanguage := "id" // id表示印尼文

    // 构建请求参数
    values := url.Values{}
    values.Add("q", text)
    values.Add("from", "auto")
    values.Add("to", targetLanguage)
    values.Add("appid", appID)
    values.Add("salt", "1")
    values.Add("sign", generateSign(text))

    // 发送请求
    resp, err := http.PostForm(apiURL, values)
    if err != nil {
        fmt.Println("翻译请求发送失败:", err)
        return
    }
    defer resp.Body.Close()

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

    // 解析JSON数据
    translationResult := TranslationResult{}
    err = json.Unmarshal(body, &translationResult)
    if err != nil {
        fmt.Println("JSON数据解析失败:", err)
        return
    }

    // 获取翻译结果
    if len(translationResult.TransResult) > 0 {
        fmt.Println("原文:", translationResult.TransResult[0].Src)
        fmt.Println("翻译结果:", translationResult.TransResult[0].Dst)
    } else {
        fmt.Println("翻译结果为空")
    }
}

// 生成签名
func generateSign(text string) string {
    return fmt.Sprintf("%x", md5.Sum([]byte(appID+text+"1"+appKey)))
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrifkan struktur TranslationResult untuk menyimpan hasil terjemahan yang dikembalikan. Kemudian, kami mentakrifkan fungsi utama di mana kami melengkapkan langkah berikut:

  1. Tentukan teks yang hendak diterjemahkan dan bahasa sasaran.
  2. Bina parameter permintaan, termasuk teks untuk diterjemahkan, bahasa sumber, bahasa sasaran, ID aplikasi, nombor rawak dan tandatangan.
  3. Hantar permintaan HTTP untuk mendapatkan hasil terjemahan.
  4. Menghuraikan data JSON yang dikembalikan dan dapatkan hasil terjemahan.
  5. Cetak hasil terjemahan.

Perlu diingatkan bahawa dalam fungsi generateSign dalam kod, kami menggunakan algoritma md5 untuk menyulitkan rentetan yang akan ditandatangani. Ini adalah untuk memastikan keselamatan permintaan. Dalam pembangunan sebenar, kami juga boleh menggunakan algoritma penyulitan lain untuk menjana tandatangan.

Akhir sekali, kami boleh menjalankan kod dan melihat hasil terjemahan pada konsol. Sebagai contoh, jika kita menterjemah "Hello world!" daripada bahasa Inggeris ke bahasa Indonesia, kita akan mendapat hasil terjemahan "Halo dunia!".

Melalui contoh kod di atas, kami berjaya membangunkan aplikasi mudah menggunakan bahasa Go untuk merealisasikan fungsi terjemahan bersama antara bahasa Cina dan Indonesia. Dengan fungsi hebat Baidu Translation API, kami boleh menterjemah antara bahasa yang berbeza dan menggalakkan komunikasi dan kerjasama antara negara dan wilayah yang berbeza. Saya harap artikel ini dapat membantu pembangun yang sedang membangunkan aplikasi berkaitan.

Atas ialah kandungan terperinci Gunakan bahasa go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Indonesia. 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