Flash конечно же когда-нибудь уступит место Html5, но глупо утверждать что он это место уже уступил. Флэш по-прежнему востребован, он дает неплохие возможности и использование его по-прежнему оправдано. Так что сегодня я затрону такую тему как русификация flash-приложений. Допустим, вы создаете свой сайт и вам понадобилось разместить на нем какую-нибудь менюшку, баннер, фотогалерею, сделанную с использованием технологии flash. Или даже это целый сайт на flash - бывает и такое. Вы не стали замарачиваться и делать эти менюшку, баннер или фотогалерею самостоятельно, а скачали шаблон с какого-нибудь сайта, модифицировали его по своему вкусу, прицепили готовый swf-файл к сайту и тут начались проблемы... он не отображает русские буквы.
Скорее всего шаблон, который вы скачали состоит как минимум из 3 частей: исходник (fla), сама флэшка (swf) и xml-файл, в котором хранятся параметры и текст, который подгружается во флэшку. То есть если вы делаете фотогалерею - в нее из этого xml-файла будут подгружаться названия фоток и их описания, а так же там будет указано где сами фотки хранятся. Схема простая и логичная.
Вот только в 90% флэшка не поймет записанные в xml-файле русские буквы и слова, и в итоге она либо их не выведет, либо вообще не загрузится. На самом деле это очень легко исправить. Сразу оговорюсь - обязательно нужен исходник (fla-файл), если его нет - стоит попробовать воспользоваться чудной прогой Flash Decompiller, но не факт что после декомпиляции swf-файла в fla и последующей его компиляции обратно в swf флэшка будет работать корректно. Хотя у меня не получилось всего один раз :)
Итак, у вас все-таки есть исходник. Замечательно! Открываем его, заходим в библиотеку Window -> Library. Находим там файлы шрифтов, встроенные во флэшку.
Дважды щелкаем по файлу левой кнопкой мыши или же правой кнопкой мыши и выбираем в меню - Properties (Свойства). Открывается окно “Font Embedding”. Его еще можно вызвать так: меню Font -> Font Embedding. Здесь мы видим все шрифты, встраиваемые во флэшку и параметры их встраивания.
Наша проблема заключается в том, что встроены только английские символы, а русские нет. Исправляем.
Выбираем нужный шрифт. Переходим в список “Character Ranges” (справа) и ставим там галочку напротив пункта “Cyrrillic”. Все, полдела сделано. Повоторяем эту операцию для всех остальных шрифтов (если таковые имеются), жмем ОК, сохраняем флэшку, публикуем ее и переходим ко второй части русификации.
Возможные проблемы: Иногда при публикации Adobe Flash может ругаться и посылать обратно в “Font Embedding”. Скорее всего это связано с тем что в используемом шрифте попросту нет кириллических символов (а вы поставили там галочку). Решается это просто - поменять шрифт на тот, в котором они есть.
Теперь нужно пересоздать xml-файл. Учтите, что его кодировка обязательно должна быть utf-8. Насколько я знаю - других кодировок флэш не переваривает. Даже если там вверху уже написано utf-8 - флэшка все равно почти никогда не начнет отображать русские буквы пока этот файл не пересоздашь. ХЗ с чем это связано, в подробности я не вникал. Файл можно пересоздать да хоть в блокноте, а потом сохранить его с расширением xml. Я делаю это в Dreamweaver’e. Создаю новый xml-файл, копирую в него весь код из старого файла и сохраняю с тем же именем.
Все, дело сделано. Запускаем флэшку, смотрим на русские буковки... радуемся :)