moved translation to utils.go
This commit is contained in:
@@ -19,6 +19,7 @@ import (
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"path"
|
||||
"regexp"
|
||||
"sort"
|
||||
@@ -686,6 +687,31 @@ func PlayerFromSteamID64(db *ent.Client, steamID uint64, apiKey string, rl ratel
|
||||
}
|
||||
}
|
||||
|
||||
func TranslateWithDeepL(text string, language string, baseURL string, apiKey string) (translated string, detectedLanguage string, err error) {
|
||||
v := url.Values{}
|
||||
v.Set("auth_key", apiKey)
|
||||
v.Set("text", text)
|
||||
v.Set("target_lang", language)
|
||||
dlResp, err := http.PostForm("https://"+baseURL+"/v2/translate", v)
|
||||
if err != nil {
|
||||
return "", "", fmt.Errorf("deepl response: %w", err)
|
||||
} else if dlResp.StatusCode != http.StatusOK {
|
||||
return "", "", fmt.Errorf("deepl response %d", dlResp.StatusCode)
|
||||
} else {
|
||||
respBytes, err := io.ReadAll(dlResp.Body)
|
||||
if err != nil {
|
||||
return "", "", fmt.Errorf("error reading deepl response: %w", err)
|
||||
}
|
||||
dlRespJSON := new(DeepLResponse)
|
||||
err = json.Unmarshal(respBytes, &dlRespJSON)
|
||||
if err != nil {
|
||||
return "", "", fmt.Errorf("error decoding json from deepl: %w", err)
|
||||
}
|
||||
|
||||
return dlRespJSON.Translations[0].Text, strings.ToLower(dlRespJSON.Translations[0].DetectedSourceLanguage), nil
|
||||
}
|
||||
}
|
||||
|
||||
func PlayerFromSteam(players []*ent.Player, db *ent.Client, apiKey string, rl ratelimit.Limiter) ([]*ent.Player, error) {
|
||||
var idsToUpdate []uint64
|
||||
|
||||
|
Reference in New Issue
Block a user