Changeset 20 in code for trunk/engines


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

Improved code

Location:
trunk/engines
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/engines/engine.go

    r15 r20  
    1313        Translate(text string, from, to string) (TranslationResult, error)
    1414        DetectLanguage(text string) (string, error)
     15        Tts(text, lang string) (string, error)
    1516}
    1617
     
    1819
    1920var Engines = map[string]Engine{
    20         "google":   &GoogleTranslate{},
    21         "icibia":   &ICIBA{},
    22         "libre":    &LibreTranslate{},
     21        "google": &GoogleTranslate{},
     22        // "icibia":   &ICIBA{},
     23        // "libre":    &LibreTranslate{},
    2324        "reverseo": &Reverso{},
    2425}
  • 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
  • trunk/engines/iciba.go

    r15 r20  
    226226
    227227func (_ *ICIBA) Translate(text string, from, to string) (TranslationResult, error) {
    228         requestURL, err := url.Parse("https://ifanyi.iciba.com/index.php")
    229 
    230         if err != nil {
    231                 // The URL is constant, so it should never fail.
    232                 panic(err)
    233         }
     228        requestURL, _ := url.Parse("https://ifanyi.iciba.com/index.php")
    234229
    235230        query := url.Values{}
     
    240235
    241236        sum := md5.Sum([]byte(("6key_web_fanyiifanyiweb8hc9s98e" + text)))
    242 
    243237        query.Add("sign", hex.EncodeToString(sum[:])[:16])
    244238
     
    251245
    252246        response, err := http.PostForm(requestURL.String(), formData)
    253 
    254247        if err != nil {
    255248                return TranslationResult{}, err
     
    287280        }, nil
    288281}
     282
     283func (_ *ICIBA) Tts(text, lang string) (string, error) { return "", nil }
  • trunk/engines/libretranslate.go

    r15 r20  
    6363
    6464func (e *LibreTranslate) TargetLanguages() (Language, error) { return e.getLangs() }
     65
     66func (e *LibreTranslate) Tts(text, lang string) (string, error) { return "", nil }
    6567
    6668type libreDetectResponse []struct {
  • trunk/engines/reverso.go

    r15 r20  
    4646
    4747func (_ *Reverso) TargetLanguages() (Language, error) { return reversoLangs, nil }
     48
     49func (_ *Reverso) Tts(text, lang string) (string, error) { return "", nil }
    4850
    4951type reversoAPIResponse struct {
Note: See TracChangeset for help on using the changeset viewer.