Changeset 15 in code for trunk/engines/google.go
- Timestamp:
- Aug 30, 2023, 11:57:46 AM (22 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/engines/google.go
r12 r15 15 15 func (_ *GoogleTranslate) DisplayName() string { return "Google" } 16 16 17 func (_ *GoogleTranslate) getLangs(type_ string) ( []Language, error) {17 func (_ *GoogleTranslate) getLangs(type_ string) (Language, error) { 18 18 var langsType string 19 19 switch type_ { … … 28 28 } 29 29 30 requestURL, err := url.Parse("https://translate.google.com/m") 31 32 if err != nil { 33 // The URL is constant, so it should never fail. 34 panic(err) 35 } 30 requestURL, _ := url.Parse("https://translate.google.com/m") 36 31 37 32 query := url.Values{} … … 54 49 } 55 50 56 var langs []Language51 var langs Language 57 52 58 53 doc.Find(".language-item").Each(func(_ int, s *goquery.Selection) { … … 78 73 } 79 74 80 langs = append(langs, Language{Name: a.Text(), Code: langCode})75 langs[langCode] = a.Text() 81 76 }) 82 77 … … 84 79 } 85 80 86 func (e *GoogleTranslate) SourceLanguages() ( []Language, error) {81 func (e *GoogleTranslate) SourceLanguages() (Language, error) { 87 82 return e.getLangs("source") 88 83 } 89 84 90 func (e *GoogleTranslate) TargetLanguages() ( []Language, error) {85 func (e *GoogleTranslate) TargetLanguages() (Language, error) { 91 86 return e.getLangs("target") 92 87 } 93 88 94 func (_ *GoogleTranslate) SupportsAutodetect() bool { return true}89 func (_ *GoogleTranslate) DetectLanguage(text string) (string, error) { return "", nil } 95 90 96 func (_ *GoogleTranslate) DetectLanguage(text string) (Language, error) { return Language{}, nil } 91 func (_ *GoogleTranslate) Translate(text string, from, to string) (TranslationResult, error) { 92 requestURL, _ := url.Parse("https://translate.google.com/m") 97 93 98 func (_ *GoogleTranslate) Translate(text string, from, to Language) (TranslationResult, error) { 99 requestURL, err := url.Parse("https://translate.google.com/m") 100 101 if err != nil { 102 // The URL is constant, so it should never fail. 103 panic(err) 94 if from == "" { 95 from = "auto" 104 96 } 105 97 106 98 query := url.Values{} 107 query.Add("sl", from .Code)108 query.Add("tl", to .Code)109 query.Add("hl", to .Code)99 query.Add("sl", from) 100 query.Add("tl", to) 101 query.Add("hl", to) 110 102 query.Add("q", text) 111 103 requestURL.RawQuery = query.Encode()
Note:
See TracChangeset
for help on using the changeset viewer.