Глобализация и локализацияGlobalization and localization

Windows используется во всем мире пользователями с разной культурой, живущими в разных регионах и говорящими на разных языках.Windows is used worldwide by audiences that are diverse in terms of language, region, and culture. Пользователи говорят на множестве различных языков, в различных странах и регионах.Your users speak a variety of different languages and in a variety of different countries and regions. Некоторые пользователи говорят на нескольких языках.Some users speak more than one language. Таким образом, ваше приложение используется в конфигурациях, которые включают много вариантов системных параметров для языка и региона.So, your app runs on configurations that involve many permutations of system settings for language, region, and culture. Вы можете расширить потенциальный рынок для вашего приложения, используя глобализацию и локализацию для быстрой адаптации к любому региону.You can increase the potential market for your app by designing it to be readily adaptable, using globalization and localization .

Просмотрите это видео, чтобы узнать, как подготовить приложение для использования в любой стране мира: Введение в глобализацию и локализацию.This video provides a brief introduction on how to prepare your app for the world: Introduction to globalization and localization.

Глобализация — это процесс проектирования и разработки приложения таким образом, чтобы оно правильно работало на разных мировых рынках (на системах с различными конфигурациями языка и региона) без каких-либо изменений или настроек.Globalization is the process of designing and developing your app in such a way that it functions appropriately in different global markets (on systems with different language and culture configurations) without requiring culture-specific changes or customization.

  • При работе со строками следует учитывать культурные особенности региона. Например, не изменяйте регистр строк перед их сравнением.Take culture into account when manipulating strings, for example don't change the case of strings before comparing them.
  • Используйте календари, которые подходят для текущего языка и региональных параметров.Use calendars that are appropriate for the current culture.
  • Используйте API глобализации, чтобы отображать данные, которые форматируются по-разному в различных регионах или странах, например числа, даты, время и валюты.Use globalization APIs to display data that are formatted appropriately for the country or region, such as numbers, dates, times, and currencies.
  • Следует учитывать, что разные языки и региональные параметры имеют различные правила сортировки текста и других данных.Take into account that different cultures have different rules for collating (sorting) text and other data.

Ваш код должен работать одинаково хорошо в любой конфигурации языков и региональных параметров, которые будет поддерживать ваше приложение.Your code needs to function equally well in any of the cultures that you've determined that your app will support. В оптимальном варианте ваш код будет работать одинаково хорошо в контексте любого языка и региональных параметров.Ideally, your code will function equally well in the context of any language, region, or culture. Наиболее эффективным способом глобализации функций вашего приложения является использование концепции языков/региональных параметров/регионов.The most efficient way to globalize your app's functions is to use the concept of cultures/locales. Языки/региональные параметры/регионы — это набор правил и данных, характерных для конкретного языка и географического региона.A culture/locale is a set of rules and a set of data that are specific to a given language and geographic area. Эти правила и данные включают следующие сведения.These rules and data include information about the following.

  • Классификация символовCharacter classification
  • Система письмаWriting system
  • Форматы даты и времениDate and time formatting
  • Условные обозначения чисел, валюты, веса и систем измеренийNumeric, currency, weight, and measure conventions
  • Правила сортировкиSorting rules

Примечание

Список поддерживаемых имен языковых стандартов по версии операционной системы Windows см. в столбце тег языка таблицы в приложении а. поведение продукта в справочнике по идентификатору кода языка Windows (LCID).For a list of supported locale names by Windows operating system version, see the Language tag column of the table in Appendix A: Product Behavior in the Windows Language Code Identifier (LCID) Reference.

Возможность локализации — это процесс подготовки глобализованного приложения к локализации и/или проверка приложения на предмет готовности к локализации.Localizability is the process of preparing a globalized app for localization and/or verifying that the app is ready for localization. Правильная подготовка приложения к локализации обеспечивает отсутствие выявления каких-либо функциональных неисправностей в приложении во время локализации.Correctly making an app localizable means that the later localization process will not uncover any functional defects in the app. Самой важной особенностью локализуемого приложения является то, что его исполняемый код четко отделен от локализуемых ресурсов приложения.The most essential property of a localizable app is that its executable code has been cleanly separated from the app's localizable resources.

  • Длина строк, переведенных на разные языки, может сильно различаться.Strings translated into different languages can vary greatly in length. Таким образом, следует проектировать пользовательский интерфейс с учетом текста разной длины и размеров шрифтов для меток и элементов управления вводом текста.So, design your UI to accommodate different text lengths and font sizes for labels and text input controls.
  • Старайтесь не использовать в изображениях текст или материал, восприятие которых зависит от языка и региональных стандартов.Try to avoid text and/or culturally-sensitive material in images.
  • Не следует жестко задавать строки и зависимые от региона изображения в коде приложения и разметке.Don't hard-code strings and culture-dependent images in your app's code and markup. Вместо этого сохраните их в виде ресурсов строк и изображений, чтобы их можно было адаптировать для различных местных рынков независимо от двоичных файлов в вашем приложении.Instead, store them as string and image resources so that they can be adapted to different local markets independently of your app's built binaries.
  • Псевдолокализация приложения выполняется для выявления проблем локализации.Pseudo-localize your app to disclose any localizability issues.

