Import-LocalizedData
운영 체제에 대해 선택된 UI 문화권에 따라 언어별 데이터를 스크립트 및 함수로 가져옵니다.
구문
Import-LocalizedData
[[-BindingVariable] <String>]
[[-UICulture] <String>]
[-BaseDirectory <String>]
[-FileName <String>]
[-SupportedCommand <String[]>]
[<CommonParameters>]
Description
cmdlet은 Import-LocalizedData
이름이 운영 체제의 현재 사용자에 대해 설정된 UI 언어와 일치하는 하위 디렉터리에서 문자열을 동적으로 검색합니다. 스크립트가 현재 사용자가 선택한 UI 언어로 사용자 메시지를 표시할 수 있도록 설계되었습니다.
Import-LocalizedData
는 스크립트 디렉터리의 언어별 하위 디렉터리에 있는 파일에서 .psd1
데이터를 가져와 명령에 지정된 지역 변수에 저장합니다. cmdlet은 자동 변수의 $PSUICulture
값에 따라 하위 디렉터리 및 파일을 선택합니다. 스크립트에서 로컬 변수를 사용하여 사용자 메시지를 표시하면 메시지가 사용자의 UI 언어로 표시됩니다.
매개 변수 Import-LocalizedData
를 사용하여 대체 UI 문화권, 경로 및 파일 이름을 지정하고, 지원되는 명령을 추가하고, 파일을 찾을 수 없는 경우 .psd1
표시되는 오류 메시지를 표시하지 않을 수 있습니다.
이 cmdlet은 Import-LocalizedData
Windows PowerShell 2.0에서 도입된 스크립트 국제화 이니셔티브를 지원합니다. 이 이니셔티브는 스크립트가 사용자 메시지를 현재 사용자의 UI 언어로 쉽게 표시할 수 있도록 하여 전 세계 사용자에게 더 나은 서비스를 제공하는 것을 목표로 합니다. 이에 대한 자세한 내용과 파일 형식 .psd1
에 대한 자세한 내용은 about_Script_Internationalization 참조하세요.
예제
예제 1: 텍스트 문자열 가져오기
다음은 텍스트 문자열을 변수로 가져오는 예제입니다 $Messages
. 다른 모든 cmdlet 매개 변수의 기본값을 사용합니다.
Import-LocalizedData -BindingVariable "Messages"
명령이 디렉터리의 Archives.ps1 스크립트에 C:\Test
포함되어 있고 자동 변수의 $PsUICulture
값이 zh-CN Import-LocalizedData
인 경우 디렉터리의 파일을 C:\test\zh-CN
변수로 $Messages
가져옵니다Archives.psd1
.
예제 2: 지역화된 데이터 문자열 가져오기
이 예제는 스크립트가 아닌 명령줄에서 실행됩니다. Test.psd1 파일에서 지역화된 데이터 문자열을 가져오고 명령줄에 표시합니다. 이 명령은 스크립트 에서 사용되지 않으므로 FileName 매개 변수가 필요합니다. 이 명령은 UICulture 매개 변수를 사용하여 en-US 문화권을 지정합니다.
Import-LocalizedData -FileName "Test.psd1" -UICulture "en-US"
Name Value
---- -----
Msg3 "Use $_ to represent the object that's being processed."
Msg2 "This command requires the credentials of a member of the Administrators group on the...
Msg1 "The Name parameter is missing from the command."
Import-LocalizedData
는 지역화된 데이터 문자열을 포함하는 해시 테이블을 반환합니다.
예제 3: UI 문화권 문자열 가져오기
Import-LocalizedData -BindingVariable "MsgTbl" -UICulture "ar-SA" -FileName "Simple" -BaseDirectory "C:\Data\Localized"
이 명령은 텍스트 문자열을 스크립트의 변수로 가져옵니다 $MsgTbl
.
UICulture 매개 변수를 사용하여 cmdlet이 하위 디렉터리의 파일 ar-SA
에서 Simple.psd1
데이터를 가져오도록 지시합니다C:\Data\Localized
.
예제 4: 스크립트로 지역화된 데이터 가져오기
이 예제에서는 간단한 스크립트에서 지역화된 데이터를 사용하는 방법을 보여줍니다.
PS C:\> # In C:\Test\en-US\Test.psd1:
ConvertFrom-StringData @'
# English strings
Msg1 = "The Name parameter is missing from the command."
Msg2 = "This command requires the credentials of a member of the Administrators group on the computer."
Msg3 = "Use $_ to represent the object that's being processed."
'@
# In C:\Test\Test.ps1
Import-LocalizedData -BindingVariable "Messages"
Write-Host $Messages.Msg2
# In Windows PowerShell
PS C:\> .\Test.ps1
This command requires the credentials of a member of the Administrators group on the computer.
예제의 첫 번째 부분에서는 파일의 Test.psd1
내용을 보여 줍니다. 여기에는 일련의 명명된 텍스트 문자열을 해시 테이블로 변환하는 명령이 포함되어 ConvertFrom-StringData
있습니다. 이 Test.psd1
파일은 스크립트를 포함하는 디렉터리의 en-US 하위 C:\Test
디렉터리에 있습니다.
예제의 두 번째 부분에서는 스크립트의 내용을 보여 줍니다 Test.ps1
. 일치하는 .psd1
파일의 데이터를 변수로 $Messages
가져오는 명령과 Write-Host
변수의 메시지 $Messages
중 하나를 호스트 프로그램에 쓰는 명령이 포함 Import-LocalizedData
됩니다.
예제의 마지막 부분에서 스크립트를 실행합니다. 출력은 운영 체제의 현재 사용자에 대해 설정된 UI 언어로 올바른 사용자 메시지를 표시합니다.
예제 5: 스크립트에서 기본 텍스트 문자열 바꾸기
이 예제에서는 스크립트의 Import-LocalizedData
DATA 섹션에 정의된 기본 텍스트 문자열을 바꾸는 방법을 보여 줍니다.
PS C:\> # In TestScript.ps1
$UserMessages = DATA
{ ConvertFrom-StringData @'
# English strings
Msg1 = "Enter a name."
Msg2 = "Enter your employee ID."
Msg3 = "Enter your building number."
'@
}
Import-LocalizedData -BindingVariable "UserMessages"
$UserMessages.Msg1...
이 예제에서 TestScript.ps1 스크립트의 DATA 섹션에는 DATA 섹션의 내용을 해시 테이블로 변환하고 변수 값에 저장하는 명령이 $UserMessages
포함되어 ConvertFrom-StringData
있습니다.
또한 스크립트에는 변수 값으로 지정된 하위 디렉터리의 TestScript.psd1 파일에서 번역된 텍스트 문자열의 $PsUICulture
해시 테이블을 가져오는 명령이 포함되어 Import-LocalizedData
있습니다. 명령이 파일을 찾으 .psd1
면 파일의 번역된 문자열을 동일한 $UserMessages
변수 값으로 저장하고 DATA 섹션 논리에 의해 저장된 해시 테이블을 덮어씁니다.
세 번째 명령은 변수의 첫 번째 메시지를 $UserMessages
표시합니다.
명령이 Import-LocalizedData
언어에 대한 $PsUICulture
파일을 찾으 .psd1
면 변수 값에 $UserMessages
번역된 텍스트 문자열이 포함됩니다. 어떤 이유로든 명령이 실패하면 이 명령은 스크립트의 DATA 섹션에 정의된 기본 텍스트 문자열을 표시합니다.
예제 6: UI 문화권을 찾을 수 없는 경우 오류 메시지 표시 안 함
이 예제에서는 사용자의 UI 문화권과 일치하는 디렉터리를 찾을 수 없거나 해당 디렉터리에서 스크립트에 대한 파일을 찾을 .psd1
수 없을 때 Import-LocalizedData
표시되는 오류 메시지를 표시하지 않는 방법을 보여 드립니다.
PS C:\> # In Day1.ps1
Import-LocalizedData -BindingVariable "Day"
# In Day2.ps1
Import-LocalizedData -BindingVariable "Day" -ErrorAction:SilentlyContinue
PS C:\> .\Day1.ps1
Import-LocalizedData : Can't find PowerShell data file 'Day1.psd1' in directory 'C:\ps-test\fr-BE\'
or any parent culture directories.
At C:\ps-test\Day1.ps1:17 char:21+ Import-LocalizedData <<<< Day
Today is Tuesday
PS C:\> .\Day2.ps1
Today is Tuesday
ErrorAction 일반 매개 변수를 SilentlyContinue 값과 함께 사용하여 오류 메시지를 표시하지 않을 수 있습니다. 이는 기본 또는 대체 언어로 사용자 메시지를 제공했으며 오류 메시지가 필요하지 않은 경우에 특히 유용합니다.
이 예제에서는 명령을 포함하는 두 스크립트 Day1.ps1
와 Day2.ps1을 비교합니다 Import-LocalizedData
. Day2에서 값SilentlyContinue
이 있는 ErrorAction 공통 매개 변수를 사용한다는 점을 제외하면 스크립트는 동일합니다.
샘플 출력은 UI 문화권이 설정 fr-BE
되고 해당 UI 문화권에 대해 일치하는 파일이나 디렉터리 없이 두 스크립트를 실행한 결과를 보여 줍니다. Day1.ps1
은 오류 메시지와 영어 출력을 표시합니다. Day2.ps1
영어 출력만 표시합니다.
매개 변수
-BaseDirectory
파일이 있는 .psd1
기본 디렉터리를 지정합니다. 기본값은 스크립트가 있는 디렉터리입니다. Import-LocalizedData
는 .psd1
기본 디렉터리의 언어별 하위 디렉터리에서 스크립트에 대한 파일을 검색합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-BindingVariable
텍스트 문자열을 가져올 변수를 지정합니다. 달러 기호($
)가 없는 변수 이름을 입력합니다.
Windows PowerShell 2.0에서는 이 매개 변수가 필수이지만 Windows PowerShell 3.0에서 이 매개 변수는 선택 사항입니다. 이 매개 변수 Import-LocalizedData
를 생략하면 텍스트 문자열의 해시 테이블을 반환합니다. 해시 테이블이 파이프라인 아래로 전달되거나 명령줄에 표시됩니다.
스크립트의 DATA 섹션에 지정된 기본 텍스트 문자열을 바꾸는 데 사용할 Import-LocalizedData
경우 DATA 섹션을 변수에 할당하고 BindingVariable 매개 변수 값에 DATA 섹션 변수의 이름을 입력합니다. 그런 다음 가져온 Import-LocalizedData
콘텐츠를 BindingVariable에 저장하면 가져온 데이터가 기본 텍스트 문자열을 바꿉니다. 기본 텍스트 문자열을 지정하지 않는 경우 변수 이름을 선택할 수 있습니다.
형식: | String |
별칭: | Variable |
Position: | 0 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-FileName
가져올 데이터 파일.psd1)
의 이름을 지정합니다. 파일 이름을 입력합니다. 파일 이름 확장명을 포함하지 .psd1
않는 파일 이름을 지정하거나 파일 이름 확장명을 포함하여 .psd1
파일 이름을 지정할 수 있습니다. 데이터 파일은 유니코드 또는 UTF-8로 저장해야 합니다.
스크립트에서 사용되지 않는 경우 Import-LocalizedData
FileName 매개 변수가 필요합니다.
그렇지 않으면 매개 변수는 선택 사항이며 기본값은 스크립트의 기본 이름입니다. 이 매개 변수를 사용하여 다른 .psd1
파일을 검색하도록 지시 Import-LocalizedData
할 수 있습니다.
예를 들어 FileName을 생략하고 스크립트 이름이 있으면 Import-LocalizedData
FindFiles.ps1
데이터 파일을 검색합니다.FindFiles.psd1
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SupportedCommand
데이터만 생성하는 cmdlet 및 함수를 지정합니다.
이 매개 변수를 사용하여 작성하거나 테스트한 cmdlet 및 함수를 포함합니다. 자세한 내용은 about_Script_Internationalization 참조하세요.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-UICulture
대체 UI 문화권을 지정합니다. 기본값은 자동 변수의 $PsUICulture
값입니다. 형식(예: , 또는 ar-SA
.)으로 <language>-<region>
en-US
UI 문화권을 de-DE
입력합니다.
UICulture 매개 변수의 값은 스크립트의 파일을 가져오는 .psd1
언어별 하위 디렉터리(기본 디렉터리 내)Import-LocalizedData
를 결정합니다.
cmdlet은 UICulture 매개 변수 $PsUICulture
또는 자동 변수(예de-DE
: 또는 ar-SA
.)의 값과 이름이 같은 하위 디렉터리를 검색합니다. 디렉터리를 찾을 수 없거나 디렉터리에 스크립트에 대한 파일이 없는 .psd1
경우 de 또는 ar과 같은 언어 코드의 이름을 가진 하위 디렉터리를 검색합니다. 하위 디렉터리 또는 .psd1
파일을 찾을 수 없는 경우 명령이 실패하고 데이터가 스크립트에 지정된 기본 언어로 표시됩니다.
형식: | String |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
이 cmdlet은 BindingVariable 매개 변수의 값으로 지정된 변수에 해시 테이블을 저장합니다.
참고
사용하기
Import-LocalizedData
전에 사용자 메시지를 지역화합니다. 키-값 쌍의 해시 테이블로 각 로캘(UI 문화권)에 대한 메시지의 서식을 지정하고 스크립트 및.psd1
파일 이름 확장명과 동일한 이름의 파일에 해시 테이블을 저장합니다. 지원되는 각 UI 문화권에 대한 스크립트 디렉터리 아래에 디렉터리를 만든 다음, 디렉터리의 각 UI 문화권에 대한 파일을 UI 문화권 이름으로 저장.psd1
합니다.예를 들어 de-DE 로캘에 대한 사용자 메시지를 지역화하고 해시 테이블로 서식을 지정합니다. 파일에 해시 테이블을
<ScriptName>.psd1
저장합니다. 그런 다음 스크립트 디렉터리 아래에 하위 디렉터리를 만들고de-DE
하위 디렉터리에 독일어<ScriptName>.psd1
파일을de-DE
저장합니다. 지원하는 각 로캘에 대해 이 메서드를 반복합니다.Import-LocalizedData
는 스크립트에 대해 지역화된 사용자 메시지에 대한 구조적 검색을 수행합니다.Import-LocalizedData
는 스크립트 파일이 있는 디렉터리(또는 BaseDirectory 매개 변수의 값)에서 검색을 시작합니다. 그런 다음, 기본 디렉터리 내에서 변수 값(또는 UICulture 매개 변수의$PsUICulture
값)과de-DE
같은 이름의 하위 디렉터리를 검색합니다ar-SA
. 그런 다음 해당 하위 디렉터리.psd1
에서 스크립트와 이름이 같은 파일(또는 FileName 매개 변수 값)을 검색합니다.UI 문화권의 이름을 가진 하위 디렉터리를 찾을 수 없거나 하위 디렉터리에 스크립트에 대한 파일이 없는
.psd1
경우Import-LocalizedData
de 또는 ar과 같은 언어 코드의 이름을 가진 하위 디렉터리에서 스크립트에 대한.psd1
파일을 검색합니다. 하위 디렉터리 또는.psd1
파일을 찾을 수 없는 경우 명령이 실패하고, 데이터가 스크립트의 기본 언어로 표시되고, 데이터를 가져올 수 없음을 설명하는 오류 메시지가 표시됩니다. 메시지를 표시하지 않고 정상적으로 실패하려면 SilentlyContinue 값과 함께 ErrorAction 공통 매개 변수를 사용합니다.하위 디렉터리와
.psd1
파일을 찾으면Import-LocalizedData
사용자 메시지의 해시 테이블을 명령의 BindingVariable 매개 변수 값으로 가져옵니다. 그런 다음 변수에 해시 테이블의 메시지를 표시하면 지역화된 메시지가 표시됩니다.자세한 내용은 about_Script_Internationalization 참조하세요.
관련 링크
PowerShell