FrameworkElement.Language Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define informações de idioma de localização/globalização que se aplicam a um FrameworkElement e também a todos os elementos filho do FrameworkElement atual na representação do objeto e na interface do usuário.
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 da propriedade
Uma cadeia de caracteres que especifica a linguagem e a cultura que segue os padrões bcp 47 da IETF (Internet Engineering Task Force). Por exemplo, inglês americano é "en-US".
Comentários
A propriedade Language destina-se a definir uma configuração de linguagem por elemento em elementos selecionados em uma interface do usuário maior. O main motivo para fazer isso é influenciar as propriedades e configurações relacionadas ao texto, como qual deve ser o padrão ou o fallback FontFamily para apresentação de texto.
O valor padrão dessa propriedade é o idioma superior da lista de idiomas do aplicativo, que é derivado da lista classificada do usuário de idiomas preferenciais. Recomendamos que você deixe o padrão para essa propriedade, pois ela fornecerá a melhor experiência do usuário final em termos de fallback de fonte. Por exemplo, se o aplicativo estiver exibindo conteúdo do Leste Asiático e o usuário tiver especificado um idioma do Leste Asiático em seu perfil de usuário, o conteúdo será exibido com mais confiabilidade na fonte desejada do Leste Asiático.
A propriedade Language é relevante principalmente para estas subclasses FrameworkElement :
A classe TextElement também tem uma propriedade Language e tem uma finalidade e comportamento semelhantes para subclasses TextElement , como Executar.
Se ele não for definido especificamente como um atributo, o valor padrão de Language será determinado por outros fatores maiores que influenciam as configurações de globalização e localização do seu aplicativo. Isso inclui as configurações do sistema do usuário. Para obter mais informações, consulte Globalizando seu aplicativo.
Definir Linguagem em elementos de interface do usuário é apenas uma pequena parte do que você pode fazer para preparar um aplicativo para localização e globalização. Por exemplo, você normalmente precisa nomear ou carregar recursos como cadeias de caracteres e imagens e incluir esses recursos no pacote do aplicativo. Você também precisa aplicar valores de diretiva x:Uid a todos os elementos que devem usar qualificadores de recursos para obter o recurso específico do idioma. Para obter mais informações, consulte Globalizando seu aplicativo.
Ao definir Idioma na marcação, você deve considerar o uso de um arquivo de recursos RESW para especificar a cadeia de caracteres BCP 47, em vez de codificar uma cadeia de caracteres na marcação. Especifique um valor de diretiva x:Uid nesse elemento em que você deseja especificar Language para que o sistema de recursos possa direcionar o elemento. Em seguida, forneça um recurso de cadeia de caracteres da cadeia de caracteres BCP 47 que corresponda ao nome da pasta de recursos da qual o recurso vem. Você provavelmente já terá um arquivo RESW em seu projeto que está fornecendo as cadeias de caracteres de interface do usuário localizadas convencionais. Para obter mais informações, consulte Início Rápido: Traduzindo recursos de interface do usuário.
FrameworkElement.Language e xml:lang
XAML é uma linguagem baseada em XML e segue regras XML básicas. Isso inclui suporte a constructos XML, como o atributo lang do namespace XML da linguagem XML. Você pode especificar xml:lang em um elemento de objeto para uma subclasse FrameworkElement e ele é tratado da mesma forma que se fosse um valor Language, porque ele usa o mesmo tratamento BCP 47 do valor do atributo de cadeia de caracteres. Você também pode especificar xml:lang em um elemento de objeto que não seja uma subclasse FrameworkElement , embora isso normalmente não resulte em nenhuma alteração de comportamento nesse elemento.
A linguagem usa deliberadamente uma estrutura de herança de propriedade para que um valor de Language definido no elemento raiz propague esse valor para todos os objetos filho na árvore visual que também são um FrameworkElement. Isso paraleliza o comportamento xml:lang em XML e o DOM XML. Além disso, você pode usar Language em tempo de execução para ler um valor xml:lang que foi definido na marcação, desde que o elemento do qual você está lendo seja uma subclasse FrameworkElement que tenha uma propriedade Language.
No entanto, você não pode especificar os atributos Language e xml:lang no mesmo elemento de objeto, que gerará um erro de análise XAML.
Notas de migração
Essa API usa uma cadeia de caracteres. Na API equivalente do Microsoft Silverlight e do WPF (Windows Presentation Foundation), o tipo dessa propriedade é um objeto auxiliar que encapsula a mesma cadeia de caracteres. Você pode importar XAML de outros projetos sem perceber essa diferença, pois a forma como o XAML analisa a cadeia de caracteres é idêntica.