Б.Меленевский, CSBI EE
1. Национальные алфавиты и таблицы кодировок
В каждой стране используется свой алфавит - набор символов (немецкий, французский, испанский,
русский). Для их представления обычно используются "Таблицы Кодировок", содержащие коды от
нуля до двухсот пятидесяти пяти. Однако в некоторых случаях одного байта не хватает для
представления всех символов алфавита (китайский, японский, корейский). PROGRESS
предоставляет возможность работы как с однобайтовыми и двубайтовыми таблицами
кодировок.
В России известно несколько Таблиц Кодировок альтернативная, основная, дополнительная. В
операционных системах DOS, MS-WINDOWS, UNIX также используются различные Таблицы
Кодировок. Рассмотрим как в Progress осуществляется описание, настройка и динамическое
преобразование Таблиц Кодировок для различных операционных систем и оборудования.
Описанный ниже алгоритм позволяет освободить разработчика от задач, связанных с
локализацией продуктов и настройкой их на работу в конкретном операционном окружении, что
значительно облегчает его работу и экономит время, необходимое на разработку и сопровождение
программного продукта.
Вся информация необходимая для настройки Таблиц Кодировок, в PROGRESS они называются
кодовыми страницами, содержится в файле convmap.cp. Этот файл хранится во внутреннем
формате PROGRESS, и создается специальной утилитой из обычного текстового файла
convmap.dat.
В данном файле хранится несколько специальных таблиц, двух типов - определения кодовых
страниц и правил сортировки.
2. Системные сообщения
В ряде случаев, особенно при эксплуатации системы неспециалистами в области информационных
технологий, требуется исключить появление на экране любой информации на языке, отличном от
используемого в данной стране. Основную проблему вызывают системные сообщения,
появляющиеся при различных сбоях, как правило они выдаются только на английском языке. В
Progress Вы можете выбрать язык на котором будут выдаваться системные сообщения, среди них
естественно есть и русский.
3. Работа Progress в гетерогенной сети
Различные устройства могут использовать различные кодовые страницы и при работе в
гетерогенных сетях важно уметь настроить ваше приложение на работу с такими устройствами.
PROGRESS различает несколько типов кодовых страниц - внутренняя страница, страница баз
данных, страница печати, страница символьного терминала, страница дополнительного потока.
Progress осуществляет автоматическое преобразование информации в соответствии с задаваемыми
кодовыми страницами. Конечный пользователь приложения может даже не знать, что различные
устройства используют различные кодовые страницы. Progress осуществляет следующие типы
преобразований: Значения используемых кодовых страниц указываются при запуске сессии
Progress и Progress автоматически осуществляет необходимые преобразования.
Приведем некоторые стартовые параметры.
4. Одновременная поддержка нескольких языков
Все более актуальной становится возможность использования одного и того же приложения в
различных странах на разных языках с учетом национальных традиций и особенностей. В России
ряд разработчик также столкнулся с такого же рода задачей. Российские приложения хотят
эксплуатировать на Украине, в Казахстане, в других странах бывшего Советского Союза. При
этом встает вопрос поддержки национальных алфавитов каждой из этих стран. Progress Software
разработала специальный продукт Translation Manager 2 для решения этих вопросов. В его состав
входят две основные компоненты - Translation Manager и Visual Translator.
Описание процесса перевода приложения
В процессе перевода выделяются две ключевые фигуры: руководитель проекта и собственно
переводчик. Каждый из них решает свои задачи. Руководитель проекта формирует задание для
переводчика, определяет стоимость работы, распределяет ее между переводчиками, осуществляет
контроль за выполнением работы, готовит окончательный вариант приложения. Переводчик
получает задание, осуществляет перевод и возвращает выполненную работу руководителю
проекта. В соответствии с этими ролями распределены функции между двумя компонентами.
Руководитель проекта определяет те процедуры, которые должны быть переведены на другой
язык. После этого он указывает фильтр для типов сообщений, которые необходимо перевести в
каждой процедуре. Такими типами могут быть: меню, метки, наименования кнопок и т.д. После
этого происходит формирование задания на перевод для переводчиков. В задание могут быть
включены стандартные словари, содержащие перевод основных терминов, при этом допускается
использование стандартных словарей фирмы Microsoft, которые использовались для перевода
Word и Excel. При этом выдается вся статистика, позволяющая оценить трудоемкость работы и
возможные сроки ее окончания. Переводчику передается только информация, необходимая для
перевода без логики самого приложения. Задание может посылаться по почте, на дискете или иным
способом.
Получив задание, переводчик приступает к его переводу на другой язык. Возможны два режима
перевода: поэкранный либо построчный. После окончания перевода и его проверки переводчик
посылает выполненное задание обратно руководителю проекта.
Руководитель проекта, собрав полученные работы от переводчиков, консолидирует их работу и
выполняет компиляцию приложений. После этого с данным приложением можно работать с
использованием нового языка. Для указания языка используется стартовый параметр - lng.
Заключение
Вопросы интернационализации приложений и поддержка национальных алфавитов является
одним из принципов открытости системы. С другой стороны реализация этого требования
довольна сложна, так как требует решения большого количества проблем: сортировки, формат
отображения дат и денежных единиц, календарных дней, телефонных номеров и т.д.
Опыт работы с PROGRESS и программными продуктами, разработанными на c его помощью
показал, что PROGRESS удовлетворяет самым жестким требованиям, предъявляемым к понятию
Открытой Системы с точки зрения Интернационализации, так в 1996г. оборот
американской компании PROGRESS SOFTWARE от операций за пределами США превысил
50%.