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.psd1C:\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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Aliases:Variable
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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-DEvagy 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.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

  • Használat Import-LocalizedDataelő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 egy de-DE alkönyvtárat a szkriptkönyvtár alatt, és mentse a német <ScriptName>.psd1 fájlt az 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 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ául de-DE vagy ar-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.