Задавайте вопросы по русификации и мы по возможности ответим
Для желающих получить ответы на свои вопросы:1. Будьте добры давать ссылку на программу, в архиве
-
Приветствую!
При переводе HTML Help Workshop, столкнулся с сообщениями контекстно-зависимой справки. Как я понял сообщения работают на ява. Подскажите пожалуйста, какую кодировку надо использовать в данном случае. Сам текст сообщений находятся в CHM справке, в файле wintype.txt с кодировкой UTF-8 без сигнатуры. И при клике на вопрос в программе, из этого текстового файла, берётся определённая строка.
Штирлица всего перепробовал, ни одна кодировка не подошла. :)
Если обратился не в ту тему, извиняйте, просто везде "Доступ закрыт". Единственную тему нашёл, где можно написать.21 июля 2017 - 08:34 / #1131 -
Оффлайн
Звание: Ветеран
Команда
Сообщений: 1211
Создано тем: 39
Рейтинг: 8
Репа: (42|41|-1)
Баллы: 86
Был: 2018-12-02 14:30
Лайков: 18
Цитата: slayer писал:снимок забыл приложить
а где ссылка на саму программу?Возможно всё! На невозможное просто требуется больше времени.
Мудрец из Шангри Ла21 июля 2017 - 08:36 / #1132 -
21 июля 2017 - 11:48 / #1133
-
slayer
Вот здесь эта версия с русским интерфейсом. Автор там правда не заморачивался видимо так глубоко как вы.
Детище корпорации блин.21 июля 2017 - 18:01 / #1134 -
dinis124, это вы шутите так или вправду советуете скачать эту версии перевода?Цитата: dinis124 писал:Автор там правда не заморачивался
Ну вот и я про это, Автор не заморачивался!
Прежде чем браться за перевод, я немного покачал русских версий, после чего и пришлось переводить.
Я не хочу оспаривать труды парней, это всё же труды и не малые! Но у меня есть перевод всей(а не одного файла) программы и другой мне не нужен, спасибо. Я просто попросил помощи у вас, у знатоков: Как перевести данные сообщения? Вернее сказать как перевести я знаю, я не знаю какую кодировку использовать. Если вы знаете какую, то подскажите пожалуйста, буду признателен.
Или может кто другой знает, лично я всё уже перепробовал
ссылка21 июля 2017 - 23:28 / #1135 -
slayer
Да ну, какие шутки, это вы с места в карьер шутите, а я увидел и решил показать (помочь), мало ли не видели и что-то почерпнёте для себя полезного и нужного.
Попытался поискать шрифты и нехорошие константы по ехе но тоже не нашел для себя зацепку для дальнейшего направления поисков. Возможно стоит уделить внимание и папке java но с этим я не дружу. Хотя утилиты где то и есть на сайте для просмотра и правки классов.Цитата: Цитата:Или может кто другой знает, лично я всё уже перепробовал
Это не факт что проблема кроется в кодировке именно в wintype.txt.22 июля 2017 - 12:40 / #1136 -
Оффлайн
Звание: Старожил
ИНКВИЗИТОР
Сообщений: 784
Создано тем: 119
Рейтинг: 7
Репа: (201|201|0)
Баллы: 4030
Был: 2024-11-24 22:18
Лайков: 289
Цитата: slayer писал:Или может кто другой знает, лично я всё уже перепробовал
Я когда то почти год убил на Carbide с этими файлами."В одно окно смотрели двое. Один увидел дождь и грязь.
Другой — листвы зеленой вязь. Весну и небо голубое.
В одно окно смотрели двое... "
У нас свободный форум! Но в рамках приличий ! Конструктивная критика по существу с обратной связью !22 июля 2017 - 16:17 / #1137 -
Цитата: dinis124 писал:Возможно стоит уделить внимание и папке java но с этим я не дружу.
Так и я Java-апплеты не знаю, поэтому и обратился сюда. Если вообще это относится к Java. :)Цитата: kurkoff1965 писал:Посмотрите вот тут:
Я уже пробовал что то подобное, но увы, результата не дало.22 июля 2017 - 18:42 / #1138 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Цитата: slayer писал:Приветствую!
При переводе HTML Help Workshop, столкнулся с сообщениями контекстно-зависимой справки. Как я понял сообщения работают на ява. Подскажите пожалуйста, какую кодировку надо использовать в данном случае. Сам текст сообщений находятся в CHM справке, в файле wintype.txt с кодировкой UTF-8 без сигнатуры. И при клике на вопрос в программе, из этого текстового файла, берётся определённая строка.
slayer, в первую очередь рекомендую вам ознакомиться со статьей "". В ней находится ключ к решению вашей проблемы. А пока коротко...
Кодировка файла wintype.txt - ANSI (windows-1251) — однозначно, именно такую кодировку имеет оригинальный файл. Теперь проведем простой эксперимент. Берем дистрибутив программы, модифицированный файл справки (переведен файл wintype.txt) и идем на разные ОС (виртуально - VMWare, VirtualBox).
Смотрим на системе Windows XP (оригинальная, из коробки, RUS) - все путем, строки отображаются корректно.Рис. 1
Идем на Windows 7 (Windows 8, Windows 10 и т.д.). Программа HTML Help Workshop - таже. Заменена только справка с переведенным файлом wintype.txt. Что видим? А видим хрень. Почему на XP нормально, а на остальных ОС - кракозябры? Причина в программе? Явно нет, т.к. на устаревшей ОС кириллица отображается корректно. А в чем тогда?
Программа HTML Help Workshop - разработка Microsoft, поэтому для работы она использует системные библиотеки Windows. В частности файл comctl32.dll, который подгружает компонент hhctrl.ocx, а тот в свою очередь локализованную библиотеку ресурсов (все эти файлы находятся в системном каталоге). Именно компонент hhctrl.ocx отвечает за вывод на экран строк контекстной справки, т.е. тех, которые в данном примере читаются из wintype.txt. Так где же кроется засада?
На Windows XP за русскую локализацию отвечает файл hhctrlui.dll. Если открыть его в редакторе ресурсов, то в строковых ресурсах найдутся строки вида "MS Shell Dlg,8,204". Эти строки задают свойства шрифта элементов диалоговых окон. MS Shell Dlg - название шрифта, 8 - размер шрифта, 204 - идентификатор кодовой страницы (кириллица).Рис. 2
То что эти ресурсы используются для формирования шрифта у элементов диалоговых окон можно выяснить при помощи отладчика (отправной точкой служат функции CreateFont и CreateFontIndirect). Этот момент я оставлю вам на самостоятельное изучение, если будет такой интерес. Идем дальше.
Так, а что у нас на Windows 7? Ага файл hhctrlui.dll разработчики успешно похерили и ввели новый стандарт локализации ОС. Теперь начали использовать файлы MUI, которые собраны в отдельные папки соответственно локали. Нас интересует локаль ru-RU. Идем в этот каталог и ищем файл, в названии которого есть подстрока "hhctrl". Есть такой — это файл hhctrl.ocx.mui (файл компонента hhctrl.ocx, соответственно локализованная библиотека ресурсов - hhctrl.ocx.mui). Открываем его в редакторе ресурсов, переходим на строковый ресурс с тем же идентификатором (64) и....Рис. 3
Не, блин, ну как это называется?
Для набора символов указан нейтральный, т.е. латиница (windows-1252)!
Аналогичная картина и на Windows 8, Windows 10 и скорее всего будущих версиях. Это пример деградации системы.
Ну а теперь, чтобы вернуть поддержку кириллицы — надеюсь вам понятно, что нужно сделать. Если нет, смотрите рисунок 2. Таких строк несколько!
К сожалению, решение из разряда "специальных", т.к. файлы являются системными. Защита системы не даст просто так вам заменить файлы, а при малейшей возможности попытается выполнить их восстановление. А в файлах программы HTML Help Workshop патчить нечего, почему, рассказано выше. Все претензии к компании Microsoft.
Но к счастью есть безопасный вариант. Чтобы не насиловать систему, можно пропатчить файл hhctrl.ocx (в нем строка "MS Shell Dlg,8,0" является жестко-закодированной — 0 нужно заменить на 204) и вместе с файлом comctl32.dll закинуть в каталог HTML Help Workshop. Механизм этих действий следующий. Когда выполняется запуск программы, в первую очередь происходит поиск зависимых файлов в собственном каталоге (каталоге установки). Если таковых не найдено, то поиск переключается на системный каталог, а также каталоги, указанные в системных переменных. Поэтому размещение указанных файлов в каталоге программы HTML Help Workshop будут однозначно использованы в первую очередь.
Вот и все. Удачных экспериментов.22 июля 2017 - 20:46 / #1139 -
Вот интересно, а есть хоть что-нибудь такое, чего не знает Leserg?
Сергей, вы как всегда на высоте, Спасибо!
Статью "Логический шрифт" обязательно почитаю.
Итог:
Кстати, вопрос закрыт. Всем спасибо!22 июля 2017 - 22:47 / #1140
Статистика форума, пользователей онлайн: 0 (за последние 20 минут)
---
- Создано тем
- 1197
- Всего сообщений
- 15763
- Пользователей
- 18016
- Новый участник
- gippokrat