go mod tidy + gofmt

This commit is contained in:
2023-07-22 19:54:15 +05:30
parent e559ec9214
commit 9c2eaa6b99
14 changed files with 500 additions and 512 deletions

View File

@@ -17,14 +17,14 @@ func TranslateGoogle(to string, from string, text string) string {
answer = e.Text
})
type Options struct {
To string `url:"tl"`
UI string `url:"hl"`
From string `url:"sl"`
Text string `url:"q"`
To string `url:"tl"`
UI string `url:"hl"`
From string `url:"sl"`
Text string `url:"q"`
}
opt := Options{ to, to, from, text }
opt := Options{to, to, from, text}
v, _ := query.Values(opt)
url := "https://translate.google.com/m?"+v.Encode()
url := "https://translate.google.com/m?" + v.Encode()
sc.Visit(url)
return answer
}
@@ -36,7 +36,7 @@ func TranslateReverso(to string, from string, query string) string {
return answer
}
func TranslateLibreTranslate(to string, from string, query string) string {
json := []byte(`{"q":"`+query+`","source":"`+from+`","target":"`+to+`"}`)
json := []byte(`{"q":"` + query + `","source":"` + from + `","target":"` + to + `"}`)
// TODO: Make it configurable
libreTranslateOut := PostRequest("https://translate.argosopentech.com/translate", json)
gjsonArr := libreTranslateOut.Get("translatedText").Array()
@@ -44,24 +44,24 @@ func TranslateLibreTranslate(to string, from string, query string) string {
return answer
}
func TranslateWatson(to string, from string, query string) string {
json := []byte(`{"text":"`+query+`","source":"`+from+`","target":"`+to+`"}`)
watsonOut:= PostRequest("https://www.ibm.com/demos/live/watson-language-translator/api/translate/text", json)
json := []byte(`{"text":"` + query + `","source":"` + from + `","target":"` + to + `"}`)
watsonOut := PostRequest("https://www.ibm.com/demos/live/watson-language-translator/api/translate/text", json)
gjsonArr := watsonOut.Get("payload.translations.0.translation").Array()
answer := gjsonArr[0].String()
return answer
}
func TranslateYandex(to string, from string, text string) string {
type Options struct {
Translate string `url:"lang"`
Text string `url:"text"`
Srv string `url:"srv"`
Id string `url:"id"`
Reason string `url:"reason"`
Translate string `url:"lang"`
Text string `url:"text"`
Srv string `url:"srv"`
Id string `url:"id"`
Reason string `url:"reason"`
}
opt := Options{ from+"-"+to, text, "tr-mobile", "c2317111.64bac36a.ab16ef22.74722d6d6f62696c65-0-0", "submit"}
opt := Options{from + "-" + to, text, "tr-mobile", "c2317111.64bac36a.ab16ef22.74722d6d6f62696c65-0-0", "submit"}
v, _ := query.Values(opt)
yandexOut := GetRequest("https://translate.yandex.net/api/v1/tr.json/translate?"+v.Encode())
yandexOut := GetRequest("https://translate.yandex.net/api/v1/tr.json/translate?" + v.Encode())
gjsonArr := yandexOut.Get("text.0").Array()
answer := gjsonArr[0].String()
return answer

View File

@@ -130,4 +130,3 @@ func LangListDeepl(listType string) []List {
}
return ListData
}

View File

@@ -5,7 +5,6 @@ type List struct {
Id string
}
func LangListReverso(listType string) []List {
// IDs got from original simplytranslate-web and trial and error. Usually first three letters of language.
var ListData = []List{

View File

@@ -2,414 +2,414 @@ package utils
func LangListYandex(listType string) []List {
var ListData = []List{
List{
Id: "af",
Name: "Afrikaans",
},
List{
Id: "sq",
Name: "Albanian",
},
List{
Id: "am",
Name: "Amharic",
},
List{
Id: "ar",
Name: "Arabic",
},
List{
Id: "hy",
Name: "Armenian",
},
List{
Id: "az",
Name: "Azerbaijani",
},
List{
Id: "ba",
Name: "Bashkir",
},
List{
Id: "eu",
Name: "Basque",
},
List{
Id: "be",
Name: "Belarusian",
},
List{
Id: "bn",
Name: "Bengali",
},
List{
Id: "bs",
Name: "Bosnian",
},
List{
Id: "bg",
Name: "Bulgarian",
},
List{
Id: "my",
Name: "Burmese",
},
List{
Id: "ca",
Name: "Catalan",
},
List{
Id: "ceb",
Name: "Cebuano",
},
List{
Id: "zh",
Name: "Chinese",
},
List{
Id: "cv",
Name: "Chuvash",
},
List{
Id: "hr",
Name: "Croatian",
},
List{
Id: "cs",
Name: "Czech",
},
List{
Id: "da",
Name: "Danish",
},
List{
Id: "nl",
Name: "Dutch",
},
List{
Id: "sjn",
Name: "Elvish (Sindarin)",
},
List{
Id: "emj",
Name: "Emoji",
},
List{
Id: "en",
Name: "English",
},
List{
Id: "eo",
Name: "Esperanto",
},
List{
Id: "et",
Name: "Estonian",
},
List{
Id: "fi",
Name: "Finnish",
},
List{
Id: "fr",
Name: "French",
},
List{
Id: "gl",
Name: "Galician",
},
List{
Id: "ka",
Name: "Georgian",
},
List{
Id: "de",
Name: "German",
},
List{
Id: "el",
Name: "Greek",
},
List{
Id: "gu",
Name: "Gujarati",
},
List{
Id: "ht",
Name: "Haitian",
},
List{
Id: "he",
Name: "Hebrew",
},
List{
Id: "mrj",
Name: "Hill Mari",
},
List{
Id: "hi",
Name: "Hindi",
},
List{
Id: "hu",
Name: "Hungarian",
},
List{
Id: "is",
Name: "Icelandic",
},
List{
Id: "id",
Name: "Indonesian",
},
List{
Id: "ga",
Name: "Irish",
},
List{
Id: "it",
Name: "Italian",
},
List{
Id: "ja",
Name: "Japanese",
},
List{
Id: "jv",
Name: "Javanese",
},
List{
Id: "kn",
Name: "Kannada",
},
List{
Id: "kazlat",
Name: "Kazakh (Latin)",
},
List{
Id: "kk",
Name: "Kazakh",
},
List{
Id: "km",
Name: "Khmer",
},
List{
Id: "ko",
Name: "Korean",
},
List{
Id: "ky",
Name: "Kyrgyz",
},
List{
Id: "lo",
Name: "Lao",
},
List{
Id: "la",
Name: "Latin",
},
List{
Id: "lv",
Name: "Latvian",
},
List{
Id: "lt",
Name: "Lithuanian",
},
List{
Id: "lb",
Name: "Luxembourgish",
},
List{
Id: "mk",
Name: "Macedonian",
},
List{
Id: "mg",
Name: "Malagasy",
},
List{
Id: "ms",
Name: "Malay",
},
List{
Id: "ml",
Name: "Malayalam",
},
List{
Id: "mt",
Name: "Maltese",
},
List{
Id: "mi",
Name: "Maori",
},
List{
Id: "mr",
Name: "Marathi",
},
List{
Id: "mhr",
Name: "Mari",
},
List{
Id: "mn",
Name: "Mongolian",
},
List{
Id: "ne",
Name: "Nepali",
},
List{
Id: "no",
Name: "Norwegian",
},
List{
Id: "pap",
Name: "Papiamento",
},
List{
Id: "fa",
Name: "Persian",
},
List{
Id: "pl",
Name: "Polish",
},
List{
Id: "pt-BR",
Name: "Portuguese (Brazilian)",
},
List{
Id: "pt",
Name: "Portuguese",
},
List{
Id: "pa",
Name: "Punjabi",
},
List{
Id: "ro",
Name: "Romanian",
},
List{
Id: "ru",
Name: "Russian",
},
List{
Id: "gd",
Name: "Scottish Gaelic",
},
List{
Id: "sr-Latn",
Name: "Serbian (Latin)",
},
List{
Id: "sr",
Name: "Serbian",
},
List{
Id: "si",
Name: "Sinhalese",
},
List{
Id: "sk",
Name: "Slovak",
},
List{
Id: "sl",
Name: "Slovenian",
},
List{
Id: "es",
Name: "Spanish",
},
List{
Id: "su",
Name: "Sundanese",
},
List{
Id: "sw",
Name: "Swahili",
},
List{
Id: "sv",
Name: "Swedish",
},
List{
Id: "tl",
Name: "Tagalog",
},
List{
Id: "tg",
Name: "Tajik",
},
List{
Id: "ta",
Name: "Tamil",
},
List{
Id: "tt",
Name: "Tatar",
},
List{
Id: "te",
Name: "Telugu",
},
List{
Id: "th",
Name: "Thai",
},
List{
Id: "tr",
Name: "Turkish",
},
List{
Id: "udm",
Name: "Udmurt",
},
List{
Id: "uk",
Name: "Ukrainian",
},
List{
Id: "ur",
Name: "Urdu",
},
List{
Id: "uzbcyr",
Name: "Uzbek (Cyrillic)",
},
List{
Id: "uz",
Name: "Uzbek",
},
List{
Id: "vi",
Name: "Vietnamese",
},
List{
Id: "cy",
Name: "Welsh",
},
List{
Id: "xh",
Name: "Xhosa",
},
List{
Id: "sah",
Name: "Yakut",
},
List{
Id: "yi",
Name: "Yiddish",
},
List{
Id: "zu",
Name: "Zulu",
},
List{
Id: "af",
Name: "Afrikaans",
},
List{
Id: "sq",
Name: "Albanian",
},
List{
Id: "am",
Name: "Amharic",
},
List{
Id: "ar",
Name: "Arabic",
},
List{
Id: "hy",
Name: "Armenian",
},
List{
Id: "az",
Name: "Azerbaijani",
},
List{
Id: "ba",
Name: "Bashkir",
},
List{
Id: "eu",
Name: "Basque",
},
List{
Id: "be",
Name: "Belarusian",
},
List{
Id: "bn",
Name: "Bengali",
},
List{
Id: "bs",
Name: "Bosnian",
},
List{
Id: "bg",
Name: "Bulgarian",
},
List{
Id: "my",
Name: "Burmese",
},
List{
Id: "ca",
Name: "Catalan",
},
List{
Id: "ceb",
Name: "Cebuano",
},
List{
Id: "zh",
Name: "Chinese",
},
List{
Id: "cv",
Name: "Chuvash",
},
List{
Id: "hr",
Name: "Croatian",
},
List{
Id: "cs",
Name: "Czech",
},
List{
Id: "da",
Name: "Danish",
},
List{
Id: "nl",
Name: "Dutch",
},
List{
Id: "sjn",
Name: "Elvish (Sindarin)",
},
List{
Id: "emj",
Name: "Emoji",
},
List{
Id: "en",
Name: "English",
},
List{
Id: "eo",
Name: "Esperanto",
},
List{
Id: "et",
Name: "Estonian",
},
List{
Id: "fi",
Name: "Finnish",
},
List{
Id: "fr",
Name: "French",
},
List{
Id: "gl",
Name: "Galician",
},
List{
Id: "ka",
Name: "Georgian",
},
List{
Id: "de",
Name: "German",
},
List{
Id: "el",
Name: "Greek",
},
List{
Id: "gu",
Name: "Gujarati",
},
List{
Id: "ht",
Name: "Haitian",
},
List{
Id: "he",
Name: "Hebrew",
},
List{
Id: "mrj",
Name: "Hill Mari",
},
List{
Id: "hi",
Name: "Hindi",
},
List{
Id: "hu",
Name: "Hungarian",
},
List{
Id: "is",
Name: "Icelandic",
},
List{
Id: "id",
Name: "Indonesian",
},
List{
Id: "ga",
Name: "Irish",
},
List{
Id: "it",
Name: "Italian",
},
List{
Id: "ja",
Name: "Japanese",
},
List{
Id: "jv",
Name: "Javanese",
},
List{
Id: "kn",
Name: "Kannada",
},
List{
Id: "kazlat",
Name: "Kazakh (Latin)",
},
List{
Id: "kk",
Name: "Kazakh",
},
List{
Id: "km",
Name: "Khmer",
},
List{
Id: "ko",
Name: "Korean",
},
List{
Id: "ky",
Name: "Kyrgyz",
},
List{
Id: "lo",
Name: "Lao",
},
List{
Id: "la",
Name: "Latin",
},
List{
Id: "lv",
Name: "Latvian",
},
List{
Id: "lt",
Name: "Lithuanian",
},
List{
Id: "lb",
Name: "Luxembourgish",
},
List{
Id: "mk",
Name: "Macedonian",
},
List{
Id: "mg",
Name: "Malagasy",
},
List{
Id: "ms",
Name: "Malay",
},
List{
Id: "ml",
Name: "Malayalam",
},
List{
Id: "mt",
Name: "Maltese",
},
List{
Id: "mi",
Name: "Maori",
},
List{
Id: "mr",
Name: "Marathi",
},
List{
Id: "mhr",
Name: "Mari",
},
List{
Id: "mn",
Name: "Mongolian",
},
List{
Id: "ne",
Name: "Nepali",
},
List{
Id: "no",
Name: "Norwegian",
},
List{
Id: "pap",
Name: "Papiamento",
},
List{
Id: "fa",
Name: "Persian",
},
List{
Id: "pl",
Name: "Polish",
},
List{
Id: "pt-BR",
Name: "Portuguese (Brazilian)",
},
List{
Id: "pt",
Name: "Portuguese",
},
List{
Id: "pa",
Name: "Punjabi",
},
List{
Id: "ro",
Name: "Romanian",
},
List{
Id: "ru",
Name: "Russian",
},
List{
Id: "gd",
Name: "Scottish Gaelic",
},
List{
Id: "sr-Latn",
Name: "Serbian (Latin)",
},
List{
Id: "sr",
Name: "Serbian",
},
List{
Id: "si",
Name: "Sinhalese",
},
List{
Id: "sk",
Name: "Slovak",
},
List{
Id: "sl",
Name: "Slovenian",
},
List{
Id: "es",
Name: "Spanish",
},
List{
Id: "su",
Name: "Sundanese",
},
List{
Id: "sw",
Name: "Swahili",
},
List{
Id: "sv",
Name: "Swedish",
},
List{
Id: "tl",
Name: "Tagalog",
},
List{
Id: "tg",
Name: "Tajik",
},
List{
Id: "ta",
Name: "Tamil",
},
List{
Id: "tt",
Name: "Tatar",
},
List{
Id: "te",
Name: "Telugu",
},
List{
Id: "th",
Name: "Thai",
},
List{
Id: "tr",
Name: "Turkish",
},
List{
Id: "udm",
Name: "Udmurt",
},
List{
Id: "uk",
Name: "Ukrainian",
},
List{
Id: "ur",
Name: "Urdu",
},
List{
Id: "uzbcyr",
Name: "Uzbek (Cyrillic)",
},
List{
Id: "uz",
Name: "Uzbek",
},
List{
Id: "vi",
Name: "Vietnamese",
},
List{
Id: "cy",
Name: "Welsh",
},
List{
Id: "xh",
Name: "Xhosa",
},
List{
Id: "sah",
Name: "Yakut",
},
List{
Id: "yi",
Name: "Yiddish",
},
List{
Id: "zu",
Name: "Zulu",
},
}
return ListData
}

View File

@@ -10,7 +10,7 @@ package utils
// Name string
// Id string
//}
//// To get new language lists for google yandex and libertranslate.
//// To get new language lists for google yandex and libertranslate.
//func LangListGoogle(listType string) []List {
// UserAgent, ok := os.LookupEnv("SIMPLYTRANSLATE_USER_AGENT")
// if !ok {
@@ -42,7 +42,7 @@ package utils
// for _, r := range gjsonArr {
// code := r.Get("code").String()
// name := r.Get("name").String()
//
//
// ListData = append(ListData, List{Id: code, Name: name})
// }
// if listType == "sl" {

View File

@@ -1,29 +1,29 @@
package utils
import (
"context"
"encoding/base64"
"github.com/carlmjohnson/requests"
"github.com/google/go-querystring/query"
"os"
"context"
"encoding/base64"
)
type ReversoTTS struct {
Id string
Id string
Voice string
}
func TTSGoogle(lang string, text string) string {
type Options struct {
Lang string `url:"tl"`
Text string `url:"q"`
Client string `url:"client"`
Lang string `url:"tl"`
Text string `url:"q"`
Client string `url:"client"`
}
opt := Options{ lang, text, "tw-ob" }
opt := Options{lang, text, "tw-ob"}
v, _ := query.Values(opt)
var file string
url := "https://translate.google.com/translate_tts?"+v.Encode()
url := "https://translate.google.com/translate_tts?" + v.Encode()
err := requests.
URL(url).
ToString(&file).
@@ -37,105 +37,105 @@ func TTSReverso(lang string, text string) string {
var TTSData = []ReversoTTS{
// http://voice.reverso.net/RestPronunciation.svc/v1/output=json/GetAvailableVoices with randomized deduplication
ReversoTTS{
Id: "ar",
Id: "ar",
Voice: "Mehdi22k",
},
ReversoTTS{
Id: "zh",
Id: "zh",
Voice: "Lulu22k",
},
ReversoTTS{
Id: "cz",
Id: "cz",
Voice: "Eliska22k",
},
ReversoTTS{
Id: "dk",
Id: "dk",
Voice: "Mette22k",
},
ReversoTTS{
Id: "nl",
Id: "nl",
Voice: "Daan22k",
},
ReversoTTS{
Id: "en",
Id: "en",
Voice: "Will22k",
},
ReversoTTS{
Id: "fr",
Id: "fr",
Voice: "Margaux22k",
},
ReversoTTS{
Id: "de",
Id: "de",
Voice: "Andreas22k",
},
ReversoTTS{
Id: "gr",
Id: "gr",
Voice: "Dimitris22k",
},
ReversoTTS{
Id: "heb",
Id: "heb",
Voice: "he-IL-Asaf",
},
ReversoTTS{
Id: "it",
Id: "it",
Voice: "Chiara22k",
},
ReversoTTS{
Id: "jp",
Id: "jp",
Voice: "Sakura22k",
},
ReversoTTS{
Id: "kr",
Id: "kr",
Voice: "Minji22k",
},
ReversoTTS{
Id: "pl",
Id: "pl",
Voice: "Monika22k",
},
ReversoTTS{
Id: "pt",
Id: "pt",
Voice: "Celia22k",
},
ReversoTTS{
Id: "ro",
Id: "ro",
Voice: "ro-RO-Andrei",
},
ReversoTTS{
Id: "ru",
Id: "ru",
Voice: "Alyona22k",
},
ReversoTTS{
Id: "es",
Id: "es",
Voice: "Antonio22k",
},
ReversoTTS{
Id: "se",
Id: "se",
Voice: "Erik22k",
},
ReversoTTS{
Id: "tr",
Id: "tr",
Voice: "Ipek22k",
},
}
// https://voice.reverso.net/RestPronunciation.svc/v1/output=json/GetVoiceStream/voiceName=Lulu22k?voiceSpeed=80&inputText=6K%20V6aqM Base64 input text
text2 := base64.StdEncoding.EncodeToString([]byte(text))
var voice string
for _, s := range TTSData {
if s.Id == lang {
voice = s.Voice
break
}
}
var voice string
for _, s := range TTSData {
if s.Id == lang {
voice = s.Voice
break
}
}
type Options struct {
VoiceSpeed int `url:"voiceSpeed"`
Text string `url:"inputText"`
VoiceSpeed int `url:"voiceSpeed"`
Text string `url:"inputText"`
}
opt := Options{ 80, text2 }
opt := Options{80, text2}
v, _ := query.Values(opt)
var file string
url := "https://voice.reverso.net/RestPronunciation.svc/v1/output=json/GetVoiceStream/voiceName="+voice+"?"+v.Encode()
url := "https://voice.reverso.net/RestPronunciation.svc/v1/output=json/GetVoiceStream/voiceName=" + voice + "?" + v.Encode()
UserAgent, ok := os.LookupEnv("SIMPLYTRANSLATE_USER_AGENT")
if !ok {