Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bahasa Go melaksanakan API terjemahan Baidu untuk merealisasikan terjemahan Cina-Croasia

Bahasa Go melaksanakan API terjemahan Baidu untuk merealisasikan terjemahan Cina-Croasia

王林
王林asal
2023-08-05 20:45:051097semak imbas

bahasa go melaksanakan API Terjemahan Baidu untuk mencapai terjemahan Cina-Croasia

Dengan perkembangan globalisasi, komunikasi bahasa menjadi semakin penting. Untuk memenuhi permintaan untuk terjemahan segera antara bahasa yang berbeza, perkhidmatan terjemahan mesin seperti Baidu Translation API muncul mengikut keperluan masa. Dalam artikel ini, kami akan menggunakan bahasa Go untuk melaksanakan API Terjemahan Baidu bagi merealisasikan fungsi terjemahan daripada bahasa Cina ke bahasa Croatia.

Pertama, kita perlu mendaftar akaun pembangun Baidu dan membuat aplikasi untuk mendapatkan Kunci API dan Kunci Rahsia. Log masuk ke Platform Terbuka Terjemahan Baidu (http://api.fanyi.baidu.com/) dan ikut arahan untuk melengkapkan pendaftaran akaun dan penciptaan aplikasi. Selepas mendapatkan Kunci API dan Kunci Rahsia, kita boleh mula menulis kod.

Berikut ialah contoh kod bahasa Go yang melaksanakan API Terjemahan Baidu:

package main

import (
    "crypto/md5"
    "encoding/hex"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
    "strconv"
    "strings"
    "time"
)

const (
    translateURL = "http://api.fanyi.baidu.com/api/trans/vip/translate"
    appID        = "your_app_id"
    appKey       = "your_app_key"
    secretKey    = "your_secret_key"
)

func translate(text string) (string, error) {
    salt := strconv.FormatInt(time.Now().Unix(), 10)
    sign := fmt.Sprintf("%s%s%s%s", appID, text, salt, secretKey)
    sign = fmt.Sprintf("%x", md5.Sum([]byte(sign)))
    params := url.Values{}
    params.Set("q", text)
    params.Set("from", "zh")
    params.Set("to", "hr")
    params.Set("appid", appID)
    params.Set("salt", salt)
    params.Set("sign", sign)
    url := fmt.Sprintf("%s?%s", translateURL, params.Encode())

    resp, err := http.Get(url)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }

    return parseResponse(body)
}

func parseResponse(body []byte) (string, error) {
    // 解析百度翻译API的响应结果
    // 这里根据实际情况进行解析,返回翻译后的文本
}

func main() {
    text := "你好,世界!"
    result, err := translate(text)
    if err != nil {
        fmt.Println("翻译失败:", err)
    } else {
        fmt.Println("翻译结果:", result)
    }
}

Fungsi terjemah dalam kod bertanggungjawab untuk menghantar teks untuk diterjemahkan ke Baidu Translation API dan menghuraikan yang dikembalikan keputusan. Fungsi parseResponse digunakan untuk menghuraikan data JSON yang dikembalikan oleh API dan mengekstrak hasil terjemahan. Dalam fungsi utama, kami menghantar teks Cina untuk diterjemahkan ke dalam fungsi terjemah dan mencetak hasil terjemahan. translate函数负责将待翻译的文本发送给百度翻译API,并解析返回的结果。parseResponse函数用于解析API返回的JSON数据,并提取出翻译结果。在main函数中,我们将待翻译的中文文本传入translate函数,并打印翻译结果。

在运行代码之前,你需要将appIDappKeysecretKey替换成你在百度翻译开放平台上获得的真实值。

通过这段简单的Go代码,我们实现了从中文到克罗地亚文的翻译功能。你可以根据需要修改translate函数和parseResponse

Sebelum menjalankan kod, anda perlu menggantikan appID, appKey dan secretKey dengan nilai sebenar yang anda peroleh pada Baidu Translation Open Platform.

Dengan kod Go yang ringkas ini, kami melaksanakan fungsi terjemahan daripada bahasa Cina ke bahasa Croatia. Anda boleh mengubah suai fungsi terjemah dan fungsi parseResponse mengikut keperluan untuk menyesuaikan diri dengan keperluan terjemahan pasangan bahasa lain. 🎜🎜Nota: Artikel ini hanya melaksanakan fungsi terjemahan yang paling asas Untuk senario kompleks dan keperluan khas, anda mungkin memerlukan penyesuaian dan pelarasan lanjut. Saya harap artikel ini dapat membantu anda bermula dengan Baidu Translation API dan pembangunan bahasa Go. 🎜

Atas ialah kandungan terperinci Bahasa Go melaksanakan API terjemahan Baidu untuk merealisasikan terjemahan Cina-Croasia. 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