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


Ignore:
Timestamp:
Aug 30, 2023, 11:57:46 AM (22 months ago)
Author:
manerakai
Message:

Added gofiber

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/engines/google.go

    r12 r15  
    1515func (_ *GoogleTranslate) DisplayName() string { return "Google" }
    1616
    17 func (_ *GoogleTranslate) getLangs(type_ string) ([]Language, error) {
     17func (_ *GoogleTranslate) getLangs(type_ string) (Language, error) {
    1818        var langsType string
    1919        switch type_ {
     
    2828        }
    2929
    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")
    3631
    3732        query := url.Values{}
     
    5449        }
    5550
    56         var langs []Language
     51        var langs Language
    5752
    5853        doc.Find(".language-item").Each(func(_ int, s *goquery.Selection) {
     
    7873                }
    7974
    80                 langs = append(langs, Language{Name: a.Text(), Code: langCode})
     75                langs[langCode] = a.Text()
    8176        })
    8277
     
    8479}
    8580
    86 func (e *GoogleTranslate) SourceLanguages() ([]Language, error) {
     81func (e *GoogleTranslate) SourceLanguages() (Language, error) {
    8782        return e.getLangs("source")
    8883}
    8984
    90 func (e *GoogleTranslate) TargetLanguages() ([]Language, error) {
     85func (e *GoogleTranslate) TargetLanguages() (Language, error) {
    9186        return e.getLangs("target")
    9287}
    9388
    94 func (_ *GoogleTranslate) SupportsAutodetect() bool { return true }
     89func (_ *GoogleTranslate) DetectLanguage(text string) (string, error) { return "", nil }
    9590
    96 func (_ *GoogleTranslate) DetectLanguage(text string) (Language, error) { return Language{}, nil }
     91func (_ *GoogleTranslate) Translate(text string, from, to string) (TranslationResult, error) {
     92        requestURL, _ := url.Parse("https://translate.google.com/m")
    9793
    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"
    10496        }
    10597
    10698        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)
    110102        query.Add("q", text)
    111103        requestURL.RawQuery = query.Encode()
Note: See TracChangeset for help on using the changeset viewer.