google-translate icon indicating copy to clipboard operation
google-translate copied to clipboard

Error: search-failed ",tkk:'"

Open jumper047 opened this issue 3 years ago • 9 comments

Error appears when I trying to translate someghing. There is debugger output:

Debugger entered--Lisp error: (search-failed ",tkk:'")
  search-forward(",tkk:'")
  google-translate--search-tkk()
  google-translate--get-b-d1()
  google-translate--gen-tk("test")
  google-translate--request("en" "ru" "test")
  google-translate-request("en" "ru" "test")
  google-translate-translate("en" "ru" "test")
  %google-translate-query-translate(nil nil)
  google-translate-query-translate(nil)
  #<subr funcall-interactively>(google-translate-query-translate nil)
  apply(#<subr funcall-interactively> (google-translate-query-translate nil))
  funcall-interactively(google-translate-query-translate nil)
  #<subr call-interactively>(google-translate-query-translate nil nil)
  apply(#<subr call-interactively> (google-translate-query-translate nil nil))
  explain-pause--wrap-call-interactively(#<subr call-interactively> google-translate-query-translate nil nil)
  apply(explain-pause--wrap-call-interactively #<subr call-interactively> (google-translate-query-translate nil nil))
  call-interactively(google-translate-query-translate nil nil)
  command-execute(google-translate-query-translate)

jumper047 avatar Oct 28 '20 18:10 jumper047

I’m having the same issue. Apparently the tkk doesn’t always appear on the page anymore. This is very crude, but seems to work:

(defun google-translate--search-tkk ()
  "Get the Token-Key from the page buffer."
  (let (downloaded)
    (setq downloaded (shell-command-to-string "curl -s --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18' 'https://translate.google.com' | sed 's/,/\\n,/g' | grep ',tkk'"))
    (print downloaded)
    (with-temp-buffer (insert downloaded)
		      (goto-char 0)
		      (re-search-forward ",tkk:'\\([0-9]+\\)\\.\\([0-9]+\\)")
		      (list (string-to-number (match-string 1))
			    (string-to-number (match-string 2))))))

Sometimes it appears not to work on the first time, but on the second one it does work. I have no idea why.

parjanya avatar Nov 05 '20 01:11 parjanya

I also have same issue. There is some discussion in https://github.com/atykhonov/google-translate/issues/52 I found that following way also works Ok:

(defun google-translate--search-tkk ()
  "Search TKK."
  (list 430675 2721866130))

leuven65 avatar Nov 09 '20 10:11 leuven65

(defun google-translate--search-tkk () "Search TKK." (list 430675 2721866130))

I was messing around for ages and finally this form works for using straight/use-package. The require in the :init was the key. Zero clues as to why.


     (use-package google-translate
       :demand t
       :init
            (require 'google-translate)

       :functions (my-google-translate-at-point google-translate--search-tkk)
       :custom
       (google-translate-backend-method 'curl)
       :config
       (defun google-translate--search-tkk () "Search TKK." (list 430675 2721866130))
       (defun my-google-translate-at-point()
         "reverse translate if prefix"
         (interactive)
         (if current-prefix-arg
             (google-translate-at-point)
           (google-translate-at-point-reverse)))
       :bind
       ("C-t". my-google-translate-at-point))

rileyrg avatar Nov 16 '20 19:11 rileyrg

Same issue here. 😕

@atykhonov @stardiviner Any idea? Thanks!

jcs090218 avatar Dec 10 '20 04:12 jcs090218

@jcs090218 As upper mentioned #52 problem. For now, there is no prefect solution. You can use upper temporary solution. Seems Google Translate return different values on different machines and requests.

stardiviner avatar Dec 10 '20 05:12 stardiviner

they changed their API: https://github.com/Boudewijn26/gTTS-token/blob/master/docs/november-2020-translate-changes.md

parjanya avatar Dec 10 '20 07:12 parjanya

Check out this old issue #52 for more information.

stardiviner avatar Dec 19 '20 10:12 stardiviner

confirm that: Contacting host: translate.google.com:80 uncompressing publicsuffix.txt.gz...done Opening TLS connection to ‘translate.google.com’... Opening TLS connection with ‘gnutls-cli --x509cafile /etc/pki/tls/certs/ca-bundle.crt -p 443 translate.google.com’...done Opening TLS connection to ‘translate.google.com’...done google-translate--search-tkk: Search failed: ",tkk:'" Package tls is deprecated

dodona2 avatar Feb 24 '21 06:02 dodona2

2 months later, still a mess: Contacting host: translate.google.com:80 Opening TLS connection to ‘translate.google.com’... Opening TLS connection with ‘gnutls-cli --x509cafile /etc/pki/tls/certs/ca-bundle.crt -p 443 translate.google.com’...done Opening TLS connection to ‘translate.google.com’...done Opening TLS connection to ‘consent.google.com’... Opening TLS connection with ‘gnutls-cli --x509cafile /etc/pki/tls/certs/ca-bundle.crt -p 443 consent.google.com’...done Opening TLS connection to ‘consent.google.com’...done Opening TLS connection to ‘consent.google.com’... Opening TLS connection with ‘gnutls-cli --x509cafile /etc/pki/tls/certs/ca-bundle.crt -p 443 consent.google.com’...done Opening TLS connection to ‘consent.google.com’...done google-translate--search-tkk: Search failed: ",tkk:'" Package tls is deprecated

dodona2 avatar Apr 28 '21 18:04 dodona2