Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Реализация API DeepL с TIdHTTP в Delphi

Delphi , Интернет и Сети , URL

DeepL API позволяет переводить текст с одного языка на другой. Чтобы использовать API DeepL в своем приложении на Delphi, можно воспользоваться компонентом TIdHTTP из библиотеки Indy.

Подготовка к работе с API DeepL

Прежде чем начать работу с API DeepL, необходимо зарегистрироваться на сайте DeepL и получить свой уникальный ключ доступа (auth_key).

Реализация запроса к API DeepL с помощью TIdHTTP

Для реализации запроса к API DeepL с помощью TIdHTTP в Delphi можно воспользоваться следующим кодом:

uses
  IdHTTP;

procedure TranslateTextUsingDeepLAPI(const InputText, TargetLanguage: string);
var
  IdHTTPRequest: TIdHTTP;
  PostData: TStringList;
begin
  IdHTTPRequest := TIdHTTP.Create(nil);
  try
    PostData := TStringList.Create;
    try
      PostData.Add('auth_key=[yourAuthKey]'); // Замените [yourAuthKey] на свой уникальный ключ доступа
      PostData.Add('text=' + InputText);
      PostData.Add('target_lang=' + TargetLanguage);

      ResponseJSON := IdHTTPRequest.Post('https://api-free.deepl.com/v2/translate', PostData);
    finally
      PostData.Free;
    end;

    // Обработка полученного JSON-ответа
    // ...
  finally
    IdHTTPRequest.Free;
  end;
end;

В данном примере создается объект TIdHTTP и TStringList, в который добавляются параметры запроса: auth_key, текст для перевода и целевой язык. Затем выполняется POST-запрос к API DeepL с помощью метода Post() объекта TIdHTTP. Ответ от сервера сохраняется в переменную ResponseJSON.

Обработка полученного JSON-ответа

Полученный JSON-ответ можно обработать с помощью библиотек, таких как JVCL.JSON или SuperObject. Например, с помощью JVCL.JSON можно распарсить JSON-ответ и извлечь текст перевода следующим образом:

uses
  JvJSONUtils;

procedure ParseDeepLResponse(const ResponseJSON: string);
var
  JSONData: TJSONValue;
begin
  JSONData := TJSON::StringToJSONValue(ResponseJSON);

  if JSONData.IsArray then
  begin
    for var i := 0 to JSONData.ArrayLength - 1 do
    begin
      var Translation := JSONData[i];
      if Translation.IsObject then
      begin
        var DetectedSourceLanguage := Translation.GetValue('detected_source_language').AsString;
        var TranslatedText := Translation.GetValue('text').AsString;

        // Обработка перевода
        // ...
      end;
    end;
  end;
end;

В данном примере JSON-ответ распарсивается с помощью метода StringToJSONValue() класса TJSON, после чего извлекается текст перевода с помощью методов GetValue() и AsString().

Заключение

В данной статье был рассмотрен пример реализации запроса к API DeepL с помощью компонента TIdHTTP в Delphi. Используя данный подход, можно создавать приложения, которые переводят текст с одного языка на другой с помощью API DeepL.

Создано по материалам из источника по ссылке.

Реализация API DeepL с TIdHTTP в Delphi: использование компонента TIdHTTP для перевода текста с одного языка на другой с помощью API DeepL.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: URL ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-15 22:11:52/0.0033438205718994/0