Sdílet prostřednictvím


Import-LocalizedData

Importuje data specifická pro jazyk do skriptů a funkcí na základě jazykové verze uživatelského rozhraní vybrané pro operační systém.

Syntax

Default (Výchozí)

Import-LocalizedData
    [[-BindingVariable] <String>]
    [[-UICulture] <String>]
    [-BaseDirectory <String>]
    [-FileName <String>]
    [-SupportedCommand <String[]>]
    [<CommonParameters>]

Description

Rutina Import-LocalizedData dynamicky načítá řetězce z podadresáře, jehož název odpovídá sadě jazyka uživatelského rozhraní pro aktuálního uživatele operačního systému. Je navržený tak, aby skripty umožňovaly zobrazovat uživatelské zprávy v jazyce uživatelského rozhraní vybraném aktuálním uživatelem.

Import-LocalizedData importuje data ze .psd1 souborů v podadresářích adresáře skriptu specifických pro daný jazyk a uloží je do lokální proměnné, která je určena v příkazu. Rutina vybere podadresář a soubor na základě hodnoty $PSUICulture automatické proměnné. Když ve skriptu použijete místní proměnnou k zobrazení zprávy uživatele, zobrazí se zpráva v jazyce uživatelského rozhraní uživatele.

Parametry Import-LocalizedData můžete použít k určení alternativní jazykové verze uživatelského rozhraní, cesty a názvu souboru, k přidání podporovaných příkazů a k potlačení chybové zprávy, která se zobrazí, pokud nejsou soubory nalezeny .psd1 .

Rutina Import-LocalizedData podporuje iniciativu pro internacionalizaci skriptů, která byla zavedena v prostředí Windows PowerShell 2.0. Cílem této iniciativy je lépe sloužit uživatelům po celém světě, protože skripty usnadňují zobrazování zpráv uživatelů v jazyce uživatelského rozhraní aktuálního uživatele. Další informace o tomto a formátu souborů .psd1 naleznete v tématu about_Script_Internationalization.

Příklady

Příklad 1: Import textových řetězců

Tento příklad importuje textové řetězce do proměnné $Messages. Používá výchozí hodnoty všech ostatních parametrů rutiny.

Import-LocalizedData -BindingVariable "Messages"

Pokud je příkaz součástí skriptu Archives.ps1 v adresáři C:\Test a hodnota $PsUICulture automatické proměnné je zh-CN, Import-LocalizedData importuje soubor Archives.psd1 v adresáři C:\test\zh-CN do proměnné $Messages.

Příklad 2: Import lokalizovaných datových řetězců

Tento příklad se spustí na příkazovém řádku, který není ve skriptu. Získá lokalizované datové řetězce ze souboru Test.psd1 a zobrazí je na příkazovém řádku. Vzhledem k tomu, že příkaz není použit ve skriptu, je vyžadován parametr FileName. Příkaz používá parametr UICulture k určení jazykové verze en-US.

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

Import-LocalizedData Vrátí zatřiďovací tabulku, která obsahuje lokalizované datové řetězce.

Příklad 3: Import řetězců jazykové verze uživatelského rozhraní

Import-LocalizedData -BindingVariable "MsgTbl" -UICulture "ar-SA" -FileName "Simple" -BaseDirectory "C:\Data\Localized"

Tento příkaz naimportuje textové řetězce do $MsgTbl proměnné skriptu.

Pomocí parametru UICulture nasměruje rutinu na import dat ze souboru Simple.psd1 v podadresáři ar-SAC:\Data\Localized.

Příklad 4: Import lokalizovaných dat do skriptu

Tento příklad ukazuje, jak používat lokalizovaná data v jednoduchém skriptu.

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.

První část příkladu ukazuje obsah souboru Test.psd1. Obsahuje ConvertFrom-StringData příkaz, který převádí řadu pojmenovaných textových řetězců na zatřiďovací tabulku. Soubor Test.psd1 se nachází v podadresáři en-US adresáře C:\Test, který obsahuje skript.

Druhá část příkladu ukazuje obsah skriptu Test.ps1. Obsahuje příkaz Import-LocalizedData, který importuje data z odpovídajícího souboru .psd1 do proměnné $Messages a Write-Host příkaz, který zapíše jednu ze zpráv do hostitelského programu $Messages proměnné.

Poslední část příkladu spustí skript. Výstup ukazuje, že zobrazuje správnou zprávu uživatele v sadě jazyka uživatelského rozhraní pro aktuálního uživatele operačního systému.

