FrameworkElement.Language 속성

정의

FrameworkElement 및 개체 표현 및 UI에서 현재 FrameworkElement의 모든 자식 요소에도 적용되는 지역화/세계화 언어 정보를 가져오거나 설정합니다.

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

속성 값

String

Platform::String

winrt::hstring

IETF(인터넷 엔지니어링 태스크 포스) BCP 47 표준을 따르는 언어 및 문화권을 지정하는 문자열입니다. 예를 들어 미국 영어는 "en-US"입니다.

설명

Language 속성은 더 큰 UI에서 선택한 요소에 대해 요소별 언어 설정을 위한 것입니다. 이 작업을 수행하는 기본 이유는 텍스트 프레젠테이션의 기본값 또는 대체 FontFamily와 같은 텍스트 관련 속성 및 설정에 영향을 미치기 때문입니다.

이 속성의 기본값은 앱 언어 목록의 최상위 언어로, 사용자의 기본 설정 언어 목록에서 파생됩니다. 글꼴 대체 측면에서 최상의 최종 사용자 환경을 제공하므로 이 속성의 기본값을 그대로 두는 것이 좋습니다. 예를 들어 앱이 동아시아 콘텐츠를 표시하고 사용자가 사용자 프로필에 동아시아 언어를 지정한 경우 콘텐츠가 원하는 동아시아 글꼴에 가장 안정성이 표시됩니다.

Language 속성은 주로 다음 FrameworkElement 하위 클래스와 관련이 있습니다.

TextElement 클래스에는 Language 속성도 있으며 Run과 같은 TextElement 하위 클래스에 대해 유사한 용도와 동작이 있습니다.

특성으로 특별히 설정되지 않은 경우 언어의 기본값은 앱의 세계화 및 지역화 설정에 영향을 주는 다른 더 큰 요인에 의해 결정됩니다. 여기에는 사용자의 시스템 설정이 포함됩니다. 자세한 내용은 앱 전역화를 참조하세요.

언어를 UI 요소에 설정하는 것은 지역화 및 세계화를 위해 앱을 준비하기 위해 수행할 수 있는 작업의 일부에 불과합니다. 예를 들어 일반적으로 문자열 및 이미지와 같은 리소스의 이름을 지정하거나 로드하고 이러한 리소스를 앱 패키지에 포함해야 합니다. 또한 언어별 리소스를 얻기 위해 리소스 한정자를 사용해야 하는 모든 요소에 x:Uid 지시문 값을 적용해야 합니다. 자세한 내용은 앱 전역화를 참조하세요.

태그에서 언어를 설정하는 경우 태그에서 문자열을 하드 코딩하는 대신 RESW 리소스 파일을 사용하여 BCP 47 문자열을 지정하는 것이 좋습니다. 리소스 시스템에서 요소를 대상으로 지정할 수 있도록 Language를 지정하려는 해당 요소에 x:Uid 지시문 값을 지정합니다. 그런 다음, 리소스가 가져온 리소스 폴더 이름과 일치하는 BCP 47 문자열의 문자열 리소스를 제공합니다. 프로젝트에 기존 지역화된 UI 문자열을 제공하는 RESW 파일이 이미 있을 것입니다. 자세한 내용은 빠른 시작: UI 리소스 번역을 참조하세요.

FrameworkElement.Language 및 xml:lang

XAML은 XML을 기반으로 하며 기본 XML 규칙을 따르는 언어입니다. 여기에는 XML 언어 XML 네임스페이스의 lang 특성과 같은 XML 구문을 지원하는 것이 포함됩니다. FrameworkElement 하위 클래스의 개체 요소에 xml:lang을 지정할 수 있으며 문자열 특성 값의 동일한 BCP 47 처리를 사용하기 때문에 Language 값인 것처럼 처리됩니다. FrameworkElement 하위 클래스가 아닌 개체 요소에 xml:lang을 지정할 수도 있지만 일반적으로 해당 요소에서 동작이 변경되지는 않습니다.

Language는 루트 요소에 설정된 Language 값이 FrameworkElement인 시각적 트리의 모든 자식 개체에 해당 값을 전파하도록 속성 상속 구조를 의도적으로 사용합니다. 이는 XML 및 XML DOM의 xml:lang 동작과 유사합니다. 또한 런타임에 Language를 사용하여 읽는 요소가 Language 속성이 있는 FrameworkElement 하위 클래스인 한 태그에 설정된 xml:lang 값을 읽을 수 있습니다.

그러나 XAML 구문 분석 오류를 throw하는 동일한 개체 요소에 Language 및 xml:lang 특성을 모두 지정할 수는 없습니다.

마이그레이션 정보

이 API는 문자열을 사용합니다. 해당하는 Microsoft Silverlight 및 WPF(Windows Presentation Foundation) API에서 이 속성의 형식은 동일한 문자열을 래핑하는 도우미 개체입니다. XAML이 문자열을 구문 분석하는 방법이 동일하기 때문에 이러한 차이를 파악하지 않고 다른 프로젝트에서 XAML을 가져올 수 있습니다.

적용 대상

추가 정보