Amazon Translate API, как перевести большой текст HTML - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь перевести большой 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;
    }
}
...