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.
Sözdizimi
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 dili 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ğlayacak şekilde 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. Bir kullanıcı iletisini görüntülemek için betikteki yerel değişkeni kullandığınızda, ileti kullanıcının kullanıcı arabirimi dilinde görüntülenir.
parametrelerini Import-LocalizedData
kullanarak alternatif bir UI kültürü, yolu ve dosya adı belirtebilir, desteklenen komutlar ekleyebilir ve dosyalar bulunamazsa .psd1
görüntülenen hata iletisini gizleyebilirsiniz.
Cmdlet, Import-LocalizedData
Windows PowerShell 2.0'da kullanıma sunulan 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şkene $Messages
aktarır. Diğer tüm cmdlet parametrelerinin varsayılan değerlerini kullanır.
Import-LocalizedData -BindingVariable "Messages"
Komutu dizindeki Archives.ps1 betiğine C:\Test
eklenmişse 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'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
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
dosyadan Simple.psd1
veri içeri aktarmaya yönlendirmek için UICulture parametresini C:\Data\Localized
kullanır.
Örnek 4: Yerelleştirilmiş verileri bir betikte içeri 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'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.
Ö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 kullanıcı arabirimi dil kümesinde doğru kullanıcı iletisini görüntülediğini gösterir.
Örnek 5: Betikteki varsayılan metin dizelerini değiştirme
Bu örnek, bir betiğin VERİ bölümünde tanımlanan varsayılan metin dizelerini değiştirmek için nasıl kullanılacağını Import-LocalizedData
gösterir.
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 bir ConvertFrom-StringData
karma tabloya dönüştüren ve değişkenin $UserMessages
değerinde depolayan bir komut içerir.
Betik ayrıca, değişkenin değeri tarafından belirtilen alt dizindeki TestScript.psd1 dosyasından çevrilmiş metin dizelerinin karma tablosunu $PsUICulture
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 DATA bölümü mantığı tarafından kaydedilen karma tablo ü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 gizleme
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 : 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
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
bir Import-LocalizedData
komut içeren iki betikle Day2.ps1'i karşılaştırır. Betikler aynıdır, ancak Day2 değeriyle ErrorAction ortak parametresini SilentlyContinue
kullanı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.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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 bir karma tablosu döndürür. Karma tablo 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ırkenImport-LocalizedData
, DATA bölümünü bir değişkene atayın ve BindingVariable parametresinin değerine DATA bölüm değişkeninin adını girin. Ardından içeri Import-LocalizedData
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.
Tür: | String |
Diğer adlar: | Variable |
Position: | 0 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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-LocalizedData
FileName 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ı ise FindFiles.ps1
Import-LocalizedData
veri dosyasını ararFindFiles.psd1
.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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.
Tür: | String[] |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-UICulture
Alternatif kullanıcı arabirimi kültürünü belirtir. Varsayılan değer, otomatik değişkenin $PsUICulture
değeridir. , veya ar-SA
gibi en-US
de-DE
biçimde bir kullanıcı arabirimi kültürü <language>-<region>
girin.
UICulture parametresinin değeri, betiğin dosyasını alan .psd1
dile özgü alt dizini (temel dizin içinde) Import-LocalizedData
belirler.
Cmdlet, UICulture parametresinin değeriyle veya veya $PsUICulture
ar-SA
gibi de-DE
otomatik değişkenle aynı ada sahip bir alt dizin arar. Dizini bulamıyorsa veya dizin betik için bir .psd1
dosya içermiyorsa, dil kodunun adıyla bir alt dizin (örneğin, de veya ar) arar. Alt dizini veya .psd1
dosyayı bulamazsa, komut başarısız olur ve veriler betikte belirtilen varsayılan dilde görüntülenir.
Tür: | String |
Position: | 1 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
None
Nesneleri bu cmdlet'e yöneltemezsiniz.
Çıkışlar
Bu cmdlet, hashtable'ı BindingVariable parametresinin değeri tarafından belirtilen değişkene kaydeder.
Notlar
kullanmadan
Import-LocalizedData
önce kullanıcı iletilerinizi yerelleştirin. Anahtar-değer çiftlerinin karmatable'ında her yerel ayar (UI kültürü) için iletileri biçimlendirin ve hashtable'ı 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 oluşturun ve ardından kullanıcı arabirimi kültürü adıyla dizindeki her ui kültürü için dosyayı kaydedin.psd1
.Örneğin, de-DE yerel ayarı için kullanıcı iletilerinizi yerelleştirin ve bir karma tablo içinde biçimlendirin. Hashtable'ı bir
<ScriptName>.psd1
dosyaya kaydedin. Ardından betik dizininin altında birde-DE
alt dizin oluşturun ve Almanca<ScriptName>.psd1
dosyasını alt dizinede-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 gibide-DE
ar-SA
değişkenin değeriyle (veya UICulture parametresinin$PsUICulture
değeri) aynı ada sahip bir alt dizin için temel dizinde arama yapar. 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 bastırmak 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 hashtable'ını komutundaki BindingVariable parametresinin değerine aktarır. Daha sonra değişkeninde karma tablodaki bir iletiyi görüntülendiğinde, yerelleştirilmiş ileti görüntülenir.Daha fazla bilgi için bkz . about_Script_Internationalization.
İlişkili Bağlantılar
PowerShell