Changeset 20 in code for trunk/engines/google.go


Ignore:
Timestamp:
Aug 31, 2023, 8:28:02 AM (22 months ago)
Author:
manerakai
Message:

Improved code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/engines/google.go

    r15 r20  
    3636
    3737        response, err := http.Get(requestURL.String())
    38 
    3938        if err != nil {
    4039                return nil, err
     
    4443
    4544        doc, err := goquery.NewDocumentFromReader(response.Body)
    46 
    4745        if err != nil {
    4846                return nil, err
    4947        }
    5048
    51         var langs Language
     49        var langs Language = make(Language)
    5250
    5351        doc.Find(".language-item").Each(func(_ int, s *goquery.Selection) {
     
    5553
    5654                href, exists := a.Attr("href")
    57 
    58                 // Shouldn't happen, but here goes.
    5955                if !exists {
    6056                        return
     
    6258
    6359                langURL, err := url.Parse(href)
    64 
    6560                if err != nil {
    6661                        return
     
    6863
    6964                langCode := langURL.Query()[langsType][0]
    70 
    71                 if langCode == "auto" {
    72                         return
    73                 }
    7465
    7566                langs[langCode] = a.Text()
     
    8576func (e *GoogleTranslate) TargetLanguages() (Language, error) {
    8677        return e.getLangs("target")
     78}
     79
     80func (e *GoogleTranslate) Tts(text, lang string) (string, error) {
     81        requestURL, _ := url.Parse("https://translate.google.com/translate_tts")
     82
     83        query := url.Values{}
     84        query.Add("tl", lang)
     85        query.Add("q", text)
     86        query.Add("client", "tw-ob")
     87        requestURL.RawQuery = query.Encode()
     88
     89        return requestURL.String(), nil
    8790}
    8891
Note: See TracChangeset for help on using the changeset viewer.