Megosztás a következőn keresztül:


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 .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 .psd1 fá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>.psd1 fájlba. Ezután hozzon létre egy de-DE alkönyvtárat a szkriptkönyvtár alatt, és mentse a német <ScriptName>.psd1 fájlt a de-DE alkönyvtárba. Ismételje meg ezt a módszert minden támogatott területi beállításnál.

  • Import-LocalizedData egy szkript honosított felhasználói üzeneteinek strukturált keresését hajtja végre.

    Import-LocalizedData abban 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 $PSUICulture változó értékével (vagy a UICulture paraméter értékével), például de-DE vagy ar-SA. Ezután az alkönyvtárban keres egy olyan .psd1 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 fájlt a szkripthez, a szkriptet egy .psd1 olyan 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 .psd1 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 zökkenőmentesen hiúsulni szeretne, használja az ErrorAction gyakori 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.