diff --git a/translate/translate.go b/translate/translate.go index ff3efaa..f9e53b4 100644 --- a/translate/translate.go +++ b/translate/translate.go @@ -2,7 +2,7 @@ * @Author: Vincent Young * @Date: 2024-09-16 11:59:24 * @LastEditors: Vincent Yang - * @LastEditTime: 2024-11-01 00:42:43 + * @LastEditTime: 2024-11-01 12:45:44 * @FilePath: /DeepLX/translate/translate.go * @Telegram: https://t.me/missuo * @GitHub: https://github.com/missuo @@ -161,6 +161,13 @@ func TranslateByDeepLX(sourceLang, targetLang, text string, tagHandling string, }) } + hasRegionalVariant := false + targetLangParts := strings.Split(targetLang, "-") + targetLangCode := targetLangParts[0] + if len(targetLangParts) > 1 { + hasRegionalVariant = true + } + // Prepare translation request id := getRandomNumber() postData := &PostData{ @@ -169,17 +176,19 @@ func TranslateByDeepLX(sourceLang, targetLang, text string, tagHandling string, ID: id, Params: Params{ CommonJobParams: CommonJobParams{ - Mode: "translate", + Mode: "translate", + RegionalVariant: map[bool]string{true: targetLang, false: ""}[hasRegionalVariant], }, Lang: Lang{ SourceLangComputed: strings.ToUpper(sourceLang), - TargetLang: strings.ToUpper(targetLang), + TargetLang: strings.ToUpper(targetLangCode), }, Jobs: jobs, Priority: 1, Timestamp: getTimeStamp(getICount(text)), }, } + fmt.Println(postData) // Make translation request result, err := makeRequest(postData, "LMT_handle_jobs", proxyURL) diff --git a/translate/types.go b/translate/types.go index ef76bf5..7e20003 100644 --- a/translate/types.go +++ b/translate/types.go @@ -2,7 +2,7 @@ * @Author: Vincent Young * @Date: 2024-09-16 11:59:24 * @LastEditors: Vincent Yang - * @LastEditTime: 2024-11-01 00:39:49 + * @LastEditTime: 2024-11-01 12:47:47 * @FilePath: /DeepLX/translate/types.go * @Telegram: https://t.me/missuo * @GitHub: https://github.com/missuo @@ -21,7 +21,8 @@ type Lang struct { // CommonJobParams represents common parameters for translation jobs type CommonJobParams struct { - Mode string `json:"mode"` + Mode string `json:"mode"` + RegionalVariant string `json:"regionalVariant"` } // Sentence represents a sentence in the translation request