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
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 a szkriptkönyvtár nyelvspecifikus alkönyvtáraiban lévő fájlokból .psd1
, és a parancsban megadott helyi változóba menti őket. A parancsmag az automatikus változó értéke alapján választja ki az alkönyvtárat és a $PSUICulture
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 .psd1
fájlok nem található hibaüzenetét.
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 fájlok formátumáról további információt a .psd1
about_Script_Internationalization 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 könyvtárBan az Archives.ps1 szkriptben C:\Test
, és az $PsUICulture
automatikus változó értéke zh-CN, Import-LocalizedData
importálja a Archives.psd1
C:\test\zh-CN
könyvtárban lévő 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 az UICulture paramétert használja az 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 $MsgTbl
szkript változójába.
Az UICulture paraméter használatával utasítja a parancsmagot, hogy adatokat importáljon a Simple.psd1
fájlból a ar-SA
következő alkönyvtárábanC:\Data\Localized
: .
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 fájl tartalmát Test.psd1
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ó könyvtár en-US alkönyvtárában C:\Test
található.
A példa második része a szkript tartalmát Test.ps1
mutatja. Tartalmaz egy Import-LocalizedData
parancsot, amely importálja az adatokat a megfelelő .psd1
fájlból a $Messages
változóba, és egy Write-Host
parancsot, amely a változó egyik $Messages
üzenetét írja a gazdaprogramba.
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 Import-LocalizedData
a szkript DATA szakaszában definiált alapértelmezett szöveges sztringeket.
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 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 változó értéke $PsUICulture
által megadott alkönyvtárban. Ha a parancs megkeresi a .psd1
fájlt, a lefordított sztringeket ugyanabban $UserMessages
a 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 megkeres 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, ha Import-LocalizedData
nem találják a felhasználó felhasználói felületi kultúrájának megfelelő könyvtárakat, vagy nem találnak .psd1
fájlokat 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 az ErrorAction common 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 parancsot tartalmazó szkriptet Day1.ps1
és Day2.ps1-et Import-LocalizedData
hasonlít össze. A szkriptek azonosak, azzal a kivétellel, hogy a 2. nap az ErrorAction common paramétert használja a következő 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 be van állítva fr-BE
, és nincsenek egyező fájlok vagy könyvtárak az adott felhasználói felületi kultúrához. 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, ahol a .psd1
fájlok találhatók. Az alapértelmezett az a könyvtár, amelyben a szkript található. Import-LocalizedData
Megkeresi a .psd1
szkript fájlját az alapkönyvtár nyelvspecifikus alkönyvtárában.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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
a szöveges sztringek kivonatát adja vissza. A kivonatoló átadva lesz a folyamatnak, vagy megjelenik a parancssorban.
Ha a szkript DATA szakaszában megadott alapértelmezett szöveges sztringeket szeretné Import-LocalizedData
lecserélni, 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 fájlba, 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.
Típus: | String |
Aliasok: | Variable |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-FileName
Megadja az importálandó adatfájl.psd1)
nevét. Adjon meg egy fájlnevet. Megadhat olyan fájlnevet, amely nem tartalmazza annak fájlnévkiterjesztését .psd1
, vagy megadhatja a fájlnevet a fájlnévkiterjesztést is beleértve .psd1
. Az adatfájlokat Unicode vagy UTF-8 formátumban kell menteni.
A FileName paraméterre akkor van szükség, ha Import-LocalizedData
nincs szkriptben használva.
Ellenkező esetben a paraméter nem kötelező, az alapértelmezett érték pedig a szkript alapneve. Ezzel a paraméterrel közvetlenül Import-LocalizedData
kereshet másik .psd1
fájlt.
Ha például a Fájlnév nincs megadva, és a szkript neve az FindFiles.ps1
, Import-LocalizedData
megkeresi az adatfájlt FindFiles.psd1
.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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 formátumként <language>-<region>
, például en-US
: , de-DE
vagy ar-SA
.
Az 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 .psd1
szkript 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
egy 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
a fájlt, a parancs meghiúsul, és az adatok a szkriptben megadott alapértelmezett nyelven jelennek meg.
Típus: | String |
Position: | 1 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
None
Ehhez a parancsmaghoz nem lehet objektumokat csövezni.
Kimenetek
Ez a parancsmag menti a kivonatolót a BindingVariable paraméter értéke által megadott változóban.
Jegyzetek
Használat
Import-LocalizedData
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 a neve megegyezik a szkripttel és egy.psd1
fá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 fájlt a.psd1
könyvtárban lévő minden egyes felhasználói felületi kultúrá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>.psd1
fájlba. Ezután hozzon létre egyde-DE
alkönyvtárat a szkriptkönyvtár alatt, és mentse a német<ScriptName>.psd1
fájlt azde-DE
alkönyvtárba. Ismételje meg ezt a módszert minden támogatott területi beállításnál.Import-LocalizedData
Strukturált keresést végez egy szkript honosított felhasználói üzenetei között.Import-LocalizedData
elindítja a keresést abban a könyvtárban, ahol 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$PsUICulture
változó értékével (vagy a UICulture paraméter értékével), példáulde-DE
vagyar-SA
. Ezután az alkönyvtárban keres egy.psd1
olyan fájlt, amelynek a neve megegyezik a szkript nevével (vagy a FileName paraméter értékével).Ha
Import-LocalizedData
nem talál a felhasználói felületi kultúra nevével rendelkező alkönyvtárat, vagy az alkönyvtár nem tartalmaz.psd1
egy fájlt a szkripthez, a nyelvkód (például de vagy ar) nevével rendelkező alkönyvtárban keres egy.psd1
fájlt a szkripthez. Ha nem találja az alkönyvtárat vagy.psd1
a fá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 nem sikerül megfelelően, használja az ErrorAction common paramétert a SilentlyContinue értékkel.Ha
Import-LocalizedData
megkeresi az alkönyvtárat és a.psd1
fá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.