|
Эта программа предназначалась для конвейерного перевода софта. Почти все
"левые" переводы, особенно если вопрос касался перевода громадных программных
продуктов, делались скорее всего ею. Уже по содержимому примитивных баз можно судить о том, какие вещи переводились.
Можно лишь гадать, каков полный список ее применений. Хотя более 5 лет программа
не обновлялась, до сих пор остается в силе. Не говоря уж о дальних годах, когда
у нее просто не было конкурентов. Ну и понятно, что выходящее за рамки обычного
редко просачивается внутрь рамок, пока время и технологии не разрушат причины
необычности. Короче, если бы у вас появился прямо сейчас какой-нибудь
Офис 2020 с функциями диктовки, самостоятельной верстки, генерации текстов
и прочих "вкусностей", вы стали бы распространяться о нем? Наверное, нет, ибо
держали бы в руках недоступные другим возможности. Так же поступали в свое время
и переводческие команды: купы сознательных граждан сознание со знанием дела
сознательно спит.
Быть может, где-нибудь в сети проходят сходки поклонников, может в каких-то
местах и размениваются "котомками". Я этого не знаю и не интересовался.
По-моему, найти их сомнительно, поскольку и сегодня ценность программы еще не
докатилась до нуля. Ведь подумайте, некоторый совокупный объем собранных
"котомок" позволил бы вам ни с кем больше не знаться и самостоятельно переводить
почти любой софт. А если каждый такое сможет? А если в программе доделать режим
самообучения с чужих переводов? Издатели и производители запищали бы от наплыва
всевозможных переводов.
Вот мы и подкатились к ответу на вопрос "Стоит ли доделывать программу?" К
слову сказать, она в принципе доведена до ума в смысле возможности просто
переводить софт. Режим самообучения как таковой не предполагался изначально быть
в ней. Этот режим реализовывался внешним модулем. На последних порах часть
функций такого модуля была введена в программу под галочкой "тест для
самообучения переводчика". Но к тому моменту в общем востребованность подобного
новшества оказалась не очевидной. Переводческие команды своими руками наработали
внушительные базы, к тому же специализировались они нередко на определенном
софте, который никто к тому моменту официально не переводил, следовательно,
обучать было не с чего. Обучение с чужих левых переводов вело к риску задарма
пополнить свою базу возможно неверными переводами фраз. Тотальная перепроверка
чужих фраз была не лучше, чем перевести все своими силами.
Теперь вкратце расскажу о том, как команды переводчиков выполняли процесс
перевода. У каждой команды, естественно, были свои тонкости в подходе, поэтому
рассмотрим общий план действий.
Сначала устанавливалась английская версия требуемого продукта. Папка с
установленными файлами копировалась куда-нибудь в другое место компьютера, чтобы
все манипуляции производить прямо там. Даже создавалось два дубля папки - один
чисто английский, другой переводимый.
Далее на второй дубль натравливалась программа-переводчик в режиме "Тест".
Галочками "вообще не переводить ..." убирались те ресурсы, кои команда не
считала нужными переводить. Дело в том, что и команды были разными. Одни
переводом называли продукт, у которого менюшки на русском языке, все остальное -
не русское. Другие считали, что перевести достаточно менюшки и диалоги. Третьи
предпочитали переведенными видеть и строки, и диалоги, и меню.
 Лучшие из команд поступали так. На режим теста включали галочки "нужен
