如何在 Indy TidHTTP 中使用 DeepL API curl 命令?

How to use DeepL API curl command with Indy TidHTTP?

https://www.deepl.com 的示例请求:

curl https://api-free.deepl.com/v2/translate \
 -d auth_key=[yourAuthKey] \
 -d "text=Hello world!" \
 -d "target_lang=DE"

示例响应:

{"translations": [{
                   "detected_source_language":"EN",
                   "text":"Hallo Welt!"
                 }]
}

我想使用 Indy 的 TIdHTTP 组件在 Delphi 11 中实现上述示例,但我无法将现有答案转化为对我来说可行的解决方案。

该 curl 示例的 TIdHTTP 等效项是将包含 name=value 对的 TStrings 对象传递给 TIdHTTP.Post() 方法,例如:

PostData := TStringList.Create;
try
  PostData.Add('auth_key=[yourAuthKey]');
  PostData.Add('text=Hello, world!');
  PostData.Add('target_lang=DE');
  Response := IdHTTP.Post('https://api-free.deepl.com/v2/translate', PostData);
finally
  PostData.Free;
end;