mirror of
https://codeberg.org/aryak/mozhi
synced 2024-11-23 09:52:58 +05:30
separate langlists to different files
This commit is contained in:
parent
e1c4c4c863
commit
2179e682d4
@ -49,6 +49,26 @@ var translateCmd = &cobra.Command{
|
||||
} else {
|
||||
fmt.Println(utils.TranslateWatson(dest, source, query))
|
||||
}
|
||||
} else if engine == "yandex" {
|
||||
if langlist == "sl" {
|
||||
langList := utils.LangListYandex(langlist)
|
||||
for _, num := range langList {
|
||||
fmt.Println("List{")
|
||||
fmt.Println(`Id: "`+num.Id+`",`)
|
||||
fmt.Println(`Name: "`+num.Name+`",`)
|
||||
fmt.Println("},")
|
||||
}
|
||||
} else if langlist == "tl" {
|
||||
langList := utils.LangListYandex(langlist)
|
||||
for _, num := range langList {
|
||||
fmt.Println("List{")
|
||||
fmt.Println(`Id: "`+num.Id+`",`)
|
||||
fmt.Println(`Name: "`+num.Name+`",`)
|
||||
fmt.Println("},")
|
||||
}
|
||||
} else {
|
||||
fmt.Println(utils.TranslateYandex(dest, source, query))
|
||||
}
|
||||
} else if engine == "all" {
|
||||
fmt.Println(utils.TranslateAll(dest, source, query))
|
||||
} else {
|
||||
|
133
utils/langlist-deepl.go
Normal file
133
utils/langlist-deepl.go
Normal file
@ -0,0 +1,133 @@
|
||||
package utils
|
||||
|
||||
func LangListDeepl(listType string) []List {
|
||||
// IDs got from deepl.com/translator
|
||||
// Every time you change language, the # will get updated with the lang code.
|
||||
var ListData = []List{
|
||||
List{
|
||||
Id: "bg",
|
||||
Name: "Bulgarian",
|
||||
},
|
||||
List{
|
||||
Id: "zh",
|
||||
Name: "Chinese (Simplified)",
|
||||
},
|
||||
List{
|
||||
Id: "cs",
|
||||
Name: "Czech",
|
||||
},
|
||||
List{
|
||||
Id: "da",
|
||||
Name: "Danish",
|
||||
},
|
||||
List{
|
||||
Id: "nl",
|
||||
Name: "Dutch",
|
||||
},
|
||||
List{
|
||||
Id: "en",
|
||||
Name: "English",
|
||||
},
|
||||
List{
|
||||
Id: "et",
|
||||
Name: "Estonian",
|
||||
},
|
||||
List{
|
||||
Id: "fi",
|
||||
Name: "Finnish",
|
||||
},
|
||||
List{
|
||||
Id: "fr",
|
||||
Name: "French",
|
||||
},
|
||||
List{
|
||||
Id: "de",
|
||||
Name: "Germany",
|
||||
},
|
||||
List{
|
||||
Id: "el",
|
||||
Name: "Greek",
|
||||
},
|
||||
List{
|
||||
Id: "hu",
|
||||
Name: "Hungarian",
|
||||
},
|
||||
List{
|
||||
Id: "id",
|
||||
Name: "Indonesian",
|
||||
},
|
||||
List{
|
||||
Id: "it",
|
||||
Name: "Italian",
|
||||
},
|
||||
List{
|
||||
Id: "ja",
|
||||
Name: "Japanese",
|
||||
},
|
||||
List{
|
||||
Id: "ko",
|
||||
Name: "Korean",
|
||||
},
|
||||
List{
|
||||
Id: "lv",
|
||||
Name: "Latvian",
|
||||
},
|
||||
List{
|
||||
Id: "lt",
|
||||
Name: "Lithuanian",
|
||||
},
|
||||
List{
|
||||
Id: "nb",
|
||||
Name: "Norwegian",
|
||||
},
|
||||
List{
|
||||
Id: "pl",
|
||||
Name: "Polish",
|
||||
},
|
||||
List{
|
||||
Id: "pt",
|
||||
Name: "Portugese",
|
||||
},
|
||||
List{
|
||||
Id: "ro",
|
||||
Name: "Romanian",
|
||||
},
|
||||
List{
|
||||
Id: "ru",
|
||||
Name: "Russian",
|
||||
},
|
||||
List{
|
||||
Id: "sk",
|
||||
Name: "Slovak",
|
||||
},
|
||||
List{
|
||||
Id: "sl",
|
||||
Name: "Slovenian",
|
||||
},
|
||||
List{
|
||||
Id: "es",
|
||||
Name: "Spanish",
|
||||
},
|
||||
List{
|
||||
Id: "sv",
|
||||
Name: "Swedish",
|
||||
},
|
||||
List{
|
||||
Id: "tr",
|
||||
Name: "Turkish",
|
||||
},
|
||||
List{
|
||||
Id: "uk",
|
||||
Name: "Ukrainian",
|
||||
},
|
||||
}
|
||||
if listType == "sl" {
|
||||
auto := List{
|
||||
Id: "auto",
|
||||
Name: "Detect Language",
|
||||
}
|
||||
ListData = append(ListData, auto)
|
||||
}
|
||||
return ListData
|
||||
}
|
||||
|
547
utils/langlist-google.go
Normal file
547
utils/langlist-google.go
Normal file
@ -0,0 +1,547 @@
|
||||
package utils
|
||||
|
||||
func LangListGoogle(listType string) []List {
|
||||
// IDs got from original simplytranslate-web and trial and error. Usually first three letters of language.
|
||||
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: "as",
|
||||
Name: "Assamese",
|
||||
},
|
||||
List{
|
||||
Id: "ay",
|
||||
Name: "Aymara",
|
||||
},
|
||||
List{
|
||||
Id: "az",
|
||||
Name: "Azerbaijani",
|
||||
},
|
||||
List{
|
||||
Id: "bm",
|
||||
Name: "Bambara",
|
||||
},
|
||||
List{
|
||||
Id: "eu",
|
||||
Name: "Basque",
|
||||
},
|
||||
List{
|
||||
Id: "be",
|
||||
Name: "Belarusian",
|
||||
},
|
||||
List{
|
||||
Id: "bn",
|
||||
Name: "Bengali",
|
||||
},
|
||||
List{
|
||||
Id: "bho",
|
||||
Name: "Bhojpuri",
|
||||
},
|
||||
List{
|
||||
Id: "bs",
|
||||
Name: "Bosnian",
|
||||
},
|
||||
List{
|
||||
Id: "bg",
|
||||
Name: "Bulgarian",
|
||||
},
|
||||
List{
|
||||
Id: "ca",
|
||||
Name: "Catalan",
|
||||
},
|
||||
List{
|
||||
Id: "ceb",
|
||||
Name: "Cebuano",
|
||||
},
|
||||
List{
|
||||
Id: "ny",
|
||||
Name: "Chichewa",
|
||||
},
|
||||
List{
|
||||
Id: "zh",
|
||||
Name: "Chinese (Simplified)",
|
||||
},
|
||||
List{
|
||||
Id: "zh-TW",
|
||||
Name: "Chinese (Traditional)",
|
||||
},
|
||||
List{
|
||||
Id: "co",
|
||||
Name: "Corsican",
|
||||
},
|
||||
List{
|
||||
Id: "hr",
|
||||
Name: "Croatian",
|
||||
},
|
||||
List{
|
||||
Id: "cs",
|
||||
Name: "Czech",
|
||||
},
|
||||
List{
|
||||
Id: "da",
|
||||
Name: "Danish",
|
||||
},
|
||||
List{
|
||||
Id: "dv",
|
||||
Name: "Dhivehi",
|
||||
},
|
||||
List{
|
||||
Id: "doi",
|
||||
Name: "Dogri",
|
||||
},
|
||||
List{
|
||||
Id: "nl",
|
||||
Name: "Dutch",
|
||||
},
|
||||
List{
|
||||
Id: "en",
|
||||
Name: "English",
|
||||
},
|
||||
List{
|
||||
Id: "eo",
|
||||
Name: "Esperanto",
|
||||
},
|
||||
List{
|
||||
Id: "et",
|
||||
Name: "Estonian",
|
||||
},
|
||||
List{
|
||||
Id: "ee",
|
||||
Name: "Ewe",
|
||||
},
|
||||
List{
|
||||
Id: "tl",
|
||||
Name: "Filipino",
|
||||
},
|
||||
List{
|
||||
Id: "fi",
|
||||
Name: "Finnish",
|
||||
},
|
||||
List{
|
||||
Id: "fr",
|
||||
Name: "French",
|
||||
},
|
||||
List{
|
||||
Id: "fy",
|
||||
Name: "Frisian",
|
||||
},
|
||||
List{
|
||||
Id: "gl",
|
||||
Name: "Galician",
|
||||
},
|
||||
List{
|
||||
Id: "ka",
|
||||
Name: "Georgian",
|
||||
},
|
||||
List{
|
||||
Id: "de",
|
||||
Name: "German",
|
||||
},
|
||||
List{
|
||||
Id: "el",
|
||||
Name: "Greek",
|
||||
},
|
||||
List{
|
||||
Id: "gn",
|
||||
Name: "Guarani",
|
||||
},
|
||||
List{
|
||||
Id: "gu",
|
||||
Name: "Gujarati",
|
||||
},
|
||||
List{
|
||||
Id: "ht",
|
||||
Name: "Haitian Creole",
|
||||
},
|
||||
List{
|
||||
Id: "ha",
|
||||
Name: "Hausa",
|
||||
},
|
||||
List{
|
||||
Id: "haw",
|
||||
Name: "Hawaiian",
|
||||
},
|
||||
List{
|
||||
Id: "iw",
|
||||
Name: "Hebrew",
|
||||
},
|
||||
List{
|
||||
Id: "hi",
|
||||
Name: "Hindi",
|
||||
},
|
||||
List{
|
||||
Id: "hmn",
|
||||
Name: "Hmong",
|
||||
},
|
||||
List{
|
||||
Id: "hu",
|
||||
Name: "Hungarian",
|
||||
},
|
||||
List{
|
||||
Id: "is",
|
||||
Name: "Icelandic",
|
||||
},
|
||||
List{
|
||||
Id: "ig",
|
||||
Name: "Igbo",
|
||||
},
|
||||
List{
|
||||
Id: "ilo",
|
||||
Name: "Ilocano",
|
||||
},
|
||||
List{
|
||||
Id: "id",
|
||||
Name: "Indonesian",
|
||||
},
|
||||
List{
|
||||
Id: "ga",
|
||||
Name: "Irish",
|
||||
},
|
||||
List{
|
||||
Id: "it",
|
||||
Name: "Italian",
|
||||
},
|
||||
List{
|
||||
Id: "ja",
|
||||
Name: "Japanese",
|
||||
},
|
||||
List{
|
||||
Id: "jw",
|
||||
Name: "Javanese",
|
||||
},
|
||||
List{
|
||||
Id: "kn",
|
||||
Name: "Kannada",
|
||||
},
|
||||
List{
|
||||
Id: "kk",
|
||||
Name: "Kazakh",
|
||||
},
|
||||
List{
|
||||
Id: "km",
|
||||
Name: "Khmer",
|
||||
},
|
||||
List{
|
||||
Id: "rw",
|
||||
Name: "Kinyarwanda",
|
||||
},
|
||||
List{
|
||||
Id: "gom",
|
||||
Name: "Konkani",
|
||||
},
|
||||
List{
|
||||
Id: "ko",
|
||||
Name: "Korean",
|
||||
},
|
||||
List{
|
||||
Id: "kri",
|
||||
Name: "Krio",
|
||||
},
|
||||
List{
|
||||
Id: "ku",
|
||||
Name: "Kurdish (Kurmanji)",
|
||||
},
|
||||
List{
|
||||
Id: "ckb",
|
||||
Name: "Kurdish (Sorani)",
|
||||
},
|
||||
List{
|
||||
Id: "ky",
|
||||
Name: "Kyrgyz",
|
||||
},
|
||||
List{
|
||||
Id: "lo",
|
||||
Name: "Lao",
|
||||
},
|
||||
List{
|
||||
Id: "la",
|
||||
Name: "Latin",
|
||||
},
|
||||
List{
|
||||
Id: "lv",
|
||||
Name: "Latvian",
|
||||
},
|
||||
List{
|
||||
Id: "ln",
|
||||
Name: "Lingala",
|
||||
},
|
||||
List{
|
||||
Id: "lt",
|
||||
Name: "Lithuanian",
|
||||
},
|
||||
List{
|
||||
Id: "lg",
|
||||
Name: "Luganda",
|
||||
},
|
||||
List{
|
||||
Id: "lb",
|
||||
Name: "Luxembourgish",
|
||||
},
|
||||
List{
|
||||
Id: "mk",
|
||||
Name: "Macedonian",
|
||||
},
|
||||
List{
|
||||
Id: "mai",
|
||||
Name: "Maithili",
|
||||
},
|
||||
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: "mni-Mtei",
|
||||
Name: "Meiteilon (Manipuri)",
|
||||
},
|
||||
List{
|
||||
Id: "lus",
|
||||
Name: "Mizo",
|
||||
},
|
||||
List{
|
||||
Id: "mn",
|
||||
Name: "Mongolian",
|
||||
},
|
||||
List{
|
||||
Id: "my",
|
||||
Name: "Myanmar (Burmese)",
|
||||
},
|
||||
List{
|
||||
Id: "ne",
|
||||
Name: "Nepali",
|
||||
},
|
||||
List{
|
||||
Id: "no",
|
||||
Name: "Norwegian",
|
||||
},
|
||||
List{
|
||||
Id: "or",
|
||||
Name: "Odia (Oriya)",
|
||||
},
|
||||
List{
|
||||
Id: "om",
|
||||
Name: "Oromo",
|
||||
},
|
||||
List{
|
||||
Id: "ps",
|
||||
Name: "Pashto",
|
||||
},
|
||||
List{
|
||||
Id: "fa",
|
||||
Name: "Persian",
|
||||
},
|
||||
List{
|
||||
Id: "pl",
|
||||
Name: "Polish",
|
||||
},
|
||||
List{
|
||||
Id: "pt",
|
||||
Name: "Portuguese",
|
||||
},
|
||||
List{
|
||||
Id: "pa",
|
||||
Name: "Punjabi",
|
||||
},
|
||||
List{
|
||||
Id: "qu",
|
||||
Name: "Quechua",
|
||||
},
|
||||
List{
|
||||
Id: "ro",
|
||||
Name: "Romanian",
|
||||
},
|
||||
List{
|
||||
Id: "ru",
|
||||
Name: "Russian",
|
||||
},
|
||||
List{
|
||||
Id: "sm",
|
||||
Name: "Samoan",
|
||||
},
|
||||
List{
|
||||
Id: "sa",
|
||||
Name: "Sanskrit",
|
||||
},
|
||||
List{
|
||||
Id: "gd",
|
||||
Name: "Scots Gaelic",
|
||||
},
|
||||
List{
|
||||
Id: "nso",
|
||||
Name: "Sepedi",
|
||||
},
|
||||
List{
|
||||
Id: "sr",
|
||||
Name: "Serbian",
|
||||
},
|
||||
List{
|
||||
Id: "st",
|
||||
Name: "Sesotho",
|
||||
},
|
||||
List{
|
||||
Id: "sn",
|
||||
Name: "Shona",
|
||||
},
|
||||
List{
|
||||
Id: "sd",
|
||||
Name: "Sindhi",
|
||||
},
|
||||
List{
|
||||
Id: "si",
|
||||
Name: "Sinhala",
|
||||
},
|
||||
List{
|
||||
Id: "sk",
|
||||
Name: "Slovak",
|
||||
},
|
||||
List{
|
||||
Id: "sl",
|
||||
Name: "Slovenian",
|
||||
},
|
||||
List{
|
||||
Id: "so",
|
||||
Name: "Somali",
|
||||
},
|
||||
List{
|
||||
Id: "es",
|
||||
Name: "Spanish",
|
||||
},
|
||||
List{
|
||||
Id: "su",
|
||||
Name: "Sundanese",
|
||||
},
|
||||
List{
|
||||
Id: "sw",
|
||||
Name: "Swahili",
|
||||
},
|
||||
List{
|
||||
Id: "sv",
|
||||
Name: "Swedish",
|
||||
},
|
||||
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: "ti",
|
||||
Name: "Tigrinya",
|
||||
},
|
||||
List{
|
||||
Id: "ts",
|
||||
Name: "Tsonga",
|
||||
},
|
||||
List{
|
||||
Id: "tr",
|
||||
Name: "Turkish",
|
||||
},
|
||||
List{
|
||||
Id: "tk",
|
||||
Name: "Turkmen",
|
||||
},
|
||||
List{
|
||||
Id: "ak",
|
||||
Name: "Twi",
|
||||
},
|
||||
List{
|
||||
Id: "uk",
|
||||
Name: "Ukrainian",
|
||||
},
|
||||
List{
|
||||
Id: "ur",
|
||||
Name: "Urdu",
|
||||
},
|
||||
List{
|
||||
Id: "ug",
|
||||
Name: "Uyghur",
|
||||
},
|
||||
List{
|
||||
Id: "uz",
|
||||
Name: "Uzbek",
|
||||
},
|
||||
List{
|
||||
Id: "vi",
|
||||
Name: "Vietnamese",
|
||||
},
|
||||
List{
|
||||
Id: "cy",
|
||||
Name: "Welsh",
|
||||
},
|
||||
List{
|
||||
Id: "xh",
|
||||
Name: "Xhosa",
|
||||
},
|
||||
List{
|
||||
Id: "yi",
|
||||
Name: "Yiddish",
|
||||
},
|
||||
List{
|
||||
Id: "yo",
|
||||
Name: "Yoruba",
|
||||
},
|
||||
List{
|
||||
Id: "zu",
|
||||
Name: "Zulu",
|
||||
},
|
||||
}
|
||||
if listType == "sl" {
|
||||
auto := List{
|
||||
Id: "auto",
|
||||
Name: "Detect Language",
|
||||
}
|
||||
ListData = append(ListData, auto)
|
||||
}
|
||||
return ListData
|
||||
}
|
82
utils/langlist-libre.go
Normal file
82
utils/langlist-libre.go
Normal file
@ -0,0 +1,82 @@
|
||||
package utils
|
||||
|
||||
func LangListLibreTranslate(listType string) []List {
|
||||
var ListData = []List{
|
||||
List{
|
||||
Id: "en",
|
||||
Name: "English",
|
||||
},
|
||||
List{
|
||||
Id: "ar",
|
||||
Name: "Arabic",
|
||||
},
|
||||
List{
|
||||
Id: "zh",
|
||||
Name: "Chinese",
|
||||
},
|
||||
List{
|
||||
Id: "fr",
|
||||
Name: "French",
|
||||
},
|
||||
List{
|
||||
Id: "de",
|
||||
Name: "German",
|
||||
},
|
||||
List{
|
||||
Id: "hi",
|
||||
Name: "Hindi",
|
||||
},
|
||||
List{
|
||||
Id: "id",
|
||||
Name: "Indonesian",
|
||||
},
|
||||
List{
|
||||
Id: "ga",
|
||||
Name: "Irish",
|
||||
},
|
||||
List{
|
||||
Id: "it",
|
||||
Name: "Italian",
|
||||
},
|
||||
List{
|
||||
Id: "ja",
|
||||
Name: "Japanese",
|
||||
},
|
||||
List{
|
||||
Id: "ko",
|
||||
Name: "Korean",
|
||||
},
|
||||
List{
|
||||
Id: "pl",
|
||||
Name: "Polish",
|
||||
},
|
||||
List{
|
||||
Id: "pt",
|
||||
Name: "Portuguese",
|
||||
},
|
||||
List{
|
||||
Id: "ru",
|
||||
Name: "Russian",
|
||||
},
|
||||
List{
|
||||
Id: "es",
|
||||
Name: "Spanish",
|
||||
},
|
||||
List{
|
||||
Id: "tr",
|
||||
Name: "Turkish",
|
||||
},
|
||||
List{
|
||||
Id: "vi",
|
||||
Name: "Vietnamese",
|
||||
},
|
||||
}
|
||||
if listType == "sl" {
|
||||
auto := List{
|
||||
Id: "auto",
|
||||
Name: "Detect Language",
|
||||
}
|
||||
ListData = append(ListData, auto)
|
||||
}
|
||||
return ListData
|
||||
}
|
118
utils/langlist-reverso.go
Normal file
118
utils/langlist-reverso.go
Normal file
@ -0,0 +1,118 @@
|
||||
package utils
|
||||
|
||||
type List struct {
|
||||
Name string
|
||||
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{
|
||||
List{
|
||||
Id: "ar",
|
||||
Name: "Arabic",
|
||||
},
|
||||
List{
|
||||
Id: "zh",
|
||||
Name: "Chinese (Simplified)",
|
||||
},
|
||||
List{
|
||||
Id: "cs",
|
||||
Name: "Czech",
|
||||
},
|
||||
List{
|
||||
Id: "da",
|
||||
Name: "Danish",
|
||||
},
|
||||
List{
|
||||
Id: "nl",
|
||||
Name: "Dutch",
|
||||
},
|
||||
List{
|
||||
Id: "en",
|
||||
Name: "English",
|
||||
},
|
||||
List{
|
||||
Id: "fr",
|
||||
Name: "French",
|
||||
},
|
||||
List{
|
||||
Id: "de",
|
||||
Name: "German",
|
||||
},
|
||||
List{
|
||||
Id: "el",
|
||||
Name: "Greek",
|
||||
},
|
||||
List{
|
||||
Id: "he",
|
||||
Name: "Hebrew",
|
||||
},
|
||||
List{
|
||||
Id: "hi",
|
||||
Name: "Hindi",
|
||||
},
|
||||
List{
|
||||
Id: "hu",
|
||||
Name: "Hungarian",
|
||||
},
|
||||
List{
|
||||
Id: "it",
|
||||
Name: "Italian",
|
||||
},
|
||||
List{
|
||||
Id: "ja",
|
||||
Name: "Japanese",
|
||||
},
|
||||
List{
|
||||
Id: "ko",
|
||||
Name: "Korean",
|
||||
},
|
||||
List{
|
||||
Id: "per",
|
||||
Name: "Persian",
|
||||
},
|
||||
List{
|
||||
Id: "pl",
|
||||
Name: "Polish",
|
||||
},
|
||||
List{
|
||||
Id: "pt",
|
||||
Name: "Portugese",
|
||||
},
|
||||
List{
|
||||
Id: "ro",
|
||||
Name: "Romanian",
|
||||
},
|
||||
List{
|
||||
Id: "ru",
|
||||
Name: "Russian",
|
||||
},
|
||||
List{
|
||||
Id: "sk",
|
||||
Name: "Slovak",
|
||||
},
|
||||
List{
|
||||
Id: "es",
|
||||
Name: "Spanish",
|
||||
},
|
||||
List{
|
||||
Id: "sv",
|
||||
Name: "Swedish",
|
||||
},
|
||||
List{
|
||||
Id: "th",
|
||||
Name: "Thai",
|
||||
},
|
||||
List{
|
||||
Id: "tr",
|
||||
Name: "Turkish",
|
||||
},
|
||||
List{
|
||||
Id: "uk",
|
||||
Name: "Ukrainian",
|
||||
},
|
||||
}
|
||||
return ListData
|
||||
}
|
232
utils/langlist-watson.go
Normal file
232
utils/langlist-watson.go
Normal file
@ -0,0 +1,232 @@
|
||||
package utils
|
||||
|
||||
func LangListWatson(listType string) []List {
|
||||
// IDs got from https://www.loc.gov/standards/iso639-2/php/code_list.php and tested to make sure they work. Exceptions fr-CA zh-CN/TW
|
||||
var ListData = []List{
|
||||
List{
|
||||
Id: "ar",
|
||||
Name: "Arabic",
|
||||
},
|
||||
List{
|
||||
Id: "ba",
|
||||
Name: "Basque",
|
||||
},
|
||||
List{
|
||||
Id: "bn",
|
||||
Name: "Bengali",
|
||||
},
|
||||
List{
|
||||
Id: "bs",
|
||||
Name: "Bosnian",
|
||||
},
|
||||
List{
|
||||
Id: "bg",
|
||||
Name: "Bulgarian",
|
||||
},
|
||||
List{
|
||||
Id: "ca",
|
||||
Name: "Catalan",
|
||||
},
|
||||
List{
|
||||
Id: "zh",
|
||||
Name: "Chinese (Simplified)",
|
||||
},
|
||||
List{
|
||||
Id: "zh-TW",
|
||||
Name: "Chinese (Traditional)",
|
||||
},
|
||||
List{
|
||||
Id: "hr",
|
||||
Name: "Croatian",
|
||||
},
|
||||
List{
|
||||
Id: "cs",
|
||||
Name: "Czech",
|
||||
},
|
||||
List{
|
||||
Id: "da",
|
||||
Name: "Danish",
|
||||
},
|
||||
List{
|
||||
Id: "nl",
|
||||
Name: "Dutch",
|
||||
},
|
||||
List{
|
||||
Id: "et",
|
||||
Name: "Estonian",
|
||||
},
|
||||
List{
|
||||
Id: "fi",
|
||||
Name: "Finnish",
|
||||
},
|
||||
List{
|
||||
Id: "fr",
|
||||
Name: "French",
|
||||
},
|
||||
List{
|
||||
Id: "fr-CA",
|
||||
Name: "Canadian French",
|
||||
},
|
||||
List{
|
||||
Id: "de",
|
||||
Name: "German",
|
||||
},
|
||||
List{
|
||||
Id: "el",
|
||||
Name: "Greek",
|
||||
},
|
||||
List{
|
||||
Id: "gu",
|
||||
Name: "Gujarati",
|
||||
},
|
||||
List{
|
||||
Id: "he",
|
||||
Name: "Hebrew",
|
||||
},
|
||||
List{
|
||||
Id: "hi",
|
||||
Name: "Hindi",
|
||||
},
|
||||
List{
|
||||
Id: "hu",
|
||||
Name: "Hungarian",
|
||||
},
|
||||
List{
|
||||
Id: "id",
|
||||
Name: "Indonesian",
|
||||
},
|
||||
List{
|
||||
Id: "ga",
|
||||
Name: "Irish",
|
||||
},
|
||||
List{
|
||||
Id: "it",
|
||||
Name: "Italian",
|
||||
},
|
||||
List{
|
||||
Id: "ja",
|
||||
Name: "Japanese",
|
||||
},
|
||||
List{
|
||||
Id: "kn",
|
||||
Name: "Kannada",
|
||||
},
|
||||
List{
|
||||
Id: "ko",
|
||||
Name: "Korean",
|
||||
},
|
||||
List{
|
||||
Id: "lv",
|
||||
Name: "Latvian",
|
||||
},
|
||||
List{
|
||||
Id: "lt",
|
||||
Name: "Lithuanian",
|
||||
},
|
||||
List{
|
||||
Id: "ms",
|
||||
Name: "Malay",
|
||||
},
|
||||
List{
|
||||
Id: "ml",
|
||||
Name: "Malayalam",
|
||||
},
|
||||
List{
|
||||
Id: "mt",
|
||||
Name: "Maltese",
|
||||
},
|
||||
List{
|
||||
Id: "mr",
|
||||
Name: "Marathi",
|
||||
},
|
||||
List{
|
||||
Id: "cnr",
|
||||
Name: "Montenegrin",
|
||||
},
|
||||
List{
|
||||
Id: "ne",
|
||||
Name: "Nepali",
|
||||
},
|
||||
List{
|
||||
Id: "nb",
|
||||
Name: "Norwegian",
|
||||
},
|
||||
List{
|
||||
Id: "pl",
|
||||
Name: "Polish",
|
||||
},
|
||||
List{
|
||||
Id: "pt",
|
||||
Name: "Portugese",
|
||||
},
|
||||
List{
|
||||
Id: "pa",
|
||||
Name: "Punjabi",
|
||||
},
|
||||
List{
|
||||
Id: "ro",
|
||||
Name: "Romanian",
|
||||
},
|
||||
List{
|
||||
Id: "ru",
|
||||
Name: "Russian",
|
||||
},
|
||||
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: "sv",
|
||||
Name: "Swedish",
|
||||
},
|
||||
List{
|
||||
Id: "ta",
|
||||
Name: "Tamil",
|
||||
},
|
||||
List{
|
||||
Id: "te",
|
||||
Name: "Telugu",
|
||||
},
|
||||
List{
|
||||
Id: "th",
|
||||
Name: "Thai",
|
||||
},
|
||||
List{
|
||||
Id: "tr",
|
||||
Name: "Turkish",
|
||||
},
|
||||
List{
|
||||
Id: "uk",
|
||||
Name: "Ukrainian",
|
||||
},
|
||||
List{
|
||||
Id: "ur",
|
||||
Name: "Urdu",
|
||||
},
|
||||
List{
|
||||
Id: "vi",
|
||||
Name: "Vietnamese",
|
||||
},
|
||||
List{
|
||||
Id: "cy",
|
||||
Name: "Welsh",
|
||||
},
|
||||
}
|
||||
return ListData
|
||||
}
|
415
utils/langlist-yandex.go
Normal file
415
utils/langlist-yandex.go
Normal file
@ -0,0 +1,415 @@
|
||||
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",
|
||||
},
|
||||
}
|
||||
return ListData
|
||||
}
|
@ -1,526 +0,0 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"github.com/gocolly/colly"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type List struct {
|
||||
Name string
|
||||
Id string
|
||||
}
|
||||
|
||||
func LangListGoogle(listType string) []List {
|
||||
UserAgent, ok := os.LookupEnv("SIMPLYTRANSLATE_USER_AGENT")
|
||||
if !ok {
|
||||
UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
|
||||
}
|
||||
sc := colly.NewCollector(colly.AllowedDomains("translate.google.com"), colly.UserAgent(UserAgent))
|
||||
var ListData []List
|
||||
sc.OnHTML("div.root-container", func(e *colly.HTMLElement) {
|
||||
e.ForEach("div.language-item", func(i int, el *colly.HTMLElement) {
|
||||
var ListInfo List
|
||||
ListInfo.Name = el.ChildText("a")
|
||||
if listType == "tl" {
|
||||
ListInfo.Id = strings.TrimPrefix(strings.TrimSuffix(el.ChildAttr("a", "href"), "&hl=en-US"), "./m?sl=en&tl=")
|
||||
} else {
|
||||
ListInfo.Id = strings.TrimPrefix(strings.TrimSuffix(el.ChildAttr("a", "href"), "&tl=en&hl=en-US"), "./m?sl=")
|
||||
}
|
||||
ListData = append(ListData, ListInfo)
|
||||
})
|
||||
})
|
||||
url := "https://translate.google.com/m?sl=en&tl=en&hl=en-US&mui=" + listType
|
||||
sc.Visit(url)
|
||||
return ListData
|
||||
}
|
||||
func LangListLibreTranslate(listType string) []List {
|
||||
// TODO: Make it configurable
|
||||
libreTranslateOut := PostRequest("https://translate.argosopentech.com/languages", []byte(""))
|
||||
gjsonArr := libreTranslateOut.Array()
|
||||
var ListData []List
|
||||
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" {
|
||||
auto := List{
|
||||
Id: "auto",
|
||||
Name: "Detect Language",
|
||||
}
|
||||
ListData = append(ListData, auto)
|
||||
}
|
||||
return ListData
|
||||
}
|
||||
func LangListWatson(listType string) []List {
|
||||
// IDs got from https://www.loc.gov/standards/iso639-2/php/code_list.php and tested to make sure they work. Exceptions fr-CA zh-CN/TW
|
||||
var ListData = []List{
|
||||
List{
|
||||
Id: "ar",
|
||||
Name: "Arabic",
|
||||
},
|
||||
List{
|
||||
Id: "ba",
|
||||
Name: "Basque",
|
||||
},
|
||||
List{
|
||||
Id: "bn",
|
||||
Name: "Bengali",
|
||||
},
|
||||
List{
|
||||
Id: "bs",
|
||||
Name: "Bosnian",
|
||||
},
|
||||
List{
|
||||
Id: "bg",
|
||||
Name: "Bulgarian",
|
||||
},
|
||||
List{
|
||||
Id: "ca",
|
||||
Name: "Catalan",
|
||||
},
|
||||
List{
|
||||
Id: "zh",
|
||||
Name: "Chinese (Simplified)",
|
||||
},
|
||||
List{
|
||||
Id: "zh-TW",
|
||||
Name: "Chinese (Traditional)",
|
||||
},
|
||||
List{
|
||||
Id: "hr",
|
||||
Name: "Croatian",
|
||||
},
|
||||
List{
|
||||
Id: "cs",
|
||||
Name: "Czech",
|
||||
},
|
||||
List{
|
||||
Id: "da",
|
||||
Name: "Danish",
|
||||
},
|
||||
List{
|
||||
Id: "nl",
|
||||
Name: "Dutch",
|
||||
},
|
||||
List{
|
||||
Id: "et",
|
||||
Name: "Estonian",
|
||||
},
|
||||
List{
|
||||
Id: "fi",
|
||||
Name: "Finnish",
|
||||
},
|
||||
List{
|
||||
Id: "fr",
|
||||
Name: "French",
|
||||
},
|
||||
List{
|
||||
Id: "fr-CA",
|
||||
Name: "Canadian French",
|
||||
},
|
||||
List{
|
||||
Id: "de",
|
||||
Name: "German",
|
||||
},
|
||||
List{
|
||||
Id: "el",
|
||||
Name: "Greek",
|
||||
},
|
||||
List{
|
||||
Id: "gu",
|
||||
Name: "Gujarati",
|
||||
},
|
||||
List{
|
||||
Id: "he",
|
||||
Name: "Hebrew",
|
||||
},
|
||||
List{
|
||||
Id: "hi",
|
||||
Name: "Hindi",
|
||||
},
|
||||
List{
|
||||
Id: "hu",
|
||||
Name: "Hungarian",
|
||||
},
|
||||
List{
|
||||
Id: "id",
|
||||
Name: "Indonesian",
|
||||
},
|
||||
List{
|
||||
Id: "ga",
|
||||
Name: "Irish",
|
||||
},
|
||||
List{
|
||||
Id: "it",
|
||||
Name: "Italian",
|
||||
},
|
||||
List{
|
||||
Id: "ja",
|
||||
Name: "Japanese",
|
||||
},
|
||||
List{
|
||||
Id: "kn",
|
||||
Name: "Kannada",
|
||||
},
|
||||
List{
|
||||
Id: "ko",
|
||||
Name: "Korean",
|
||||
},
|
||||
List{
|
||||
Id: "lv",
|
||||
Name: "Latvian",
|
||||
},
|
||||
List{
|
||||
Id: "lt",
|
||||
Name: "Lithuanian",
|
||||
},
|
||||
List{
|
||||
Id: "ms",
|
||||
Name: "Malay",
|
||||
},
|
||||
List{
|
||||
Id: "ml",
|
||||
Name: "Malayalam",
|
||||
},
|
||||
List{
|
||||
Id: "mt",
|
||||
Name: "Maltese",
|
||||
},
|
||||
List{
|
||||
Id: "mr",
|
||||
Name: "Marathi",
|
||||
},
|
||||
List{
|
||||
Id: "cnr",
|
||||
Name: "Montenegrin",
|
||||
},
|
||||
List{
|
||||
Id: "ne",
|
||||
Name: "Nepali",
|
||||
},
|
||||
List{
|
||||
Id: "nb",
|
||||
Name: "Norwegian",
|
||||
},
|
||||
List{
|
||||
Id: "pl",
|
||||
Name: "Polish",
|
||||
},
|
||||
List{
|
||||
Id: "pt",
|
||||
Name: "Portugese",
|
||||
},
|
||||
List{
|
||||
Id: "pa",
|
||||
Name: "Punjabi",
|
||||
},
|
||||
List{
|
||||
Id: "ro",
|
||||
Name: "Romanian",
|
||||
},
|
||||
List{
|
||||
Id: "ru",
|
||||
Name: "Russian",
|
||||
},
|
||||
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: "sv",
|
||||
Name: "Swedish",
|
||||
},
|
||||
List{
|
||||
Id: "ta",
|
||||
Name: "Tamil",
|
||||
},
|
||||
List{
|
||||
Id: "te",
|
||||
Name: "Telugu",
|
||||
},
|
||||
List{
|
||||
Id: "th",
|
||||
Name: "Thai",
|
||||
},
|
||||
List{
|
||||
Id: "tr",
|
||||
Name: "Turkish",
|
||||
},
|
||||
List{
|
||||
Id: "uk",
|
||||
Name: "Ukrainian",
|
||||
},
|
||||
List{
|
||||
Id: "ur",
|
||||
Name: "Urdu",
|
||||
},
|
||||
List{
|
||||
Id: "vi",
|
||||
Name: "Vietnamese",
|
||||
},
|
||||
List{
|
||||
Id: "cy",
|
||||
Name: "Welsh",
|
||||
},
|
||||
}
|
||||
return ListData
|
||||
}
|
||||
func LangListReverso(listType string) []List {
|
||||
// IDs got from original simplytranslate-web and trial and error. Usually first three letters of language.
|
||||
var ListData = []List{
|
||||
List{
|
||||
Id: "ar",
|
||||
Name: "Arabic",
|
||||
},
|
||||
List{
|
||||
Id: "zh",
|
||||
Name: "Chinese (Simplified)",
|
||||
},
|
||||
List{
|
||||
Id: "cs",
|
||||
Name: "Czech",
|
||||
},
|
||||
List{
|
||||
Id: "da",
|
||||
Name: "Danish",
|
||||
},
|
||||
List{
|
||||
Id: "nl",
|
||||
Name: "Dutch",
|
||||
},
|
||||
List{
|
||||
Id: "en",
|
||||
Name: "English",
|
||||
},
|
||||
List{
|
||||
Id: "fr",
|
||||
Name: "French",
|
||||
},
|
||||
List{
|
||||
Id: "de",
|
||||
Name: "German",
|
||||
},
|
||||
List{
|
||||
Id: "el",
|
||||
Name: "Greek",
|
||||
},
|
||||
List{
|
||||
Id: "he",
|
||||
Name: "Hebrew",
|
||||
},
|
||||
List{
|
||||
Id: "hi",
|
||||
Name: "Hindi",
|
||||
},
|
||||
List{
|
||||
Id: "hu",
|
||||
Name: "Hungarian",
|
||||
},
|
||||
List{
|
||||
Id: "it",
|
||||
Name: "Italian",
|
||||
},
|
||||
List{
|
||||
Id: "ja",
|
||||
Name: "Japanese",
|
||||
},
|
||||
List{
|
||||
Id: "ko",
|
||||
Name: "Korean",
|
||||
},
|
||||
List{
|
||||
Id: "per",
|
||||
Name: "Persian",
|
||||
},
|
||||
List{
|
||||
Id: "pl",
|
||||
Name: "Polish",
|
||||
},
|
||||
List{
|
||||
Id: "pt",
|
||||
Name: "Portugese",
|
||||
},
|
||||
List{
|
||||
Id: "ro",
|
||||
Name: "Romanian",
|
||||
},
|
||||
List{
|
||||
Id: "ru",
|
||||
Name: "Russian",
|
||||
},
|
||||
List{
|
||||
Id: "sk",
|
||||
Name: "Slovak",
|
||||
},
|
||||
List{
|
||||
Id: "es",
|
||||
Name: "Spanish",
|
||||
},
|
||||
List{
|
||||
Id: "sv",
|
||||
Name: "Swedish",
|
||||
},
|
||||
List{
|
||||
Id: "th",
|
||||
Name: "Thai",
|
||||
},
|
||||
List{
|
||||
Id: "tr",
|
||||
Name: "Turkish",
|
||||
},
|
||||
List{
|
||||
Id: "uk",
|
||||
Name: "Ukrainian",
|
||||
},
|
||||
}
|
||||
return ListData
|
||||
}
|
||||
func LangListDeepl(listType string) []List {
|
||||
// IDs got from deepl.com/translator
|
||||
// Every time you change language, the # will get updated with the lang code.
|
||||
var ListData = []List{
|
||||
List{
|
||||
Id: "bg",
|
||||
Name: "Bulgarian",
|
||||
},
|
||||
List{
|
||||
Id: "zh",
|
||||
Name: "Chinese",
|
||||
},
|
||||
List{
|
||||
Id: "cs",
|
||||
Name: "Czech",
|
||||
},
|
||||
List{
|
||||
Id: "da",
|
||||
Name: "Danish",
|
||||
},
|
||||
List{
|
||||
Id: "nl",
|
||||
Name: "Dutch",
|
||||
},
|
||||
List{
|
||||
Id: "en",
|
||||
Name: "English",
|
||||
},
|
||||
List{
|
||||
Id: "et",
|
||||
Name: "Estonian",
|
||||
},
|
||||
List{
|
||||
Id: "fi",
|
||||
Name: "Finnish",
|
||||
},
|
||||
List{
|
||||
Id: "fr",
|
||||
Name: "French",
|
||||
},
|
||||
List{
|
||||
Id: "de",
|
||||
Name: "Germany",
|
||||
},
|
||||
List{
|
||||
Id: "el",
|
||||
Name: "Greek",
|
||||
},
|
||||
List{
|
||||
Id: "hu",
|
||||
Name: "Hungarian",
|
||||
},
|
||||
List{
|
||||
Id: "id",
|
||||
Name: "Indonesian",
|
||||
},
|
||||
List{
|
||||
Id: "it",
|
||||
Name: "Italian",
|
||||
},
|
||||
List{
|
||||
Id: "ja",
|
||||
Name: "Japanese",
|
||||
},
|
||||
List{
|
||||
Id: "ko",
|
||||
Name: "Korean",
|
||||
},
|
||||
List{
|
||||
Id: "lv",
|
||||
Name: "Latvian",
|
||||
},
|
||||
List{
|
||||
Id: "lt",
|
||||
Name: "Lithuanian",
|
||||
},
|
||||
List{
|
||||
Id: "nb",
|
||||
Name: "Norwegian",
|
||||
},
|
||||
List{
|
||||
Id: "pl",
|
||||
Name: "Polish",
|
||||
},
|
||||
List{
|
||||
Id: "pt",
|
||||
Name: "Portugese",
|
||||
},
|
||||
List{
|
||||
Id: "ro",
|
||||
Name: "Romanian",
|
||||
},
|
||||
List{
|
||||
Id: "ru",
|
||||
Name: "Russian",
|
||||
},
|
||||
List{
|
||||
Id: "sk",
|
||||
Name: "Slovak",
|
||||
},
|
||||
List{
|
||||
Id: "sl",
|
||||
Name: "Slovenian",
|
||||
},
|
||||
List{
|
||||
Id: "es",
|
||||
Name: "Spanish",
|
||||
},
|
||||
List{
|
||||
Id: "sv",
|
||||
Name: "Swedish",
|
||||
},
|
||||
List{
|
||||
Id: "tr",
|
||||
Name: "Turkish",
|
||||
},
|
||||
List{
|
||||
Id: "uk",
|
||||
Name: "Ukrainian",
|
||||
},
|
||||
}
|
||||
if listType == "sl" {
|
||||
auto := List{
|
||||
Id: "auto",
|
||||
Name: "Detect Language",
|
||||
}
|
||||
ListData = append(ListData, auto)
|
||||
}
|
||||
return ListData
|
||||
}
|
87
utils/retrieve.go
Normal file
87
utils/retrieve.go
Normal file
@ -0,0 +1,87 @@
|
||||
package utils
|
||||
|
||||
//import (
|
||||
// "github.com/gocolly/colly"
|
||||
// "os"
|
||||
// "strings"
|
||||
//)
|
||||
//
|
||||
//type List struct {
|
||||
// Name string
|
||||
// Id string
|
||||
//}
|
||||
//// To get new language lists for google yandex and libertranslate.
|
||||
//func LangListGoogle(listType string) []List {
|
||||
// UserAgent, ok := os.LookupEnv("SIMPLYTRANSLATE_USER_AGENT")
|
||||
// if !ok {
|
||||
// UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
|
||||
// }
|
||||
// sc := colly.NewCollector(colly.AllowedDomains("translate.google.com"), colly.UserAgent(UserAgent))
|
||||
// var ListData []List
|
||||
// sc.OnHTML("div.root-container", func(e *colly.HTMLElement) {
|
||||
// e.ForEach("div.language-item", func(i int, el *colly.HTMLElement) {
|
||||
// var ListInfo List
|
||||
// ListInfo.Name = el.ChildText("a")
|
||||
// if listType == "tl" {
|
||||
// ListInfo.Id = strings.TrimPrefix(strings.TrimSuffix(el.ChildAttr("a", "href"), "&hl=en-US"), "./m?sl=en&tl=")
|
||||
// } else {
|
||||
// ListInfo.Id = strings.TrimPrefix(strings.TrimSuffix(el.ChildAttr("a", "href"), "&tl=en&hl=en-US"), "./m?sl=")
|
||||
// }
|
||||
// ListData = append(ListData, ListInfo)
|
||||
// })
|
||||
// })
|
||||
// url := "https://translate.google.com/m?sl=en&tl=en&hl=en-US&mui=" + listType
|
||||
// sc.Visit(url)
|
||||
// return ListData
|
||||
//}
|
||||
//func LangListLibreTranslate(listType string) []List {
|
||||
// // TODO: Make it configurable
|
||||
// libreTranslateOut := PostRequest("https://translate.argosopentech.com/languages", []byte(""))
|
||||
// gjsonArr := libreTranslateOut.Array()
|
||||
// var ListData []List
|
||||
// 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" {
|
||||
// auto := List{
|
||||
// Id: "auto",
|
||||
// Name: "Detect Language",
|
||||
// }
|
||||
// ListData = append(ListData, auto)
|
||||
// }
|
||||
// return ListData
|
||||
//}
|
||||
//func LangListYandex(listType string) []List {
|
||||
// UserAgent, ok := os.LookupEnv("SIMPLYTRANSLATE_USER_AGENT")
|
||||
// if !ok {
|
||||
// UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
|
||||
// }
|
||||
// sc := colly.NewCollector(colly.AllowedDomains("localhost:8000"), colly.UserAgent(UserAgent))
|
||||
// var ListData []List
|
||||
// sc.OnHTML("table.langs", func(e *colly.HTMLElement) {
|
||||
// if listType == "sl" {
|
||||
// e.ForEach("select[name='from'] option", func(i int, el *colly.HTMLElement) {
|
||||
// var ListInfo List
|
||||
// ListInfo.Name = el.Text
|
||||
// ListInfo.Id = el.Attr("value")
|
||||
// ListData = append(ListData, ListInfo)
|
||||
// })
|
||||
// } else {
|
||||
// e.ForEach("select[name='to'] option", func(i int, el *colly.HTMLElement) {
|
||||
// var ListInfo List
|
||||
// ListInfo.Name = el.Text
|
||||
// ListInfo.Id = el.Attr("value")
|
||||
// ListData = append(ListData, ListInfo)
|
||||
// })
|
||||
//
|
||||
// }
|
||||
// })
|
||||
// // Static version of translate.yandex.net nojs/mobile version
|
||||
// url := "http://localhost:8000/index.html"
|
||||
// sc.Visit(url)
|
||||
// return ListData
|
||||
//}
|
||||
//
|
Loading…
Reference in New Issue
Block a user