Простой пример реализации сервиса перводов Google Cloud Translation API на C#
Для работы коду нужно устанвоить в проект через NuGet библиотеку Google.Cloud.Translation.V2
public class TranslateServiceGoogle
{
public int MaxTextLenght => 4999;
private readonly string apiKey;
private TranslationClient _client;
private TranslationClient Client => _client ?? (_client = TranslationClient.CreateFromApiKey(apiKey));
public TranslateServiceGoogle(string apiKey)
{
this.apiKey = apiKey;
}
public string TranslateText(
string text,
string languageFrom,
string languageTo
)
{
if (string.IsNullOrWhiteSpace(text)) return "";
CheckTranslatebleText(text);
var res = Client.TranslateText(text, languageTo, languageFrom);
return res.TranslatedText;
}
public string TranslateHtml(
string text,
string languageFrom,
string languageTo
)
{
if (string.IsNullOrWhiteSpace(text))
return "";
CheckTranslatebleText(text);
var response = Client.TranslateHtml(text, languageTo, languageFrom);
return response.TranslatedText;
}
public void CheckTranslatebleText(string text)
{
if (text.Length > MaxTextLenght)
{
throw new ArgumentOutOfRangeException($"Недопустимый размер текста ({text.Length} символов) в блоке!");
}
}
}
см. также
Сравнение сервисов облачных переводов Microsoft Azure Translator Text API и Google Cloud Translation API
Для работы коду нужно устанвоить в проект через NuGet библиотеку Google.Cloud.Translation.V2
public class TranslateServiceGoogle
{
public int MaxTextLenght => 4999;
private readonly string apiKey;
private TranslationClient _client;
private TranslationClient Client => _client ?? (_client = TranslationClient.CreateFromApiKey(apiKey));
public TranslateServiceGoogle(string apiKey)
{
this.apiKey = apiKey;
}
public string TranslateText(
string text,
string languageFrom,
string languageTo
)
{
if (string.IsNullOrWhiteSpace(text)) return "";
CheckTranslatebleText(text);
var res = Client.TranslateText(text, languageTo, languageFrom);
return res.TranslatedText;
}
public string TranslateHtml(
string text,
string languageFrom,
string languageTo
)
{
if (string.IsNullOrWhiteSpace(text))
return "";
CheckTranslatebleText(text);
var response = Client.TranslateHtml(text, languageTo, languageFrom);
return response.TranslatedText;
}
public void CheckTranslatebleText(string text)
{
if (text.Length > MaxTextLenght)
{
throw new ArgumentOutOfRangeException($"Недопустимый размер текста ({text.Length} символов) в блоке!");
}
}
}
см. также
Сравнение сервисов облачных переводов Microsoft Azure Translator Text API и Google Cloud Translation API
Комментариев нет:
Отправить комментарий