mirror of
https://github.com/SqrtMinusOne/reverso.el.git
synced 2025-12-10 15:53:02 +03:00
fix: language list & update grammar API
This commit is contained in:
parent
c2c6ee2f19
commit
af0e7b5b75
1 changed files with 74 additions and 47 deletions
121
reverso.el
121
reverso.el
|
|
@ -96,26 +96,34 @@
|
||||||
:type 'integer
|
:type 'integer
|
||||||
:group 'reverso)
|
:group 'reverso)
|
||||||
|
|
||||||
;; This mapping is also a source of all available languages
|
;; This mapping is also the source of all available languages
|
||||||
(defconst reverso--language-mapping
|
(defconst reverso--language-mapping
|
||||||
'((english . eng)
|
'((arabic . ara)
|
||||||
(german . ger)
|
(chinese . chi)
|
||||||
(spanish . spa)
|
(czech . cze)
|
||||||
(arabic . ara)
|
(danish . dan)
|
||||||
|
(dutch . dut)
|
||||||
|
(english . eng)
|
||||||
(french . fra)
|
(french . fra)
|
||||||
|
(german . ger)
|
||||||
|
(greek . gre)
|
||||||
(hebrew . heb)
|
(hebrew . heb)
|
||||||
|
(hindi . hin)
|
||||||
|
(hungarian . hun)
|
||||||
(italian . ita)
|
(italian . ita)
|
||||||
(japanese . jpn)
|
(japanese . jpn)
|
||||||
(dutch . dut)
|
(korean . kor)
|
||||||
|
(persian . per)
|
||||||
(polish . pol)
|
(polish . pol)
|
||||||
(portuguese . por)
|
(portuguese . por)
|
||||||
(romanian . rum)
|
(romanian . rum)
|
||||||
(russian . rus)
|
(russian . rus)
|
||||||
(ukrainian . ukr)
|
(slovak . slo)
|
||||||
(turkish . tur)
|
(spanish . spa)
|
||||||
(chinese . chi)
|
|
||||||
(swedish . swe)
|
(swedish . swe)
|
||||||
(korean . kor))
|
(thai . tha)
|
||||||
|
(turkish . tur)
|
||||||
|
(ukrainian . ukr))
|
||||||
"Mapping from long language names to short ones.
|
"Mapping from long language names to short ones.
|
||||||
|
|
||||||
This one is used for the translation queries.")
|
This one is used for the translation queries.")
|
||||||
|
|
@ -140,7 +148,7 @@ This one is used for the translation queries.")
|
||||||
This one is used for the synonym queries.")
|
This one is used for the synonym queries.")
|
||||||
|
|
||||||
(defconst reverso--right-to-left-languages
|
(defconst reverso--right-to-left-languages
|
||||||
'(arabic hebrew)
|
'(arabic hebrew persian)
|
||||||
"List of languages that are written from right to left.")
|
"List of languages that are written from right to left.")
|
||||||
|
|
||||||
(defcustom reverso-languages (mapcar #'car reverso--language-mapping)
|
(defcustom reverso-languages (mapcar #'car reverso--language-mapping)
|
||||||
|
|
@ -149,13 +157,12 @@ This one is used for the synonym queries.")
|
||||||
collect (list 'const (car cell)))))
|
collect (list 'const (car cell)))))
|
||||||
|
|
||||||
(defconst reverso--languages
|
(defconst reverso--languages
|
||||||
'((translation . (arabic german english spanish french hebrew italian
|
`((translation . ,(mapcar #'car reverso--language-mapping))
|
||||||
japanese dutch polish portuguese romanian russian
|
|
||||||
swedish turkish ukrainian chinese))
|
|
||||||
(context . (arabic german english spanish french hebrew italian
|
(context . (arabic german english spanish french hebrew italian
|
||||||
japanese dutch polish portuguese romanian
|
japanese dutch polish portuguese romanian
|
||||||
russian swedish turkish ukrainian chinese))
|
russian swedish turkish ukrainian chinese
|
||||||
(grammar . (english french))
|
korean))
|
||||||
|
(grammar . (english french spanish italian))
|
||||||
(synonyms . (arabic german english spanish french hebrew italian
|
(synonyms . (arabic german english spanish french hebrew italian
|
||||||
japanese dutch polish portuguese romanian
|
japanese dutch polish portuguese romanian
|
||||||
russian)))
|
russian)))
|
||||||
|
|
@ -166,37 +173,45 @@ This one is used for the synonym queries.")
|
||||||
. ((arabic . (english german spanish french hebrew italian
|
. ((arabic . (english german spanish french hebrew italian
|
||||||
portuguese russian turkish ukrainian))
|
portuguese russian turkish ukrainian))
|
||||||
(german . (arabic english spanish french hebrew italian
|
(german . (arabic english spanish french hebrew italian
|
||||||
japanese dutch polish portuguese romanian
|
japanese korean dutch polish portuguese
|
||||||
russian swedish turkish ukrainian))
|
romanian russian swedish turkish ukrainian))
|
||||||
(english . (arabic german spanish french hebrew italian
|
(english . (arabic german spanish french hebrew italian
|
||||||
japanese dutch polish portuguese romanian
|
japanese korean dutch polish portuguese
|
||||||
russian swedish turkish ukrainian chinese))
|
romanian russian swedish turkish ukrainian chinese))
|
||||||
(spanish . (arabic german english french hebrew italian
|
(spanish . (arabic german english french hebrew italian
|
||||||
japanese dutch polish portuguese romanian
|
japanese korean dutch polish portuguese
|
||||||
russian swedish turkish chinese ukrainian))
|
romanian russian swedish turkish chinese
|
||||||
|
ukrainian))
|
||||||
(french . (arabic german spanish english hebrew italian
|
(french . (arabic german spanish english hebrew italian
|
||||||
japanese dutch polish portuguese romanian
|
japanese korean dutch polish portuguese
|
||||||
russian swedish turkish chinese ukrainian))
|
romanian russian swedish turkish chinese
|
||||||
(hebrew . (arabic german english spanish french italian dutch
|
ukrainian))
|
||||||
portuguese russian ukrainian))
|
(hebrew . (arabic german english spanish french italian korean
|
||||||
(italian . (arabic german english spanish french hebrew
|
dutch portuguese russian ukrainian))
|
||||||
|
(italian . (arabic german english spanish french hebrew korean
|
||||||
japanese dutch polish portuguese romanian
|
japanese dutch polish portuguese romanian
|
||||||
russian swedish turkish ukrainian))
|
russian swedish turkish ukrainian))
|
||||||
(japanese . (german english spanish french italian portuguese
|
(korean . (english ukrainian))
|
||||||
russian ukrainian))
|
(japanese . (german english spanish french italian korean
|
||||||
(dutch . (german english spanish french hebrew italian
|
|
||||||
portuguese russian ukrainian))
|
portuguese russian ukrainian))
|
||||||
(polish . (german english spanish french italian ukrainian))
|
(dutch . (german english spanish french hebrew italian korean
|
||||||
(portuguese . (arabic german english spanish french hebrew italian
|
portuguese russian ukrainian))
|
||||||
japanese dutch russian turkish ukrainian))
|
(polish . (german english spanish french italian korean
|
||||||
(romanian . (german english spanish french italian turkish ukrainian))
|
ukrainian))
|
||||||
(russian . (arabic german english spanish french hebrew italian
|
(portuguese . (arabic german english spanish french hebrew
|
||||||
japanese dutch portuguese ukrainian))
|
italian korean japanese dutch russian
|
||||||
(swedish . (german english spanish french italian ukrainian))
|
turkish ukrainian))
|
||||||
|
(romanian . (german english spanish french italian korean
|
||||||
|
turkish ukrainian))
|
||||||
|
(russian . (arabic german english spanish french hebrew
|
||||||
|
italian japanese korean dutch portuguese
|
||||||
|
ukrainian))
|
||||||
|
(swedish . (german english spanish french italian korean
|
||||||
|
ukrainian))
|
||||||
(turkish . (arabic german english spanish french italian
|
(turkish . (arabic german english spanish french italian
|
||||||
portuguese romanian ukrainian))
|
korean portuguese romanian ukrainian))
|
||||||
(ukrainian . (english))
|
(ukrainian . (english korean))
|
||||||
(chinese . (english french spanish ukrainian))))
|
(chinese . (english french spanish korean ukrainian))))
|
||||||
;; They've changed this multiple times while I've been working at
|
;; They've changed this multiple times while I've been working at
|
||||||
;; the package. Finally it seems like every language is
|
;; the package. Finally it seems like every language is
|
||||||
;; compatible with every other, at least for the usual
|
;; compatible with every other, at least for the usual
|
||||||
|
|
@ -544,13 +559,25 @@ The result is an alist with the following keys:
|
||||||
- `:category': category of the correction, if available"
|
- `:category': category of the correction, if available"
|
||||||
(unless (member language (alist-get 'grammar reverso--languages))
|
(unless (member language (alist-get 'grammar reverso--languages))
|
||||||
(error "Wrong language: %s" language))
|
(error "Wrong language: %s" language))
|
||||||
(request (concat (alist-get 'grammar reverso--urls)
|
(request (alist-get 'grammar reverso--urls)
|
||||||
"?text=" (url-hexify-string text)
|
:type "POST"
|
||||||
"&language=" (symbol-name
|
:data (json-encode
|
||||||
(alist-get language reverso--language-mapping))
|
`((IsUserPremium . :json-false)
|
||||||
"&getCorrectionDetails=true")
|
(autoReplace . t)
|
||||||
:type "GET"
|
(englishDialect . "indifferent")
|
||||||
:headers `(("Accept" . "*/*")
|
(getCorrectionDetails . t)
|
||||||
|
(interfaceLanguage . "en")
|
||||||
|
(isHtml . :json-false)
|
||||||
|
(language . ,(alist-get language reverso--language-mapping))
|
||||||
|
(locale . "")
|
||||||
|
(origin . "interactive")
|
||||||
|
(originalText . "")
|
||||||
|
(spellingFeedbackOptions
|
||||||
|
. ((insertFeedback . t)
|
||||||
|
(userLoggedOn . :json-false)))
|
||||||
|
(text . ,text)))
|
||||||
|
:headers `(("Content-Type" . "application/json")
|
||||||
|
("Accept" . "*/*")
|
||||||
("Connection" . "keep-alive")
|
("Connection" . "keep-alive")
|
||||||
("User-Agent" . ,reverso--user-agent))
|
("User-Agent" . ,reverso--user-agent))
|
||||||
:parser 'json-read
|
:parser 'json-read
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue