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 adatokat importál .psd1 fájlokból a szkriptkönyvtár nyelvspecifikus alkönyvtáraiban, é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 Import-LocalizedData paramétereivel 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 .psd1 fájlok esetén megjelenő hibaüzenetet.
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. Lekéri a honosított adatsztringeket a Test.psd1 fájlból, és megjeleníti őket a parancssorban. Mivel a parancs nem használatos szkriptekben, 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'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 a honosított adatsztringeket tartalmazó kivonatoló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'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.
A példa első része a Test.psd1 fájl tartalmát mutatja. Tartalmaz egy ConvertFrom-StringData parancsot, amely elnevezett szöveges sztringek sorozatát konvertálja kivonatolóvá. 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 egy ConvertFrom-StringData parancsot tartalmaz, amely a DATA szakasz tartalmát kivonatolóvá alakítja, és a $UserMessages változó értékében tárolja.
A szkript tartalmaz egy Import-LocalizedData parancsot is, amely a lefordított szöveges sztringek kivonatát importálja a TestScript.psd1 fájlból a $PSUICulture változó értéke által megadott alkönyvtárban. Ha a parancs megkeresi a .psd1 fájlt, a lefordított sztringeket ugyanabban a $UserMessages változóban menti a fájlból, felülírva a DATA szakasz logikája által mentett kivonatoló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 tilthatja le azokat a hibaüzeneteket, amelyek akkor jelennek meg, amikor Import-LocalizedData nem találja a felhasználó felhasználói felületi 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 : 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
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, Import-LocalizedData visszaadja a szöveges sztringek kivonatát. A kivonatoló átadva lesz 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 (.psd1) nevét. Adjon meg egy fájlnevet. Megadhat olyan fájlnevet, amely nem tartalmazza annak .psd1 fájlnévkiterjesztését, vagy megadhatja a fájlnevet, beleértve a .psd1 fájlnévkiterjesztést is. Az adatfájlokat Unicode vagy UTF-8 formátumban kell menteni.
A FileName paraméterre akkor van szükség, ha Import-LocalizedData nem használ szkriptekben.
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 FileName nincs megadva, és a szkript neve FindFiles.ps1, Import-LocalizedData megkeresi a FindFiles.psd1 adatfájlt.
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 szkripthez, megkeres egy alkönyvtárat a nyelvi kód nevével, például de vagy ar. Ha nem találja az alkönyvtárat vagy .psd1 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 lehet objektumokat csövezni.
Kimenetek
Hashtable
Ez a parancsmag menti a kivonatolót a BindingVariable paraméter értéke által megadott változóban.
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 kivonatolójában, és mentse a kivonatolót egy olyan fájlba, amelynek neve megegyezik a szkript nevével és egy.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áshoz, és formázza őket egy kivonatolóban. Mentse a kivonatoló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ületi kultúra nevével rendelkező alkönyvtárat, vagy az alkönyvtár nem tartalmaz.psd1fájlt a szkripthez, a szkriptet egy.psd1olyan alkönyvtárban keresi meg, amely tartalmazza a nyelvi kód (például de vagy ar) nevét. Ha nem találja az alkönyvtárat vagy.psd1fájlt, a parancs meghiúsul, az adatok a szkript alapértelmezett nyelvén jelennek meg, és megjelenik egy hibaüzenet, amely azt jelzi, hogy az adatok nem importálhatók. 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-LocalizedDatamegkeresi az alkönyvtárat és a.psd1fájlt, importálja a felhasználói üzenetek kivonatolóját a parancs BindingVariable paraméterének értékébe. Ezután, amikor a változóban megjelenik egy kivonatolóból származó üzenet, megjelenik a honosított üzenet.További információ: about_Script_Internationalization.