Neat Video plug-ins for VirtualDub

Neat Video plug-ins for VirtualDub версия 3.0 для систем Windows 32-бит
  1. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Подожди еще... Там еще байда со шрифтами - MS Shell Dll 2, что то сильно подозрительно кое-что напоминает. Еще поковыряюсь и отпишусь...Добавлено (07.02.2013, 16:48:52)
    ---------------------------------------------
    Leserg, можешь назвать какие строки переводятся именно в 1251 кодировке, а не в UTF-8? Там видимо нужно дописывать кусок своего кода. Почти у цели, но еще поковыряюсь...
    7 февраля 2013 - 18:48 / #11
  2. Оффлайн

    Автор темы

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Цитата: Nexus
    Leserg, можешь назвать какие строки переводятся именно в 1251 кодировке, а не в UTF-8?


    Что ты имеешь в виду? Пока в проекте переведено 457 строк. Из них 65 в кодировке windows-1251, остальные - UTF-8. Те строки, что в кодировке windows-1251, часть отображается корректно, часть нет (кракозябры). В основном это строки, которые формируют сообщения различного характера (некоторые я указывал выше). Многие из этих сообщений я не могу получить при работе с плагином, поэтому не могу точно знать, какая там должна быть кодировка и верно ли отображается перевод.



    Вот еще раз пример сообщения (корректный вид сообщения нарисован в графическом редакторе):


    Кто ищет, тот всегда найдет!

    12 февраля 2013 - 00:43 / #12
  3. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Цитата: Quote77
    Из них 65 в кодировке windows-1251, остальные - UTF-8

    Судя по коду, прога делит сообщения на UNICODE и UTF-8. Причем, UTF-8 она переводит все равно в Юникод. Она даже не задействует ни одной кодовой таблицы! Даже кодовую талицу по умолчанию не использует. Как ты можешь переводить в 1251 и отображается нормально?! Это просто невозможно! Или Радиаликс пишет на экране одно, а все переганяет в другое, я ведь шаблонником не пользуюсь, поэтому и не знаю... В любом случае я уже близко у цели, PUSH 0 - это просто флаг разветвления подпрограмм. Стоит 0 - сообщение уходит на обработку подпрограммы, которая игнорирует UTF-8 символы. Например, File по-русски Файл в UTF-8 HEX пишется как D0A4D0B0D0B9D0BB, подпрога же тупо вставляет в памяти между ними нули - D000A400D000B000D000B900D000BB и получается белиберда. Стоит PUSH 1 - уходит сообщение на подпрограмму трансформации UTF-8 в UNICODE. Сейчас и занимаюсь переносом этого куска кода куда нужно.
    12 февраля 2013 - 13:33 / #13
  4. Оффлайн

    Автор темы

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Цитата: Nexus
    Как ты можешь переводить в 1251 и отображается нормально?!


    Но так и есть! Radialix работает верно (как показывает так и делает). Вот смотри в НЕХ-редакторе, часть секции с переведенными строками, которые добавил Radialix. Согласно выбранным установкам кодировок для строк, они так и записаны.


    Кто ищет, тот всегда найдет!

    12 февраля 2013 - 14:06 / #14
  5. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Ха! Значит я ошибся! Просто этот кусок кода не увидел. Я то думал что нужно строки переводить с UTF-8 в Юникод. А тут, оказывается, еще берется кодстраница по умолчанию. Ну так это совсем другое дело! Вбивай некорректные строки не в UTF-8, а в 1251 кодировке. А в самом файле нужны вот такие очередные изменения :
    По смещению 00 0E AD 46 поменять E8 B5 52 FF FF на E8 05 74 FF FF
    Это CALL 100E0C00 меняется на CALL 100E2D50.
    CALL 100E0C00 просто встраивает между символами нули, например, A1 A2 A3 - будет A1 00 A2 00 A3 00. Ну а в Юникоде такое содержание знаете как будет отображаться...
    CALL 100E2D50 уже использует API функцию MultiByteToWideChar, где перед ним устанавливается флаг "Использовать кодовую страницу по умолчанию CP_ACP". Вот она и нужна была.
    Нужно еще плагин тестить, может где бока вылезут.
    13 февраля 2013 - 02:57 / #15
  6. Оффлайн

    Veikko

    Забанен

    Сообщений: 127

    Создано тем: 6

    Репа: 0

    Баллы: 0

    Был: 2015-02-18 11:15

    Лайков: 1

    Буквально до сегодня бился с такой проблемой. При переводе файла qm основной перевод отображается верно, часть - кракозябры. Манипуляции с кодовыми страницами ничего не дали. Читал на каком-то форуме - некоторые программы подгружают свой определенный шрифт. Короче говоря, проблему победил - но пока сам не понял как. Смех и грех - просидел часов 16, перепробовал все возможное. Случайно получилось. Возможно, плагин использует свой встроенный фонт, а Винда его неправильно интерпретирует. Получается так - прога обращается при работе к своему фонту, стандартному для Винды, но не поддерживающему кириллицу. Винда подменяет на стандартный, например, Ариал. А в настройках фонта 0. Типа пустая страница и менять не из чего. Не знаю, насколько понятно написал - для меня это тоже первый случай.
    13 февраля 2013 - 03:50 / #16
  7. Оффлайн

    Автор темы

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Цитата: Nexus
    Короче говоря, проблему победил


    Ты напиши последовательность действий, где и что менял и на какие данные менял. Со временем может станет ясно. Лично у меня это первый опыт работы с приложениями на QT. И как я вижу, способы использования этой библиотеки может быть разный, но проблем от неё с кодировками выше крыши. Мне вот интересно, Radialix для "чистых" приложений QT позволяет установить кодек, небольшой файл QTPatch32.1251.dll. Так вот, что он делает и каков механизм работы с ним локализованного файла. upset

    Добавлено:
    Проверил на скорую руку - РАБОТАЕТ!



    Но по правде не понял, это только для одного сообщения будет работать или для всех строк в кодировке windows-1251? А ладно, утро вечера мудренее.

    Кто ищет, тот всегда найдет!

    13 февраля 2013 - 04:31 / #17
  8. Оффлайн

    Veikko

    Забанен

    Сообщений: 127

    Создано тем: 6

    Репа: 0

    Баллы: 0

    Был: 2015-02-18 11:15

    Лайков: 1

    Последовательность такова. Подменил файл c_1252.nls физически, а не в реестре. Перезагрузка. Установил в языковой панели все выходы на русский. В Радиаликсе сменил шрифт  перевода на Ариал. Х...знает как получилось. Но работает. Да - екзешник пропатчил с установкой кодека. Поставил заплатку (кодек) на QT. Екзешник тоже в проект загнал. Там так нахомутали - все равно часть строк в коде переводить. Не пойми как это работает. Но кракозябры исчезли!!! Перевел пять строк в коде - аналогичные в файле qm поставил - только для чтения. Запускаю оригинальный екзешник - показывает траблы. Запускаю патченый - все на русском корректно. Ты, Сергей, извини, что так пишу - сделать иногда могу, рассказать - язык заплетаецца... Что делает QTPatch32.1251.dll - точно не знаю, вероятно поправляет кодовые таблицы или фонты. Возможно, лучше написать Головину - он всегда оперативно поддерживает.
    Не по теме: UPX Радиаликс корректно распаковывает автоматом. Полагаю, Головин мог бы Радиаликсу прикрутить возможность распаковывать многие защиты... Только авторские права и прочая бла-бла-бла... Возможно, если попросить в привате за толику малую... То-же касается ресурсов, которые Радиаликс не ест.
    13 февраля 2013 - 05:41 / #18
  9. Оффлайн

    Автор темы

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Кому интересно или очень надо, тестируем переведенный плагин:

    Если ошибок и замечаний не будет, то считайте это окончательным вариантом.
    Особая благодарность Nexus. Без его помощи перевод был бы невозможен.

    Цитата: Veikko
    лучше написать Головину - он всегда оперативно поддерживает.


    Веришь, нет. Но я уже второй месяц пишу и отправляю баг-репорты - ни привета, ни ответа. Да и посмотри на форум поддержки, впечатление, что проект умер.

    Кто ищет, тот всегда найдет!

    14 февраля 2013 - 18:48 / #19
  10. Оффлайн

    Автор темы

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    На текущий момент (17.02.2013 16:37) файл плагина скачали 36 раз. Раз замечаний нет, значит всех все устраивает. Посему...

    ПРОЕКТ ЗАКРЫТ!

    Кто ищет, тот всегда найдет!

    17 февраля 2013 - 18:38 / #20

Статистика форума, пользователей онлайн: 1 (за последние 20 минут)

Создано тем
1197
Всего сообщений
15762
Пользователей
18015
Новый участник
HELIUM