Anchouss -маленькая рыбка. Эмблема Clubrus!

Реклама в Интернет & Все кулички
Добро пожаловать !
Добавить в избранное
CLUBRUS  На главную
Наиболее полный каталог ссылок  Найди свой русификатор!
    Русификаторы
    От Clubrus
    Партнеры
Программы  Программы
    Нужные
    Интересные
    Заработок
   
Ученье свет!   Учимся вместе
Клуб  Клуб
    Регистрация
    Вход
Форум !   Форум !
Гостевая  Гостевая
     Посмотреть
     Написать
Реклама на сайте   Реклама




Перевод программ под Windows.
...by Vladimir Drigalkin, LENIN INC

Для перевода программ под Windows используются редакторы ресурсов, которых развелось достаточно много. Самые лучшие, на мой взгляд, Resurs Hacker и Restorator. У каждой из них есть свои плюсы и минусы. С помощью программы Resurs Hacker Вы можете курсором мыши передвигать или растягивать окна и кнопки, а это Вам понадобится, т.к. переведя надпись кнопки на другой язык, она может быть больше и не вмещаться в размеры кнопки. Также можно изменять стили, создавать новые или удалять существующие ресурсы непосредственно в exe модуле или res файле. У программы Restorator более удобное дерево ресурсов, есть возможность произвести удаление или замену системного файла после перезагрузки компьютера. Это удобно если файл используется Windows. К сожалению, эта функция Restorator не поддерживает длинные имена каталогов и файлов. Двух этих программ для русификации будет более чем достаточно. Не в счет программы для распаковки exe модулей, а также Вам может понадобится шестнадцатеричный редактор. Самые лучшие, на мой взгляд, WinHex, Qview. Шестнадцатеричный редактор будет нужен только в том случае, если определенный текст находится не в ресурсах, а в самом модуле программы. К сожалению, здесь нельзя вводить текст, который будет превышать оригинальный текст. Не забывайте об этом, иначе программа просто загнется.

Программа может содержать различные ресурсы - AVI, Bitmap, Menu, String, Icon, Dialog и другие. Мы рассмотрим пример ресурса Dialog, отображаемый в программе Resurs Hacker. Это всего лишь пример, я не указал Стили, которые будут отображены в реальном ресурсе и разделены между собой вертикальной чертой (|). Мои комментарии выделены красным.


ABOUT DIALOG 138, 102, 276, 68 ; Размеры всего диалога
STYLE (Стили) ; Стиль окна
CAPTION "About..." ; Название окна
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL ; Язык диалога
FONT 8, "MS Sans Serif" ; Размер и тип используемого шрифта
{
 CONTROL "©2002 by LENIN INC", 8, STATIC (Стили), 40, 14, 90, 32
 CONTROL "All Rights Reserved", 9, STATIC (Стили), 40, 19, 90, 32
 CONTROL "&OK", 1, BUTTON (Стили), 218, 6, 50, 14
 CONTROL "&Cancel", 2, BUTTON (Стили), 218, 26, 50, 14
 CONTROL 1, 3903, STATIC (Стили), 10, 10, 18, 20
}

Для перевода на другой язык вам нужно будет заменять текст, находящийся в кавычках (" "). Если Ваш текст не помещается, растяните его курсором мыши в окне. Размер текста и кнопок можно также задать числами, которые находятся в конце строк (выделены зеленым). Посмотрите на окончание самой последней из строк - Вы увидите четыре числа:

Первое - задает отступ элемента от правого края
Второе - задает отступ элемента от верхнего края
Третье - задает ширину элемента
Четвертое - задает высоту элемента

Символ & подчеркивает букву, расположенную после него. Подчеркнутая буква задает "гарячую" клавишу, при нажатии на которую запускаеться соответствующий процесс. Ресурсы Menu и String редактируються также, как и Dialog - изменяется текст, находящийся в кавычках (" "). Посмотрите как выглядит ресурс меню.


