Import-LocalizedData
운영 체제에 대해 선택된 UI 문화권에 따라 언어별 데이터를 스크립트 및 함수로 가져옵니다.
구문
Import-LocalizedData
[[-BindingVariable] <String>]
[[-UICulture] <String>]
[-BaseDirectory <String>]
[-FileName <String>]
[-SupportedCommand <String[]>]
[<CommonParameters>]
Description
Import-LocalizedData cmdlet은 이름이 운영 체제의 현재 사용자에 대해 설정된 UI 언어와 일치하는 하위 디렉터리에서 문자열을 동적으로 검색합니다. 스크립트가 현재 사용자가 선택한 UI 언어로 사용자 메시지를 표시할 수 있도록 설계되었습니다.
Import-LocalizedData 스크립트 디렉터리의 언어별 하위 디렉터리에 있는 .psd1 파일에서 데이터를 가져와 명령에 지정된 지역 변수에 저장합니다. cmdlet은 $PSUICulture 자동 변수의 값에 따라 하위 디렉터리 및 파일을 선택합니다. 스크립트에서 로컬 변수를 사용하여 사용자 메시지를 표시하면 메시지가 사용자의 UI 언어로 표시됩니다.
Import-LocalizedData 매개 변수를 사용하여 대체 UI 문화권, 경로 및 파일 이름을 지정하고, 지원되는 명령을 추가하고, .psd1 파일을 찾을 수 없는 경우 나타나는 오류 메시지를 표시하지 않을 수 있습니다.
Import-LocalizedData cmdlet은 Windows PowerShell 2.0에서 도입된 스크립트 국제화 이니셔티브를 지원합니다. 이 이니셔티브는 스크립트가 사용자 메시지를 현재 사용자의 UI 언어로 쉽게 표시할 수 있도록 하여 전 세계 사용자에게 더 나은 서비스를 제공하는 것을 목표로 합니다. 이에 대한 자세한 내용과 .psd1 파일의 형식에 대한 자세한 내용은 about_Script_Internationalization 참조하세요.
예제
예제 1: 텍스트 문자열 가져오기
PS C:\> Import-LocalizedData -BindingVariable "Messages"
이 명령은 텍스트 문자열을 $Messages 변수로 가져옵니다. 다른 모든 cmdlet 매개 변수의 기본값을 사용합니다.
명령이 C:\Test 디렉터리의 Archives.ps1 스크립트에 포함되어 있고 $PsUICulture 자동 변수의 값이 zh-CN경우 Import-LocalizedData
예제 2: 지역화된 데이터 문자열 가져오기
PS C:\> Import-LocalizedData -FileName "Test.psd1" -UICulture "en-US"
Name Value
---- -----
Msg3 "Use $_ to represent the object that is 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."
이 명령은 명령줄에서 실행됩니다. 스크립트에 없습니다. Test.psd1 파일에서 지역화된 데이터 문자열을 가져오고 명령줄에 표시합니다. 이 명령은 스크립트에서 사용되지 않으므로 FileName 매개 변수가 필요합니다. 이 명령은 UICulture 매개 변수를 사용하여 en-US 문화권을 지정합니다.
Import-LocalizedData 지역화된 데이터 문자열이 포함된 해시 테이블을 반환합니다.
예제 3: UI 문화권 문자열 가져오기
PS C:\> Import-LocalizedData -BindingVariable "MsgTbl" -UICulture "ar-SA" -FileName "Simple" -BaseDirectory "C:\Data\Localized"
이 명령은 텍스트 문자열을 스크립트의 $MsgTbl 변수로 가져옵니다.
UICulture 매개 변수를 사용하여 cmdlet이 C:\Data\Localized의 ar-SA 하위 디렉터리에 있는 Simple.psd1 파일에서 데이터를 가져오도록 지시합니다.
예제 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 is 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 파일은 스크립트를 포함하는 C:\Test 디렉터리의 en-US 하위 디렉터리에 있습니다.
예제의 두 번째 부분에서는 Test.ps1 스크립트의 내용을 보여 줍니다. 일치하는 .psd1 파일의 데이터를 $Messages 변수로 가져오는 Import-LocalizedData 명령과 $Messages 변수의 메시지 중 하나를 호스트 프로그램에 쓰는 Write-Host 명령이 포함되어 있습니다.
예제의 마지막 부분에서 스크립트를 실행합니다. 출력은 운영 체제의 현재 사용자에 대해 설정된 UI 언어로 올바른 사용자 메시지를 표시합니다.
예제 5: 스크립트에서 기본 텍스트 문자열 바꾸기
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...
이 예제에서는 Import-LocalizedData 사용하여 스크립트의 DATA 섹션에 정의된 기본 텍스트 문자열을 바꾸는 방법을 보여 줍니다.
이 예제에서 TestScript.ps1 스크립트의 DATA 섹션에는 DATA 섹션의 내용을 해시 테이블로 변환하고 $UserMessages 변수 값에 저장하는 ConvertFrom-StringData 명령이 포함되어 있습니다.
스크립트에는 $PsUICulture 변수 값으로 지정된 하위 디렉터리의 TestScript.psd1 파일에서 번역된 텍스트 문자열의 해시 테이블을 가져오는 Import-LocalizedData 명령도 포함되어 있습니다. 명령이 .psd1 파일을 찾으면 파일의 변환된 문자열을 동일한 $UserMessages 변수 값에 저장하고 DATA 섹션 논리에 의해 저장된 해시 테이블을 덮어씁니다.
세 번째 명령은 $UserMessages 변수에 첫 번째 메시지를 표시합니다.
Import-LocalizedData 명령이 $PsUICulture 언어에 대한 .psd1 파일을 찾으면 $UserMessages 변수 값에 번역된 텍스트 문자열이 포함됩니다. 어떤 이유로든 명령이 실패하면 이 명령은 스크립트의 DATA 섹션에 정의된 기본 텍스트 문자열을 표시합니다.
예제 6: UI 문화권을 찾을 수 없는 경우 오류 메시지 표시 안 함
PS C:\> # In Day1.ps1
Import-LocalizedData -BindingVariable "Day"
# In Day2.ps1
Import-LocalizedData -BindingVariable "Day" -ErrorAction:SilentlyContinue
PS C:\> .\Day1.ps1
Import-LocalizedData : Cannot 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
이 예제에서는 import-LocalizedData
ErrorAction 일반 매개 변수와 SilentlyContinue 값을 사용하여 오류 메시지를 표시하지 않을 수 있습니다. 이는 기본 또는 대체 언어로 사용자 메시지를 제공했으며 오류 메시지가 필요하지 않은 경우에 특히 유용합니다.
이 예제에서는 Import-LocalizedData 명령을 포함하는 Day1.ps1 및 Day2.ps1두 스크립트를 비교합니다. Day2에서 ErrorAction 일반 매개 변수를 SilentlyContinue 값으로 사용한다는 점을 제외하면 스크립트는 동일합니다.
샘플 출력은 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
Import-LocalizedData 사용하여 스크립트의 DATA 섹션에 지정된 기본 텍스트 문자열을 바꾸는 경우 DATA 섹션을 변수에 할당하고 BindingVariable 매개 변수 값에 DATA 섹션 변수의 이름을 입력합니다.
그런 다음 Import-LocalizedData
형식: | String |
별칭: | Variable |
Position: | 0 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-FileName
가져올 데이터 파일(.psd1)의 이름을 지정합니다. 파일 이름을 입력합니다. .psd1 파일 이름 확장명을 포함하지 않는 파일 이름을 지정하거나 .psd1 파일 이름 확장명을 포함한 파일 이름을 지정할 수 있습니다. 데이터 파일은 유니코드 또는 UTF-8로 저장해야 합니다.
Import-LocalizedData 스크립트에서 사용되지 않는 경우 FileName 매개 변수가 필요합니다.
그렇지 않으면 매개 변수는 선택 사항이며 기본값은 스크립트의 기본 이름입니다.
이 매개 변수를 사용하여 Import-LocalizedData
예를 들어
형식: | 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 자동 변수의 값입니다. en-US, de-DE또는 ar-SA같은<지역> 형식인 <언어>UI 문화권을 입력합니다.
UICulture 매개 변수의 값은 Import-LocalizedData 스크립트에 대한 .psd1 파일을 가져오는 언어별 하위 디렉터리(기본 디렉터리 내)를 결정합니다.
cmdlet은 UICulture 매개 변수의 값과 이름이 같은 하위 디렉터리 또는 de-DE 또는 ar-SA같은 $PsUICulture 자동 변수를 검색합니다. 디렉터리를 찾을 수 없거나 디렉터리에 스크립트에 대한 .psd1 파일이 없는 경우 de 또는 ar과 같은 언어 코드의 이름을 가진 하위 디렉터리를 검색합니다. 하위 디렉터리 또는 .psd1 파일을 찾을 수 없는 경우 명령이 실패하고 데이터가 스크립트에 지정된 기본 언어로 표시됩니다.
형식: | String |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
이 cmdlet에 입력을 파이프할 수 없습니다.
출력
import-LocalizedData
참고
Import-LocalizedData
사용하기 전에 사용자 메시지를 지역화합니다. 키/값 쌍의 해시 테이블에서 각 로캘(UI 문화권)에 대한 메시지의 서식을 지정하고 스크립트 및 .psd1 파일 이름 확장명과 동일한 이름의 파일에 해시 테이블을 저장합니다. 지원되는 각 UI 문화권에 대한 스크립트 디렉터리 아래에 디렉터리를 만든 다음, 디렉터리의 각 UI 문화권에 대한 .psd1 파일을 UI 문화권 이름으로 저장합니다. 예를 들어 de-DE 로캘에 대한 사용자 메시지를 지역화하고 해시 테이블에 서식을 지정합니다. 해시 테이블을 <ScriptName>.psd1 파일에 저장합니다. 그런 다음 스크립트 디렉터리 아래에 de-DE 하위 디렉터리를 만들고 de-DE <ScriptName>.psd1 파일을 de-DE 하위 디렉터리에 저장합니다. 지원하는 각 로캘에 대해 이 메서드를 반복합니다.
Import-LocalizedData 스크립트에 대한 지역화된 사용자 메시지에 대해 구조화된 검색을 수행합니다.
Import-LocalizedData 스크립트 파일이 있는 디렉터리(또는 BaseDirectory 매개 변수의 값)에서 검색을 시작합니다. 그런 다음 기본 디렉터리 내에서 de-DE 또는 ar-SA같은 $PsUICulture 변수의 값(또는 UICulture 매개 변수의 값)과 같은 이름의 하위 디렉터리를 검색합니다. 그런 다음 해당 하위 디렉터리에서 스크립트와 이름이 같은 .psd1 파일(또는 FileName 매개 변수의 값)을 검색합니다.
import-LocalizedData
UI 문화권의 이름을 가진 하위 디렉터리를 찾을 수 없거나 하위 디렉터리에 스크립트에 대한 .psd1 파일이 없는 경우 de 또는 ar과 같은 언어 코드 이름이 있는 하위 디렉터리에서 스크립트에 대한 .psd1 파일을 검색합니다. 하위 디렉터리 또는 .psd1 파일을 찾을 수 없는 경우 명령이 실패하고, 데이터가 스크립트의 기본 언어로 표시되고, 데이터를 가져올 수 없다는 오류 메시지가 표시됩니다. 메시지를 표시하지 않고 정상적으로 실패하려면 ErrorAction 일반 매개 변수를 SilentlyContinue 값과 함께 사용합니다. Import-LocalizedData
하위 디렉터리와 .psd1 파일을 찾으면 사용자 메시지의 해시 테이블을 명령의 BindingVariable 매개 변수 값으로 가져옵니다. 그런 다음 변수에 해시 테이블의 메시지를 표시하면 지역화된 메시지가 표시됩니다.자세한 내용은 about_Script_Internationalization(https://go.microsoft.com/fwlink/?LinkID=113262)를 참조하세요.