Go Language implementiert die Baidu-Übersetzungs-API, um chinesische und türkische Übersetzungen zu realisieren

WBOY
Freigeben: 2023-08-04 14:13:48
Original
887 Leute haben es durchsucht

Go Language implementiert die Baidu-Übersetzungs-API, um Chinesisch-Türkisch-Übersetzungen zu realisieren.

Die Baidu-Übersetzungs-API ist ein häufig verwendeter maschineller Übersetzungsdienst, der Übersetzungsfunktionen zwischen mehreren Sprachen bereitstellt. In diesem Artikel wird die Go-Sprache verwendet, um die Funktion zum Übersetzen von Chinesisch ins Türkische über die Baidu-Übersetzungs-API zu implementieren. Zuerst müssen wir ein Baidu Translation API-Konto beantragen und die entsprechende Anwendungs-ID und den entsprechenden Schlüssel erhalten. Dann können wir die Go-Sprache verwenden, um den entsprechenden Code zur Implementierung der Übersetzungsfunktion zu schreiben.

Zuerst müssen wir das entsprechende Paket einführen und einige Variablen definieren:

package main

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

const (
    appID  = "your_app_id"     // 替换为自己的应用ID
    appKey = "your_app_key"    // 替换为自己的密钥
    apiUrl = "http://api.fanyi.baidu.com/api/trans/vip/translate" // 翻译API的URL
)
Nach dem Login kopieren

Als nächstes definieren wir eine Funktion zum Generieren der Signaturinformationen, die für den Zugriff auf die Baidu-Übersetzungs-API erforderlich sind :

func generateSign(query, salt string) string {
    str := appID + query + salt + appKey
    hash := md5.Sum([]byte(str))
    sign := hex.EncodeToString(hash[:])
    return sign
}
Nach dem Login kopieren

Dann definieren wir eine Funktion zum Senden von HTTP-Anfragen und zum Erhalten von Übersetzungsergebnissen:

func getTranslation(query, from, to string) (string, error) {
    salt := fmt.Sprintf("%d", time.Now().UnixNano())
    sign := generateSign(query, salt)

    values := url.Values{}
    values.Set("q", query)
    values.Set("from", from)
    values.Set("to", to)
    values.Set("appid", appID)
    values.Set("salt", salt)
    values.Set("sign", sign)

    url := apiUrl + "?" + values.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 string(body), nil
}
Nach dem Login kopieren

Schließlich können wir die Funktion getTranslation in der Hauptfunktion aufrufen, um die Übersetzung durchzuführen folgt:

func main() {
    query := "你好世界" // 需要翻译的文本
    from := "zh"     // 源语言为中文
    to := "tr"       // 目标语言为土耳其文

    result, err := getTranslation(query, from, to)
    if err != nil {
        fmt.Println("翻译出错:", err)
        return
    }

    fmt.Println("翻译结果:", result)
}
Nach dem Login kopieren

Führen Sie den obigen Code aus, um „Hello World“ ins Türkische zu übersetzen und die Übersetzungsergebnisse auszugeben.

Anhand des obigen Beispielcodes können wir sehen, wie die Go-Sprache verwendet wird, um die Übersetzung über die Baidu-Übersetzungs-API zu implementieren. Sie müssen lediglich die Anwendungs-ID ersetzen und den Code durch Ihre eigenen Informationen eingeben sowie die Quell- und Zielsprache angeben, die übersetzt werden müssen, um die Übersetzungsfunktion zwischen anderen Sprachen zu realisieren. Gleichzeitig können Sie den Code entsprechend Ihren tatsächlichen Bedürfnissen erweitern und optimieren. Ich hoffe, dieser Artikel hilft Ihnen bei der Implementierung der Funktionen der Baidu-Übersetzungs-API!

Das obige ist der detaillierte Inhalt vonGo Language implementiert die Baidu-Übersetzungs-API, um chinesische und türkische Übersetzungen zu realisieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage