FrameworkElement.Language Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta informazioni sul linguaggio di localizzazione/globalizzazione applicabili a un FrameworkElement e anche a tutti gli elementi figlio dell'oggetto FrameworkElement corrente nella rappresentazione dell'oggetto e nell'interfaccia utente.
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" />
Valore della proprietà
Stringa che specifica la lingua e le impostazioni cultura che seguono gli standard IETF (Internet Engineering Task Force) BCP 47 . Ad esempio, l'inglese statunitense è "en-US".
Commenti
La proprietà Language è destinata all'impostazione di un'impostazione della lingua per elemento sugli elementi selezionati in un'interfaccia utente più grande. Il motivo principale di questa operazione consiste nell'influenzare le proprietà e le impostazioni correlate al testo, ad esempio il valore predefinito o il fallback fontFamily per la presentazione di testo.
Il valore predefinito per questa proprietà è la lingua principale dell'elenco delle lingue dell'app, derivato dall'elenco di lingue preferite dell'utente. È consigliabile lasciare l'impostazione predefinita per questa proprietà, in quanto offre la migliore esperienza utente finale in termini di fallback dei tipi di carattere. Ad esempio, se l'app visualizza il contenuto dell'Asia orientale e l'utente ha specificato una lingua asiatica nel profilo utente, il contenuto verrà visualizzato con maggiore affidabilità nel tipo di carattere asiatico desiderato.
La proprietà Language è rilevante principalmente per queste sottoclassi FrameworkElement :
La classe TextElement ha anche una proprietà Language e ha uno scopo e un comportamento simili per le sottoclassi TextElement , ad esempio Run.
Se non è impostato in modo specifico come attributo, il valore predefinito per Language è determinato da altri fattori più grandi che influiscono sulle impostazioni di globalizzazione e localizzazione per l'app. Sono incluse le impostazioni di sistema dell'utente. Per altre info, vedi Globalizzazione dell'app.
L'impostazione del linguaggio sugli elementi dell'interfaccia utente è solo una piccola parte di ciò che potresti fare per preparare un'app per la localizzazione e la globalizzazione. Ad esempio, in genere è necessario assegnare un nome o caricare risorse come stringhe e immagini e includere queste risorse nel pacchetto dell'app. È anche necessario applicare valori di direttiva x:Uid a tutti gli elementi che devono usare qualificatori di risorse per ottenere la risorsa specifica della lingua. Per altre info, vedi Globalizzazione dell'app.
Quando si imposta Language nel markup, è consigliabile usare un file di risorse RESW per specificare la stringa BCP 47, anziché impostare come hardcoded una stringa nel markup. Specificare un valore di direttiva x:Uid sull'elemento in cui si desidera specificare Language in modo che il sistema di risorse possa avere come destinazione l'elemento. Specificare quindi una risorsa stringa della stringa BCP 47 corrispondente al nome della cartella delle risorse da cui proviene la risorsa. Probabilmente si avrà già un file RESW nel progetto che fornisce le stringhe dell'interfaccia utente localizzate convenzionali. Per altre info, vedi Avvio rapido: Traduzione delle risorse dell'interfaccia utente.
FrameworkElement.Language e xml:lang
XAML è un linguaggio basato su XML e segue le regole XML di base. Sono inclusi i costrutti XML di supporto, ad esempio l'attributo lang dello spazio dei nomi XML del linguaggio XML. È possibile specificare xml:lang in un elemento oggetto per una sottoclasse FrameworkElement e viene trattato come se fosse un valore Language, perché usa la stessa gestione BCP 47 del valore dell'attributo stringa. È anche possibile specificare xml:lang in un elemento oggetto che non è una sottoclasse FrameworkElement , anche se in genere non comporterà alcuna modifica del comportamento su tale elemento.
Linguaggio usa deliberatamente una struttura di ereditarietà delle proprietà in modo che un valore per Language impostato sull'elemento radice propaga tale valore a tutti gli oggetti figlio nella struttura ad albero visuale che sono anche un FrameworkElement. In questo modo viene eseguito il parallelismo xml:lang in XML e NEL DOM XML. Inoltre, è possibile usare Language in fase di esecuzione per leggere un valore xml:lang impostato nel markup, purché l'elemento da cui si sta leggendo sia una sottoclasse FrameworkElement con una proprietà Language.
Tuttavia, non puoi specificare sia gli attributi Language che xml:lang sullo stesso elemento oggetto, che genereranno un errore di analisi XAML.
Note sulla migrazione
Questa API accetta una stringa. Nell'API di Windows Presentation Foundation (WPF) equivalente, il tipo di questa proprietà è un oggetto helper che esegue il wrapping della stessa stringa. Puoi importare XAML da altri progetti senza notare questa differenza perché il modo in cui XAML analizza la stringa è identica.