CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

Интерфейс по-нашему

Любомир КУДРАЙ MOBA@ukr.net

Если вы однажды решите перевести понравившуюся программу на родной славянский, рискуете столкнуться с многими неожиданными проблемами. Относительно обязательных правил, которых следует придерживаться при переводе, про некоторые «подводные камни» можно узнать на сайте http://ykraina.by.ru. Но даже понимания проблемы и некоторого знания родного и «ихнего» языка во многих случаях может оказаться недостаточно.

Авторские права

Хорошо, если в поставку включен файл языковой версии, например .lng, который не является неотъемлемой частью оригинальной программы. Проблемы начинаются тогда, когда необходима модификация софта. Закон разрешает такую «вольность» исключительно в границах личных потребностей, что исключает дальнейшее законное опубликование разработки в Сети. Единственный приемлемый выход из положения — разработка и использование так называемых заплат (patches). Заметим, легальность их применения пользователем, с точки зрения разработчика программного обеспечения, — тоже вопрос неоднозначный.

1. Правка текстовых файлов

В ряде программ все тексты, появляющиеся на экране, содержатся в отдельном текстовом файле (или в нескольких файлах). Как правило они не имеют расширения .txt, чаще это .lng, .ini, .eng, .dat и прочие. В качестве примера можно привести Windows Commander, который позволяет сделать выбор из нескольких языков.

К сожалению, не все так хорошо. Чаще всего, даже если есть возможность выбора языковых версий, среди них нет ни русского, ни украинского языка. Чтобы исправить положение, можем перевести такой файл на родной язык в обычном текстовом редакторе, например в штатном «оконном» Nоtераd’е (хотя я бы советовал намного более удобные UltraEdit (Рис. 1) или Metapad), заменив все слова в программе украинскими.

В отдельных случаях можно воспользоваться другими инструментами. Например, если файл языка имеет формат .ini, удобно делать его перевод в программе типа INIEdit (Рис. 2). А если разработчик программы запихнул текстовые ресурсы, например, в файл .php, стоит воспользоваться переводчиком для web-страниц, например CatsCradle (Рис. 3). Удобно это тем, что в процессе перевода такие программы как правило создают словарь, который можно использовать и в дальнейшем.

Рис. 1.   Рис. 2.

Рис. 3.

2. Правка ресурсов

Говоря о стандартизации обслуживания нескольких языков в программе, приходит на ум понятие, внедренное фирмой Borland в Delphi и C++ Builder, —resourcestring. Все тексты, рисунки, музыка, курсоры и прочая дребедень при этом становится частью программы, приобретая таким образом статус «ресурсов». А с ресурсами можно выполнять разные действия. Можно «грабить» из файла музыку, иконки, рисунки или курсоры. Работу эту выполняют программы, которые так и называются: граберы — например, Resource-Grabber (Рис. 4).

С точки зрения переводчиков интерфейса программ, эти инструменты не очень-то пригодны. Куда более привлекательно выглядят редакторы ресурсов. Они позволяют не только грабить ресурсы, но и заменять их, редактировать, добавлять новые. Можно полностью преобразить программу, не просто сменив в ней графику-музыку, но и на свой вкус перестроив меню, диалоговые окна, — и что особенно интересно, они позволяют переписывать текстовые строки. Примеры этих могущественных программ —Resource Hacker (Рис. 5), Restorator (Рис. 6) или Exescope (Рис. 7). С их помощью можно править файлы .exe, .dll и другие выполняемые файлы Win32. Но если файлы сжаты каким-нибудь exe-упаковщиком, нам ничего отредактировать не удастся. Например, чтобы добраться к ресурсам Metapad’а, его сперва надо освободить от пут UPX’a, проще говоря, распаковать. А после модернизации — запаковать (дело чести…) И чтобы потом все работало. А если вспомнить, что AsPack имеет разные версии? Есть и другие пакости…

Рис. 4.   Рис. 5.

Рис. 6.   Рис. 7.

3. Правка кода программы

Если не удалось воспользоваться описанными способами, можно удариться в редактирование программного кода, воспользовавшись любым шестнадцатеричным редактором (hex-edytor). Сгодится и уже упоминавшийся UltraEdit. Однако это наименее безопасный и удобный способ, да и результаты далеко не всегда бывают удовлетворительными. Во время замены английских (или любых других) слов украинскими надо постоянно помнить о запрете превышения длины оригинального текста — иначе следующий запуск программы может оказаться последним. От случая к случаю, создавая новые версии файлов, стоит прятать в безопасном месте очередные копии оригинала...

4. Специализированные программы

Отдельные программы обслуживают несколько языков, используя один или несколько внешних файлов, содержащих базу всех текстов, имеющихся в этой программе. Очень популярно среди производителей программного обеспечения расширение .lng. Однако эти три буквы не всегда означают одно и то же. Это расширение может иметь файл, который содержит только одну языковую версию (текстовый файл Windows Commander’a, Oper’ы), временами это может быть набор нескольких или нескольких десятков языков (The Bat!), иногда под ним может скрываться файл в другом формате, например, созданный с помощью программы IML Editor фирмы Interkodex. Существуют специальные программы, предназначенные для перевода, которые разрешают создавать «внутренние» файлы. Часто это небольшие утилиты для создания новых языковых версий к «той единственной программе», которые могут обслужить данный формат (как упоминавшаяся выше IML).

5. Универсальные программы

Существуют и значительно более универсальные инструменты, ориентированные на текстовые ресурсы. Как правило, они используют словари и имеют немало функций, облегчающих перевод. Отдельные из них разрешают импортировать переведенные текстовые цепочки из уже локализованных программ, проверять правописание (к сожалению, не русское и не украинское — пока) и править диалоговые окна в режиме «что рисую, то и вижу». Примером таких программ могут быть Visual Localize (Рис. 8) или RC-WinTrans.

Вторую группу составляют инструменты, которые могут помочь справиться с программами, созданными в Delphi или C++ Builder. Они позволяют создавать внешние файлы с языковой версией. Такие файлы, в зависимости от языка, имеют разные расширения, в нашем случае —.ukr. Во время запуска программы на основе региональных настроек Windows выполняется и автоматически используется соответствующий языковой файл. Да и разработчику программного обеспечения не надо беспокоиться о своих копирайтах. Хороший пример таких программ —Language Localizator (Рис. 9) и Helicon Translator.

Рис. 8.   Рис. 9.

6. LingoWare

Пример совсем другого подхода к решению проблем локализации — программа LingoWare (Рис. 10) (хотя она тоже базируется на использовании ресурсов).

Рис. 10.

Описанные выше способы предполагают обслуживание локализованных программ внешними языковыми файлами или требуют вторжения в тело программы. В то же время некоторые приложения не обслуживают языковые файлы и не допускают изменений в своем коде (например, Teleport Pro). Решить проблему может помочь LingoWare. Эта программа, работая в фоновом режиме и используя специальные словари, заменяет оригинальные текстовые цепочки. В любой момент можно переключиться из оригинальной версии на локализованную и наоборот. LW также позволяет редактировать отображенные на экране тексты. Для перевода целой программы лучше всего вооружиться LingoWareEditor. На странице производителя программы доступны словари для таких программ как ICQ, Gozzilla и др. Однако словарей с украинскими текстами я там не видел... Но не только по этой причине эта софтина не получила распространения у локализаторов программного обеспечения. Чтобы воспользоваться тем или иным переводом, надо иметь установленную LingoWare, программа должна работать в фоновом режиме, кроме того, не все приложения изъявляют желание сотрудничать с LingoWare.

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov