FrameworkElement.Language Propriété

Définition

Obtient ou définit les informations de langage de localisation/globalisation qui s’appliquent à un FrameworkElement, ainsi qu’à tous les éléments enfants de l’élément FrameworkElement actuel dans la représentation d’objet et dans l’interface utilisateur.

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" />

Valeur de propriété

String

Platform::String

winrt::hstring

Chaîne spécifiant la langue et la culture qui suivent les normes de l’Internet Engineering Task Force (IETF) BCP 47 . Par exemple, l’anglais américain est « en-US ».

Remarques

La propriété Language est destinée à définir un paramètre de langue par élément sur des éléments sélectionnés dans une interface utilisateur plus grande. La main raison de cette opération est d’influencer les propriétés et les paramètres liés au texte, tels que la valeur par défaut ou de secours FontFamily pour la présentation de texte.

La valeur par défaut de cette propriété est la langue supérieure de la liste des langues de l’application, qui est dérivée de la liste classée des langues préférées de l’utilisateur. Nous vous recommandons de conserver la valeur par défaut pour cette propriété, car elle offre la meilleure expérience utilisateur en termes de secours de police. Par exemple, si l’application affiche du contenu d’Asie de l’Est et que l’utilisateur a spécifié une langue d’Asie de l’Est dans son profil utilisateur, le contenu sera le plus fiable dans la police d’Asie de l’Est souhaitée.

La propriété Language est principalement pertinente pour ces sous-classes FrameworkElement :

La classe TextElement a également une propriété Language et a un objectif et un comportement similaires pour les sous-classes TextElement telles que Run.

S’il n’est pas spécifiquement défini en tant qu’attribut, la valeur par défaut de Language est déterminée par d’autres facteurs plus importants qui influencent les paramètres de globalisation et de localisation de votre application. Cela inclut les paramètres système de l’utilisateur. Pour plus d’informations, consultez Globalisation de votre application.

La définition de la langue sur des éléments d’interface utilisateur n’est qu’une petite partie de ce que vous pouvez faire pour préparer une application à la localisation et à la globalisation. Par exemple, vous devez généralement nommer ou charger des ressources telles que des chaînes et des images, et inclure ces ressources dans votre package d’application. Vous devez également appliquer des valeurs de directive x:Uid à tous les éléments qui doivent utiliser des qualificateurs de ressources pour obtenir la ressource spécifique à la langue. Pour plus d’informations, consultez Globalisation de votre application.

Lorsque vous définissez Language dans le balisage, vous devez envisager d’utiliser un fichier de ressources RESW pour spécifier la chaîne BCP 47, plutôt que de coder en dur une chaîne dans le balisage. Spécifiez une valeur de directive x:Uid sur cet élément où vous souhaitez spécifier Language afin que le système de ressources puisse cibler l’élément. Fournissez ensuite une ressource de chaîne de la chaîne BCP 47 qui correspond au nom du dossier resources dont la ressource provient. Vous aurez probablement déjà un fichier RESW dans votre projet qui fournit les chaînes d’interface utilisateur localisées conventionnelles. Pour plus d’informations, consultez Démarrage rapide : Traduction de ressources d’interface utilisateur.

FrameworkElement.Language et xml:lang

XAML est un langage basé sur XML et qui suit des règles XML de base. Cela inclut la prise en charge des constructions XML telles que l’attribut lang de l’espace de noms XML du langage XML. Vous pouvez spécifier xml:lang sur un élément objet pour une sous-classe FrameworkElement , et il est traité comme s’il s’agissait d’une valeur Language, car il utilise la même gestion BCP 47 de la valeur d’attribut string. Vous pouvez également spécifier xml:lang sur un élément objet qui n’est pas une sous-classe FrameworkElement , bien que cela n’entraîne généralement aucun changement de comportement sur cet élément.

Language utilise délibérément une structure d’héritage de propriété afin qu’une valeur pour Language set sur l’élément racine propage cette valeur à tous les objets enfants de l’arborescence visuelle qui sont également un FrameworkElement. Cela met en parallèle le comportement xml:lang dans XML et le DOM XML. En outre, vous pouvez utiliser Language au moment de l’exécution pour lire une valeur xml:lang qui a été définie dans le balisage, tant que l’élément à partir duquel vous lisez est une sous-classe FrameworkElement qui a une propriété Language.

Toutefois, vous ne pouvez pas spécifier les attributs Language et xml:lang sur le même élément objet, ce qui génère une erreur d’analyse XAML.

Notes de migration

Cette API prend une chaîne. Dans l’API Microsoft Silverlight et Windows Presentation Foundation (WPF) équivalente, le type de cette propriété est un objet d’assistance qui encapsule la même chaîne. Vous pouvez importer DU XAML à partir d’autres projets sans constater cette différence, car la façon dont XAML analyse la chaîne est identique.

S’applique à

Voir aussi