Автор Тема: Проблема - русский текст отображается мусором  (Прочитано 64105 раз)

Оффлайн KiLLWarez

  • Новичок
  • *
  • Сообщений: 14
Название программы: WXtoIMG
Версия: 2.9.0.5
Размер: 8,5 мегабайт
Язык программы: английский,
Официальный сайт: www.wxtoimg.com
Ссылка на программу: wxinst2905c.exe
Ссылка на «лекарство» (по возможности): -
Снимок экрана места проблемы:

Друзья, помогите пожалуйста. Взялся попробовать перевести программу. Однако пилотная программа у меня не самая лучшая для этого. Она написана на скриптовом языке TCL (+TK) и чем-то завернута для работы в Windows. В обычном файле строк нету ни в каком виде, потому что скрипт собран в байт-код. Однако если сделать дамп, то скрипт видел и строки его тоже видны. Первая же попытка перевести подтверждение при выходе из программы обламывается. Подробности на скриншоте. Предвижу некоторые вопросы и замечания, поэтому сразу говорю, не Unicode, русский текст в Win1251.

Подозреваю что нужно найти в файле что-то вроде таблицы на скриншоте и заменить часть на русские литеры. Поправьте если я ошибаюсь.
« Последнее редактирование: 16 Июля 2009, 13:44:54 от ZeroChaos »

Оффлайн shkiper

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1095
Программа, я так понял WxtoImg. Чем и как ты дамп делал?
DJ, sex, music and a rhythm...

Оффлайн KiLLWarez

  • Новичок
  • *
  • Сообщений: 14
Цитата: shkiper
Программа, я так понял WxtoImg. Чем и как ты дамп делал?

Что первое под руку попалось, толи LordPE толи что-то такое. На самом деле что первое под руку попалось. Софта этого с давних пор много скопилось. Вот только дамп получился 82 мегабайта.

Нашелся. PEiD.

Оффлайн shkiper

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1095
Я двумя разными прогами делал, тоже 82-83 метра получалось, но они не рабочие. В смысле не запускаются. Ты уж уточни чем, чтоб у меня такой же получился, а лучше запакуй 7-zip'ом с теми настройками как на скрине, архив получится всего 1,3 мегабайта и выложи на какой-нибудь обменник или сюда.
DJ, sex, music and a rhythm...

Оффлайн KiLLWarez

  • Новичок
  • *
  • Сообщений: 14
Цитата: shkiper
Я двумя разными прогами делал, тоже 82-83 метра получалось, но они не рабочие. В смысле не запускаются. Ты уж уточни чем, чтоб у меня такой же получился, а лучше запакуй 7-zip'ом с теми настройками как на скрине, архив получится всего 1,3 мегабайта и выложи на какой-нибудь обменник или сюда.

Форум файлик почему-то отвергает, поэтому в .RAR на 4Shared

Оффлайн shkiper

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1095
И где он?  Я ссылку так не угадаю
DJ, sex, music and a rhythm...

Оффлайн KiLLWarez

  • Новичок
  • *
  • Сообщений: 14
Какая-то беда сегодня с инетом, не с первой попытки удалось вот http://ifolder.ru/12699638

Оффлайн shkiper

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1095
ОМГ! Вот это прога! А чем ты ее переводишь? Я открыл кое-как это 80-метровое чудовище, а там только жестко кодированные строки без ссылок и никаких ресурсов нет. Чем ты ее переводить пытаешься? У меня даже на жестко кодированные строки все ссылки фиксированные, что значит перевод должен быть не длиннее оригинала.
DJ, sex, music and a rhythm...

Оффлайн KiLLWarez

  • Новичок
  • *
  • Сообщений: 14
Если лениться, тогда жесткие строки. Но если ты внимательно посмотришь, то увидишь там TCL. Хотя вот с ним я пока не знаю что делать. Господа, но мой вопрос остается в силе: как с правиться с кракозябликами в первом скриншоте?

Оффлайн shkiper

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1095
Я с TCL до этого не сталкивался, это первый случай, так что с кракозябликами помочь не могу.

P.S. Чем эти TCL переводить-то? Хочу изучить.
DJ, sex, music and a rhythm...

Оффлайн KiLLWarez

  • Новичок
  • *
  • Сообщений: 14
TCL ничем переводить не нада, это язык программирования, типа Python. А кракозяблики на скриншоте не поэтому. Ну да ладно, я сам разберусь. А размер файла, кстати, выровнялся до размера оригинального .exe, только пришлось секции перемещать и исправлять смещения.

По переводу пока не расскажу. Есть идеи как раздвинуть все это. А вот зяблики нада победить.

Оффлайн seryi

  • Новичок
  • *
  • Сообщений: 13
Ну то что на скриншотике - это латиница, самая популярная кодировка что используют европейцы и американцы, стоит во второй половине после английских букв в кодировке Windows-1252, а нам надо получить Windows-1251. [hex] значения латиницы и кириллицы равны, поэтому надо чтобы программа самостоятельно использовала кодировку Windows-1251 всокупе со шрифтом поддерживающим кириллицу.
Если Windows русский, то многие стандартные шрифты уже имеют по умолчанию кириллицу, а вот самый простой способ юзать русскую кодировку - подменить европейскую.
Если WinXP - то просто в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
в параметре 1252 указать файлик c_1251.nls,
либо файлик c_1251.nls скопировать на рабочий стол, потом переименовать в c_1252.nls и кинуть с заменой в C:\WINDOWS\system32.
Оба способа нуждаются в перезагрузке компьютера, 2й способ проще для более поздних Windows после XP (Vista, 7, ...).

Оффлайн shkiper

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1095
Я тоже добился нормального размера программы, но как там переводить - ума не приложу. Шаблонные редакторы курят в сторонке, даже OgreGUI не находит текстовые строки для тестового перевода. Ты б сказал чем ты переводишь, а вдвоем проблема быстрее решится с кракозябликами. Или предыдущий пост помог?
DJ, sex, music and a rhythm...

Оффлайн seryi

  • Новичок
  • *
  • Сообщений: 13
Можно переводить c Hex Editor Neo или WinHex c дополнительной раскладкой
( http://rapidshare.com/files/233577422/WinHexRu.exe ) .
« Последнее редактирование: 19 Июня 2009, 17:19:07 от seryi »

Оффлайн KiLLWarez

  • Новичок
  • *
  • Сообщений: 14
Замена NLS не помогла. Причем ни реестр, ни замена файлов. DLL Cache тоже заменил.

Перевод делать руками. Любой HEX редактор или как я - Far Manager, только отключить опцию чтоб редактор не заменял табуляцию и прочее на пробелы.Остается вопрос с зябликами. Вероятнее всего не ту NLS надо менять. Как бы это проверить кроме замены всех подряд по очереди?
« Последнее редактирование: 20 Июня 2009, 12:40:47 от KiLLWarez »