>  기사  >  백엔드 개발  >  중국어-힌디어 번역 기능 구현을 위해 Go 언어로 Baidu Translation API 작성

중국어-힌디어 번역 기능 구현을 위해 Go 언어로 Baidu Translation API 작성

PHPz
PHPz원래의
2023-08-06 22:24:241408검색

바이두 번역 API를 Go 언어로 작성하여 중국어-힌디어 번역 기능 구현

현재 세계화 시대에 언어 교환은 더욱 빈번해지고 중요해지고 있습니다. 중국어-힌디어의 인기가 점차 높아짐에 따라 중국어-힌디어 번역 기능 제공에 대한 필요성도 나날이 커지고 있습니다. Baidu 번역 API는 다양한 언어 간 번역을 수행할 수 있는 강력한 도구입니다. 이 기사에서는 Go 언어를 사용하여 코드를 작성하고 Baidu 번역 API를 호출하고 중국어-힌디어 번역 기능을 구현하는 방법을 소개합니다.

먼저 Baidu 개발자 플랫폼에서 번역 API 애플리케이션을 신청하고 해당 키를 받아야 합니다. 키를 얻은 후 Go 코드 작성을 시작할 수 있습니다.

먼저 몇 가지 필요한 패키지를 도입해야 합니다.

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "strings"
)

다음으로 HTTP POST 요청을 보내고 번역된 결과를 반환하는 함수를 정의합니다.

func translate(text string) (string, error) {
    url := "http://api.fanyi.baidu.com/api/trans/vip/translate"

    data := make(map[string]string)
    data["q"] = text
    data["from"] = "auto"
    data["to"] = "zh"

    params := []string{}
    for key, value := range data {
        params = append(params, key+"="+value)
    }

    appid := "your_appid"
    secretKey := "your_secretkey"
    salt := "1435660288"

    sign := appid + text + salt + secretKey
    signMd5 := md5.Sum([]byte(sign))
    signStr := fmt.Sprintf("%x", signMd5)

    params = append(params, "appid="+appid)
    params = append(params, "salt="+salt)
    params = append(params, "sign="+signStr)

    body := strings.NewReader(strings.Join(params, "&"))
    resp, err := http.Post(url, "application/x-www-form-urlencoded", body)
    if err != nil {
        return "", err
    }

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

    return string(bb), nil
}

위 코드에서 먼저 번역 API URL을 정의하고, 번역해야 하는 텍스트 및 관련 매개변수를 데이터 사전에 넣습니다. 그런 다음 매개변수를 연결하고 서명을 계산합니다. 마지막으로 http.Post 메서드를 사용하여 HTTP POST 요청을 보내고 반환된 결과를 구문 분석하여 반환합니다. data字典中。然后我们将参数进行拼接,并计算签名。最后我们使用http.Post方法发送HTTP POST请求,并将返回的结果解析并返回。

最后,我们可以在main函数中调用translate函数,并输出翻译的结果:

func main() {
    text := "Hello, world!"

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

    fmt.Println("翻译结果:", result)
}

将代码保存为main.go,然后使用go run main.go

마지막으로 main 함수에서 translate 함수를 호출하고 번역 결과를 출력할 수 있습니다.

rrreee

코드를 main.go로 저장하세요. >, go run main.go 명령을 사용하여 프로그램을 실행하면 출력 번역 결과를 볼 수 있습니다.

위의 코드 예시를 통해 중국어와 힌디어 간의 번역 기능을 구현할 수 있습니다. 물론 더 많은 번역 요구 사항을 충족하기 위해 필요에 따라 확장하고 수정할 수도 있습니다. 🎜🎜간단히 말하면, 바이두 번역 API를 Go 언어로 작성하여 중국어-힌디어 번역 기능을 구현하는 것이 편리하고 빠릅니다. 이 글이 여러분에게 도움이 되고, 행복한 글쓰기가 되기를 바랍니다! 🎜

위 내용은 중국어-힌디어 번역 기능 구현을 위해 Go 언어로 Baidu Translation API 작성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.