События
Присоединение к вызову ИИ Навыков
8 апр., 15 - 28 мая, 07
Отточите свои навыки ИИ и введите подметки, чтобы выиграть бесплатный экзамен сертификации
Зарегистрируйтесь!Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пользователь Windows может использовать> параметрывремени и региона языка> для настройки упорядоченного списка предпочтительных языков отображения или просто одного предпочтительного языка отображения. Язык может иметь региональный вариант. Например, вы можете выбрать испанский, как говорят в Испании, испанский, как говорят в Мексике, испанский, как говорят в США, среди других.
Кроме того, в разделе «Время и язык»>«Регион и язык»>, отдельно от языка, пользователь может указать свое местоположение (как регион) в мире. Обратите внимание, что параметр языка отображения (и региональный вариант) не является определяющим параметром региона, и наоборот. Например, пользователь в настоящее время живет во Франции, но выбирает предпочтительный язык интерфейса Windows Español (México).
Для приложений Windows язык представлен как тег языка BCP-47. Например, тег языка BCP-47 "en-US" соответствует английскому (США) в параметрах. Соответствующие среда выполнения Windows API принимают и возвращают строковые представления тегов языка BCP-47.
Также см., реестр подтегов языков IANA.
В следующих трех разделах определяются термины "список языков профиля пользователя", "список языков манифеста приложения" и "список языков среды выполнения приложения". Мы будем использовать эти термины в этом разделе и других разделах в этой области функций, поэтому важно знать, что они означают.
Список языков профиля пользователя — это имя списка, настроенного пользователем в разделе «>Дата и время>Регион и язык>Языки». В коде можно использовать свойство GlobalizationPreferences.Language для доступа к списку языков профиля пользователя в виде списка строк, доступных только для чтения, где каждая строка является одним тегом языка BCP-47 , например "en-US" или "ja-JP".
IReadOnlyList<string> userLanguages = Windows.System.UserProfile.GlobalizationPreferences.Languages;
Список языков манифеста приложения — это список языков, для которых приложение объявляет (или объявляет) поддержку. Этот список растет по мере выполнения приложения через жизненный цикл разработки до локализации.
Список определяется во время компиляции, но у вас есть два варианта для точного управления тем, как это происходит. Один из вариантов — разрешить Visual Studio определить список из файлов в проекте. Для этого сначала задайте язык
<Resources>
<Resource Language="x-generate" />
</Resources>
Каждый раз, когда Visual Studio создает созданный файл манифеста пакета приложения (), он расширяет один элемент в исходном файле в объединение всех квалификаторов языка, которые он находит в проекте (AppxManifest.xml
см. раздел "Настройка ресурсов для языка, масштабирования, высокой контрастности и других квалификаторов").Resource
Например, если вы начали локализацию, а у вас есть строки, изображения и/или файловые ресурсы, имена папок или файлов которых включают en-US, ja-JP и fr-FR, то созданный AppxManifest.xml
файл будет содержать следующую (первая запись в списке — язык по умолчанию).
<Resources>
<Resource Language="EN-US" />
<Resource Language="JA-JP" />
<Resource Language="FR-FR" />
</Resources>
Другой вариант заключается в замене одного элемента x-generate <Resource>
в исходном файле манифеста пакета приложения () на развернутый список элементов (Package.appxmanifest
сначала внимательно вывести список <Resource>
языков по умолчанию). Этот вариант включает в себя большую работу по обслуживанию, но это может быть подходящим вариантом, если вы используете пользовательскую систему сборки.
Для начала список языков манифеста приложения будет содержать только один язык. Возможно, это en-US. Но в конечном итоге, когда вы вручную настраиваете манифест или добавляете переведенные ресурсы в проект, этот список будет расти.
Когда приложение находится в Microsoft Store, языки в списке языков манифеста приложения — это те, которые отображаются клиентам. Для получения списка языковых тегов BCP-47, поддерживаемых в Microsoft Store, см. Поддерживаемые языки.
В коде можно использовать свойство ApplicationLanguages.ManifestLanguages для доступа к списку языков манифеста приложения в виде списка строк, доступных только для чтения, где каждая строка является одним тегом языка BCP-47.
IReadOnlyList<string> userLanguages = Windows.Globalization.ApplicationLanguages.ManifestLanguages;
Третий список интересов — это пересечение двух списков, которые мы только что описали. Во время выполнения список языков, для которых приложение объявило поддержку (список языков манифеста приложения) сравнивается со списком языков, для которых пользователь объявил предпочтения (список языков профиля пользователя). Для списка языков среды выполнения приложения задано это пересечение (если пересечение не пусто) или просто язык по умолчанию приложения (если пересечение пусто).
В частности, список языков среды выполнения приложений состоит из этих элементов.
В коде можно использовать свойство ResourceContext.QualifierValues для доступа к списку языков среды выполнения приложения в виде строки, содержащей список тегов языка BCP-47 с запятой.
string runtimeLanguages = Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView().QualifierValues["Language"];
Вы также можете получить доступ к нему как список строк только для чтения, каждый из которых содержит один тег языка BCP-47. Для этого можно использовать свойство ResourceContext.Languages или свойство ApplicationLanguages.Languages .
IReadOnlyList<string> runtimeLanguages = Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView().Languages;
runtimeLanguages = Windows.Globalization.ApplicationLanguages.Languages;
Список языков среды выполнения приложений определяет ресурсы, которые Windows загружает для приложения, а также язык, используемый для форматирования дат, времени, чисел и других компонентов. См. глобализируйте ваши форматы даты, времени и чисел.
Заметка Если язык профиля пользователя и язык манифеста приложения являются региональными вариантами друг друга, в качестве языка среды выполнения приложения используется региональный вариант пользователя. Например, если пользователь предпочитает en-GB и приложение поддерживает en-US, язык среды выполнения приложений — en-GB. Это обеспечивает более тесное форматирование дат, времени и чисел для ожиданий пользователя (en-GB), но локализованные ресурсы по-прежнему загружаются (из-за сопоставления языков) в поддерживаемом языке приложения (en-US).
Назовите файлы ресурсов или папки с квалификаторами языковых ресурсов. Дополнительные сведения о квалификаторах ресурсов см. в статье "Настройка ресурсов для языка, масштабирования, высокой контрастности и других квалификаторов". Файл ресурсов может быть изображением (или другим ресурсом) или файлом контейнера ресурсов, например resw , который содержит текстовые строки.
Заметка Даже ресурсы на языке, установленном по умолчанию для приложения, должны указывать квалификатор языка. Например, если язык вашего приложения по умолчанию — английский (США), то квалифицируйте ресурсы как \Assets\Images\en-US\logo.png
.
Локализация может не потребоваться для всех ресурсов.
und-Latn\\fonts.css
латинских шрифтов и для кириллических шрифтов und-Cryl\\fonts.css
.Рассмотрите, имеют ли вызываемые веб-службы ту же степень локализации, что и ваше приложение. HTTP-запросы из приложений Windows в типичных веб-запросах и XMLHttpRequest (XHR) используют стандартный заголовок ЗАПРОСА HTTP Accept-Language. По умолчанию заголовок HTTP устанавливается в список языков профиля пользователя. Каждый язык в списке расширяется, чтобы включить нейтральные значения языка и весового значения (q). Например, список языков пользователя fr-FR и en-US приводит к выполнению http-запроса Accept-Language fr-FR, fr, en ("fr-FR,fr; q=0.8,en-US; q=0.5,en; q=0.3"). Но если ваше приложение погоды (например, отображает пользовательский интерфейс на французском языке (Франция), но лучший язык пользователя в списке предпочтений является немецким, то вам потребуется явно запросить французский (Франция) от службы, чтобы оставаться согласованным в приложении.
Как правило, API в пространстве имен Windows.Globalization используют список языков среды выполнения приложения для определения языка. Если ни один из языков не имеет соответствующего формата, используется языковой стандарт пользователя. Это тот же языковой стандарт, который используется для системных часов. Языковой стандарт пользователя доступен в разделе ">Время и язык>Регион и язык>Дополнительные параметры даты, времени и региона>Регион: Изменение форматов даты, времени или чисел. Api Windows.Globalization также имеют переопределения, чтобы указать список языков, используемых вместо списка языков среды выполнения приложения.
С помощью класса Language можно проверить сведения о конкретном языке, например скрипте языка, отображаемом имени и собственном имени.
В разделе ">Время иязык" и "Страна или регион" >> пользователь может указать свое расположение в мире. Эти параметры можно использовать вместо языка для выбора содержимого, отображаемого пользователю. Например, приложение новостей может отображать содержимое из этого региона по умолчанию.
В коде этот параметр можно получить с помощью свойства GlobalizationPreferences.HomeGeographicRegion .
С помощью класса GeographRegion можно проверить сведения об определенном регионе, например отображаемое имя, собственное имя и используемые валюты.
В следующей таблице приведены примеры того, что пользователь увидит в пользовательском интерфейсе приложения в различных параметрах языка и региона.
Список языков манифеста приложения | Список языков профиля пользователя | Переопределение основного языка приложения (необязательно) | Список языков среды выполнения приложений | То, что пользователь видит в приложении |
---|---|---|---|---|
Английский (ГБ) (по умолчанию); Немецкий (Германия) | Английский (ГБ) | ничего | Английский (ГБ) | Пользовательский интерфейс: английский (ГБ) Даты и время/числа: английский (ГБ) |
Немецкий (Германия) (по умолчанию); Французский (Франция); Итальянский (Италия) | Французский (Австрия) | ничего | Французский (Австрия) | Пользовательский интерфейс: французский (Франция) (резервная версия из Французского (Австрия)) Date/Times/Numbers: Французский (Австрия) |
Английский (США) (по умолчанию); Французский (Франция); Английский (ГБ) | Английский (Канада); Французский (Канада) | ничего | Английский (Канада); Французский (Канада) | Пользовательский интерфейс: английский (США) (резервная версия из английского языка (Канада)) Date/Times/Numbers: английский (Канада) |
Испанский (Испания) (по умолчанию); Испанский (Мексика); Испанский (Латинская Америка); Португальский (Бразилия) | Английский (США) | ничего | испанский (Испания) | Пользовательский интерфейс: испанский (Испания) (используется по умолчанию, так как резервный вариант недоступен для английского языка) Даты/время/числа испанский (Испания) |
Каталонский (по умолчанию); Испанский (Испания); Французский (Франция) | Каталанский; Французский (Франция) | ничего | Каталанский; Французский (Франция) | Пользовательский интерфейс: в основном каталонский и некоторые французские (Франция), потому что не все строки находятся в Каталоне Date/Times/Numbers: Каталонский |
Английский (ГБ) (по умолчанию); Французский (Франция); Немецкий (Германия) | Немецкий (Германия); Английский (ГБ) | Английский (ГБ) (выбранный пользователем в пользовательском интерфейсе приложения) | Английский (ГБ); Немецкий (Германия) | Пользовательский интерфейс: английский (ГБ) (переопределение языка) Date/Times/Numbers English (ГБ) |
Примечание
Список стандартных кодов страны или региона, используемых корпорацией Майкрософт, см. в официальном списке стран и регионов.
Отзыв о Windows developer
Windows developer — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
События
Присоединение к вызову ИИ Навыков
8 апр., 15 - 28 мая, 07
Отточите свои навыки ИИ и введите подметки, чтобы выиграть бесплатный экзамен сертификации
Зарегистрируйтесь!