Занятие 3. Локализация приложений
(Продолжительность занятия 25 минут)
Цель локализации — перевод программного продукта и настройка для работы на другом языке. Помимо экранной информации и документации, необходимо локализовать справочные файлы, сценарии, шаблоны, модели и файлы примеров.
Что касается интерфейса, то здесь локализуют не только язык, но и другие элементы: значки, символы и т.д. Например, пользователи в Соединенных Штатах легко опознают округлый почтовый ящик с флагом на боку как значок почтовой программы, но пользователи в других странах могут не понять этой аналогии. На этом занятии Вы познакомитесь с методами локализации приложений.
Файлы ресурсов
Файлы ресурсов — это полезный механизм для отделения локализуемой информации от кода. Строковые ресурсы ссылаются на текст, применяемый в таких элементах пользовательского интерфейса приложения, как меню, диалоговые окна, информационные и предупреждающие сообщения и сообщения об ошибках. Если приложение предназначено для пользователей региона, отличающегося от места разработки приложения, эти ресурсы должны быть локализованы.
Хранение строк в файлах ресурсов
При разработке приложений на Visual Basic вместо ссылок на строки, рисунки и данные применяются функции LoadResString, LoadResPicture и LoadResData. Хранение этих элементов в файле ресурсов имеет два преимущества:
strValue = LoadResString(Index)
> Использование файла ресурсов
> Использования файла ресурсов в Visual Basic
Для этого щелкните правой кнопкой в окне Project Explorer и выберите в меню команду Add. Щелкните кнопку Add File и найдите нужный файл ресурсов на диске.
Image1.Picture = LoadResPicture(100, vbResIcon)
Label-1. Caption = LoadResString(IOO)
Если ресурсы загружены правильно, форма будет выглядеть вот так.
Коды символов
Символы в системе представлены своими кодами. Они генерируются и сохраняются, когда пользователь создает документ. Однобайтные наборы символов содержат 256 кодов: этого достаточно для кодирования большинства символов основных языков. Например, набор символов Windows Extended ANSI содержит 256 символов, включая латинские буквы, арабские цифры, знаки препинания и изобразительные элементы.
Однако 256 кодов недостаточно для хранения всех символов одного шрифта на разных языках или для языков, использующих алфавит большого размера (например, в китайском языке более 12 000 символов-иероглифов). В подобных случаях применяются многобайтные наборы символов (обычно их называют двухбайтными).
Формат Unicode
Строки в файлах ресурсов хранятся в формате Unicode. Он позволяет использовать больший диапазон символов, чем при однобайтном кодировании, поскольку все символы Unicode являются двухбайтными.
Внутреннее представление символов в Windows NT (но не в Windows 95) использует формат Unicode.
strUnicodeValue = StrConv("String Value", vbUnicode)
StrANSIvalue = StrConv(strUnicodeValue, vbFromUnicode)
Резюме
Локализация делает возможным использование программного продукта на другом языке. Этой операции подлежат экранная информация, документация, справочные файлы, сценарии, шаблоны, модели, файлы примеров, значки и символы. На практике локализуемую информацию отделяют от кода приложения посредством файлов ресурсов, применяя в коде функции загрузки ресурса вместо самих ресурсов — строк, изображений и т.п. Ресурсы изолированы в одном файле, что позволяет локализовать приложение без доступа к исходному коду или его перекомпиляции. Строки в ресурсах хранятся в формате Unicode, поддерживающем многобайтные наборы символов.