Partilhar via


FrameworkElement.Language Propriedade

Definição

Obtém ou define informações de linguagem 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

String

Platform::String

winrt::hstring

Uma cadeia de caracteres que especifica a linguagem e a cultura que segue os padrões do IETF (Internet Engineering Task Force) BCP 47 . Por exemplo, o inglês dos EUA é "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 as 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 aplicativo. Isso inclui as configurações do sistema do usuário. Para obter mais informações, consulte Globalizando seu aplicativo.

Definir a 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 corresponde 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 o 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, pois 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 é 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 faz um paralelo com o comportamento xml:lang em XML e no DOM XML. Além disso, você pode usar a Linguagem 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 Windows Presentation Foundation (WPF), 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.

Aplica-se a

Confira também