Ошибка: Failed to parse the Currency Converter XML document.
$2 657.05


Ошибка: Failed to parse the Currency Converter XML document.
$34 336.39


Ошибка: Failed to parse the Currency Converter XML document.
$25 489.44


Перевод программ под Windows

Для перевода программ под 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 \Завершение создания окна
Здесь нужно изменять текст, находящийся между одинарными кавычками (« »).

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

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 \Завершение создания панели

Но это будет работать только для компонента, который имеет свойство wordwrap, иначе будет ошибка.

Все это достаточно просто, ведь текст в редакторе ресурсов виден и доступен для редактирования. Но что делать, если текст какого-то окна сообщения находиться не в ресурсах, а в внутри модуля программы? Вот тут нам и поможет шестнадцатеричный редактор. Итак, мы открываем программу, например, в winhex и находим структуру, которую хотим перевести. Возмем для примера текст all rights reserved, который спрятан внутри exe модуля.

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

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

 

Интересное

Полезные функции для...
Эта статья фактически краткий справочник по функциям для работы с файлами.Описываемые функции редко кто использует, но это не значит, что они бесполезны.Напротив, они очень даже полезны... Но они...
Подробнее...
Введение в протокол UDP
UDP (User Datagram Protocol, Протокол дейтаграмм пользователя) предназначен для обмена дейтаграммами между процессами компьютеров, входящих в единую сеть с коммутацией пакетов. В качестве...
Подробнее...
Использование программы...
Данная статья содержит сведения о бета-версии программного продукта корпорации Майкрософт. Информация в данной статье не является официальной и может быть изменена без предварительного...
Подробнее...
Увеличение скорости...
Когда вы соединяетесь с web-узлом, компьютер обменивается с ним информацией. Часть этой информации связана с выяснением IP-адреса узла. Фактически, протокол TCP/IP имеет дело не словами. Каждому...
Подробнее...
Увеличение...
Настройка сетевой подсистемы FreeBSDЭта статья описывает несколько простых шагов, которые можно выполнить,для получения прироста производительности сетевой подсистемы, а такжеправильно выбрать...
Подробнее...
Загрузка FreeBSD 5.0 на...
Введение За последние годы порт FreeBSD-sparc64 привлек значительное внимание разработчиков. За годы было сделано многое; тем не менее, еще много предстоит сделать в области поддержки устройств и...
Подробнее...
Как сгенерировать файл...
Рано или поздно любой веб-мастер сталкивается с необходимостью защиты своего сайта, более тонкой настройки доступа к различным его параметрам. Один из вариантов — использовать специальный...
Подробнее...
Java обгоняет по...
Одним из главных недостатков языка Java традиционно считается невысокая скорость работы программ по сравнению с приложениями на языке С++. И для приложений, где переносимость между платформами или...
Подробнее...
Компьютерные сети
Приветствую тебя, уважаемый читатель. Вот и вышла в свет очередная статья, написанная мной. На этот раз я бы хотел затронуть очень важную тему — создание локальных сетей, в народе называемых...
Подробнее...
Бесплатный хостинг
Для начала я попробую немного отойти от технических деталей и рассмотреть вопрос «бесплатного» хостинга под углом экономического восприятия этого явления в интернете.И вот к каким интересным...
Подробнее...