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" />
Значение свойства
Строка, указывающая язык и язык и региональные параметры, соответствующие стандартам BCP 47 Целевой группы по интернет-инженерии (IETF). Например, английский (США) — "en-US".
Комментарии
Свойство Language предназначено для установки параметра языка для отдельных элементов в более крупном пользовательском интерфейсе. Main причина этого заключается в том, чтобы повлиять на свойства и параметры, связанные с текстом, например на то, каким должен быть шрифт FontFamily по умолчанию или резервный вариант для представления текста.
Значением по умолчанию для этого свойства является верхний язык из списка языков приложений, который является производным от ранжированного списка предпочтительных языков пользователя. Рекомендуется оставить значение по умолчанию для этого свойства, так как оно обеспечит наилучшее взаимодействие с конечным пользователем с точки зрения резервного использования шрифта. Например, если приложение отображает содержимое для восточноазиатских стран и пользователь указал в своем профиле пользователя восточноазиатский язык, содержимое будет наиболее надежно отображаться в нужном восточноазиатском шрифте.
Свойство Language в основном относится к следующим подклассам FrameworkElement :
Класс TextElement также имеет свойство Language и имеет аналогичное назначение и поведение для подклассов TextElement , таких как Run.
Если он не задан в качестве атрибута, значение по умолчанию для параметра Язык определяется другими, более крупными факторами, влияющими на параметры глобализации и локализации приложения. Сюда входят параметры системы пользователя. Дополнительные сведения см. в разделе Глобализация приложения.
Настройка языка для элементов пользовательского интерфейса — лишь небольшая часть того, что можно сделать для подготовки приложения к локализации и глобализации. Например, обычно требуется присвоить имя или загрузить такие ресурсы, как строки и изображения, и включить эти ресурсы в пакет приложения. Кроме того, необходимо применить значения директив x:Uid ко всем элементам, которые должны использовать квалификаторы ресурсов для получения ресурса для конкретного языка. Дополнительные сведения см. в разделе Глобализация приложения.
При задании языка в разметке следует использовать файл ресурсов RESW, чтобы указать строку BCP 47, а не жестко запрограммировать строку в разметке. Укажите значение директивы x:Uid для этого элемента, в котором требуется указать Язык, чтобы система ресурсов могли ориентироваться на элемент. Затем укажите строковый ресурс строки BCP 47, соответствующий имени папки resources, из которую поступает ресурс. Вероятно, в проекте уже есть 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 идентичен.