Руководство по глобализации
Проектирование и разработка приложения таким образом, чтобы оно правильно работало на системах с различными конфигурациями языка и региона. Используйте API-интерфейсы Globalization для форматирования данных; избегайте предположений в коде в отношении языка, региона, классификации символов, системы письменности, форматирования данных/времени, чисел, валют, систем измерения веса и правил сортировки.
Рекомендация | Описание |
---|---|
Учитывайте язык и региональные параметры при обработке и сравнении строк. | Например, не изменяйте регистр строк до их сравнения. См. раздел Рекомендации по использованию строк. |
При сортировке строк и других данных не следует предполагать, что она всегда выполняется в алфавитном порядке. | Для языков, не использующих латиницу, сортировка основана на таких факторах, как произношение или число росчерков пера. Даже для языков, основанных на латинице, сортировка по алфавиту используется не всегда. Например, в некоторых культурах записи в телефонной книге не сортируются в алфавитном порядке. Windows может провести сортировку за вас, но если вы создаете собственный алгоритм сортировки, следует учесть методы сортировки, принятые на ваших целевых рынках. |
Используйте правильный формат для чисел, дат, времени, адресов и телефонных номеров. | Эти форматы отличаются в зависимости от культуры, региона, языка и рынка. Если ваше приложение отображает эти данные, для получения формата, подходящего для определенной аудитории, используйте APIGlobalization. См. раздел Глобализации форматов даты/времени/чисел. Порядок, в котором отображаются фамилии и имена, а также формат адреса, также могут различаться. Используйте стандартный формат отображения даты, времени и чисел. Используйте стандартные элементы управления выбором даты и времени. Используйте стандартные адресные сведения. |
Поддержка международных единиц измерения и валют. | В разных странах используются разные единицы измерения и шкалы, самыми распространенными являются метрическая и английская системы. Если ваше приложение использует измерения, например длину, температуру или площадь, убедитесь, что они указаны в правильной системе измерения. Используйте свойство GeographicRegion.CurrenciesInUse, чтобы получить набор валют, которые используются в вашем регионе. |
Используйте Юникод для кодировки. | По умолчанию в Microsoft Visual Studio используются Юникод для всех документов. Если вы используете другой редактор, убедитесь, что исходные файлы сохранены в соответствующей кодировке Юникода. Все API среды выполнения Windows возвращают строки с кодировкой UTF-16. |
Поддержка международных размеров бумаги. | Разные страны используют разные размеры бумаги, поэтому, если ваше приложение поддерживает возможности, зависящие от размера бумаги, например печать, оно должно поддерживать и распространенные международные размеры бумаги. |
Записывайте язык клавиатуры или идентификатор IME. | Когда ваше приложение предлагает пользователям ввести текст, запишите тег языка для включенной в данный момент раскладки клавиатуры или редактора метода ввода (IME). Благодаря такой записи при последующем отображении введенной информации будет использовано правильное форматирование. Используйте свойство Language.CurrentInputMethodLanguageTag для получения текущего языка ввода. |
Не используйте язык пользователя для определения его региона и не используйте регион пользователя для определения его языка. | Язык и регион представляют собой разные понятия. Пользователь может говорить на региональном варианте языка, например, на британском английском (en-GB), а находиться в совершенно другой стране или другом регионе. Решите, нужны ли вашему приложению данные о языке пользователя (например, для текста пользовательского интерфейса) или его регионе (например, для лицензионного соглашения). Дополнительные сведения см. в разделе Обзор языков профиля пользователя и языков манифеста приложения. |
Правила сравнения языковых тегов являются нестандартными. | Языковые теги BCP-47 являются сложными. При сравнении языковых тегов возникает ряд проблем, например с информацией о соответствии сценариев, устаревшими тегами и несколькими региональными вариантами. Система управления ресурсами в Windows решает за вас проблему соответствия. Вы можете указать набор ресурсов на любом языке, система сама выберет подходящий для пользователя и приложения язык. См. разделы Ресурсы приложения и Система управления ресурсами и Как Система управления ресурсами сопоставляет языковые теги. |
Проектируйте пользовательский интерфейс с учетом текста разной длины и размеров шрифтов для меток и элементов управления вводом текста. | Длина строк, переведенных на разные языки, может сильно различаться, поэтому вам понадобятся элементы управления пользовательского интерфейса для динамического изменения размера их содержимого. Распространенные буквы в других языках могут иметь значки над буквой или под ней (например, Å или Ņ). Используйте стандартные размеры шрифтов и высоту строк для обеспечения достаточного пространства по вертикали. Имейте в виду, что для шрифтов других языков может потребоваться использовать более крупные минимальные размеры шрифта, чтобы они оставались отчетливыми. Ознакомьтесь с классами в пространстве имен Windows.Globalization.Fonts. |
Обеспечьте поддержку зеркального отображения направления чтения. | Выравнивание текста и чтение могут выполняться слева направо, как в английском языке, или справа налево, как в арабском или иврите. Если вы локализуете ваш продукт для языков с отличным от вашего направлением чтения, убедитесь, что структура элементов вашего пользовательского интерфейса поддерживает зеркальное отображение. Зеркального отображения могут требовать даже такие элементы, как кнопки "Назад", эффекты перехода пользовательского интерфейса и изображения. Дополнительные сведения см. в разделе Настройка макета и шрифтов, реализация поддержки написания справа налево. |
Отображайте текст и шрифты правильно. | Общепринятый шрифт, его размер и направление текста отличаются в зависимости от рынка. Дополнительные сведения см. в разделах Настройка макета и шрифтов, реализация поддержки написания справа налево и Международные шрифты. |
Важные API
- Глобализация
- GeographicRegion.CurrenciesInUse
- Language.CurrentInputMethodLanguageTag
- Windows.Globalization.Fonts
Связанные темы
- Рекомендации по использованию строк
- Глобализация форматов даты, времени и чисел
- Обзор языков профиля пользователя и языков манифеста приложения
- Языковые теги BCP-47
- Ресурсы приложения и система управления ресурсами
- Как система управления ресурсами сопоставляет языковые теги
- Настройка макета и шрифтов, реализация поддержки написания справа налево
- Международные шрифты
- Подготовка приложения к локализации
Примеры
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Windows developer
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по