Эта статья предназначена в первую очередь для тех пользователей компьютером, которые не очень хорошо разбираются в файловых массивах, и не имеют особого представления как работают отдельные программы и игры, и подобные базы. А те кто достаточно хорошо разбирается в этом, наверняка уже знают то что я хочу здесь изложить. А рассказать о переводе, вернее научить, я хочу обычных пользователей, которым для удобство нужно перевести свою любимую программку или мини-игру. Конечно же, этот перевод является простейшим, и подходит не для всех программ. Но такие программки типа Winamp, WinRAR, и по сути дела, большинство программ, не подгружающих библиотеку «меню» с других файлов, а хранящих её в самом исполняющем файле exe - реально так перевести, если они не защищены протектором... Насчёт игр, мини-игры, типа солитера, тетриса, линии, чикимании, карточные игры, и подобные не большие игры имеют ту же структуру, что и программы, так что их переводят так же.
Для перевода вам потребуется как минимум одна программа декомпилятор. В данном случае, я буду пользоваться немного модифицированной программой Resоurce Hacker, но подобных программ на сегодняшний день достаточно, например есть ещё Restoratore, PE Explorer и другие. Но для начала, посоветовал бы делать всё как я в данной статье, то есть обзаведитесь программой Resоurce Hacker, чтобы статья вам была более нагляднее и вы могли сами, как по руководству проделать то же самое что и я здесь. И само собой, если вы не знаете язык с которого хотите перевести программу (в данном случае это английский язык), то обзаведитесь обычным словариком с этого языка на тот, на который вам нужно перевести (в данном случае это наш великий и могучий... - русский язык). Ещё желательно, чтобы вы знали, что примерно выполняет каждый из пунктов меню программы, например, options – опции (или можно перевести как настройки – кому как нравится, и не обязательно дословно). И так, программа Resоurce Hacker у вас есть, значит приступаем.
Для того чтобы перевести прогу нужно запустить программу Resоurce Hacker. Через него открыть ту программу, которую собираемся перевести (в данном случае это будет Winamp 5). Я подумал, что хоть и Winamp.exe достаточно массивен для новичков, и пользуется подгрузкой библиотеки меню из отдельных файлов с разрешением lng, но в то же время он имеет основное меню (английское) по умолчанию заданное в exe.
Небольшое отступление – файлы с разрешением lng у Winamp можно открыть с помощью любого текстового редактора, и заменить там английские слова на русские, и сохранить. Таким образом, данные слова в программе будут переведены.
Продолжаем. Открываем в программе Resоurce Hacker приложение Winamp.exe (по умолчанию, он лежит в каталоге C:\Program Files\Winamp\). И сразу программа Resоurce Hacker покажет в своих окнах содержимое данного файла, которое может распознать. Для нас самое главное, чтоб он мог распознать каталог Menu. В Winamp.exe каталог Menu и все остальные каталоги видны отчётливо, и перед нами открываются как на ладони внутренности данной программы.
Но прежде, чем что-то менять в программе, не забудьте сделать резервную копию, так как факт того, что вы её испортите, особенно если вы это делаете в первый раз, достаточно велик. Скопируйте этот файл Winamp.exe в какую-нибудь папку, чтобы на случай если ваш перевод испортит процессы приложения, можно было поставить на место тот изначальный файл.
Обращаем внимание, на окна и области в программе Resоurce Hacker. В левом столбце располагается дерево из папок и ресурсов. Обратим внимание, что первая папка MENU показывает на тип ресурса содержащийся в данной папке, а папка 256 показывает номер ресурса, а файл, содержащийся в этой папке, 1033 показывает язык файла (тут он английский). Открыв все эти папки, нажимаем курсором на этот файл. В правом окне появляется код виде простого и понятного любому скрипта, а так же появляется наглядная менюшка построенная на этом скрипте. То есть её можно пощёлкать и наглядно посмотреть, где какое слово расположено и в каком порядке. В правом окне вы видите скрипт. Обратите внимание на слова в нём – это те самые слова, которые нужно перевести, конечно они находятся среди команд, но их легко можно отличить от команд. Тут так же можно добавить, удалить какой-нибудь пункт, но нам пока это не надо. Ну вот, по сути дела, тут то и начинается сам перевод и прямая работа со словарём. Не трогайте, не меняйте скриптовые команды! Для перевода нужного слова, находите его в этом скрипте (можно воспользоваться автоматическим поиском), удаляете, и пишите вместо него на русском языке. Например, удалям "Play &file... \tL" и пишем на его месте "Проиграть файл... \tL" (за символом \ написана горячая клавиша вызывающая это действие по её нажатии, если вам это не надо то можете её удалить, я бы оставил...) Внимание, переводу подлежит только то, что находится в кавычках, всё другое - представляет из себя скрипт, изменение которого не разбирающимся человеком может привести к летальному исходу для подопытной программы. И так заменили одно слово. Теперь жмём на кнопку «Скомпилировать» - программа внесёт изменения в переводимую прогу. Теперь посмотрите, как будет выглядеть ваше переведённое слово в меню. Для этого щёлкайте курсором по наглядному окошку меню, и убедитесь, что слово переведено правильно и не противоречит ни чему. Теперь, переводите все остальные слова и фразы в этом меню. После опять жмите кнопку «Скомпилировать» и сохраняйте полученный результат в самом приложении (Файл – сохранить...). Теперь у вас будет программа с переведённым меню на нужный вам язык. Проверьте работоспособность программы после сохранения.
Кстати, символ "&" из текстовых строк в программе можно удалить, ибо он не востребован и не несёт ни какой важной функции. А если он часто встречается в почти каждом слове, то удалив этот символ Ваше приложение станет ещё меньше весить в Kb. Нужно не забывать, что каждый символ имеет свой вес, который порой так нужен. Таким образом можно облегчить приложение, и оно будет выглядеть более симпатичнее для скачивания в интернете.
Но так же иногда нужно переводить не только меню, но и диалоговые окна, тексты, графику. Для этого нужно пользоваться всё этой же программой, но теперь просто в окне с деревом папок, так же редактируйте:
Папка TEXT – тут хранятся только текстовые файлы (в данном случае, без содержания малейшего скриптового кода) Можете его просто переводить, или заменить путём вставки.
Папка Cursor – тут содержатся курсоры применяющиеся в программе по умолчанию. Можете их тоже заменить если это необходимо, и если у вас есть готовые другие курсоры...
Папка Bitmap – содержит графику программы, если нужно то и её можете заменить или отредактировать как вам угодно.
Папка Icon – содержит иконки программы, иногда иконки используются вместо графики. Можно так же заменить на другие, если надо.
Папка Dialog – вот эта папка для перевода программы очень важна, так как все дополнительные окна в программе хранятся именно тут. Так же как и с меню открывайте файлы диалоговых окон и переводите все слова содержащиеся в кнопках, и прочих элементах так же как делали это в меню. Если необходимо можно перемещать, уменьшать, увеличивать различные элементы окна (например, если переведённое слово длиннее кнопки, в которой это слово отображается, в следствии чего, слово не видно до конца – просто растяните кнопку, чтоб слово вмещалось).
Папка Version Info – содержит информацию о программе, авторе, и прочие копирайты.
Папка 24 – как правило, содержит код совместимости, обычно используется для программ, которые применяют внешний вид WinXP, если этой папки нет, то программа наверняка выглядит без оформления – как на Win98. Если вы редактируете программу выглядящую как на Win98 – без оформления кнопок, окошек, ползунков как на WinXP, то можете добавить в неё файл 24 из другой проги, и тогда есть вероятность, что эта программа обретёт XP-ишное очертание.
Остальные папки для вас не очень важны, в них вы сами разберётесь по мере надобности.
И помните, что таким образом можно не только переводить приложения, но и делать тотальные хак-версии программ. И можно сделать из какой-нибудь чужой проги свою, путём изменения, добавления, удаления ресурсов. И иногда это можно сделать так грамотно, что и автор не догадается, что это его программа, только переделанная. Для примера даю вам ссылку на хак-версию программы «звукозапись» от Windows. Посмотрите что можно сделать из стандартной программы - http://8gamers.net/download/view/508/ (Эта программа по сути дела – звукозапись MicroSoft (стандартная на Windows), но она переделана. К чему я её выкладываю? ПРИМЕР для тех, кто хочет сотворить что-то своё, но не знает, как это сделать… Нужно просто обзавестись хорошим компилятором (копателем во внутренностях программ) и менять себе на здоровье в любой чужой программе всё что угодно (можно всё так поменять, что мама родная не узнает).)
И помните, изменение чужих программ считается незаконным действием и преследуется по закону (мать их – менты!) с конституционным правом на авторство. Уважайте чужой труд и не выдавайте чужую программу, переделанную вами незаконно, за свою собственную. И даже перевод программы без ведома автора считается противоправным действием, предусмотренным законами Р.Ф. И обратите внимание, при написании этой статьи, автор (то бишь – я!) несколько раз нарушил эти самые законы, и если я попаду за решётку, то прошу считать меня Борцом за правое дело =)