Локализация — это процесс адаптации или перевода локализуемых ресурсов вашего приложения для обеспечения соответствия языковым, культурным и политическим требованиям определенных местных рынков, на которых это предложение будет представлено.Localization is the process of adapting or translating your app's localizable resources to meet the language, cultural, and political requirements of the specific local markets that the app is intended to support. К тому времени, как вы достигнете этапа локализации вашего приложения, и если ваше приложение может быть локализовано, вам не потребуется изменять какую-либо логику во время этого процесса.By the time you reach the stage of localizing your app, if your app is localizable then you will not have to modify any logic during this process.

  • Переведите строковые ресурсы и другие ресурсы приложения для нового рынка.Translate the string resources and other assets of the app for the new market.
  • При необходимости измените какие-либо изображения, зависящие от языка и региональных параметров.Modify any culture-dependent images as necessary.
  • Файлы на компьютере пользователя могут отличаться не только по языку, но и в зависимости от региона нахождения пользователя.Files can also vary depending on a user's region, separate from their language. Например, карта может иметь разные границы в зависимости от местоположения пользователя, но надписи должны быть на предпочтительном для пользователя языке.For example, a map may have different borders depending on the user's location, but the labels should follow the user's preferred language.

Большинство групп локализации используют специальные средства для облегчения процесса.Most localization teams use special tools to aid the process. Например, это может быть повторное использование текста, перевод которого повторяется.For example, by recycling translations of recurring text.

СтатьяArticle ОписаниеDescription
Руководство по глобализацииGuidelines for globalization Проектирование и разработка приложения таким образом, чтобы оно правильно работало на системах с различными конфигурациями языка и региона.Design and develop your app in such a way that it functions appropriately on systems with different language and culture configurations.
Обзор языков профиля пользователя и языков манифеста приложенияUnderstand user profile languages and app manifest languages В этом разделе приводятся определения терминов "список языков профиля пользователя", "список языков манифеста приложения" и "список языков среды выполнения приложения".This topic defines the terms "user profile language list", "app manifest language list", and "app runtime language list". Мы будем использовать эти термины в этом разделе и других разделах этой области функций, поэтому важно знать, что они означают.We'll be using these terms in this topic and other topics in this feature area, so it's important to know what they mean.
Глобализация форматов даты, времени и чиселGlobalize your date/time/number formats Проектируйте приложение так, чтобы оно соответствовало международному стандарту, выбирая при разработке правильные форматы дат, времени, чисел, номеров телефона и валют.Design your app to be global-ready by appropriately formatting dates, times, numbers, phone numbers, and currencies. Это позволит позже адаптировать приложение для дополнительных языков и региональных параметров на международном рынке.You'll then be able later to adapt your app for additional cultures, regions, and languages in the global market.
Использование шаблонов для форматирования даты и времениUse templates and patterns to format dates and times Для отображения даты и времени в желаемом формате используйте классы в пространстве имен Windows.Globalization.DateTimeFormatting с пользовательскими шаблонами.Use classes in the Windows.Globalization.DateTimeFormatting namespace with custom templates and patterns to display dates and times in exactly the format you wish.
Настройка макета и шрифтов, реализация поддержки написания справа налевоAdjust layout and fonts, and support RTL Проектируйте свое приложение таким образом, чтобы оно поддерживало макеты и шрифты различных языков, в том числе с написанием справа налево.Design your app to support the layouts and fonts of multiple languages, including RTL (right-to-left) flow direction.
Значения NumeralSystemNumeralSystem values В этом разделе перечислены значения, доступные для свойства нумералсистем различных классов в пространстве имен Windows. Globalization .This topic lists the values available to the NumeralSystem property of various classes in the Windows.Globalization namespace.
Подготовка приложения к локализацииMake your app localizable Локализованное приложение — это приложение, которое можно локализовать для других рынков, регионов или на другие языки, не раскрыв какие-либо функциональные неисправности приложения.A localized app is one that can be localized to other markets, languages, or regions without uncovering any functional defects in the app. Самой важной особенностью локализуемого приложения является то, что его исполняемый код четко отделен от локализуемых ресурсов приложения.The most essential property of a localizable app is that its executable code has been cleanly separated from its localizable resources.
Международные шрифтыInternational fonts В этом разделе перечислены шрифты, доступные для приложений Windows, которые локализованы на языках, отличных от английского (США).This topic lists the fonts available for Windows apps that are localized into languages other than U.S. English.
Разработка приложений с поддержкой двунаправленного текстаDesign your app for bidirectional text Проектируйте приложения с поддержкой двунаправленного текста (BiDi), чтобы можно было комбинировать сценарии из систем письменности слева направо и справа налево.Design your app to provide bi-directional text support (BiDi) so that you can combine script from left-to-right and right-to-left writing systems.
Использование набора средств для многоязычных приложений версии 4.0Use the Multilingual App Toolkit 4.0 Набор многоязычных приложений (Toolkit) 4,0 интегрируется с Microsoft Visual Studio 2017 и более поздних версий для предоставления приложений Windows с поддержкой перевода, управления файлами перевода и инструментами для редактора.The Multilingual App Toolkit (MAT) 4.0 integrates with Microsoft Visual Studio 2017 and later to provide Windows apps with translation support, translation file management, and editor tools.
Вопросы и ответы по многоязычному инструментарию приложений 4,0 & устранение неполадокMultilingual App Toolkit 4.0 FAQ & troubleshooting В этом разделе содержатся ответы на часто задаваемые вопросы и инструкции по устранению проблем, связанных с работой набора средств для многоязычных приложений (MAT) версии 4.0.This topic provides answers to frequently-asked questions and issues related to the Multilingual App Toolkit (MAT) 4.0.
Использование кодовой страницы UTF-8Use the UTF-8 code page UTF-8 — это универсальная кодовая страница для интернационализации.UTF-8 is the universal code page for internationalization.
Подготовка приложения к изменению японской эрыPrepare your application for the Japanese era change Узнайте об изменениях японской эры в мае 2019 года и о том, как подготовить свое приложение.Learn about the May 2019 Japanese era change and how to prepare your application.