FrameworkElement.Language Propiedad

Definición

Obtiene o establece la información del lenguaje de localización o globalización que se aplica a un FrameworkElement y también a todos los elementos secundarios del frameworkElement actual en la representación del objeto y en la interfaz de usuario.

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

Valor de propiedad

String

Platform::String

winrt::hstring

Cadena que especifica el idioma y la referencia cultural que sigue los estándares BCP 47 del Grupo de tareas de ingeniería de Internet (IETF). Por ejemplo, inglés de EE. UU. es "en-US".

Comentarios

La propiedad Language está pensada para establecer una configuración de idioma por elemento en los elementos seleccionados en una interfaz de usuario más grande. La razón principal de hacer esto es influir en las propiedades y la configuración relacionadas con el texto, como lo que debe ser el valor predeterminado o fontFamily de reserva para la presentación de texto.

El valor predeterminado de esta propiedad es el idioma superior de la lista de idiomas de la aplicación, que se deriva de la lista clasificada del usuario de idiomas preferidos. Se recomienda dejar el valor predeterminado para esta propiedad, ya que proporcionará la mejor experiencia del usuario final en términos de reserva de fuentes. Por ejemplo, si la aplicación muestra contenido asiático oriental y el usuario ha especificado un idioma asiático oriental en su perfil de usuario, el contenido se mostrará con mayor confiabilidad en la fuente de Asia Oriental deseada.

La propiedad Language es principalmente relevante para estas subclases FrameworkElement :

La clase TextElement también tiene una propiedad Language y tiene un propósito y un comportamiento similares para las subclases TextElement , como Run.

Si no se establece específicamente como atributo, el valor predeterminado de Language viene determinado por otros factores más grandes que influyen en la configuración de globalización y localización de la aplicación. Esto incluye la configuración del sistema del usuario. Para obtener más información, consulta Globalización de la aplicación.

Establecer el idioma en los elementos de la interfaz de usuario es solo una pequeña parte de lo que podría hacer para preparar una aplicación para la localización y la globalización. Por ejemplo, normalmente es necesario asignar un nombre o cargar recursos, como cadenas e imágenes, e incluir estos recursos en el paquete de la aplicación. También debe aplicar valores de directiva x:Uid a los elementos que deben usar calificadores de recursos para obtener el recurso específico del lenguaje. Para obtener más información, consulta Globalización de la aplicación.

Al establecer Language en el marcado, debe considerar el uso de un archivo de recursos RESW para especificar la cadena BCP 47, en lugar de codificar de forma rígida una cadena en el marcado. Especifique un valor de directiva x:Uid en ese elemento en el que desea especificar Language para que el sistema de recursos pueda tener como destino el elemento. A continuación, proporcione un recurso de cadena de la cadena BCP 47 que coincida con el nombre de carpeta resources del que procede el recurso. Probablemente ya tendrá un archivo RESW en el proyecto que proporciona las cadenas de interfaz de usuario localizadas convencionales. Para obtener más información, consulta Inicio rápido: Traducción de recursos de interfaz de usuario.

FrameworkElement.Language y xml:lang

XAML es un lenguaje basado en XML y sigue las reglas XML básicas. Esto incluye construcciones XML compatibles, como el atributo lang del espacio de nombres XML del lenguaje XML. Puede especificar xml:lang en un elemento de objeto para una subclase FrameworkElement y se trata igual que si fuera un valor language, ya que usa el mismo control BCP 47 del valor del atributo de cadena. También puede especificar xml:lang en un elemento de objeto que no es una subclase FrameworkElement , aunque normalmente no producirá ningún cambio de comportamiento en ese elemento.

Language usa deliberadamente una estructura de herencia de propiedades para que un valor de Language establecido en el elemento raíz propague ese valor a todos los objetos secundarios del árbol visual que también son frameworkElement. Esto paraleliza el comportamiento xml:lang en XML y XML DOM. Además, puede usar Language en tiempo de ejecución para leer un valor xml:lang que se estableció en el marcado, siempre y cuando el elemento que está leyendo es una subclase FrameworkElement que tiene una propiedad Language.

Sin embargo, no puedes especificar los atributos Language y xml:lang en el mismo elemento de objeto, lo que producirá un error de análisis XAML.

Notas de migración

Esta API toma una cadena. En la API equivalente de Microsoft Silverlight y Windows Presentation Foundation (WPF), el tipo de esta propiedad es un objeto auxiliar que encapsula la misma cadena. Puedes importar XAML desde otros proyectos sin notar esta diferencia, ya que el modo en que XAML analiza la cadena es idéntica.

Se aplica a

Consulte también