diff --git a/autoload/deepl.vim b/autoload/deepl.vim index 44db456..c182cc6 100644 --- a/autoload/deepl.vim +++ b/autoload/deepl.vim @@ -1,14 +1,15 @@ " Send a translation request to deepl using curl function! deepl#translate(input, target_lang, source_lang = "") let cmd = "curl -sS " .. g:deepl#endpoint - let cmd = cmd .. ' -d "auth_key=' .. g:deepl#auth_key .. '"' - let cmd = cmd .. ' -d ' .. shellescape('text=' .. a:input) - let cmd = cmd .. ' -d "target_lang=' .. a:target_lang .. '"' + let json = { "text": [ a:input ], "target_lang": a:target_lang } if a:source_lang != "" - let cmd = cmd .. ' -d "source_lang=' .. a:source_lang .. '"' + let json['source_lang'] = a:source_lang endif + let cmd = cmd .. ' -H "Authorization: DeepL-Auth-Key ' .. g:deepl#auth_key .. '"' + let cmd = cmd .. ' --json ' .. shellescape(json_encode(json)) + try const res = json_decode(system(cmd)) return res["translations"][0]["text"]