한정자를 사용하여 리소스 이름을 지정하는 방법(HTML)
[ 이 문서는 Windows 런타임 앱을 작성하는 Windows 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]
한정자를 사용하여 리소스 이름을 지정할 수 있습니다. 한정자는 리소스 버전을 사용해야 할 컨텍스트를 식별합니다.
리소스 한정자
파일 및 문자열 리소스를 조정하여 여러 디스플레이 크기, UI 언어, 고대비 설정, 등을 지원할 수 있습니다. 리소스 한정자는 특정 리소스 버전을 사용할 컨텍스트를 식별하는 폴더 및 파일 이름 한정자입니다.
표준 명명 규칙은 다음과 같습니다.
foldername/qualifiername-value_qualifiername-value/filename.qualifiername-value_qualifiername-value.ext
예를 들면 다음과 같습니다.
Images/en-US/homeregion-USA/logo.scale-100_contrast-white.png
is loaded by referring to
Images/logo.png
참고 문자열 리소스 파일의 기본 언어(예: en-US\resources.resw) 및 이미지의 기본 크기(예: logo.scale-100.png)를 표시하는 것이 좋습니다. 이는 이러한 파일이 지역화되지 않고 여러 해상도 이미지가 제공되지 않는 경우에도 마찬가지입니다.
전체 폴더 이름이 한정자에 대해 구문 분석됩니다. 그러면 폴더 이름은 한정자 집합과 일치되거나 논리 파일 경로의 일부로 간주됩니다. 파일에서 확장명 바로 앞에 있는 점으로 된 세그먼트는 한정자를 나타내는 토큰으로 간주됩니다. 한정자가 여러 개인 경우 밑줄로 구분하며, 일반적으로 폴더 이름에 사용된 언어를 제외하고 이름과 값으로 한정자를 지정합니다.
앱 개발자는 워크플로 및 앱의 요구에 따라 폴더 또는 파일 이름을 사용하여 지정된 컨텍스트 집합에 대한 자산을 지정할 수 있고 두 전략을 함께 사용할 수도 있습니다.
런타임에 각 리소스의 한정자와 현재 컨텍스트를 기반으로 올바른 리소스가 자동으로 선택됩니다. 예를 들면, 다음 자산을 제공할 수 있습니다.
en-us\logo.scale-100.png
en-us\logo.scale-140.png
fr-fr\logo.scale-100.png
fr-fr\logo.scale-140.png
그러면 Scale 140 디스플레이에서 영어(미국)를 기본 설정한 사용자에게는 en-us\logo.scale-140.png 이미지가 표시됩니다. 보다 복잡한 폴백 시나리오에서 리소스 선택에 대한 자세한 내용은 리소스 컨텍스트를 참조하세요.
이 항목의 나머지 섹션에서는 리소스 인프라에서 지원되는 각 차원에 대해 가능한 값과 한정자 집합에 대해 자세히 설명합니다.
중요 여기에 설명된 형식은 파일 이름(또는 언어의 경우 폴더 이름)의 한정자 세그먼트 내의 경우에 해당됩니다. 하나 이상의 한정자는 주로 자리 표시자 형식에 따라 리소스 이름 뒤 그리고 파일 확장명 앞에 오는 전체 파일 이름 내 세그먼트로 모두 표시되어야 합니다. name**.qualifiers.**ext 점(.) 은 세그먼트 사이 구문 구분 기호를 제공하기 때문에 중요합니다. 점 문자는 한정자 형식 내에서 사용하는 경우에만 사용할 수 있습니다.
언어(앱)
언어 한정자는 리소스의 BCP-47 언어를 지정합니다. 파일 이름에는 lang 또는 language 한정자와 언어 태그가 필요하지만, 폴더에는 언어 태그만 필요합니다. 언어 목록은 IANA 언어 하위 태그 레지스트리를 참조하세요.
폴더 이름 형식:
- <Any BCP-47 language tag>
- lang-<Any BCP-47 language tag>
- 언어-< 모든 BCP-47 언어 태그 >
파일 이름 형식:
- lang-<Any BCP-47 language tag>
- 언어-<Any BCP-47 language tag>
예:
es-MX/resources.resw
language-de-DE/UI.resw
images/logo.lang-fr-FR.png
언어 한정자는 앱 언어 목록과 비교됩니다. 런타임 시 앱 언어에 대한 변경 내용은 이벤트로 전파됩니다(ResourceContext.QualifierValues 참조). 앱에서는 언어를 설정하거나 재정의할 필요가 없습니다.
배율
배율 한정자는 리소스의 배율 인수를 지정합니다. 배율 한정자는 일반적으로 DPI가 높은 장치에 표시된 이미지에 또는 앱이 확대/축소되는 경우에 사용됩니다. 리소스 배율은 Windows.Graphics.Display.DisplayProperties.ResolutionScale 또는 배율이 그다음으로 큰 리소스의 값과 일치시킵니다. 리소스에서 배율 한정자를 사용하는 경우, targetsize 한정자는 사용하면 안 됩니다.
배율 한정자:
- 배율-80(앱 매니페스트에 지정된 리소스에 대해서만 유효)
- scale-100
- scale-140
- scale-180(Windows)
- scale-240(Windows Phone)
런타임에 배율을 변경하면 이벤트로 전파됩니다(ResourceContext.QualifierValues 참조).
대비
대비 한정자는 시스템의 대비 테마 설정을 지정합니다. Standard은(는) 모든 고대비 테마가 꺼져 있는 경우에 사용됩니다. High은(는) 모든 고대비 모드에서 유효합니다. Black은(는) 검은색 배경에 흰색 전경을 가진 이미지가 언제 기본적으로 사용되는지 나타냅니다. White은(는) 흰색 배경에 검은색 전경을 가진 이미지가 언제 기본적으로 사용되는지 나타냅니다. High Contrast #1 및 High Contrast #2 테마 설정은 Black 한정자 값과 일치합니다.
contrast-standard
contrast-high
contrast-black
contrast-white
홈 영역
홈 지역 한정자는 사용자의 홈 위치를 나타냅니다. 홈 지역은 일반적으로 Windows를 설치할 때 지정되며 제어판에서 액세스할 수 있습니다. 다른 데이터 공급자에게 위치가 알려진 경우 일반적으로 이 한정자를 (ResourceContext.QualifierValues)를 재정의합니다. 모든 유효한 BCP-47(영문) 영역 태그를 값으로 사용할 수 있습니다. 즉, 두 자로 된 모든 iso-3166-1 alpha 2 영역 코드와 구성된 영역에 대한 세 자로 된 iso-3166-1 numeric 지역 코드 집합(미국 통계국 M49 지역 코드 구성(영문))을 사용할 수 있습니다. "선택한 경제 및 기타 그룹화"에 대한 코드는 유효하지 않습니다.
홈 영역 형식:
homeregion-<Region Code>
예:
homeregion-us
homeregion-jp
homeregion-419
홈 영역 한정자는 부모 구성 영역과 일치시킵니다.
대상 크기
대상 크기 한정자는 특정 크기(픽셀)의 리소스를 지정할 수 있습니다. 이 한정자는 기본적으로 데스크톱 Windows 탐색기에 표시된 파일 형식 연결 아이콘 또는 프로토콜 아이콘을 지정하는 데 사용됩니다. 일반적으로 사각형 이미지 또는 아이콘에 사용되며 이미지 크기를 하나만 지정합니다. 리소스를 요청하는 시스템 또는 앱(ResourceContext.QualifierValues)은 대상 크기를 명시적으로 지정해야 합니다. 기본값은 없습니다. 리소스에서 대상 크기 한정자를 사용하는 경우 배율 한정하는 사용하면 안 됩니다.
대상 크기 형식:
targetsize-<any positive integer>
예:
targetsize-16
targetsize-96
대상 크기 컨텍스트는 다음으로 가장 큰 적격 리소스를 일치시킵니다.
레이아웃 방향
읽기 순서 및 텍스트 정렬의 방향을 적용하는 리소스를 지정하려면 레이아웃 한정자를 사용합니다. 예를 들어 아랍어 또는 히브리어와 같이 오른쪽에서 왼쪽으로 읽는 언어에 대해 이미지를 미러해야 할 수 있습니다. 대부분의 앱에서는 자동 대칭 이동 방법을 사용하여 런타임에 이미지를 미러할 수 있지만, 이 한정자는 단순 대칭 이동이 적합하지 않은 경우에 사용됩니다. 자세한 내용은 RTL 언어 배치를 조정하고 글꼴을 지역화하는 방법을 참조하세요.
레이아웃 방향 형식:
- layoutdir LTR
- layoutdir-RTL
- layoutdir-TTBLTR
- layoutdir-TTBRTL
구성
주어진 작성 시점 환경에만 적용할 수 있는 리소스(예: 테스트 전용 리소스)를 지정하려면 구성 한정자를 사용합니다. 대부분의 앱 개발자는 이 한정자를 사용할 필요가 없습니다. 환경 변수 MS_CONFIGURATION_ATTRIBUTE_VALUE은(는) 관련 리소스에 할당된 문자열 값(예: test)으로 설정될 수 있습니다.
구성 형식:
config-<MS_CONFIGURATION_ATTRIBUTE_VALUE>
예:
config-test
config-designer
대체 양식
대체 양식 한정자를 사용하여 특수 용도의 대체 리소스 양식을 제공할 수 있습니다. 이 한정자는 일본어 앱 개발자가 후리가나 문자열을 제공하는 데에만 사용됩니다. 이 문자열에서는 msft-phonetic 값이 예약되어 있습니다. 시스템 또는 앱에서 특정 상황에 이 한정자를 사용하려면 값을 제공해야 합니다. 기본값은 없습니다. 사용자 지정 값에 대해 msft- 접두사를 사용하지 마세요.
대체 양식 형식:
altform-<Any string between 1 and 16 chars>
예:
altform-msft-phonetic
altform-myapp-special
DirectX 기능 수준
DirectX 기능 수준 한정자는 리소스를 렌더링하는 데 사용할 그래픽 어댑터의 DirectX 기능 수준을 나타냅니다. 이는 일반적으로 게임에 사용되는 Direct3D 표시 자산에 사용됩니다. 리소스의 DirectX 기능 수준은 앱에 의해 리소스 컨텍스트에서 명시적으로 설정되는 값과 일치합니다. 똑같은 DirectX 기능 수준 값이 있는 리소스를 사용할 수 없을 경우 다음으로 가장 낮은 값이 있는 리소스가 사용됩니다.
참고 DirectX 기능 수준 한정자는 Windows 8.1부터 지원됩니다.
DirectX 기능 수준 한정자에는 두 가지 형식을 사용할 수 있습니다. 가능한 값은 DX9, DX10 및 DX11입니다.
DirectX 기능 수준 형식
- DXFeatureLevel-<value>
- DXFL-<value>
예:
DXFeatureLevel-DX10
DXFL-DX11
설명
앞서 언급했듯이, 동일한 리소스 시나리오에 대한 여러 한정자 패턴을 지원해야 하는 경우 한정자 집합 내의 모든 형식이 결합될 수 있습니다. 한정자 패턴 사이에 사용되는 구분 기호는 밑줄(_)입니다. 예를 들어 다음은 구성, 배율 및 레이아웃 방향을 명시적으로 지원하는 리소스 파일에 대한 경로입니다. logo.config-test_scale-100_layoutdir-LTR.png
관련 항목
Windows.ApplicationModel.Resources.Core.ResourceContext.QualifierValues
Windows.Graphics.Display.DisplayProperties.ResolutionScale
외부 링크