Разрабатывая Windows 7 для глобального рынка
Microsoft уже давно стала международной компанией и всегда стремилась разрабатывать свои продукты так, чтобы их можно было использовать по всёму миру. Это та самая область, в которой встречается множество трудностей –больше, чем многие могут себе вообразить. Мы всегда стремились научиться новому и улучшить результаты. Создание программного обеспечения для глобального рынка – большая ответственность для каждого члена команды. У нас есть специальные группы сотрудников, которые работают над интернационализацией, то есть ориентированы на специфические местные особенности: управление шрифтами и ввод на основе азиатских языков – лишь два примера из множества. Конечно же, мы вложили немало труда в локализацию Windows 7 более чем на сотню языков. В этой статье Джули Беннетт (Julie Bennett) и Джон МакКоннелл (John McConnell) расскажут о совместной работе групп сотрудников над глобальными свойствами и нюансами локализаций, подготовивших Windows 7 к всемирной премьере. – Стивен
Многие читатели блога е7 живут за пределами США и говорят на языках отличных от английского, поэтому мы полагаем, что будет уместно рассказать об усовершенствовании многоязыковой поддержки в Windows 7. Нашей целью было создать систему, от использования которой выиграли бы пользователи во всём мире и сделать так, чтобы каждый чувствовал себя при работе в ней уютно, как дома. Windows 7 приносит с собой новый уровень фундаментальной надёжности и производительности, и мы со своей стороны сделали всё, чтобы пользователи любой страны, говорящие на любом языке, получили новый уровень удобств и преимуществ в повседневной работе. Ещё и поэтому мы начинаем поставки Windows 7 одновременно везде, где только возможно технически. В этой статье мы рассмотрим некоторые новые функции и усовершенствования, которые, как мы убеждены, сделают Windows 7 великолепной системой для международного использования.
Новые функции
Интернациональные возможности Windows 7 начинаются с самых элементарных и основополагающих вещей, – таких, как поддержка любых наборов символов в именах файловой системы NTFS (теперь соответствующей стандарту Unicode 5.1), и доходят до таких нюансов, как выбор фоновых рисунков рабочего стола и темы, отражающих местную специфику различных регионов планеты (включая фотографии, сделанные прямо на месте). Однако существуют некоторые возможности, наличие которых в системе чрезвычайно важно для правильной поддержки множества языков и культурных особенностей, и некоторые из них мы рассмотрим в настоящей статье.
Шрифты
Язык и письмо – основа любой культуры, и поэтому разнообразие шрифтов абсолютно необходимо для пользователей во всём мире. В Windows 7 увеличено как количество, так и качество шрифтов. Мы добавили пятьдесят новых шрифтов.
Рис.1. В Windows 7 было добавлено пятьдесят новых шрифтов.
Как можно понять из названий шрифтов в таблице, многие из них содержат не латиницу. По существу Windows 7 – первая Windows, в которой нелатинских шрифтов больше, чем латинских. Одной из важнейших областей усовершенствования была поддержка языков для Индии. Против девяти шрифтов для индийских языков в Windows Vista, в Windows 7 добавилось ещё сорок. Windows 7 теперь содержит по несколько шрифтов (включая различные начертания) для всех официальных языков Индии.
Рис. 2. Aparajita: новый шрифт девангари – обычный, жирный, курсив, и полужирный
Помимо добавления новых, мы улучшили существующие шрифты. Например, мы добавили более двух тысяч (!) глифов в Consolas, Calibri, Cambria Bold и Cambria Math. Но наиболее значительные улучшения были сделаны в некоторых нелатинских шрифтах. Например, Windows 7 гораздо лучше обрабатывает стандартную лигатуру шрифта Lam-Alef на арабском (картинка) и размещение знаков кантилляции.
Рис. 3. Слева: лигатура Lam-Alef в Vista; справа: лигатура Lam-Alef в Windows 7
Изменения в шрифтах (даже явные усовершенствования) всегда непросто осуществить из-за вероятных проблем с обратной совместимостью. Например, если знак меняет ширину или позицию, это может стать причиной постраничной переразбивки документа, а это неприемлемо. Поэтому, меняя шрифт, нам приходится проводить массу верификационных тестов, связанных с этими изменениями, чтобы убедиться, что формы документа, его размеры и прочие параметры не изменятся. В случае с исправлением Lam-Alef мы обнаружили, что существуют приложения, опирающиеся на недокументированный порядок глифов в старом шрифте. Эти программы будут сбоить, если мы просто заменим старые глифы новыми. Группа создателей шрифтов тесно сотрудничала с группой обеспечения международной совместимости, чтобы убедиться, что сделанные изменения не повлияют на характер расположения глифов в шрифте, обеспечив таким образом обратную совместимость.
Панель управления шрифтами
Поскольку в Windows 7 добавлено и изменено столько шрифтов, мы стремились предоставить пользователям инструмент для несложного управления ими. Впервые за многие годы мы полностью переработали панель управления шрифтами.
Первое изображение демонстрирует вариант представления панели с крупными иконками. Наиболее заметное изменение заключается в том, что иконки теперь сообщают значительно больше информации о том, как выглядит шрифт. Содержимое иконки отражает примерное представление глифа. Стиль иконки соответствует стилю шрифта. Иконки для нелатинских шрифтов передают типичные начертания шрифта, делая его дизайн доступным для просмотра. Несколько менее заметное усовершенствование – некоторые иконки шрифтов затенены, показывая, что шрифт установлен, но невидим. Невидимые шрифты по умолчанию не отображаются на ленте и в диалоговых окнах выбора шрифтов в программах. Теперь можно использовать панель управления шрифтами для тонкой настройки шрифтов, которые постоянно задействованы. Спрятав редко или никогда не используемые шрифты, можно упростить выбор нужных шрифтов в программах. Например, те, кто работает в английской и французской локализации, видят только латинские шрифты, в то время как в японской локализации по умолчанию видны только японские. Эти настройки можно изменить через контекстное меню каждого конкретного шрифта. Невидимые шрифты присутствуют в системе, так что программы, использующие их, не будут вызывать проблем.
Рис. 4. Панель «Шрифты» в режиме «Крупные иконки»
Следующий рисунок демонстрирует представление панели в детализированном виде. Теперь доступно больше информации о каждом шрифте. Например, можно сортировать их по стилю, неважно, видимы они или нет, или по информации о создателе. Обычно файлы шрифтов содержат служебную информацию на языке шрифта (например, японский шрифт может содержать сведения о себе только на японском). В Windows 7 нам требовалось решение, работающее для всех шрифтов на всех языках, поэтому мы разработали смешанный подход, соединяющий информацию от самого шрифта с метаданными о нём (XML-файл, содержащий передаваемые системе сведения о его свойствах).
Рис. 5. Панель «Шрифты» в режиме «Подробно»
Пакеты локализации
Windows 7 обладает новыми возможностями индивидуальной настройки. Новые темы, фоновые рисунки, звуковые схемы упростят настройку системы для нужд конкретного пользователя. Такие настройки зависят в том числе от языковых и географических особенностей, и это отражено в представленных пакетах локализации для Windows 7. Пакеты локализации содержат специфические темы для Windows 7, основанные на особенностях различных регионов. Они содержат соответствующие фоновые рисунки, особые цвета прозрачности для Aero, звуковые схемы. Избранное Internet Explorer 8 и RSS-каналы также настраиваются на местные ресурсы, когда пакет локализации активирован. Например, добавление и включение пакета локализации для Франции добавит специфические темы в управление индивидуальными настройками и несколько ссылок на популярные и полезные общественные веб-сайты и RSS-каналы в пользовательский профиль.
Рис. 6. Темы для разных стран
Пакеты локализации предоставляют пользователю особые свойства, связанные с его расположением на земном шаре, прямо из коробки. Пользователь не видит какого-то специального набора функций – он просто выбирает своё местоположение в процессе первоначальной настройки системы, и затем детали пакета становятся доступными для него на основании сделанного выбора.
Пользователи, которые ищут визуальные темы для своих стран или какие-то другие, могут найти их на странице Windows Online Gallery, которая доступна из меню "Получить другие темы из сети" в панели управления «Индивидуальные настройки».
Другие возможности
Среди других функций – 5 новых локализаций (теперь всего их 210), 12 новых языков ввода, улучшенная сортировка символов традиционного китайского. Кроме того, мы обновили системные базы данных, приведя в соответствие стандарту Unicode 5.1. Усовершенствован интерфейс, который позволят разработчикам улучшить качество программ для глобального применения. Расширенные службы поддержки языков (ELS) – новая потрясающая функция, о которой мы поговорим ниже в пункте «Современная интернационализация и качество».
Возможно, одним из самых значительных усовершенствований, помимо собственно интернациональных свойств, являются изменения в службе поиска, который теперь понимает больше языков. Например, поиск в Windows 7 распознаёт русские морфемы (единственное и множественное число, падежи и спряжения). Это означает, что совпадения для определённых слов на русском языке будут включать не только точные соответствия, но и морфологические формы искомого слова, что существенно повысит точность поиска.
Современная интернационализация и качество
В предыдущих версиях Windows 7 поставка локализованных версий для отдельных стран затягивалась на месяцы. В случае с Windows 7 мы постарались выпустить международные варианты в существенно более короткие сроки с тем, чтобы пользователи во всём мире смогли получить Windows 7 одновременно, ну насколько это возможно. Достижение этой цели потребовало от нас нового уровня интенсификации работы как инженеров и взаимодействия с партнёрами и клиентами в ходе периодов публичного тестирования.
Чтобы понять особенности нового подхода, нужно усвоить две очень важных концепции: что такое локализация и что такое глобализация применительно к Windows.
Локализация – процесс, направленный на обеспечение наилучшего взаимодействия системы с пользователем на местном языке. Помимо перевода строчек меню, он включает в себя целый ряд нюансов, таких, как изменение размеров диалоговых окон и переворачивание ярлыков для языков с письмом справа налево, таких, как иврит или арабский. В ходе этого процесса возникают некоторые типичные ошибки, такие, как неправильный перевод пункта меню.
Напротив, глобализация – процесс создания продукта, работающего в любом языковом окружении, независимо от выбранных пользователем языковых параметров интерфейса. Типичные ошибки глобализации – простые, как показ элемента интерфейса на неправильном языке или сложные, как неправильная интерпретация ввода справа налево. Такие ошибки значительно более серьёзны, нежели ошибки локализации, поскольку влияют на многие или на все языки и часто требуют переосмысления концепций технологического дизайна системы. В предыдущих выпусках Windows исправление ошибок глобализации требовало надолго откладывать официальный выпуск на разных языках. При создании Windows 7 мы стремились предотвратить, найти и исправить ошибки глобализации на столь ранних стадиях процесса разработки, насколько это было возможно.
Псевдолокализация
Для предотвращения ошибок глобализации были созданы так называемые псевдолокализованные сборки. Псевдолокализация – это создание продукта на несуществующем языке. Этот язык идентичен английскому с той лишь разницей, что в нём каждая буква заменена символом, внешне напоминающем её начертание. Если исключить факт полнейшей автоматизации генерирования такой сборки, она создавалась по той же схеме и принципам, что и настоящие локализации. Поскольку даже не говорящие на других, кроме английского, языках программисты из США могут свободно читать тексты и надписи в таких сборках, такой трюк оказался прекрасным способом находить ошибки глобализации на ранних стадиях разработки. В бета-версии Windows 7 некоторые элементы интерфейса так и остались псевдолокализованными, вызывая бурное обсуждение. Надеюсь, эта статья развеет мистический туман вокруг странных символов.
Рис. 7. Диалоги контрольной панели в псевдолокализованной версии Windows 7
Пилотные языки
Время появления публичной бета-версии – всегда очень волнующее время для всех нас. Это первая возможность получить действительно широкий отклик на предпринятые усилия. Мы были поражены, узнав, что в тестировании бета-версии Windows 7 приняли участие пользователи из 113 стран. С таким широким диапазоном участников программы тестирования необходимо иметь хорошо масштабируемые процессы сбора и анализа откликов. Мы гордимся новыми подходами к этой работе, осуществлёнными в Windows 7.
В прошлом языки локализации для бета-тестирования Windows выбирались, исходя из ряда прагматических соображений. И хотя такой прямой подход имеет свои преимущества, не обходится и без недостатков: слишком часто мы убеждались, что некоторые серьёзные дефекты глобализации не были замечены, поскольку не проявляли себя на выбранных языках. В случае с Windows 7 нашим приоритетным направлением был поиск ошибок глобализации, и поэтому мы сконцентрировались на 5 языках, включая английский, которые помогли бы нам найти некоторые специфические типы дефектов:
- Немецкий – язык содержит длинные составные слова и поможет определить ошибки в размерах диалоговых окон и выравнивании текста лучше, нежели другие языки.
- Японский – язык с десятками тысяч символов, нелатинскими начертаниями нескольких типов, альтернативными способами ввода и уникально сложной орфографией поможет найти ошибки, способные сказаться во многих других азиатских языках.
- Арабский – письмо справа налево с контекстуальным изменением букв (вид буквы зависит от других расположенных рядом с ней букв) помогает тестировать участки кода, не задействованные в немецком или японском.
- Хинди – Windows 95 и Windows 98 не поддерживали хинди, поскольку поддержка этого языка опирается целиком на Unicode. С его помощью мы находили дефекты, проявляющиеся при использовании отличных от Unicode наборов символов, которые могли повлиять на похожие языки.
Сосредоточившись на этих языках в ходе бета-тестирования, мы увеличили вероятность обнаружения и исправления ошибок глобализации, которые могли проявиться на многих других языках. Этот выбор позволил нам выиграть время и усовершенствовать локализации для всех языков перед выпуском финального продукта. Рисунки внизу демонстрируют две ошибки, найденные в бета-версии благодаря использованию пилотных языков.
Рис. 8. Дефекты глобализации, обнаруженные в бета-версии Windows 7
Помимо наших собственных усилий по поиску ошибок глобализации с помощью этих языков, мы обратились к ОЕМ-партнёрам с просьбой организовать обратную связь по вопросам языковых аспектов, возникающих в процессе производства, которым они заняты. Поскольку многие ОЕМ-партнёры находятся в Восточной Азии, мы также выпустили локализацию Windows 7 для упрощённого китайского, традиционного китайского и корейского языков.
Языковые пакеты для RC
Из-за особенностей процесса разработки нам удалось создать больше вариантов локализации для Windows 7 RC, чем когда-либо прежде за всю историю Windows. Те, кто установил версию Ultimate Windows 7, вероятно, обратили внимание на 32 языковых пакета, доступных для загрузки через службу обновления:
Рис. 9. 32 языковых пакета доступны для Windows 7 RC через Windows Update
Одну вещь мы в будущем точно организуем иначе: все локализации, доступные для бета-версии, будут доступны и для предварительного выпуска (в Windows 7 RC не оказалось хинди). Для будущих Windows это будет исправлено.
Интерпретация отзывов со всех концов света
С бета-версией Windows 7, локализованной для 5 языков и готовой к локализации на сотни других, мы получали отчёты об ошибках из всех уголков планеты. Мы очень надеялись, что эти отчёты помогут нам улучшить Windows 7, поэтому много времени посвятили изучению сообщений пользователей, чтобы найти ошибки в системе. Поскольку отчёты приходили отовсюду и на разных языках, мы старались не только понять, что нам пишут, но и отреагировать как можно быстрее. Чем раньше мы сможем понять, о чём нам пишут, тем раньше мы сможем устранить проблему – это очевидно. Поскольку отчёты приходили на многих языках, задача оказалось отнюдь не лёгкой.
Раньше мы обрабатывали иноязычные отчёты об ошибках вручную: каждая ошибка рассматривалась отдельно, затем делался перевод и пошаговая инструкция, помогающая воспроизвести проблему, для группы разработчиков, которые должны были ею заниматься. Это отнимало много времени и приводило к ошибкам, что плохо сказывалось на работе над такой сложной и разносторонней программой, как Windows 7. В худшем случае важным откликам на других языках вообще не уделялось надлежащего внимания, и исправления не делались даже в окончательной версии, переезжая в сервисные пакеты обновлений и даже в следующую версию.
В Windows 7, используя API определения языка в новых расширенных службах поддержки языков (ELS), стало возможным автоматически определять язык отчёта об ошибках в момент получения. Функциональные возможности ELS – новинка для Windows 7, доступная для тех создателей программ, которые хотят улучшить и развить поддержку различных языков в своих приложениях до уровня самой операционной системы. Начиная с Windows 7, разработчики могут пользоваться ELS для определения языка и назначения любого текста в формате Unicode, а также транслитерацию для переразметки текста между различными системами письма. Для использования этих и будущих вариантов служб в последующих выпусках Windows нужно просто освоить несложный и унифицированный интерфейс. Для разработчиков приложений под Windows 7 доступно автоматическое определение более 100 языков, и мы будем рады помочь отсортировать и обработать отклики, которые вы пошлёте нам, неважно, откуда именно. Мы используем наши собственные разработки управления международным контентом для того, чтобы лучше реагировать на запросы пользователей в глобальном масштабе.
Определив язык, мы отправляем текст на перевод, используя технологии машинного перевода, доступного, например в нашем онлайновом сервисе Live Translator. Таким образом мы переводим текст на английский, чтобы отклик дошёл до ответственного за проблему. Наши сотрудники сканируют базу данных в поисках специальных возможностей или областей функциональности. Это также помогает обеспечить международный аспект совместимости программ, как только нам становится известно по отчётам пользователей, что та или иная программа служит причиной проблем. Разумеется, машинный перевод не обеспечивает должного качества, но позволяет определить, о чём идёт речь и какие проблемы требуют дальнейшего изучения. Это, в свою очередь, позволяет нам гораздо быстрее отвечать на запросы и реагировать на проблемы, нежели это происходило раньше, при подготовке предыдущих версий Windows, что означает лучшее качество системы Windows 7, которая вскоре попадёт к клиентам по всему миру.
По ходу тестирования бета-версии Windows 7 были обработаны и переведены 35408 сообщений и комментариев, отправленных с помощью инструмента отчётов об ошибках.
Подводя итоги
Окончательный результат наших усилий по улучшению качества локализации и глобализации отражён в заявлении о полной готовности локализованных версий Windows 7, доступных в течение 2 недель после выпуска на всех языках «первой волны» в октябре. Мы надеемся (и убеждены!) в том, что конечные пользователи получат наилучшее качество продукта за всю историю его создания.
Рис. 10. В октябре пользователям станут доступны 36 языковых версий Windows 7
В дополнение к 36 языкам октябрьского релиза, многие языки будут доступны в качестве языковых пакетов для любого из вариантов Windows 7. Эти пакеты – результат сотрудничества с правительствами, университетами, экспертами-лингвистами со всего мира. Дополнительные сведения о языковых пакетах находятся по адресу: https://www.microsoft.com/unlimitedpotential/programs/llp.mspx. Работа над пакетами начнётся с момента выхода RTM и продолжится в течение нескольких месяцев в соответствии с расписанием наших партнёров. Два таких пакета будут доступны уже в октябре – это хинди и каталонский. Дополнительные языковые пакеты будут доступны для скачивания в последующие месяцы в соответствии с расписанием партнёров. Мы счастливы подтвердить, что нам удалось существенно сократить сроки выхода первых 38 языков (36 языков и 2 пакета локализации) и думаем, что в будущем удастся улучшить этот результат. Публикуя сроки выхода соответствующего выпуска, мы облегчаем нашим клиентам планирование и унифицированный режим выхода их собственных программ и/или миграции на новую платформу.
Более подробные сведения о расширенных службах поддержки языков (ELS) и других классных функциях Windows 7 можно почерпнуть на MSDN. В частности, там можно загрузить Windows SDK для Windows 7 и прочесть о том, что нового в «международном» разделе. Кроме того, новый центр для разработчиков Go Global на MSDN содержит огромное количество информации о технологиях интернационализации.
Если хотите отправить нам сообщение, сделайте это через форму ответа на этой странице или используйте кнопку «Отправить отчёт» в Windows 7. Мы будем рады услышать вас на любом языке.
Джули Беннетт (Julie Bennett) и Джон МакКоннелл (John McConnell),
отдел интернационализации Windows
Comments
Anonymous
July 13, 2009
Посты хорошие. Но почему вы не прячите их, что называется "под кат"? Это бы очень сильно улучшило внешний вид блога.Anonymous
July 13, 2009
Хочется высказать feedback по поводу Win7 RC. К сожалению не знаю куда написать, подскажите.Anonymous
February 24, 2014
Для программы windows media center нужна медиа приставка нигде не могу найти . Будьте любезны если сможете помогите. Не могу использовать телевизор для просмотра и запис тв программ.