Задавайте вопросы по русификации и мы по возможности ответим

Для желающих получить ответы на свои вопросы:1. Будьте добры давать ссылку на программу, в архиве
  1. Оффлайн

    slayer

    Звание: Прибывший

    Участники

    Сообщений: 11

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

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2017-11-16 12:59

    Приветствую!
    При переводе HTML Help Workshop, столкнулся с сообщениями контекстно-зависимой справки. Как я понял сообщения работают на ява. Подскажите пожалуйста, какую кодировку надо использовать в данном случае. Сам текст сообщений находятся в CHM справке, в файле wintype.txt с кодировкой UTF-8 без сигнатуры. И при клике на вопрос в программе, из этого текстового файла, берётся определённая строка.
    Штирлица всего перепробовал, ни одна кодировка не подошла. :)
    Если обратился не в ту тему, извиняйте, просто везде "Доступ закрыт". Единственную тему нашёл, где можно написать.

    Сообщение отредактировал 11 апреля 2021 - 13:50
    21 июля 2017 - 08:34 / #1131
  2. Оффлайн

    gazon01

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

    Команда

    Сообщений: 1212

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

    Рейтинг: 8

    Репа: (42|41|-1)

    Баллы: 66

    Был: 2018-12-02 14:30

    Лайков: 18

    Цитата: slayer писал:
    снимок забыл приложить


    а где ссылка на саму программу?

    Возможно всё! На невозможное просто требуется больше времени.
    Мудрец из Шангри Ла

    21 июля 2017 - 08:36 / #1132
  3. Оффлайн

    slayer

    Звание: Прибывший

    Участники

    Сообщений: 11

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

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2017-11-16 12:59

    Цитата: gazon01 писал:
    а где ссылка на саму программу?


    Вот ссылка на программу.

    На всякий случай создал проект для сборки CHM файла, чтобы после смены кодировки обратно можно было собрать справку. ссылка



    И Спасибо, что добавили в участники!
    21 июля 2017 - 11:48 / #1133
  4. Оффлайн

    dinis124

    Звание: Бывалый

    Проверенные

    Сообщений: 290

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

    Рейтинг: 5

    Репа: 0

    Баллы: 51

    Был: 2020-05-02 14:08

    Лайков: 4

    slayer

    Вот здесь эта версия с русским интерфейсом. Автор там правда не заморачивался видимо так глубоко как вы.
    Детище корпорации блин.
    21 июля 2017 - 18:01 / #1134
  5. Оффлайн

    slayer

    Звание: Прибывший

    Участники

    Сообщений: 11

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

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2017-11-16 12:59

    dinis124, это вы шутите так или вправду советуете скачать эту версии перевода?

    Цитата: dinis124 писал:
    Автор там правда не заморачивался


    Ну вот и я про это, Автор не заморачивался!
    Прежде чем браться за перевод, я немного покачал русских версий, после чего и пришлось переводить.

    Я не хочу оспаривать труды парней, это всё же труды и не малые! Но у меня есть перевод всей(а не одного файла) программы и другой мне не нужен, спасибо. Я просто попросил помощи у вас, у знатоков: Как перевести данные сообщения? Вернее сказать как перевести я знаю, я не знаю какую кодировку использовать. Если вы знаете какую, то подскажите пожалуйста, буду признателен.
    Или может кто другой знает, лично я всё уже перепробовал

    ссылка
    Сообщение отредактировал 11 апреля 2021 - 13:51
    21 июля 2017 - 23:28 / #1135
  6. Оффлайн

    dinis124

    Звание: Бывалый

    Проверенные

    Сообщений: 290

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

    Рейтинг: 5

    Репа: 0

    Баллы: 51

    Был: 2020-05-02 14:08

    Лайков: 4

    slayer
    Да ну, какие шутки, это вы с места в карьер шутите, а я увидел и решил показать (помочь), мало ли не видели и что-то почерпнёте для себя полезного и нужного.

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


    Цитата: Цитата:
    Или может кто другой знает, лично я всё уже перепробовал



    Это не факт что проблема кроется в кодировке именно в wintype.txt.
    22 июля 2017 - 12:40 / #1136
  7. Оффлайн

    Смотрящий

    Звание: Старожил

    ИНКВИЗИТОР

    Сообщений: 779

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

    Рейтинг: 7

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

    Баллы: 4005

    Был: 2024-09-21 23:04

    Лайков: 288

    Цитата: slayer писал:
    Или может кто другой знает, лично я всё уже перепробовал


    Я когда то почти год убил на Carbide с этими файлами.
    Сообщение отредактировал 11 апреля 2021 - 13:52

    "В одно окно смотрели двое. Один увидел дождь и грязь.
    Другой — листвы зеленой вязь. Весну и небо голубое.
    В одно окно смотрели двое... "



    У нас свободный форум! Но в рамках приличий ! Конструктивная критика по существу с обратной связью !

    22 июля 2017 - 16:17 / #1137
  8. Оффлайн

    slayer

    Звание: Прибывший

    Участники

    Сообщений: 11

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

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2017-11-16 12:59

    Цитата: dinis124 писал:
    Возможно стоит уделить внимание и папке java но с этим я не дружу.


    Так и я Java-апплеты не знаю, поэтому и обратился сюда. Если вообще это относится к Java. :)
    Цитата: kurkoff1965 писал:
    Посмотрите вот тут:


    Я уже пробовал что то подобное, но увы, результата не дало.
    Сообщение отредактировал 11 апреля 2021 - 13:51
    22 июля 2017 - 18:42 / #1138
  9. Оффлайн

    Leserg

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

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

    Сообщений: 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
  10. Оффлайн

    slayer

    Звание: Прибывший

    Участники

    Сообщений: 11

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

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2017-11-16 12:59

    Вот интересно, а есть хоть что-нибудь такое, чего не знает Leserg?
    Сергей, вы как всегда на высоте, Спасибо!
    Статью "Логический шрифт" обязательно почитаю.

    Итог:

    Кстати, вопрос закрыт. Всем спасибо!
    22 июля 2017 - 22:47 / #1140

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

Создано тем
1188
Всего сообщений
15677
Пользователей
17955
Новый участник
TF4100Fi