Aracılığıyla paylaş


Import-LocalizedData

Dile özgü verileri işletim sistemi için seçilen kullanıcı arabirimi kültürüne göre betiklere ve işlevlere aktarır.

Syntax

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

Description

cmdlet, Import-LocalizedData adı işletim sisteminin geçerli kullanıcısı için kullanıcı arabirimi dil kümesiyle eşleşen bir alt dizinden dizeleri dinamik olarak alır. Betiklerin kullanıcı iletilerini geçerli kullanıcı tarafından seçilen kullanıcı arabirimi dilinde görüntülemesini sağlamak için tasarlanmıştır.

Import-LocalizedData betik dizininin dile özgü alt dizinlerindeki dosyalardan .psd1 verileri içeri aktarır ve komutta belirtilen yerel bir değişkene kaydeder. cmdlet'i, otomatik değişkenin değerine $PSUICulture göre alt dizini ve dosyayı seçer. Betikteki yerel değişkeni kullanarak bir kullanıcı iletisi görüntülendiğinde, ileti kullanıcının kullanıcı arabirimi dilinde görüntülenir.

Alternatif bir UI kültürü, yolu ve dosya adı belirtmek, desteklenen komutlar Import-LocalizedData eklemek ve dosyalar bulunamazsa görüntülenen hata iletisini engellemek için parametresini .psd1 kullanabilirsiniz.

Cmdlet, Import-LocalizedData Windows PowerShell 2.0'da tanıtılan betik uluslararasılaştırma girişimini destekler. Bu girişim, betiklerin kullanıcı iletilerini geçerli kullanıcının kullanıcı arabirimi dilinde görüntülemesini kolaylaştırarak dünya çapında kullanıcılara daha iyi hizmet vermeyi amaçlar. Bu ve dosyaların biçimi .psd1 hakkında daha fazla bilgi için bkz. about_Script_Internationalization.

Örnekler

Örnek 1: Metin dizelerini içeri aktarma

Bu örnek, metin dizelerini değişkenine $Messages aktarır. Diğer tüm cmdlet parametrelerinin varsayılan değerlerini kullanır.

Import-LocalizedData -BindingVariable "Messages"

Komut dizinindeki Archives.ps1 betiğine C:\Test dahil edilirse ve otomatik değişkenin $PsUICulture değeri zh-CN ise, Import-LocalizedData dizindeki C:\test\zh-CN dosyayı değişkenine $Messages aktarırArchives.psd1.

Örnek 2: Yerelleştirilmiş veri dizelerini içeri aktarma

Bu örnek, betikte değil komut satırında çalıştırılır. Test.psd1 dosyasından yerelleştirilmiş veri dizelerini alır ve bunları komut satırında görüntüler. Komut bir betikte kullanılmadığından FileName parametresi gereklidir. komutu, en-US kültürünü belirtmek için UICulture parametresini kullanır.

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 yerelleştirilmiş veri dizelerini içeren bir karma tablo döndürür.

Örnek 3: Ui kültür dizelerini içeri aktarma

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

Bu komut, metin dizelerini bir betiğin $MsgTbl değişkenine aktarır.

cmdlet'ini alt dizinindeki ar-SA dosyasından Simple.psd1 verileri içeri aktarmaya yönlendirmek için UICulture parametresini C:\Data\Localizedkullanır.

Örnek 4: Yerelleştirilmiş verileri betik içine aktarma

Bu örnekte, basit bir betikte yerelleştirilmiş verilerin nasıl kullanılacağı gösterilmektedir.

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.

Örneğin ilk bölümünde dosyanın içeriği Test.psd1 gösterilir. Bir dizi adlandırılmış metin dizesini karma tabloya dönüştüren bir komut içerir ConvertFrom-StringData . Dosya Test.psd1 , betiği içeren dizinin en-US alt dizininde C:\Test bulunur.

Örneğin ikinci bölümünde betiğin Test.ps1 içeriği gösterilir. Eşleşen .psd1 dosyadaki verileri değişkene $Messages aktaran bir Import-LocalizedData komut ve değişkendeki $Messages iletilerden birini konak programına yazan bir Write-Host komut içerir.

Örneğin son bölümü betiği çalıştırır. Çıktı, işletim sisteminin geçerli kullanıcısı için ayarlanan kullanıcı arabirimi dilinde doğru kullanıcı iletisini görüntülediğini gösterir.

Örnek 5: Betikteki varsayılan metin dizelerini değiştirme

Bu örnekte, bir betiğin VERİ bölümünde tanımlanan varsayılan metin dizelerini değiştirmek için nasıl kullanılacağı Import-LocalizedData gösterilmektedir.

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

