>백엔드 개발 >Golang >Baidu Translation API를 Go 언어로 작성하여 중국어 및 아프리카 번역 기능 구현

Baidu Translation API를 Go 언어로 작성하여 중국어 및 아프리카 번역 기능 구현

WBOY
WBOY원래의
2023-08-05 15:45:251343검색

바이두 번역 API를 Go 언어로 작성하여 중국어 및 아프리카어 번역 기능 구현

소개:
세계화가 진행됨에 따라 외국어에 대한 사람들의 수요가 점점 높아지고 있으며, 그 중 중국어 및 아프리카 언어의 중요성이 커지고 있습니다. 점차 유명해졌습니다. 이번 글에서는 Go 언어로 작성하는 방법과 이를 바이두 번역 API와 결합하여 중국어, 남아프리카 번역 기능을 구현하는 방법을 공유하겠습니다. 이 예제를 통해 이러한 기능을 자신의 애플리케이션에 추가하는 방법을 배우게 됩니다.

  1. Baidu Translation API 액세스 키 받기
    코드 작성을 시작하기 전에 Baidu Translation API 웹사이트에 등록하고 액세스 키를 받아야 합니다. 바이두 번역 API 공식 홈페이지(https://fanyi-api.baidu.com/)를 방문하여 등록 및 신청하시기 바랍니다.
  2. go 프로젝트를 만들고 필요한 종속성 패키지를 가져옵니다
    코드 작성을 시작하기 전에 go 프로젝트를 만들고 필요한 종속성 패키지를 가져와야 합니다. 터미널에서 다음 명령을 실행하여 새 프로젝트를 만들고 관련 종속성 패키지를 가져옵니다.
$ mkdir baidu_translation
$ cd baidu_translation
$ go mod init github.com/<your-username>/baidu_translation
$ go get github.com/imroc/req
  1. 코드 작성
    2단계가 완료되면 코드 작성을 시작할 수 있습니다. 프로젝트의 루트 디렉터리에 main.go라는 파일을 만들고 다음 코드를 해당 파일에 복사합니다. main.go的文件,并将以下代码复制进去:
package main

import (
    "encoding/json"
    "fmt"
    "github.com/imroc/req"
    "os"
)

type BaiduTranslationResponse struct {
    Error     int             `json:"error"`
    ErrorCode string          `json:"error_code,omitempty"`
    From      string          `json:"from"`
    To        string          `json:"to"`
    TransResult []Translation `json:"trans_result"`
}

type Translation struct {
    Src string `json:"src"`
    Dst string `json:"dst"`
}

func main() {
    translationText := "你好世界"
    appID := "<your-app-id>"
    secretKey := "<your-secret-key>"

    resp, err := req.Post("https://fanyi-api.baidu.com/api/trans/vip/translate",
        req.Param{
            "q":     translationText,
            "from":  "zh",
            "to":    "zu",
            "appid": appID,
            "salt":  "1435660288",
            "sign":  buildSign(translationText, appID, secretKey, "1435660288"),
        },
    )

    if err != nil {
        fmt.Println("请求错误:", err)
        os.Exit(1)
    }

    var translationResponse BaiduTranslationResponse
    err = resp.ToJSON(&translationResponse)
    if err != nil {
        fmt.Println("响应解析错误:", err)
        os.Exit(1)
    }

    if translationResponse.Error != 0 {
        fmt.Println("翻译错误:", translationResponse.ErrorCode)
        os.Exit(1)
    }

    translatedText := translationResponse.TransResult[0].Dst
    fmt.Println("翻译结果:", translatedText)
}

func buildSign(translationText, appID, secretKey, salt string) string {
    signStr := appID + translationText + salt + secretKey
    return fmt.Sprintf("%x", md5.Sum([]byte(signStr)))
}
  1. 替换访问密钥
    在代码中,将5d144fd43256843c361ae21106689c6c56dc264c8a546607c83b35ff5b92bd5e
  2. $ go run main.go
    1. 코드에서 액세스 키
      를 교체하세요. 5d144fd43256843c361ae21106689c6c56dc264c8a546607c83b35ff5b92bd5e를 Baidu Translation API 웹사이트에서 신청한 액세스 키로 바꾸세요.
    코드 실행

    터미널에서 다음 명령을 실행하여 코드를 실행합니다.

    翻译结果: Sawubona Mhlaba

    출력은 다음과 같습니다.

    rrreee
    이는 중국어와 아프리카어로 "Hello World"를 번역하면 "Sawubona Mhlaba"라는 의미입니다.

    🎜결론: 🎜이 기사에서는 Baidu 번역 API를 사용하여 중국어-아프리카 번역 기능을 구현하는 방법을 보여주기 위해 go 언어를 사용하여 간단한 예제를 작성했습니다. 이 예제를 확장하고 최적화하여 개별 요구 사항을 충족할 수 있습니다. 이 기사가 go 언어와 Baidu 번역 API를 사용하여 중국어 및 아프리카 번역 기능을 구현하는 방법을 이해하는 데 도움이 되기를 바랍니다. 🎜

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

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