Поделиться через


FrameworkElement.Language Свойство

Определение

Возвращает или задает сведения о языке локализации и глобализации, которые применяются к Объекту FrameworkElement, а также ко всем дочерним элементам текущего FrameworkElement в представлении объекта и в пользовательском интерфейсе.

public:
 property Platform::String ^ Language { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring Language();

void Language(winrt::hstring value);
public string Language { get; set; }
var string = frameworkElement.language;
frameworkElement.language = string;
Public Property Language As String
<frameworkElement Language="languageString" />

Значение свойства

String

Platform::String

winrt::hstring

Строка, указывающая язык и региональные параметры, соответствующие стандартам BCP 47 Целевой группы по разработке интернета (IETF). Например, английский (США) — "en-US".

Комментарии

Свойство Language предназначено для настройки параметра языка для каждого элемента для выбранных элементов в более крупном пользовательском интерфейсе. Main причина этого заключается в том, чтобы повлиять на свойства и параметры, связанные с текстом, например на то, каким должен быть шрифт FontFamily по умолчанию или резервный шрифт FontFamily для представления текста.

Значением по умолчанию для этого свойства является верхний язык из списка языков приложений, который является производным от ранжированного списка предпочтительных языков пользователя. Рекомендуется оставить значение по умолчанию для этого свойства, так как оно обеспечит оптимальное взаимодействие с конечным пользователем с точки зрения отката шрифтов. Например, если в приложении отображается восточноазиатское содержимое и пользователь указал восточноазиатский язык в своем профиле пользователя, содержимое будет наиболее надежно отображаться в нужном восточноазиатском шрифте.

Свойство Language в основном относится к следующим подклассам FrameworkElement :

Класс TextElement также имеет свойство Language и аналогичное назначение и поведение для подклассов TextElement , таких как Run.

Если он не задан в качестве атрибута, значение по умолчанию для Параметра Язык определяется другими, более крупными факторами, влияющими на параметры глобализации и локализации для вашего приложения. Сюда входят параметры системы пользователя. Дополнительные сведения см. в статье Глобализация приложения.

Настройка языка для элементов пользовательского интерфейса — это лишь небольшая часть того, что можно сделать для подготовки приложения к локализации и глобализации. Например, обычно требуется присвоить или загрузить ресурсы, такие как строки и изображения, и включить эти ресурсы в пакет приложения. Кроме того, необходимо применить значения директив x:Uid ко всем элементам, которые должны использовать квалификаторы ресурсов для получения ресурса для конкретного языка. Дополнительные сведения см. в статье Глобализация приложения.

При настройке языка в разметке следует использовать файл ресурсов RESW для указания строки BCP 47, а не жесткого написания строки в разметке. Укажите значение директивы x:Uid для этого элемента, в котором требуется указать Язык, чтобы система ресурсов нацелилась на элемент. Затем укажите строковый ресурс строки BCP 47, соответствующий имени папки ресурсов, из которую поступает ресурс. Вероятно, в проекте уже есть RESW-файл, предоставляющий обычные локализованные строки пользовательского интерфейса. Дополнительные сведения см. в статье Краткое руководство. Перевод ресурсов пользовательского интерфейса.

FrameworkElement.Language и xml:lang

XAML — это язык, основанный на XML и соответствующий основным правилам XML. Сюда входят вспомогательные XML-конструкции, такие как атрибут lang из пространства имен XML языка XML. Вы можете указать xml:lang в элементе объекта для подкласса FrameworkElement , и он обрабатывается так же, как если бы он был значением Language, так как использует ту же обработку BCP 47 значения строкового атрибута. Вы также можете указать xml:lang в элементе объекта, который не является подклассом FrameworkElement , хотя обычно это не приводит к изменению поведения этого элемента.

Язык намеренно использует структуру наследования свойств, чтобы значение language, заданное в корневом элементе, распространяло это значение на все дочерние объекты в визуальном дереве, которые также являются FrameworkElement. Это параллельно поведению xml:lang в XML и XML DOM. Кроме того, вы можете использовать язык во время выполнения для чтения значения xml:lang, заданного в разметке, при условии, что элемент, из которого вы читаете, является подклассом FrameworkElement со свойством Language.

Однако нельзя указать атрибуты Language и xml:lang в одном объектном элементе, что вызовет ошибку синтаксического анализа XAML.

Примечания о переходе

Этот API принимает строку. В эквивалентном API Microsoft Silverlight и Windows Presentation Foundation (WPF) тип этого свойства является вспомогательным объектом, который упаковывает одну и ту же строку. Вы можете импортировать XAML из других проектов, не замечая этой разницы, так как способ анализа строки в XAML идентичен.

Применяется к

См. также раздел