Bu örnekte, TestScript.ps1 betiğinin DATA bölümü, DATA bölümünün içeriğini karma tablosuna dönüştüren ve değişkenin $UserMessages değerinde depolayan bir komut içerirConvertFrom-StringData.

Betik ayrıca, değişkenin değeri $PsUICulture tarafından belirtilen alt dizindeki TestScript.psd1 dosyasından çevrilmiş metin dizelerinin karma tablosunu içeri aktaran bir Import-LocalizedData komut içerir. Komut dosyayı bulursa .psd1 , dosyadan çevrilen dizeleri aynı $UserMessages değişkenin değerine kaydeder ve VERİ bölümü mantığı tarafından kaydedilen karma tablosunun üzerine yazar.

Üçüncü komut, değişkendeki $UserMessages ilk iletiyi görüntüler.

Import-LocalizedData Komut dil için $PsUICulture bir .psd1 dosya bulursa değişkeninin $UserMessages değeri çevrilmiş metin dizelerini içerir. Komut herhangi bir nedenle başarısız olursa komut, betiğin VERİ bölümünde tanımlanan varsayılan metin dizelerini görüntüler.

Örnek 6: Kullanıcı arabirimi kültürü bulunamazsa hata iletilerini gösterme

Bu örnek, kullanıcının kullanıcı arabirimi kültürüyle eşleşen dizinleri bulamadıklarında veya bu dizinlerde betik için bir .psd1 dosya bulamadıklarında Import-LocalizedData görüntülenen hata iletilerinin nasıl gizlendiğini gösterir.

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

ErrorAction ortak parametresini SilentlyContinue değeriyle kullanarak hata iletisini gizleyebilirsiniz. Bu, özellikle kullanıcı iletilerini varsayılan veya geri dönüş dilinde sağladığınızda ve hata iletisi gerekmediğinde kullanışlıdır.

Bu örnek, Day1.ps1 komut Import-LocalizedData içeren iki betik ve Day2.ps1 karşılaştırır. Betikler aynıdır, ancak Day2 değeriyle ErrorAction ortak parametresini SilentlyContinuekullanır.

Örnek çıktı, kullanıcı arabirimi kültürü olarak ayarlandığında fr-BE ve bu kullanıcı arabirimi kültürü için eşleşen dosya veya dizin olmadığında her iki betiği çalıştırmanın sonuçlarını gösterir. Day1.ps1 bir hata iletisi ve İngilizce çıkış görüntüler. Day2.ps1 yalnızca İngilizce çıkışı görüntüler.

Parametreler

-BaseDirectory

Dosyaların bulunduğu .psd1 temel dizini belirtir. Varsayılan, betiğin bulunduğu dizindir. Import-LocalizedData.psd1, temel dizinin dile özgü bir alt dizininde betik için dosyayı arar.

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

-BindingVariable

