Recognizers-Text узел js не поддерживает английский языкДругие "en- *" как культура Есть ли обходной путь? - PullRequest
0 голосов
/ 16 мая 2019

Проект node.js Recognizer-Text не поддерживает EnglishOthers "en- *" как культуру, но в проекте Dot-Net это так. Поэтому, когда я пытаюсь получить формат даты и времени, отличный от MM / DD, он не работает, когда пользователь говорит по-английски, но он не из США.

Я использовал ответ, возвращающийся прямо от Луиса, затем я изменил свой подход и попробовал методы, предоставляемые SDK. Но я обнаружил, что метод node.js "Recognizers.recognizeDateTime" не поддерживает EnglishOthers.

Воспроизвести

Пользователь из Великобритании: "забронировать номер с 10/06/2019 по 12/06/2019" (период 2 дня с 10 июня по 12 июня)

const result= Recognizers.recognizeDateTime(
    args.text,
    Recognizers.Culture.EnglishOthers
  );

Результат

Возвращает период в 61 день, результат с 06 октября по 06 декабря.

result[0].resolution.values[0] = 
{
    end: "2019-12-06",
    start: "2019-10-06",
    timex: "(2019-10-06,2019-12-06,P61D)",
    type: "daterange"
}

Ожидаемое поведение

Recognizer-Text node.js должен иметь возможность принимать EnglishOthers и возвращать период в течение 2 дней 'P2D'.

result[0].resolution.values[0] = 
{
    end: "2019-12-06",
    start: "2019-10-06",
    timex: "(2019-10-06,2019-12-06,P2D)",
    type: "daterange"
}

Дополнительный контекст

Dot-Net список культур: - https://github.com/Microsoft/Recognizers-Text/blob/master/.NET/Microsoft.Recognizers.Text/Culture.cs

Node.js список культур: - https://github.com/microsoft/Recognizers-Text/blob/master/JavaScript/packages/recognizers-text/src/culture.ts

...