Субтитры на иностранных языках – борьба с абракадаброй

30.05.2012 Раздел: Статьи » Музыка и кино

Приятно и эффективно изучать иностранные языки по фильмам.


Очень удобно, когда при просмотре фильма можно переключать звуковые дорожки с оригинала на перевод и подключать внешние субтитры в формате srt, тоже либо с русским переводом фильма, либо с оригинальным текстом. Если язык субтитров – английский, никаких проблем не возникает. А если французский, испанский, чешский? В алфавитах этих языков используются диакритики и буквы, которых нет в 26-буквенной латинице. Часто при подключении таких субтитров мы видим, что эти буквы заменяются на буквы русского алфавита, что превращает субтитры в неудобоваримую кашу.

Выясним, почему это происходит, и тогда решение будет простым.

Начнем с истоков. На заре компьютерной эры каждый символ текста – буква, цифра, знак препинания и т.д. кодировался одним байтом. Это минимальная единица обмена информацией. Сам же байт состоит из 8-и битов – компьютерных нулей и единиц. Таким образом, размерность байта позволяет кодировать 256 разных символов. Количество 256 вполне достаточно, чтобы закодировать любой буквенный алфавит в отдельности, плюс цифры, знаки препинания и некоторые другие символы. Однако необходимо было договориться, как какие алфавиты кодировать. Поэтому были придуманы различные кодовые страницы. У всех этих систем кодировок 1-я половина таблицы: от 0 до 127 – неизменна. Она содержит 26 букв стандартной латиницы, арабские цифры, знаки препинания и некоторые управляющие символы. А вот интерпретация 2-й части таблицы как раз и отличает одну кодовую страницу от другой. Например, «Кириллицу» (русский, сербский и др.) от «Западноевропейской» (французский, испанский и др.), «Центральноевропейской» (чешский, румынский и др.) и т.д.

Таким образом, если текст закодирован по принципу «один байт – один символ», и в нем использовались буквы, не входящие в стандартную латиницу, компьютерная программа для его отображения должна знать, какую кодовую страницу использовать.

Если такая информация не предоставлена, программа использует кодовую страницу, установленную на компьютере по умолчанию. Естественно, в самом тексте, закодированном таким аскетичным образом, этой информации нет. Следовательно, если текст – на французском, а Windows настроена под русскоязычного пользователя, вместо французских букв с диакритиками мы увидим буквы кириллицы, что превратит текст в маловразумительную кашу.

Как решить эту проблему?

Способ 1. Самый тупой.

Настроить компьютер так, чтобы кодовая страница по умолчанию соответствовала кодировке субтитров. В Windows это окно «Пуск / Панель управления / Язык и региональные стандарты». В этом окне выбираем вкладку «Дополнительно». В панели «Язык программ, не поддерживающих Юникод» в выпадающем списке выбираем нужный язык. Например, французский. Перезагружаем компьютер и смотрим фильм, наслаждаясь французскими субтитрами.

Почему этот способ тупой? После такой настройки в некоторых древних программах информация на русском языке превратится в абракадабру и вы не сможете в них работать.

  1. Если вы захотите прямо во время просмотра переключиться на русские субтитры, вам придется снова лезть в «Панель управления», возвращать русский язык и перезагружать компьютер. Глупо, не правда ли?
  2. Но самое смешное, что и это не обязательно поможет, и вам все равно придется лезть в настройки плеера. Может оказаться и так, что плеер откажется проигрывать фильм, так как не поймет кириллического пути к файлу.

2-й способ: старательный.

Теперь, когда мы хорошо представляем, в чем суть проблемы, логично предположить, что плееры для просмотра фильма должны предоставлять выбор из разных кодовых страниц.

Так оно и есть. Например, если у вас установлен универсальный набор кодеков и утилит K-Lite Codec Pack, при загруженном фильме щелкните по зеленой стрелке DirectVobSub в правом нижнем углу экрана. Откроется окно, в котором можно выбрать кодировку. Например, ANSI(0) и набор символов – западноевропейский.

3-й способ: прогрессивный.

Но допустим, вам лень рыться в настройках плеера. Да и зачем нужна эта морока с переключением кодовых страниц? Кроме однобайтовой кодировки ANSI давным-давно существует универсальная система кодирования Юникод и основанные на ней способы кодировки – UTF-8, UTF-16, UTF-32, которые позволяют даже в одном тексте кодировать символы разных языков, в том числе – китайские иероглифы. Это достигается за счет того, что символ может кодироваться не одним байтом, а двумя и больше. Например, в кодировке UTF-8 все символы из первой половины стандартной однобайтовой таблицы остаются без изменений и занимают 1 байт, а буквы кириллицы – 2 байта, и охватывают определенный диапазон. Французские буквы с диакритиками – другой диапазон и т.д. Разумеется, современные компьютерные программы понимают такую кодировку – и редакторы, и плееры.

Так что просто откроем файл субтитров в редакторе Word. Программа предложит вам выбрать кодовую страницу и покажет в окне предварительного просмотра, как будет выглядеть текст. Затем выполним команду «Сохранить как». Тип файла выберем «Обычный текст». Опять откроется окно выбора кодировки. Выбираем Unicode (UTF-8) и сохраняем. Все! Больше вам не нужно думать о выборе кодовой страницы!

Комментарии: 0
Теги материала:

Если видео не загружается, то напишите об этом в комментариях плз
Интересные материалы по теме:

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Авторизация
Twitter
Наша кнопка

Код нашей кнопки:

MADDYSON.RU - сайт Ильи Мэддисона
© Copyright, Maddyson.ru - Видеоблог и официальный сайт Ильи Мэддисона (Maddyson)
Обзоры игр, обзоры фильмов, скетчи. Ваши публикации
Копирование материалов с сайта допускается только при наличии активной гиперссылки.

Сайт размещен у Inferno Solutions