Metin dizelerinin içeri aktarıldığı değişkeni belirtir. Dolar işareti ($ olmadan bir değişken adı girin.

Windows PowerShell 2.0'da bu parametre gereklidir. Windows PowerShell 3.0'da bu parametre isteğe bağlıdır. Bu parametreyi atlarsanız, Import-LocalizedData metin dizelerinin karma tablosunu döndürür. Karma tablosu işlem hattına geçirilir veya komut satırında görüntülenir.

bir betiğin VERİ bölümünde belirtilen varsayılan metin dizelerini değiştirmek için kullanırken Import-LocalizedData , DATA bölümünü bir değişkene atayın ve BindingVariable parametresinin değerine VERİ bölümü değişkeninin adını girin. Ardından, Import-LocalizedData içeri aktarılan içeriği BindingVariable'a kaydettiğinde, içeri aktarılan veriler varsayılan metin dizelerinin yerini alır. Varsayılan metin dizelerini belirtmiyorsanız, herhangi bir değişken adı seçebilirsiniz.

Type:String
Aliases:Variable
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileName

İçeri aktarılacak veri dosyasının (.psd1) adını belirtir. Bir dosya adı girin. Dosya adı uzantısını .psd1 içermeyen bir dosya adı belirtebilir veya dosya adı uzantısını .psd1 içeren dosya adını belirtebilirsiniz. Veri dosyaları Unicode veya UTF-8 olarak kaydedilmelidir.

Bir betikte kullanılmadığında Import-LocalizedDataFileName parametresi gereklidir. Aksi takdirde parametresi isteğe bağlıdır ve varsayılan değer betiğin temel adıdır. Farklı bir .psd1 dosyayı aramaya yönlendirmek Import-LocalizedData için bu parametreyi kullanabilirsiniz.

Örneğin, FileName atlanırsa ve betik adı FindFiles.ps1, Import-LocalizedData FindFiles.psd1 veri dosyasını arar.

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

-SupportedCommand

Yalnızca veri oluşturan cmdlet'leri ve işlevleri belirtir.

Yazdığınız veya test ettiğiniz cmdlet'leri ve işlevleri eklemek için bu parametreyi kullanın. Daha fazla bilgi için bkz. about_Script_Internationalization.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UICulture

Alternatif ui kültürünü belirtir. Varsayılan değer, otomatik değişkenin $PsUICulture değeridir. Biçiminde , veya ar-SAgibi en-USbir kullanıcı arabirimi kültürü <language>-<region> girin. de-DE

UICulture parametresinin değeri, betiğin dosyasını aldığı .psd1 dile özgü alt dizini (temel dizin içinde) Import-LocalizedData belirler.

cmdlet'i, UICulture parametresinin veya veya $PsUICulturear-SAgibi de-DE otomatik değişkenin değeriyle aynı ada sahip bir alt dizini arar. Dizini bulamıyorsa veya dizin betik için bir .psd1 dosya içermiyorsa, de veya ar gibi dil kodunun adına sahip bir alt dizin arar. Alt dizini veya .psd1 dosyayı bulamazsa komut başarısız olur ve veriler betikte belirtilen varsayılan dilde görüntülenir.

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

Girişler

None

Bu cmdlet'e giriş kanalı yapamazsınız.

Çıkışlar

Hashtable

Import-LocalizedData karma tablosunu BindingVariable parametresinin değeri tarafından belirtilen değişkene kaydeder.

Notlar

  • kullanmadan Import-LocalizedDataönce kullanıcı iletilerinizi yerelleştirin. Anahtar-değer çiftleri karma tablosundaki her yerel ayar (UI kültürü) için iletileri biçimlendirin ve karma tabloyu betik ve dosya adı uzantısıyla aynı ada sahip bir .psd1 dosyaya kaydedin. Desteklenen her ui kültürü için betik dizininin altında bir dizin İçerik Oluşturucu ve ardından her kullanıcı arabirimi kültürü için dosyayı kullanıcı arabirimi kültürü adıyla dizine kaydedin.psd1.

    Örneğin, de-DE yerel ayarı için kullanıcı iletilerinizi yerelleştirin ve bir karma tabloda biçimlendirin. Karma tabloyu bir <ScriptName>.psd1 dosyaya kaydedin. Ardından betik dizininin altında bir de-DE alt dizin oluşturun ve Almanca <ScriptName\>.psd1 dosyasını alt dizine de-DE kaydedin. Desteklediğiniz her yerel ayar için bu yöntemi yineleyin.

  • Import-LocalizedData bir betik için yerelleştirilmiş kullanıcı iletileri için yapılandırılmış bir arama gerçekleştirir.

    Import-LocalizedData , betik dosyasının bulunduğu dizinde (veya BaseDirectory parametresinin değeri) aramayı başlatır. Ardından, veya gibi de-DEar-SAdeğişkenin değeriyle (veya UICulture parametresinin $PsUICulture değeri) aynı ada sahip bir alt dizin için temel dizin içinde arama yapın. Ardından, bu alt dizinde betikle (veya FileName parametresinin değeriyle) aynı ada sahip bir .psd1 dosya arar.

    Kullanıcı arabirimi kültürünün adına sahip bir alt dizin bulunamazsa veya alt dizin betik için bir .psd1 dosya içermiyorsaImport-LocalizedData, alt dizinde de veya ar gibi dil kodunun adıyla betik için .psd1 bir dosya arar. Alt dizini veya .psd1 dosyayı bulamazsa, komut başarısız olur, veriler betikte varsayılan dilde görüntülenir ve verilerin içeri aktarılamadığını açıklayan bir hata iletisi görüntülenir. İletiyi engellemek ve düzgün bir şekilde başarısız olmak için ErrorAction ortak parametresini SilentlyContinue değeriyle kullanın.

    Alt dizini ve .psd1 dosyayı bulursaImport-LocalizedData, kullanıcı iletilerinin karma tablosunu komutundaki BindingVariable parametresinin değerine aktarır. Ardından değişkeninde karma tablosundan bir ileti görüntülendiğinde, yerelleştirilmiş ileti görüntülenir.

    Daha fazla bilgi için bkz. about_Script_Internationalization.