Quarta Russian MUI for Pocket PC 2002 - локализация для Pocket PC 2002 |
 |
Авторы, перевод: Caustic |
Дата статьи: 30.05.2002 |

Внутреннее устройствоЛокализация работает на редкость надежно и "безглючно". Практически единственная неприятность (если не считать опустевшего меню Пуск) - в настройках аппаратных кнопок из списка приложений исчезли все установленные ранее программы. Причем сами настройки сохранились, и список программ для удаления с машинки ничуть не поредел. Еще не понравилось, что нельзя отключить перевод интерфейса (оставив клавиатуру). Впрочем, эту возможность и возможность динамического переключения между пользовательскими интерфейсами на различных языках разработчики собираются реализовать в следующих версиях.
Кроме того, русификатор работает на удивление быстро: нет никаких задержек по сравнению с "чистой" машинкой, в то время как при использовании других систем локализации КПК заметно "притормаживает". Дело в том, что Quarta MUI предназначена именно для Pocket PC 2002 и работает не по старой схеме.
Обычно движок системы локализации занимается подменой ресурсов (в которых содержатся данные для формирования пользовательского интерфейса, в частности, надписи на кнопках и в диалогах) некоторых системных библиотек. Сам движок находится в оперативной памяти и подменяет ресурсы "на лету", что заметно замедляет работу системы в целом. Главная проблема в том, что надо знать, в какой момент подменить какой ресурс. А для этого приходится лезть в текущие процессы (работающие программы, библиотеки) полухакерскими методами. То есть "обманывать" ОС, чтобы получить в нужный момент права доступа к определенным процессам. Понятно, что сам подход несколько порочен, однако для ранних версий Windows CE ничего лучше придумать не удалось. Собственно и современные русификаторы продолжают использовать этот подход. Кроме того, дополнительная нагрузка на оперативную память и процессор возникает при запуске отдельных локализованных программ (например Word).
Решение же Quarta Technologies оказалось простым и эффективным. В Windows CE для Pocket PC 2002 есть функции, специально предусмотренные для решения вопросов локализации. Они позволяют просто указать системе, что ей нужно использовать не стандартные файлы ресурсов, а находящиеся в таком-то месте в памяти (не оперативной, а выделенной для хранения файлов). Функции, надо сказать, недокументированные, но отнюдь не закрытые и вполне работоспособные. Надо было лишь копнуть поглубже.
Достаточно совсем небольшого программного кода, чтобы указать системе, какими файлами ресурсов ей пользоваться. Ну и, конечно, самих файлов ресурсов с русским языком. В результате русификация проходит на уровне самой системы, без использования каких-либо дополнительных приложений. Отсюда быстрота и надежность работы. В "рабочем" состоянии русификатор требует около 2.5 Мб оперативной памяти.
В общем, система локализации оставляет отличное впечатление, в основном благодаря своей основательности и продуманности. Работает она безупречно и остается только пожалеть, что большинство пользователей ее так и не увидят. Что ж, другим разработчикам есть к чему стремиться!
Обсуждение статьи в форуме

|