Разрабатывая Windows 7 для глобального рынка
Microsoft уже давно стала международной компанией и всегда прилагала огромные усилия к разработке своих продуктов, чтобы их можно было использовать во всём мире. Это та самая область, в которой встречается множество трудностей — возможно, больше, чем многие могут себе вообразить. Мы всегда стремились научиться новому и улучшить наши результаты. Создание программного обеспечения для глобального рынка — большая ответственность для каждого члена команды. У нас есть специальные группы сотрудников, которые работают над интернационализацией, то есть ориентированностью на специфические местные особенности: управление шрифтами и ввод на основе азиатских языков — лишь два примера из множества. Конечно же, мы вложили немало труда в локализацию Windows 7 на более 100 языков. В этой статье Джули Беннетт (Julie Bennett) и Джон МакКоннелл (John McConnell) расскажут вам о совместной работе групп сотрудников над глобальными свойствами и нюансами локализаций, подготовивших Windows 7 к всемирной премьере. --Стивен
Многие читатели блога е7 живут за пределами США и говорят на отличных от английского языках, поэтому мы полагаем, что будет уместным рассказать об усовершенствовании многоязыковой поддержки в Windows 7. Нашей целью было создать такую систему, от использования которой выиграли бы пользователи во всём мире и сделать так, чтобы каждый пользователь чувствовал себя при работе в ней уютно, как дома. Windows 7 приносит с собой новый уровень фундаментальной надёжности и производительности, и мы со своей стороны сделали всё, чтобы пользователи любой страны, говорящие на любом языке, получили новый уровень удобств и преимуществ в повседневной работе. Ещё и поэтому мы начинаем поставки Windows 7 одновременно везде, где только возможно технически. В этой статье мы рассмотрим некоторые новые функции и усовершенствования, которые, как мы убеждены, сделают Windows 7 великолепной системой для международного использования.
Новые функции
Международные возможности Windows 7 начинаются с самых элементарных и основополагающих вещей, — таких, как поддержка любых наборов символов в именах файловой системы NTFS (теперь соответствующей стандарту Unicode 5.1), и доходят до таких нюансов, как выбор фоновых рисунков рабочего стола и темы, отражающих местную специфику различных регионов планеты (включая фотографии, сделанные прямо на месте). Однако существуют некоторые возможности, наличие которых в системе чрезвычайно важно для правильной поддержки множества языков и культурных особенностей, и некоторые из этих возможностей мы рассмотрим в настоящей статье.
Шрифты
Язык и письмо — основа любой культуры, и поэтому разнообразие шрифтов абсолютно необходимо для пользователей во всём мире. В Windows 7 увеличено как количество, так и качество шрифтов. Мы добавили пятьдесят новых шрифтов:
Как можно понять из названий шрифтов в таблице, многие из них не для латиницы. По существу Windows 7 — первая Windows, в которой нелатинских шрифтов больше, чем латинских. Одной из важнейших областей усовершенствования была поддержка языков для Индии. Против девяти шрифтов для индийских языков в Windows Vista, в Windows 7 добавилось ещё сорок. Windows 7 теперь содержит по несколько шрифтов (включая различные начертания) для всех официальных языков Индии.
Aparajita: новый шрифт девангари — обычный, курсив, жирный и полужирный
Помимо добавления новых, мы улучшили существующие шрифты. Например, мы добавили более двух тысяч (!) глифов в Consolas, Calibri, Cambria Bold и Cambria Math. Но наиболее значительные улучшения были сделаны в некоторых нелатинских шрифтах. Например, Windows 7 гораздо лучше обрабатывает стандартную лигатуру шрифта Lam-Alef на арабском (картинка) и размещение знаков кантилляции.
Слева: лигатура Lam-Alef в Vista Справа: лигатура Lam-Alef в Windows 7
Изменения в шрифтах (даже явные усовершенствования) всегда непросто осуществить из-за вероятных проблем с обратной совместимостью. Например, если знак меняет ширину или позицию, это может стать причиной постраничной переразбивки документа, а это неприемлемо. Поэтому, меняя шрифт, нам приходится проводить массу верификационных тестов, связанных с этими изменениями, чтобы убедиться, что формы документа, его размеры и прочие параметры не изменятся. В случае с исправлением Lam-Alef мы обнаружили, что существуют приложения, опирающиеся на недокументированный порядок глифов в старом шрифте. Эти программы будут сбоить, если мы просто заменим старые глифы новыми. Группа создателей шрифтов тесно сотрудничала с группой обеспечения международной совместимости, чтобы убедиться, что сделанные изменения не повлияют на характер расположения глифов в шрифте, обеспечив таким образом обратную совместимость.
Панель управления шрифтами
Поскольку в Windows 7 добавлено и изменено столько шрифтов, мы стремились предоставить пользователям инструмент для несложного управления ими. Впервые за многие годы мы полностью переработали панель управления шрифтами.
Первое изображение демонстрирует вариант представления панели с крупными иконками. Наиболее заметное изменение заключается в том, что иконки теперь сообщают значительно больше информации о том, как выглядит шрифт. Содержимое иконки отражает примерное представление глифа. Стиль иконки соответствует стилю шрифта. Иконки для нелатинских шрифтов передают типичные начертания шрифта, делая его дизайн доступным для просмотра. Несколько менее заметное усовершенствование — некоторые иконки шрифтов затенены, показывая, что шрифт установлен, но невидим. Невидимые шрифты по умолчанию не отображаются на ленте и в диалоговых окнах выбора шрифтов в программах. Теперь можно использовать панель управления шрифтами для тонкой настройки шрифтов, которые постоянно задействованы. Спрятав редко или никогда не используемые шрифты, можно упростить выбор нужных шрифтов в программах. Например, те, кто работает в английской и французской локализации, видят только латинские шрифты, в то время как в японской локализации по умолчанию видны только японские. Эти настройки можно изменить через контекстное меню каждого конкретного шрифта. Невидимые шрифты присутствуют в системе, так что программы, использующие их, не будут вызывать проблем.
Следующая картинка демонстрирует представление панели в детализированном виде. Теперь доступно больше информации о каждом шрифте. Например, можно сортировать их по стилю, неважно, видимы они или нет, или по информации о создателе. Обычно файлы шрифтов содержат служебную информацию на языке шрифта (например, японский шрифт может содержать сведения о себе только на японском). В Windows 7 нам требовалось решение, работающее для всех шрифтов на всех языках, поэтому мы разработали смешанный подход, соединяющий информацию от самого шрифта с метаданными о нём (XML-файл, содержащий передаваемые системе сведения о его свойствах).
Пакеты локализации
Windows 7 обладает
Темы для разных стран
Пакеты локализации предоставляют пользователю особые свойства, связанные с его расположением на земном шаре, прямо из коробки. Пользователь не видит какого-то специального набора функций — он просто выбирает своё местоположение в процессе первоначальной настройки системы, и затем детали пакета становятся доступными для него на основании сделанного выбора.
Пользователи, которые ищут визуальные темы для своих стран или какие-то другие, могут найти их на странице Windows Online Gallery, которая доступна из меню "
Другие функции
Среди других функций — 5 новых локализаций (теперь всего их 210), 12 новых языков ввода, улучшенная сортировка для символов традиционного китайского. Кроме того, мы обновили системные базы данных для соответствия стандарту Unicode 5.1. Сделаны определённые улучшения интерфейса, которые позволят разработчикам улучшить качество программ для глобального применения. Расширенные службы поддержки языков (ELS) — новая потрясающая функция, о которой мы поговорим ниже в пункте "Современная интернационализация и качество".
Возможно, одним из самых значительных усовершенствований, помимо собственно интернациональных свойств, являются изменения в службе поиска, который теперь понимает больше языков. Например, поиск в Windows 7 распознаёт русские морфемы (единственное и множественное число, падежи и спряжения). Это означает, что совпадения для определённых слов на русском языке будут включать не только точные соответствия, но и морфологические формы искомого слова, что существенно повысит точность поиска.
Современная интернационализация и качество
В предыдущих версиях Windows 7 поставка локализованных версий для отдельных стран затягивалась на месяцы. В случае с Windows 7 мы постарались выпустить международные варианты в существенно более короткие сроки с тем, чтобы пользователи во всём мире смогли получить Windows 7 одновременно, ну насколько это возможно. Достижение этой цели потребовало от нас нового уровня интенсификации работы как инженеров и взаимодействия с партнёрами и клиентами в ходе периодов публичного тестирования.
Чтобы понять особенности нового подхода, нужно усвоить две очень важных концепции: что такое локализация и что такое глобализация применительно к Windows.
Локализация — процесс, направленный на обеспечение наилучшего взаимодействия системы с пользователем на местном языке. Помимо перевода строчек меню, он включает в себя целый ряд нюансов, таких, как изменение размеров диалоговых окон и переворачивание ярлыков для языков с письмом справа налево, таких, как иврит или арабский. В ходе этого процесса возникают некоторые типичные ошибки, такие, как неправильный перевод пункта меню.
Напротив, глобализация — процесс создания продукта, работающего в любом языковом окружении, независимо от выбранных пользователем языковых параметров интерфейса. Типичные ошибки глобализации — простые, как показ элемента интерфейса на неправильном языке или сложные, как неправильная интерпретация ввода справа налево. Такие ошибки значительно более серьёзны, нежели ошибки локализации, поскольку влияют на многие или на все языки и часто требуют переосмысления концепций технологического дизайна системы. В предыдущих выпусках Windows исправление ошибок глобализации требовало надолго откладывать официальный релиз на разных языках. При создании Windows 7 мы стремились предотвратить, найти и исправить ошибки глобализации на столь ранних стадиях процесса разработки, насколько это было возможно.
Псевдо-локализация
Для предотвращения ошибок глобализации были созданы так называемые псевдо-локализованные сборки. Псевдо-локализация — это создание продукта на несуществующем языке. Этот язык идентичен английскому с той лишь разницей, что в нём каждая буква заменена символом, внешне напоминающем её начертание. Если исключить факт полнейшей автоматизации генерирования такой сборки, она создавалась по той же схеме и принципам, что и настоящие локализации. Поскольку даже не говорящие на других, кроме английского, языках программисты из США могут свободно читать тексты и надписи в таких сборках, такой трюк оказался прекрасным способом находить ошибки глобализации на ранних стадиях разработки. В бета-версии Windows 7 некоторые элементы интерфейса так и остались псевдо-локализованными, вызывая бурное обсуждение. Надеюсь, эта статья развеет мистический туман вокруг странных символов.
Пилотные языки
Время появления публичной бета-версии — всегда очень волнующее время для всех нас. Это первая возможность получить действительно широкий отклик на предпринятые нами усилия. Мы были поражены, узнав, что в тестировании бета-версии Windows 7 приняли участие пользователи из 113 стран. С таким широким диапазоном участников программы тестирования необходимо иметь хорошо масштабируемые процессы сбора и анализа откликов. Мы гордимся новыми подходами к этой работе, осуществлёнными в Windows 7.
В прошлом языки локализации для бета-тестирования Windows выбирались, исходя из ряда прагматических соображений. И хотя такой прямой подход имеет свои преимущества, не обходится и без недостатков: слишком часто мы убеждались, что некоторые серьёзные дефекты глобализации не были замечены, поскольку не проявляли себя на выбранных языках. В случае с Windows 7 нашим приоритетным направлением был поиск ошибок глобализации, и поэтому мы сконцентрировались на 5 языках, включая английский, которые помогли бы нам найти некоторые специфические типы дефектов:
- Немецкий — язык содержит длинные составные слова и поможет определить ошибки в размерах диалоговых окон и выравнивании текста лучше, нежели другие языки.
- Японский — язык с десятками тысяч символов, нелатинскими начертаниями нескольких типов, альтернативными способами ввода и уникально сложной орфографией поможет найти ошибки, способные сказаться во многих других азиатских языках.
- Арабский — письмо справа налево с контекстуальным изменением букв (вид буквы зависит от других расположенных рядом с ней букв) помогает тестировать участки кода, не задействованные в немецком или японском.
- Хинди — Windows 95 и Windows 98 не поддерживали хинди, поскольку поддержка этого языка опирается целиком на Unicode. С его помощью мы находили дефекты, проявляющиеся при использовании отличных от Unicode наборов символов, которые могли повлиять на похожие языки.
Сосредоточившись на этих языках в ходе бета-тестирования, мы увеличили вероятность обнаружения и исправления ошибок глобализации, которые могли проявиться на многих других языках. Этот выбор позволил нам выиграть время и усовершенствовать локализации для всех языков перед тем, как мы выпустим финальный продукт. Рисунки внизу демонстрируют две ошибки, найденные в бета-версии благодаря использованию пилотных языков.
Дефекты глобализации, обнаруженные в бета-версии Windows 7
Помимо наших собственных усилий по поиску ошибок глобализации с помощью этих языков, мы обратились к ОЕМ-партнёрам организовать обратную связь по вопросам языковых аспектов, возникающих в процессе производства, которым они заняты. Поскольку многие ОЕМ-партнёры находятся в Восточной Азии, мы также выпустили локализацию Windows 7 для упрощённого китайского, традиционного китайского и корейского языков.
Языковые пакеты для RC
Отчасти по причине особенностей процесса разработки нам удалось создать больше вариантов локализации для Windows 7 RC, чем когда-либо прежде за всю историю Windows. Те, кто установил Максимальную версию Windows 7, вероятно, обратили внимание на 32 языковых пакета, доступных для загрузки через службу обновления:
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 языков, и мы будем рады помочь отсортировать и обработать отклики, которые вы пошлёте нам, неважно, откуда именно. Мы используем наши собственные разработки управления международным контентом для того, чтобы лучше реагировать на запросы пользователей в глобальном масштабе.
Определив язык, мы отправляем текст на перевод, используя технологии машинного перевода, доступного, например в нашем онлайновом сервисе
По ходу тестирования бета-версии Windows 7 мы использовали этот процесс для обработки и перевода 35408 сообщений и комментариев, отправленных с помощью инструмента отчётов об ошибках.
Подводя итоги
Окончательный результат наших усилий по улучшению качества локализаций и глобализации отражён в заявлении о полной готовности локализованных версий Windows 7, доступных в течение 2 недель после выпуска на всех языках "первой волны" в октябре. Мы надеемся (и убеждены!) в том, что конечные пользователи получат наилучшее качество продукта за всю историю его создания.
В октябре пользователям станут доступны 36 языковых версий Windows 7
В дополнение к 36 языкам октябрьского релиза, многие языки будут доступны в качестве языковых пакетов для любого из вариантов Windows 7. Эти пакеты — результат сотрудничества с правительствами, университетами, экспертами-лингвистами со всего мира. Дополнительные сведения о языковых пакетах находятся по адресу:
Более подробные сведения о расширенных службах поддержки языков (ELS) и других превосходных функциях Windows 7 можно почерпнуть на MSDN. В частности, там можно загрузить Windows SDK для Windows 7 и прочесть о том, что нового в "международном" разделе. Кроме того, новый
Если хотите отправить нам сообщение, сделайте это через форму ответа на этой странице или используйте кнопку "Отправить отчёт" в Windows 7. Мы будем рады услышать вас на любом языке.
Джули Беннетт (Julie Bennett) и Джон МакКоннелл (John McConnell),
отдел интернационализации Windows
Источник:
Перевод: Galaxer
Комментарии
andrewtishkin, спасибо, исправлено.
Скоро к Вам приедут призы.
Вот она глобализация!
Интересно, что в Seven еще зашили кроме автоматического распознования языка? Какого цвета трусы на мне сегодня?
По теме
- Уведомления о состоянии аккумулятора в Windows 7
- Что происходит с отчетами об ошибках?
- Наш следующий этап разработки: RTM
- Изменения в ClearType в Windows 7
- Борьба со звуковыми сбоями в Windows 7
- Создание, сохранение и общий доступ к темам в Windows 7
- Обеспечивая защиту Windows 7: родительский контроль
- Трансляция потокового мультимедиа в Windows 7
- Наш следующий этап разработки
- Поддержка твердотельных накопителей в Windows 7