Rumah >pembangunan bahagian belakang >Golang >Gunakan bahasa go dan API terjemahan Baidu untuk mencapai terjemahan Cina-Denmark

Gunakan bahasa go dan API terjemahan Baidu untuk mencapai terjemahan Cina-Denmark

WBOY
WBOYasal
2023-08-05 10:30:251277semak imbas

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

Dalam era globalisasi hari ini, komunikasi pelbagai bahasa telah menjadi keupayaan yang sangat diperlukan. Apabila pemahaman dan minat orang ramai terhadap budaya di seluruh dunia meningkat, begitu juga keperluan untuk terjemahan teks merentas bahasa. Artikel ini akan memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Denmark.

Pertama, kami perlu mendaftar akaun pembangun Baidu dan membuat aplikasi API terjemahan. Selepas mendapatkan AppID dan AppKey aplikasi, kita boleh mula menulis kod bahasa Go.

Pertama, kita perlu memperkenalkan pakej yang diperlukan ke dalam bahasa Go. Gunakan perintah go get untuk memasang pakej github.com/parnurzeal/gorequest, yang boleh memudahkan kami menghantar permintaan http. go get命令安装github.com/parnurzeal/gorequest包,该包可以方便我们发送http请求。

package main

import (
    "fmt"
    "github.com/parnurzeal/gorequest"
    "log"
    "net/url"
    "strings"
)

然后,我们定义了一个函数Translate来实现翻译功能。该函数接受源语言、目标语言和要翻译的文本作为参数,并返回翻译后的结果。

func Translate(from, to, text string) string {
    appID := "YOUR_APP_ID"
    appKey := "YOUR_APP_KEY"
    apiURL := "http://api.fanyi.baidu.com/api/trans/vip/translate"

    // 构造请求参数
    params := url.Values{}
    params.Set("q", text)
    params.Set("from", from)
    params.Set("to", to)
    params.Set("appid", appID)
    params.Set("salt", "123")

    // 计算sign
    sign := appID + text + "123" + appKey
    params.Set("sign", fmt.Sprintf("%x", md5.Sum([]byte(sign))))

    // 发送翻译请求
    request := gorequest.New()
    resp, body, errs := request.Get(apiURL).Query(params).End()

    if errs != nil {
        log.Fatal(errs)
    }

    if resp.StatusCode != http.StatusOK {
        log.Fatalf("Translation failed with status code: %d", resp.StatusCode)
    }

    // 解析返回结果
    type TranslationResult struct {
        TransResult []struct {
            Src  string `json:"src"`
            Dest string `json:"dst"`
        } `json:"trans_result"`
    }

    result := TranslationResult{}
    if err := json.Unmarshal([]byte(body), &result); err != nil {
        log.Fatal(err)
    }

    // 提取翻译结果
    var translation strings.Builder
    for _, trans := range result.TransResult {
        translation.WriteString(trans.Dest)
    }

    return translation.String()
}

接下来,我们可以在main函数中使用Translate函数进行测试。

func main() {
    from := "zh" // 中文
    to := "da" // 丹麦文
    text := "你好,世界!" // 待翻译文本

    translation := Translate(from, to, text)
    fmt.Printf("翻译结果:%s
", translation)
}

以上代码实现了一个简单的中文翻译成丹麦文的功能。你可以根据自己的需求更改fromtotextrrreee

Kemudian, kami menentukan fungsi Terjemah untuk melaksanakan fungsi terjemahan. Fungsi ini menerima bahasa sumber, bahasa sasaran dan teks untuk diterjemahkan sebagai parameter dan mengembalikan hasil terjemahan.

rrreee

Seterusnya, kita boleh menggunakan fungsi Terjemah dalam fungsi utama untuk ujian.

rrreee

Kod di atas melaksanakan fungsi terjemahan mudah daripada bahasa Cina ke bahasa Denmark. Anda boleh menukar nilai dari, ke dan text mengikut keperluan anda sendiri untuk mencapai terjemahan dalam bahasa lain. 🎜🎜Perlu diambil perhatian bahawa oleh kerana API Terjemahan Baidu mempunyai sekatan panggilan tertentu, adalah disyorkan untuk cache hasil terjemahan untuk mengelakkan panggilan kerap ke API. 🎜🎜Ringkasnya, artikel ini memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Denmark. Melalui contoh ini, anda juga boleh melaksanakan fungsi terjemahan dalam bahasa lain berdasarkan kaedah yang serupa. Saya harap artikel ini akan membantu anda mempelajari dan menggunakan bahasa Go dan API Terjemahan Baidu. 🎜

Atas ialah kandungan terperinci Gunakan bahasa go dan API terjemahan Baidu untuk mencapai terjemahan Cina-Denmark. 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