Да, существует несколько бесплатных API для перевода текста на Java. Ниже я расскажу о двух популярных вариантах:
1. Yandex.Translate API:
Yandex.Translate API предоставляет бесплатный сервис для машинного перевода. С его помощью можно осуществлять перевод текста с одного языка на другой. Для использования API вам необходимо зарегистрироваться на сайте Яндекса и получить API-ключ. Затем вы можете использовать этот ключ для отправки HTTP-запросов к API и получения переводов.
Пример использования Yandex.Translate API:
import org.apache.http.HttpEntity; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.util.EntityUtils; import java.io.IOException; import java.net.URLEncoder; public class Translator { public static String translate(String text, String sourceLang, String targetLang) throws IOException { String url = "https://translate.yandex.net/api/v1.5/tr.json/translate"; String apiKey = "YOUR_API_KEY"; String encodedText = URLEncoder.encode(text, "UTF-8"); String fullUrl = url + "?key=" + apiKey + "&text=" + encodedText + "&lang=" + sourceLang + "-" + targetLang; HttpClient httpClient = HttpClientBuilder.create().build(); HttpGet request = new HttpGet(fullUrl); HttpEntity entity = httpClient.execute(request).getEntity(); String result = EntityUtils.toString(entity); return result; } public static void main(String[] args) throws IOException { String translatedText = translate("Hello, how are you?", "en", "fr"); System.out.println(translatedText); } }
2. Google Translate API:
Google Translate API предоставляет бесплатный сервис машинного перевода от компании Google. Однако, в декабре 2020 года Google перешел на платную модель, поэтому теперь для использования этого API необходимо создать проект в Google Cloud Console, включить Google Translate API для этого проекта, получить API-ключ и активировать его путем оплаты услуг.
Пример использования Google Translate API:
import com.google.cloud.translate.Translate; import com.google.cloud.translate.TranslateOptions; import com.google.cloud.translate.Translation; public class Translator { public static String translate(String text, String sourceLang, String targetLang) { Translate translate = TranslateOptions.getDefaultInstance().getService(); Translation translation = translate.translate(text, Translate.TranslateOption.sourceLanguage(sourceLang), Translate.TranslateOption.targetLanguage(targetLang)); return translation.getTranslatedText(); } public static void main(String[] args) { String translatedText = translate("Hello, how are you?", "en", "fr"); System.out.println(translatedText); } }
Указанные примеры позволят выполнить перевод текста с использованием бесплатных API. Обратите внимание на то, что для каждого API вам может потребоваться зарегистрировать аккаунт и получить API-ключ.