Příklad 5: Nahrazení výchozích textových řetězců ve skriptu

Tento příklad ukazuje, jak pomocí Import-LocalizedData nahradit výchozí textové řetězce definované v části DATA skriptu.

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

V tomto příkladu obsahuje ConvertFrom-StringData část DATA skriptu TestScript.ps1 příkaz, který převádí obsah části DATA na zatřiďovací tabulku a ukládá hodnotu proměnné $UserMessages .

Skript také obsahuje Import-LocalizedData příkaz, který importuje zatřiďovací tabulku přeložených textových řetězců ze souboru TestScript.psd1 v podadresáři určeném hodnotou proměnné $PsUICulture . Pokud příkaz soubor najde .psd1 , uloží přeložené řetězce ze souboru do hodnoty stejné $UserMessages proměnné a přepíše zatřiďovací tabulku uloženou logikou sekce DATA.

Třetí příkaz zobrazí první zprávu v proměnné $UserMessages.

Pokud příkaz Import-LocalizedData najde soubor .psd1 pro jazyk $PsUICulture, bude hodnota proměnné $UserMessages obsahovat přeložené textové řetězce. Pokud příkaz z nějakého důvodu selže, zobrazí příkaz výchozí textové řetězce definované v části DATA skriptu.

Příklad 6: Potlačení chybových zpráv, pokud se nenašel jazyková verze uživatelského rozhraní

Tento příklad ukazuje, jak potlačit chybové zprávy, které se zobrazí, když Import-LocalizedData nelze najít adresáře, které odpovídají jazykové verzi uživatelského rozhraní uživatele, nebo nelze najít .psd1 soubor pro skript v těchto adresářích.

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

K potlačení chybové zprávy můžete použít ErrorAction společný parametr s hodnotou SilentlyContinue. To je užitečné zejména v případě, že jste zadali uživatelské zprávy ve výchozím nebo záložním jazyce a nepotřebujete žádnou chybovou zprávu.

Tento příklad porovnává dva skripty, Day1.ps1 a Day2.ps1, které obsahují příkaz Import-LocalizedData. Skripty jsou stejné, s tím rozdílem, že Day2 používá ErrorAction společný parametr s hodnotou SilentlyContinue.

Ukázkový výstup ukazuje výsledky spuštění obou skriptů, když je jazyková verze uživatelského rozhraní nastavená na fr-BE a pro tuto jazykovou verzi uživatelského rozhraní nejsou žádné odpovídající soubory ani adresáře. Day1.ps1 zobrazí chybovou zprávu a anglický výstup. Day2.ps1 jenom zobrazí výstup v angličtině.

Parametry

-BaseDirectory

Určuje základní adresář, ve kterém jsou umístěné soubory .psd1. Výchozí hodnota je adresář, ve kterém se nachází skript. Import-LocalizedData hledá soubor .psd1 skriptu v podadresáři základního adresáře specifického pro jazyk.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-BindingVariable

Určuje proměnnou, do které se importují textové řetězce. Zadejte název proměnné bez znaku dolaru ($).

Ve Windows PowerShellu 2.0 je tento parametr povinný. V prostředí Windows PowerShell 3.0 je tento parametr volitelný. Pokud tento parametr vynecháte, Import-LocalizedData vrátí zatřiďovací tabulku textových řetězců. Tabulka hash se předá kanálu nebo se zobrazí na příkazovém řádku.

Pokud používáte Import-LocalizedData k nahrazení výchozích textových řetězců zadaných v části DATA skriptu, přiřaďte oddíl DATA proměnné a do hodnoty parametru BindingVariable zadejte název proměnné oddílu DATA. Když pak Import-LocalizedData uloží importovaný obsah do BindingVariable, importovaná data nahradí výchozí textové řetězce. Pokud nezadáváte výchozí textové řetězce, můžete vybrat libovolný název proměnné.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:Proměnná

Sady parametrů

(All)
Position:0
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-FileName

Určuje název datového souboru (.psd1), který se má importovat. Zadejte název souboru. Můžete zadat název souboru, který neobsahuje příponu názvu .psd1 souboru, nebo můžete zadat název souboru včetně přípony .psd1 názvu souboru. Datové soubory by měly být uloženy jako Unicode nebo UTF-8.

