Skip to content

Учитывать параметр --lang при разборе массива субтитров #5

Description

@OCTAGRAM

В текущей логике, похоже, учитывается только --reslang, целевой язык, но не исходный --lang. Я по ошибке запросил переводы с английского на английский и с английского на русский. А видео было на русском, и английские субтитры получились без перевода, на русском. Типа хотели субтитры на английском без перевода, а на видео говорили на другом понятном языке, и этот понятный язык тоже без перевода пошёл в субтитры. Я потом исправил ошибку и запросил субтитры с русского на русский и с русского на английский, но vot-cli-live качает фигню. Вот те закешированные типа-английские субтитры, которые на самом деле русские. А я массив JSON проверил, там нормальные английские субтитры появились, но качаются не они. Я сам попробовал скачать, а там субтитры в формате JSON, с которыми не понятно, что делать. Онлайн конвертер JSON 2 SRT ожидает формат TED JSON, а у Яндекса формат какой-то другой.

Предположительно, это нужно делать так:

const subOnReqLang = parent.translateResult.subsOrError.find(
  (s) => s.language === RESPONSE_LANG && s.translatedFromLanguage === REQUEST_LANG,
) || parent.translateResult.subsOrError.find(
  (s) => s.language === RESPONSE_LANG,
);

UPD. Этот мой пример, похоже, всё ещё не вполне учитывает ситуацию субтитров без перевода. Когда нет перевода, то RESPONSE_LANG === REQUEST_LANG === s.language, а s.translatedFromLanguage undefined, и по-хорошему надо искать именно такой вариант, а вдруг он будет отличаться от варианта, когда была сделана попытка перевести с другого языка. Мало ли с какими запросами в Яндекс лезут, а там это всё остаётся

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions