Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1375,18 +1375,26 @@ func callAzureTranslate(sourceText, targetLang string) (string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
endpoint = strings.TrimRight(endpoint, "/")
|
endpoint = strings.TrimRight(endpoint, "/")
|
||||||
baseURL, err := url.Parse(endpoint + "/translate")
|
normalizedEndpoint := strings.ToLower(endpoint)
|
||||||
|
translatePath := "/translate"
|
||||||
|
// Azure custom endpoint requires the translator path with version in URL.
|
||||||
|
if strings.Contains(normalizedEndpoint, ".cognitiveservices.azure.com") {
|
||||||
|
translatePath = "/translator/text/v3.0/translate"
|
||||||
|
}
|
||||||
|
baseURL, err := url.Parse(endpoint + translatePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("invalid AZURE_TRANSLATOR_ENDPOINT: %w", err)
|
return "", fmt.Errorf("invalid AZURE_TRANSLATOR_ENDPOINT: %w", err)
|
||||||
}
|
}
|
||||||
q := baseURL.Query()
|
q := baseURL.Query()
|
||||||
q.Set("api-version", "3.0")
|
if translatePath == "/translate" {
|
||||||
|
q.Set("api-version", "3.0")
|
||||||
|
}
|
||||||
q.Set("from", sourceLang)
|
q.Set("from", sourceLang)
|
||||||
q.Set("to", targetLang)
|
q.Set("to", targetLang)
|
||||||
baseURL.RawQuery = q.Encode()
|
baseURL.RawQuery = q.Encode()
|
||||||
|
|
||||||
payload := []map[string]string{
|
payload := []map[string]string{
|
||||||
{"Text": sourceText},
|
{"text": sourceText},
|
||||||
}
|
}
|
||||||
body, _ := json.Marshal(payload)
|
body, _ := json.Marshal(payload)
|
||||||
req, err := http.NewRequest(http.MethodPost, baseURL.String(), bytes.NewReader(body))
|
req, err := http.NewRequest(http.MethodPost, baseURL.String(), bytes.NewReader(body))
|
||||||
|
|||||||
Reference in New Issue
Block a user