Parametr FileName je vyžadován, pokud Import-LocalizedData není použit ve skriptu. V opačném případě je parametr volitelný a výchozí hodnota je základní název skriptu. Tento parametr můžete použít k nasměrování Import-LocalizedData k vyhledání jiného souboru .psd1.

Pokud je například název souboru vynechán a název skriptu je FindFiles.ps1, Import-LocalizedData vyhledá datový soubor FindFiles.psd1.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SupportedCommand

Určuje rutiny a funkce, které generují pouze data.

Tento parametr použijte k zahrnutí rutin a funkcí, které jste napsali nebo otestovali. Další informace naleznete v tématu about_Script_Internationalization.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-UICulture

Určuje alternativní jazykovou verzi uživatelského rozhraní. Výchozí hodnota je hodnota $PsUICulture automatické proměnné. Zadejte jazykovou verzi uživatelského rozhraní ve formátu <language>-<region>, například en-US, de-DEnebo ar-SA.

Hodnota parametru UICulture určuje podadresář specifický pro jazyk (v rámci základního adresáře), ze kterého Import-LocalizedData získá soubor .psd1 skriptu.

Rutina vyhledá podadresář se stejným názvem jako hodnota parametru UICulture nebo $PsUICulture automatické proměnné, například de-DE nebo ar-SA. Pokud adresář nemůže najít nebo adresář neobsahuje .psd1 soubor pro skript, vyhledá podadresář s názvem kódu jazyka, například de nebo ar. Pokud podadresář nebo .psd1 soubor nemůže najít, příkaz se nezdaří a data se zobrazí ve výchozím jazyce určeném ve skriptu.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

None

Vstup do této rutiny nelze převést.

Výstupy

Hashtable

Import-LocalizedData uloží zatřiďovací tabulku do proměnné, která je určena hodnotou parametru BindingVariable .

Poznámky

  • Před použitím Import-LocalizedDatalokalizovat uživatelské zprávy. Naformátujte zprávy pro každé národní prostředí (jazykovou verzi uživatelského rozhraní) do zatřiďovací tabulky párů klíč-hodnota a uložte zatřiďovací tabulku do souboru se stejným názvem jako skript a příponou .psd1 názvu souboru. Vytvořte adresář pod adresářem skriptu pro každou podporovanou jazykovou verzi uživatelského rozhraní a uložte soubor .psd1 pro každou jazykovou verzi uživatelského rozhraní v adresáři s názvem jazykové verze uživatelského rozhraní.

    Například lokalizovat uživatelské zprávy pro de-DE národní prostředí a naformátovat je v tabulce hash. Uložte zatřiďovací tabulku do <ScriptName>.psd1 souboru. Potom v adresáři skriptu vytvořte podadresář de-DE a uložte soubor německého <ScriptName\>.psd1 do podadresáře de-DE. Tuto metodu opakujte pro každé národní prostředí, které podporujete.

  • Import-LocalizedData provádí strukturované vyhledávání lokalizovaných uživatelských zpráv pro skript.

    Import-LocalizedData zahájí hledání v adresáři, ve kterém je umístěn soubor skriptu (nebo hodnota parametru BaseDirectory). Potom v základním adresáři vyhledá podadresář se stejným názvem jako hodnota proměnné $PsUICulture (nebo hodnotu parametru UICulture), například de-DE nebo ar-SA. Potom v podadresáři vyhledá soubor .psd1 se stejným názvem jako skript (nebo hodnota parametru FileName).

    Pokud nelze najít podadresář s názvem jazykové verze uživatelského rozhraní nebo podadresář Import-LocalizedData neobsahuje .psd1 soubor pro skript, vyhledá .psd1 soubor pro skript v podadresáři s názvem kódu jazyka, například de nebo ar. Pokud podadresář nebo .psd1 soubor nemůže najít, příkaz se nezdaří, data se ve skriptu zobrazí ve výchozím jazyce a zobrazí se chybová zpráva s vysvětlením, že data nelze importovat. Chcete-li potlačit zprávu a neúspěšně, použijte ErrorAction společný parametr s hodnotou SilentlyContinue.

    Pokud Import-LocalizedData najde podadresář a .psd1 soubor, importuje zatřiďovací tabulku uživatelských zpráv do hodnoty parametru BindingVariable v příkazu. Když pak v proměnné zobrazíte zprávu z tabulky hash, zobrazí se lokalizovaná zpráva.

    Další informace naleznete v tématu about_Script_Internationalization.