Import-LocalizedData
Nyelvspecifikus adatokat importál szkriptekbe és függvényekbe az operációs rendszerhez kiválasztott felhasználói felületi kultúra alapján.
Syntax
Default (Alapértelmezett)
Import-LocalizedData
[[-BindingVariable] <String>]
[[-UICulture] <String>]
[-BaseDirectory <String>]
[-FileName <String>]
[-SupportedCommand <String[]>]
[<CommonParameters>]
Description
A Import-LocalizedData parancsmag dinamikusan lekéri a sztringeket egy alkönyvtárból, amelynek a neve megegyezik az operációs rendszer aktuális felhasználójának felhasználói felületi nyelvével. Úgy lett kialakítva, hogy lehetővé tegye a szkriptek számára a felhasználói üzenetek megjelenítését az aktuális felhasználó által kiválasztott felhasználói felületen.
Import-LocalizedData Importálja az adatokat .psd1 a parancsfájlkönyvtár nyelvspecifikus alkönyvtáraiban lévő fájlokból, és a parancsban megadott helyi változóba menti őket. A parancsmag a $PSUICulture automatikus változó értéke alapján választja ki az alkönyvtárat és a fájlt. Amikor a helyi változót használja a szkriptben egy felhasználói üzenet megjelenítéséhez, az üzenet a felhasználó felhasználói felületének nyelvén jelenik meg.
A paraméterekkel Import-LocalizedData megadhat egy alternatív felhasználói felületi kultúrát, elérési utat és fájlnevet, hozzáadhat támogatott parancsokat, és letilthatja a hibaüzenetet, amely akkor jelenik meg, ha a .psd1 fájlok nem találhatók.
A Import-LocalizedData parancsmag támogatja a Windows PowerShell 2.0-ban bevezetett parancsfájl-nemzetközisítési kezdeményezést. A kezdeményezés célja, hogy világszerte jobban kiszolgálja a felhasználókat azáltal, hogy a szkriptek megkönnyítik a felhasználói üzenetek megjelenítését az aktuális felhasználó felhasználói felületének nyelvén. Erről és a .psd1 fájlok formátumáról további információt a about_Script_Internationalizationcímű témakörben talál.
Példák
1. példa: Szövegsztringek importálása
Ez a példa szöveges sztringeket importál a $Messages változóba. Az összes többi parancsmagparaméter alapértelmezett értékeit használja.
Import-LocalizedData -BindingVariable "Messages"
Ha a parancs szerepel a C:\Test könyvtár Archives.ps1 szkriptjében, és az $PsUICulture automatikus változó értéke zh-CN, Import-LocalizedData importálja a Archives.psd1 könyvtárban lévő C:\test\zh-CN fájlt a $Messages változóba.
2. példa: Honosított adatsztringek importálása
Ez a példa nem parancsfájlban, hanem parancssorban fut. Honosított adatsztringeket kap a Test.psd1 fájlból, és megjeleníti őket a parancssorban. Mivel a parancs nem szkriptben van használva, a FileName paraméterre van szükség. A parancs a UICulture paramétert használja a en-US kultúra megadásához.
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."
Import-LocalizedData A honosított adatsztringeket tartalmazó kivonattáblát ad vissza.
3. példa: Felhasználói felületi kulturális sztringek importálása
Import-LocalizedData -BindingVariable "MsgTbl" -UICulture "ar-SA" -FileName "Simple" -BaseDirectory "C:\Data\Localized"
Ez a parancs szöveges sztringeket importál egy szkript $MsgTbl változójába.
A UICulture paraméter használatával utasítja a parancsmagot, hogy adatokat importáljon a Simple.psd1 fájlból a ar-SAC:\Data\Localized alkönyvtárában.
4. példa: Honosított adatok importálása szkriptbe
Ez a példa bemutatja, hogyan használhat honosított adatokat egy egyszerű szkriptben.
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.
A példa első része a Test.psd1 fájl tartalmát mutatja. Tartalmaz egy ConvertFrom-StringData parancsot, amely elnevezett szöveges karakterláncok sorozatát kivonattáblává alakítja. A Test.psd1 fájl a szkriptet tartalmazó C:\Test könyvtár en-US alkönyvtárában található.
A példa második része a Test.ps1 szkript tartalmát mutatja be. Tartalmaz egy Import-LocalizedData parancsot, amely a megfelelő .psd1 fájlból importálja az adatokat a $Messages változóba, valamint egy Write-Host parancsot, amely a $Messages változó egyik üzenetét írja a gazdagépprogramba.
A példa utolsó része futtatja a szkriptet. A kimenet azt mutatja, hogy a megfelelő felhasználói üzenetet jeleníti meg az operációs rendszer aktuális felhasználójának felhasználói felületén.
5. példa: Alapértelmezett szöveges sztringek cseréje szkriptben
Ez a példa bemutatja, hogyan helyettesítheti a szkript DATA szakaszában definiált alapértelmezett szöveges sztringeket a Import-LocalizedData használatával.
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...
Ebben a példában a TestScript.ps1 szkript DATA szakasza tartalmaz egy ConvertFrom-StringData parancsot, amely kivonattáblává alakítja a DATA szakasz tartalmát, és tárolja a $UserMessages változó értékét.
A szkript tartalmaz egy Import-LocalizedData parancsot is, amely importálja a lefordított szöveges karakterláncok kivonattábláját a TestScript.psd1 fájlból a változó értéke $PsUICulture által megadott alkönyvtárban. Ha a parancs megtalálja a .psd1 fájlt, akkor a lefordított karakterláncokat a fájlból ugyanannak $UserMessages a változónak az értékébe menti, felülírva a DATA szakaszlogika által mentett kivonattáblát.
A harmadik parancs megjeleníti az első üzenetet a $UserMessages változóban.
Ha a Import-LocalizedData parancs talál egy .psd1 fájlt a $PsUICulture nyelvhez, a $UserMessages változó értéke tartalmazza a lefordított szöveges sztringeket. Ha a parancs bármilyen okból meghiúsul, a parancs megjeleníti a szkript DATA szakaszában definiált alapértelmezett szöveges sztringeket.
6. példa: Hibaüzenetek letiltása, ha a felhasználói felületi kultúra nem található
Ez a példa bemutatja, hogyan lehet letiltani azokat a hibaüzeneteket, amelyek akkor jelennek meg, ha Import-LocalizedData nem találja a felhasználó felhasználói felületének kultúrájának megfelelő könyvtárakat, vagy nem talál .psd1 fájlt a szkripthez ezekben a könyvtárakban.
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
A hibaüzenet letiltásához használhatja a ErrorAction gyakori paramétert a SilentlyContinue értékkel. Ez különösen akkor hasznos, ha a felhasználói üzeneteket alapértelmezett vagy tartalék nyelven adta meg, és nincs szükség hibaüzenetre.
Ez a példa két szkriptet hasonlít össze, Day1.ps1 és Day2.ps1, amelyek egy Import-LocalizedData parancsot tartalmaznak. A szkriptek azonosak, kivéve, hogy a Day2 a ErrorAction gyakori paramétert használja SilentlyContinueértékkel.
A mintakimenet mindkét szkript futtatásának eredményeit jeleníti meg, ha a felhasználói felületi kultúra fr-BE van beállítva, és az adott felhasználói felületi kultúrához nincsenek egyező fájlok vagy könyvtárak.
Day1.ps1 hibaüzenetet és angol kimenetet jelenít meg.
Day2.ps1 csak az angol kimenetet jeleníti meg.
Paraméterek
-BaseDirectory
Megadja azt az alapkönyvtárat, amelyben a .psd1 fájlok találhatók. Az alapértelmezett az a könyvtár, amelyben a szkript található.
Import-LocalizedData megkeresi a szkript .psd1 fájlját az alapkönyvtár nyelvspecifikus alkönyvtárában.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-BindingVariable
Azt a változót adja meg, amelybe a szöveges sztringeket importálja. Adjon meg egy változónevet dollárjel nélkül ($).
A Windows PowerShell 2.0-ban ez a paraméter szükséges. A Windows PowerShell 3.0-ban ez a paraméter nem kötelező. Ha kihagyja ezt a paramétert, a Import-LocalizedData szöveges sztringek kivonattábláját adja vissza. A kivonattáblát a rendszer átadja a folyamatnak, vagy megjelenik a parancssorban.
Ha Import-LocalizedData használ egy szkript DATA szakaszában megadott alapértelmezett szöveges sztringek helyére, rendelje hozzá a DATA szakaszt egy változóhoz, és adja meg a DATA szakasz változójának nevét a BindingVariable paraméter értékében. Ezután, amikor Import-LocalizedData menti az importált tartalmat a BindingVariable, az importált adatok felülírják az alapértelmezett szöveges sztringeket. Ha nem alapértelmezett szöveges sztringeket ad meg, tetszőleges változónevet választhat.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Változó |
Paraméterkészletek
(All)
| Position: | 0 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-FileName
Megadja az importálandó adatfájl nevét (.psd1). Adjon meg egy fájlnevet. Megadhat olyan fájlnevet, amely nem tartalmazza a .psd1 fájlnévkiterjesztést, vagy megadhatja a fájlnevet a .psd1 fájlnévkiterjesztéssel együtt. Az adatfájlokat Unicode vagy UTF-8 formátumban kell menteni.
A Fájlnév paraméterre akkor van szükség, ha Import-LocalizedData nem használják a parancsfájlban.
Ellenkező esetben a paraméter nem kötelező, az alapértelmezett érték pedig a szkript alapneve. Ezzel a paraméterrel utasíthatja a Import-LocalizedData egy másik .psd1 fájl keresésére.
Ha például a Fájlnév nincs megadva, és a parancsfájl neve FindFiles.ps1, a Import-LocalizedData FindFiles.psd1 adatfájlra keres.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-SupportedCommand
Olyan parancsmagokat és függvényeket határoz meg, amelyek csak adatokat hoznak létre.
Ez a paraméter olyan parancsmagokat és függvényeket tartalmaz, amelyeket ön írt vagy tesztelt. További információ: about_Script_Internationalization.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-UICulture
Alternatív felhasználói felületi kultúrát ad meg.
Az alapértelmezett érték az $PsUICulture automatikus változó értéke.
Adjon meg egy felhasználói felületi kultúrát <language>-<region> formátumban, például en-US, de-DEvagy ar-SA.
A UICulture paraméter értéke határozza meg azt a nyelvspecifikus alkönyvtárat (az alapkönyvtáron belül), amelyből Import-LocalizedData lekéri a szkript .psd1 fájlját.
A parancsmag olyan alkönyvtárat keres, amelynek neve megegyezik a UICulture paraméter vagy az $PsUICulture automatikus változó értékével, például de-DE vagy ar-SA. Ha nem találja a könyvtárat, vagy a könyvtár nem tartalmaz .psd1 fájlt a parancsfájlhoz, akkor a nyelvi kód nevével rendelkező alkönyvtárat keres, például de vagy ar. Ha nem találja az alkönyvtárat vagy .psd1 a fájlt, a parancs meghiúsul, és az adatok a szkriptben megadott alapértelmezett nyelven jelennek meg.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 1 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
None
Ehhez a parancsmaghoz nem csövezhet be bemenetet.
Kimenetek
Hashtable
Import-LocalizedData menti a kivonattáblát a paraméter értéke által megadott változóba.
Jegyzetek
A
Import-LocalizedDatahasználata előtt honosítsa a felhasználói üzeneteket. Formázza az egyes területi beállítások (felhasználói felületi kultúra) üzeneteit kulcs-érték párok kivonattáblájában, és mentse a kivonattáblát egy fájlba, amelynek neve megegyezik a szkripttel és a.psd1fájlnévkiterjesztéssel. Hozzon létre egy könyvtárat a szkriptkönyvtár alatt minden támogatott felhasználói felületi kultúrához, majd mentse a.psd1fájlt a könyvtár minden felhasználói felületi kultúrájához a felhasználói felületi kultúra nevével.Honosítsa például a felhasználói üzeneteket a de-DE területi beállításához, és formázza őket kivonattáblában. Mentse a kivonattáblát egy
<ScriptName>.psd1fájlba. Ezután hozzon létre egyde-DEalkönyvtárat a szkriptkönyvtár alatt, és mentse a német<ScriptName\>.psd1fájlt ade-DEalkönyvtárba. Ismételje meg ezt a módszert minden támogatott területi beállításnál.Import-LocalizedDataegy szkript honosított felhasználói üzeneteinek strukturált keresését hajtja végre.Import-LocalizedDataabban a könyvtárban kezdi a keresést, amelyben a szkriptfájl található (vagy a BaseDirectory paraméter értéke). Ezután az alapkönyvtárban keres egy alkönyvtárat, amelynek neve megegyezik a$PsUICultureváltozó értékével (vagy a UICulture paraméter értékével), példáulde-DEvagyar-SA. Ezután az alkönyvtárban keres egy olyan.psd1fájlt, amelynek a neve megegyezik a szkript nevével (vagy a FileName paraméter értékével).Ha
Import-LocalizedDatanem talál a felhasználói felület kulturális környezetének nevét tartalmazó alkönyvtárat, vagy az alkönyvtár nem tartalmaz.psd1fájlt a szkripthez, akkor a parancsfájl fájlját a nyelvi kód nevével (például de vagy ar) tartalmazó alkönyvtárban keresi.psd1. Ha nem találja az alkönyvtárat vagy.psd1a fájlt, a parancs sikertelen lesz, az adatok a szkript alapértelmezett nyelvén jelennek meg, és hibaüzenet jelenik meg, amely elmagyarázza, hogy az adatokat nem lehetett importálni. Ha el szeretné tiltani az üzenetet, és zökkenőmentesen hiúsulni szeretne, használja az ErrorAction gyakori paramétert a SilentlyContinue értékkel.Ha
Import-LocalizedDatamegtalálja az alkönyvtárat és a fájlt.psd1, importálja a felhasználói üzenetek kivonattábláját a parancs BindingVariable paraméterének értékébe. Ezután, amikor egy üzenetet jelenít meg a változó kivonattáblájából, a honosított üzenet jelenik meg.További információ: about_Script_Internationalization.