контроль перевода ...", чтобы в тестовые базы попадали и переведенные фразы.
Иногда для ресурсов "Строки" включали галочку "особое внимание системным
строкам", чтобы в тестовые базы не попадали системные строки, перевод которых
чреват слетанием переведенной программы. Например, невинный текст "Templates"
может оказаться и именем папки, и названием настройки, и чем угодно. Если это
текст системный, то его перевод "Шаблоны" заставит переведенную программу искать
папку с русифицированным именем или настройку с таким именем. Это простой
пример, а системные строки разнообразны и бывают (правда, редко) такими, что их
легко спутать с обычным текстом. Поэтому последняя опция не всегда помогает
однозначно. К тому же при этой опции некоторые не системные строки оказываются
исключенными. Например, тот же текст "Templates" может случиться и текстом,
выводимым где-то на экране. Короче говоря, решающее значение при выставлении
галочек имеет опыт и понимание хотя бы некоторых основ переводимой программы, а
еще лучше хорошее ее знание на уровне пользователя. Последнее позволяет
переводить отдельную фразу и тут же понимать, где (в каком диалоге, менюшке,
сообщении) она может выскочить на экране.
Итак, папку со вторым дублем выбрали (то есть вошли в нее) в
программе-переводчике, нажали кнопку "Английская версия". Если хотим
использовать для переводимой программы какие-то другие базы, а не базы из
предопределенной папки (из той папки, откуда была запущена
программа-переводчик), то входим в необходимую папку с базами и жмем кнопку
"Базы". Затем выставили нужные галочки настроек перевода, нажимаем кнопку
"Тест".
Как только программа-переводчик отколбасила тест, в папке переводимой
программы появилась папка !Testing.dat, в ней лежат тестовые базы - обычные
текстовые файлы с выдернутыми из переводимой программы фразами. Если мы
настройками разрешили перевод ресурсов "Меню" и в программе найдены такие
ресурсы заданного языка (по умолчанию, английского и нейтрального - их коды 1033
и 0 соответственно), то здесь будет лежать файл !_menus.txt. В нем находятся
фразы, что относятся к менюшкам переводимой программы. Сразу замечу, что у
некоторых программ определенные фразы элементов меню расположены еще и в
ресурсах "Строки", особенно у тех программ, что генерируют меню в зависимости от
условий эксплуатации. Если мы разрешили перевод ресурсов "Диалоги", фразы их
элементов находятся в файле !_dialogs.txt. И так далее. Как видно, имена
создаваемых файлов (и папок) начинаются с восклицательного знака, чтобы при
алфавитной сортировке списка файлов они оказались наверху и легче находились.
Теперь человек-переводчик берет эти файлы, открывает в любом удобном
редакторе и, строка за строкой, переводит перечисленные фразы. В файлах
находятся: строка с английской фразой, следующая строка должна содержать перевод
этой фразы на русский язык, и так далее по строкам. Если мы устанавливали в
настройках перевода галочки "нужен контроль перевода ..." и к некоторым фразам
действительно имеется перевод в базах, то в созданных файлах мы заметим, что в
таких строках уже подставлен перевод. Человек-переводчик просто проверяет такую
строку и переходит к следующей. В конце концов все тестовые базы будут
переведены вручную. Это самый неавтоматизированный момент. Зато все следующие
версии переводимой программы переводятся махом, практически не требуя
вмешательства переводчика, разве что если в новой версии добавилось десятка два
новых элементов меню, диалогов и строк, которые требуется доперевести.
Ну вот, перевели и тестовые базы. Если в них остались какие-то строки,
которые уже неохота переводить, откидываем эти строки. Остались все переведенные
пары строк: английская, русская. Помечаем их и копируем через буфер обмена,
вставляя в базы программы-переводчика. Из файла !_menus.txt строки копируем в
базу !mnu_lib.txt, из файла !_dialogs.txt строки копируем в базу !dlg_lib.txt,
из остальных файлов !_strings_... строки копируем в базу !str_lib.txt. Причем
вставляем скопированные строки всегда наверх базы, то есть предыдущие строки в
базах сдвигаются вниз.
Теперь снова запускаем программу-переводчик, выбираем путь к базам (если они
в другой папке), выбираем путь ко второму дублю программы, ставим необходимые
настройки перевода и жмем кнопку "Перевод" (это работает только в
Windows NT/XP). После перевода в папке переводимой программы появится папка
!Update.dat, в ней находятся файлы переводимой программы, которые были изменены.
Копируем эти файлы прямо в папку реальной установленной программы (откуда делали
дубли). Проверяем работу запуском бывшей английской версии. В случае каких-либо
проблем у нас есть первый дубль, чисто английский, из него мы можем восстановить
копированием измененные файлы.
Мои объяснения, видимо, путаны, но принцип в общих чертах таков. Сложно
ничего нет, надо просто приловчиться, так как переводческие команды делали это
на ура. У них, правда, были еще свои утилитки для вычищения недопереведенных
(тех, что уже неохота доделывать) строк из тестовых баз, утилитки вставки
переведенных строк в базы программы-переводчика (они не через буфер обмена
копировали). В общем, все те мелочи, которых недостает программе для полного
комфорта.
Автор - Дмитрий Сахань, 17 марта 2005 года
|