Я пытаюсь перевести большой HTML-текст с помощью Amazon Translate API, и у меня возникла проблема с этим, поскольку существует ограничение максимального размера документа на запрос, равное 5000 байт.Поэтому, когда текст больше, у меня появляется ошибка.
Решение Amazon для этого состоит в том, чтобы разделить текст на мелкие кусочки, а затем перевести каждый из них по отдельности.Сейчас я использую регулярное выражение для разбиения на предложения string[] sentences = Regex.Split(str, @"(?<=[.!?])\s+(?=[A-Z])");
, но, к сожалению, это мешает с тегами HTML.
У кого-нибудь есть решение для этого?
Мой код выглядит так:
public string Translate(string destinationLng, string str2Translate)
{
try
{
var req = new Amazon.Translate.Model.TranslateTextRequest();
req.SourceLanguageCode = "en";
req.TargetLanguageCode = destinationLng;
req.Text = str2Translate;
var response = _client.TranslateText(req);
return response.TranslatedText;
}
catch (Exception)
{
return str2Translate;
}
}