SRT 时间戳中的 Microsoft 翻译分钟在荷兰语翻译中被删除

Microsoft Translator Minutes in a SRT timestamp gets removed in Dutch translation

URI:https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=NL&from=EN&category=General&textType=html

示例文本 (JSON) 内容:[{"text":"00:03:00.300 --> 00:03:08.300"} ]

结果:[{"translations":[{"text":"00:03:00.300--> 00:08.300","to":"nl"}]}]

在结果中,分钟位置中的 3 被简单地从结果中删除...仅在结束时隙中。奇怪的是,这似乎只发生在数字 3 上。

问题:荷兰人有这种行为有什么原因吗?这是翻译服务中的错误吗?我用其他几种语言进行了测试,它似乎特定于荷兰语。

我没有在代码中做任何特别花哨的事情。下面的 responseBody 已经包含返回的奇数数据。

        using (var httpClient = new HttpClient())
        {
            using (var request = new HttpRequestMessage())
            {
                request.Method = HttpMethod.Post;
                request.RequestUri = new Uri(uri);
                request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
                request.Headers.Add("Authorization", token);

                var response = await httpClient.SendAsync(request);
                var responseBody = await response.Content.ReadAsStringAsync();
                if (response.IsSuccessStatusCode)
                {
                    //Logic on success
                }
            }
        }

如果需要任何其他信息,请告诉我。这似乎是一个特别奇怪的结果。

可能会发生任意字符串生成任意 "translations"。 最好避免将时间戳传递给翻译。 对于 SRT 文件翻译,除了时间戳之外还有更多需要考虑的因素。还需要在翻译前将多行合并为一行,翻译后再拆分。

这是一个执行这两项操作的示例: https://github.com/MicrosoftTranslator/DocumentTranslator/blob/master/TranslationAssistant.Business/SRTTranslationManager.cs