mirror of
https://codeberg.org/aryak/mozhi
synced 2025-06-04 00:41:07 +05:30
go mod tidy + gofmt
This commit is contained in:
@@ -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
|
||||
|
@@ -130,4 +130,3 @@ func LangListDeepl(listType string) []List {
|
||||
}
|
||||
return ListData
|
||||
}
|
||||
|
||||
|
@@ -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{
|
||||
|
@@ -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
|
||||
}
|
||||
|
@@ -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" {
|
||||
|
78
utils/tts.go
78
utils/tts.go
@@ -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 {
|
||||
|
Reference in New Issue
Block a user