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

Az Import-LocalizedData parancsmag dinamikusan kéri le 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 .psd1 fájlokból a szkriptkönyvtár nyelvspecifikus alkönyvtáraiban, és a parancsban megadott helyi változóba menti őket. A parancsmag kiválasztja az alkönyvtárat és a fájlt az $PSUICulture automatikus változó értéke alapján. 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 másik 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.

Az 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_Internationalization talál.

Példák

1. példa: Szövegsztringek importálása

PS C:\> Import-LocalizedData -BindingVariable "Messages"

Ez a parancs szöveges sztringeket importál a $Messages változóba. Az összes többi parancsmagparaméter alapértelmezett értékeit használja.

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 C:\test\zh-CN könyvtárban lévő Archives.psd1 fájlt a $Messages változóba.

2. példa: Honosított adatsztringek importálása

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."

Ez a parancs a parancssorban fut; nem szkriptben. 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 a honosított adatsztringeket tartalmazó kivonattáblát ad vissza.

3. példa: Felhasználói felületi kulturális sztringek importálása

PS C:\> 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 C:\Data\Localized ar-SA alkönyvtárában.

4. példa: Honosított adatok importálása szkriptbe

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.

Ez a példa bemutatja, hogyan használhat honosított adatokat egy egyszerű szkriptben.

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 kivonattáblá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

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...

Ez a példa bemutatja, hogyan használható Import-LocalizedData a szkript DATA szakaszában definiált alapértelmezett szöveges sztringek helyére.

Ebben a példában a TestScript.ps1 szkript DATA szakasza egy ConvertFrom-StringData parancsot tartalmaz, amely a DATA szakasz tartalmát kivonattáblává alakítja, és a $UserMessages változó értékében tárolja.

A szkript tartalmaz egy Import-LocalizedData parancsot is, amely a testScript.psd1 fájlból származó lefordított szöveges sztringek kivonattábláját importálja a $PsUICulture változó értéke által megadott alkönyvtárba. Ha a parancs megkeresi a .psd1 fájlt, a lefordított sztringeket ugyanazon $UserMessages változó értékére menti a fájlból, felülírva a DATA szakasz logikája által mentett kivonattáblát.

A harmadik parancs megjeleníti az első üzenetet a $UserMessages változóban.

Ha az 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ó

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

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álja a szkripthez tartozó .psd1 fájlt ezekben a könyvtárakban.

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 közös paramétert használja a 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 a 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álatával lecseréli a szkript DATA szakaszában megadott alapértelmezett szöveges sztringeket, 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 átirányíthatja Import-LocalizedData egy másik .psd1 fájl megkereséséhez.

Ha például a FileName nincs megadva, és a szkript neve FindFiles.ps1, Import-LocalizedData a FindFiles.psd1 adatfájlt keresi.

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 <nyelvi>–<régió> 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 a .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 csövezhet be bemenetet.

Kimenetek

Hashtable

Import-LocalizedData menti a kivonattáblát abban a változóban, amelyet a BindingVariable paraméter értéke határoz meg.

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 egy kulcs-érték párok kivonattáblázatában, és mentse a kivonattáblát egy olyan fájlba, amelynek a neve megegyezik a szkripttel és a .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árban 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 kivonattáblában. Mentse a kivonattáblá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 de-DE <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 strukturált keresést végez egy szkript honosított felhasználói üzenetei között.

    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 .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, egy .psd1 fájlt keres a szkripthez egy olyan alkönyvtárban, amelynek a neve a nyelvi kód, például de vagy ar. Ha nem találja az alkönyvtárat vagy a .psd1 fájlt, a parancs meghiúsul, az adatok az alapértelmezett nyelven jelennek meg a szkriptben, é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 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 (https://go.microsoft.com/fwlink/?LinkID=113262).