Этот сайт создан как клуб русификаторщиков. Для нас существуют три основных правила.
1. Мы никому и ничего не должны!
2.Один пришедший на сайт толковый русификаторщик дороже всех пользователей.
3. Мы делаем русификаторы для своего сайта, но в оригинале ими могут пользоваться все в интернете.
Leserg Точно не вспомню, нужно почту почитать. Но похожее решение предлагал Nexus. К сожалеию это не выход так как тут ключевое не мне создать файл а конечным пользователям. Хм, как же я так лоханулся скрин вставил)) Pencil Там его и нет, к слову написал, употребив в том смысле что такие слова легкие никуда не денутся. Подразумевая картинку как на скриншоте который не вставил.
Это же относится к файлам находящимся в DepotPlayer Bars (это имена флеш файлов отвечающих за вывод имени в окне тем оформления плеера). не проблема это.
К сожалеию это не выход так как тут ключевое не мне создать файл а конечным пользователям.
Да ясно, что не вам. Я адресовал свое сообщение в первую очередь пользователям, они тоже здесь бывают и почитывают наши сообщения. Было бы неплохо в шапке упомянуть об этой проблеме и как можно из неё выкрутиться. Кстати, я немного протупил по поводу редактирования в текстовом редакторе. Даже не надо ничего редактировать, если использовать Notepad++. Просто меняем кодировку на ANSI, а потом преобразовываем в UTF-8 и сохраняем.
Да это чепуха, если предустановленные имена эффектов останутся на оригинале. В целом, перевод мне понравился. А агрегатор, полагаю, мало кто будет использовать. Хотя сама идея прикольная, что-то типа панели навигации для коллекции флешвидео.
Вышло обновление программы Tanida Demo Builder 10. Есть кряк, но кряк кривой, и в его работе присутствуют ошибки. Может кто то посмотреть понимающий в этом деле? Подробности опишу в ЛС. Спасибо.
Согласитесь, ерунда получается: при вводе легко допустить ошибку, которую заметишь только потом. Исправлять её тоже затруднительно - легче набрать текст заново. В любом случае это неудобство в работе с программой.
Исправляется эта беда при помощи отладчика. Необходимо проверить функции создания логического шрифта CreateFont и CreateFontIndirect (см. руководство "Логический шрифт"). В данном конкретном случае в одной функции CreateFontIndirect (по адресу 00477706) в свойствах логического шрифта используется набор символов ANSI_CHARSET.
Я использовал набор символов DEFAULT_CHARSET вместо RUSSIAN_CHARSET, т.к. во всех функциях CreateFont приложения использован набор DEFAULT_CHARSET - на системах с русской локалью текст на русском будет отображаться корректно. Но если хотите, можете задать RUSSIAN_CHARSET.
Сохраните изменения в файле. Теперь при вводе текста на русском он будет отображаться корректно.
2) После экспорта проекта в готовый файл и его запуска текст, введенный кириллицей, отображается кракозябрами.
Почему такое происходит? Это ошибка программиста. Файл проекта *.aggregator (это XML-документ) записывается в кодировке UTF-8, а вот строки с названиями пунктов записываются в кодировке ANSI. Если вы откроете файл проекта в текстовом редакторе, то увидите такую картину:
Кодировка документа UTF-8, а строки записаны в кодировке ANSI. Бред! Естественно в файле экспорта кириллица будет отображаться некорректно. Если же исправить строки (записать вместо НЕХ-кодов нормальный текст) и сохранить документ, а после выполнить экспорт, то проблем с кириллицей не будет. Согласитесь, работать с такой программой крайне неудобно, если нужно проделывать дополнительные манипуляции для достижения поставленной цели.
Исправляется эта беда также при помощи отладчика. Выполняется анализ кода и поиск участков, где идет запись файл проекта (я зацепился за функцию записи проекта - пункт меню "Save" - и дальше начал раскручивать цепочку инструкций). Программа aggregator.exe написана на <u>Delphi</u>, поэтому для разбора полетов очень удобно использовать утилиту Interactive Delphi Reconstructor (автор crypto). Так вот, прежде чем будет записан файл проекта, в памяти формируется массив с данными, которые будут записаны в файл. Этот временный файл проекта создается в кодировке ANSI с жестко заданной кодовой страницей - windows-1252. Затем готовый временный файл преобразуется в кодировку UTF-8, после чего выполняется запись полученных данных в файл на физическом носителе.
Как нам известно эта кодовая страница не поддерживает символы кириллицы. Для кириллицы есть своя кодовая страница - windows-1251. Решение очевидно: нужно исправить кодовую страницу. Но это еще не все. Программист и здесь умудрился накосячить. В то время как формирование массива будущего файла проекта выполняется в кодировке ANSI, строки с названиями пунктов считываются из полей ввода в кодировке UTF-8. Ясный перец, что для символов латиницы разницы никакой (номера символов U+0000 по U+007F в кодировке UTF-8 полностью соответствуют кодировке ASCII - требуется 1 байт на символ), то для символов кириллицы разница существенна (требуется уже 2 байта на символ). На следующем рисунке показан участок кода, где необходимо сделать небольшие изменения.
При каких условиях (по адресу 004ED2A1) выбирается тот или иной путь обработки строки я не разобрался, поэтому сделал безусловный переход на кодировку ANSI, т.к. при любых раскладах обработка уходит на UTF-8. Теперь последующее преобразование временного файла проекта из ANSI в UTF-8 будет выполнено правильно (относительно символов кириллицы).
После сделанных изменений запись окончательного файла проекта выполняется корректно, также как и экспорт в готовый файл.
Теперь почему решение частичное. Если вы захотите вернуться к сделанному ранее проекту, то при загрузке его в программу строки пунктов снова будут с кракозябрами:
Если выполнить экспорт, то эти кракозябры будут и в готовом файле. Поэтому нужно заново вводить строки, чтобы все было корректно. В данном случае программист снова намудрил с кодировками при загрузке проекта в программу (строки пунктов считываются в кодировке ANSI, но они то находятся в кодировке UTF-8!). К сожалению решения этой проблемы я не предлагаю. Возможно у кого-то найдется время и желание продолжить мои изыскания.
P.S. После каких-либо изменений в файле модуля aggregator.exe, не забудьте исправить контрольную сумму (CRC), иначе при запуске вы получите сообщение об ошибке.