TOOLBAR MENU
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL ; Язык меню
{
POPUP "&File"
{
 MENUITEM "&Open File\tCtrl+O", 190 
 MENUITEM "&Save File\tCtrl+S", 151
 MENUITEM "Save File &As...\tShift+Ctrl+S", 152
 MENUITEM SEPARATOR ; Разделительная полоса
 MENUITEM "&Exit\tAlt+X", 143
}
}

После элемента \t указаны сочитания клавиш для быстрого доступа.

Все, что было сказано выше, в основном касается программ, написанных на API настоящими программерами, то есть без использования визуальных компонентов. Открыв программу, написанную с помощью визуальных компонентов, например, в Delphi, Вы увидите структуру, в которой будут ресурсы типа RCData. Привожу фрагмент подобного кода, который отображает окно "Errors". К сожалению, само окно Вы не сможите увидеть в редакторе ресурсов. Ни один из указанных здесь редакторов ресурсов не отображает предпросмотр окон программ, написанных в Delphi.


object ErrForm: TErrForm        \\ Начало создания окна
  Left = 389                  
  Top = 337                    
  Width = 348                   \\ Ширина основного окна
  Height = 283                  \\ Высота основного окна
  Caption = 'Errors'            \\ Заголовок окна
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'   \\ Используемый шрифт
  Font.Style = []
  Position = poDefaultPosOnly
  OnClose = FormClose
  OnShow = FormShow
  PixelsPerInch = 96
  TextHeight = 13
  object Panel1: TPanel         \\ Начало создания панели
    Left = 0                    \\ Отступ слева
    Top = 0                     \\ Отступ справа
    Width = 340                 \\ Ширина панели
    Height = 25                 \\ Высота панели
    Align = alTop
    Alignment = taLeftJustify
    BevelOuter = bvNone
    Hint = 'Message'            \\ Текст подсказки
    Caption = 'Not found this files! Run process again?'
    TabOrder = 0
  end                           \\ Завершение создания панели
end                             \\ Завершение создания окна

Здесь нужно изменять текст, находящийся между кавычками (' '). Я разделил цветом каждый елемент, который начинается атрибутом object и завершается end.

Если при переводе Ваш текст не поместился в одну строку, добавьте конструкцию WordWrap = True. Это позволит расположить текст любой длины, причем количество строк будет определяться автоматически. Но это будет работать только для компонента, который имеет свойство WordWrap, иначе будет ошибка.


  object Panel1: TPanel         \\ Начало создания панели
    Left = 0                    \\ Отступ слева
    Top = 0                     \\ Отступ справа
    Width = 340                 \\ Ширина панели
    Height = 25                 \\ Высота панели
    Align = alTop
    Alignment = taLeftJustify
    BevelOuter = bvNone
    Hint = 'Message'            \\ Текст подсказки
    Caption = 'Not found this files! Run process again?'
    WordWrap = True             \\ Добавили новый параметр
    TabOrder = 0
  end                           \\ Завершение создания панели

Теперь попробуем изменить текст сообщения в самом модуле программы. Итак, мы открываем программу в шестнадцатеричном редакторе, например, в WinHex и находим структуру, которую хотим перевести: в нашем случае это текст All Rights Reserved.

Переводим его на русский язык так, чтобы наш текст не выходил за рамки оригинального текста и сохраняем.

И не забывайте первое правило любого крякера - Делайте резервные копии!

Программное обеспечение:
Resurs Hacker http://rpi.net.au/~ajohnson/resourcehacker/
Restorator http://www.bome.com/Restorator/
WinHex http://snc.mailru.com/
Qview http://www.enlight.ru/qview/
Координаты автора данной статьи:
E-mail me (5 Mb) lenin@zeos.net
Welcome to my home page http://lenininc.narod.ru/



 URL: http://clubrus.kulichki.net Автор: LENIN 

Rambler's Top100 Рейтинг ресурсов УралWeb