Import-LocalizedData
İşletim sistemi için seçilen kullanıcı arabirimi kültürüne göre dile özgü verileri betiklere ve işlevlere aktarır.
Syntax
Default (Varsayılan)
Import-LocalizedData
[[-BindingVariable] <String>]
[[-UICulture] <String>]
[-BaseDirectory <String>]
[-FileName <String>]
[-SupportedCommand <String[]>]
[<CommonParameters>]
Description
Import-LocalizedData cmdlet'i, adı işletim sisteminin geçerli kullanıcısı için ayarlanan kullanıcı arabirimi diliyle 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 Komut dosyası dizininin dile özgü alt dizinlerindeki dosyalardan .psd1 verileri içe aktarır ve bunları komutta belirtilen yerel bir değişkene kaydeder. cmdlet'i, $PSUICulture otomatik değişkeninin değerine 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.
Alternatif bir kullanıcı arabirimi kültürü, yol ve dosya adı belirtmek, desteklenen komutları eklemek ve dosyalar bulunamazsa .psd1 görüntülenen hata iletisini bastırmak için parametrelerini Import-LocalizedData kullanabilirsiniz.
Import-LocalizedData cmdlet'i, 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 .psd1 dosyalarının biçimi hakkında daha fazla bilgi için bkz. about_Script_Internationalization.
Örnekler
Örnek 1: Metin dizelerini içeri aktarma
Bu örnek, metin dizelerini $Messages değişkenine aktarır. Diğer tüm cmdlet parametrelerinin varsayılan değerlerini kullanır.
Import-LocalizedData -BindingVariable "Messages"
Komut C:\Test dizinindeki Archives.ps1 betiğine dahil edilirse ve $PsUICulture otomatik değişkeninin değeri zh-CNise Import-LocalizedDataArchives.psd1 dizinindeki C:\test\zh-CN dosyasını $Messages değişkenine aktarır.
Ö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 Simple.psd1 alt dizinindeki ar-SA dosyasından verileri içeri aktarmaya yönlendirmek için C:\Data\Localized parametresini 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 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 Test.psd1 dosyasının içeriği gösterilir. Bir dizi adlandırılmış metin dizesini karma tabloya dönüştüren bir ConvertFrom-StringData komut içerir.
Test.psd1 dosyası, betiği içeren C:\Test dizininin en-US alt dizininde bulunur.
Örneğin ikinci bölümünde Test.ps1 betiğinin içeriği gösterilir. Eşleşen Import-LocalizedData dosyasındaki verileri .psd1 değişkenine aktaran bir $Messages komutu ve Write-Host değişkenindeki iletilerden birini konak programına yazan bir $Messages komutu 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 örnekte, betiğin DATA bölümünde tanımlanan varsayılan metin dizelerini değiştirmek için Import-LocalizedData nasıl kullanılacağı 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 komut dosyasının DATA bölümü, DATA bölümünün içeriğini bir karma tabloya dönüştüren ve değişkenin $UserMessages değerini depolayan bir ConvertFrom-StringData komut içerir.
Komut dosyası ayrıca, değişkenin değeri tarafından belirtilen alt dizindeki TestScript.psd1 dosyasından çevrilmiş metin dizelerinin karma tablosunu $PsUICulture içe aktaran bir Import-LocalizedData komut içerir. Komut dosyayı bulursa .psd1 , çevrilmiş dizeleri dosyadan aynı $UserMessages değişkenin değerinde kaydeder ve DATA bölümü mantığı tarafından kaydedilen karma tablonun üzerine yazar.
Üçüncü komut, $UserMessages değişkenindeki ilk iletiyi görüntüler.
Import-LocalizedData komutu .psd1 dili için bir $PsUICulture dosyası bulursa, $UserMessages değişkeninin 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 dizinler bulunamadığında veya bu dizinlerde komut dosyası için bir .psd1 dosya bulunamadığında Import-LocalizedData ortaya çıkan hata mesajlarının nasıl bastırılacağını 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
Hata iletisini engellemek için ErrorAction common parametresini SilentlyContinue değeriyle
Bu örnek, Day1.ps1 komutu içeren Import-LocalizedData ve Day2.ps1olmak üzere iki betik karşılaştırır. Betikler aynıdır, ancak Day2 ErrorAction ortak parametresini SilentlyContinuedeğeriyle kullanır.
Örnek çıktı, ui kültürü fr-BE olarak ayarlandığında 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
.psd1 dosyalarının bulunduğu temel dizini belirtir. Varsayılan, betiğin bulunduğu dizindir.
Import-LocalizedData, temel dizinin dile özgü bir alt dizininde betik için .psd1 dosyasını arar.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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 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 Import-LocalizedData kullanırken, 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 Import-LocalizedData içeri aktarılan içeriği BindingVariable 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.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Değişken |
Parametre kümeleri
(All)
| Position: | 0 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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.
FileName parametresi bir komut dosyasında kullanılmadığında Import-LocalizedData gereklidir.
Aksi takdirde parametresi isteğe bağlıdır ve varsayılan değer betiğin temel adıdır.
Import-LocalizedData farklı bir .psd1 dosyası aramaya yönlendirmek için bu parametreyi kullanabilirsiniz.
Örneğin, DosyaAdı atlanırsa ve komut dosyası adı FindFiles.ps1ise, Import-LocalizedData FindFiles.psd1 veri dosyasını arar.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-UICulture
Alternatif kullanıcı arabirimi kültürünü belirtir.
Varsayılan değer, $PsUICulture otomatik değişkeninin değeridir.
<language>-<region>, en-USveya de-DEgibi ar-SA biçimde bir kullanıcı arabirimi kültürü girin.
UICulture parametresinin değeri, Import-LocalizedData betik için .psd1 dosyasını aldığı dile özgü alt dizini (temel dizin içinde) belirler.
Cmdlet, UICulture parametresinin veya $PsUICulture veya de-DEgibi ar-SA otomatik değişkeninin değeriyle aynı ada sahip bir alt dizin arar. Dizini bulamazsa veya dizin komut dosyası için bir .psd1 dosya içermiyorsa, de veya ar gibi dil kodunun adını taşıyan bir alt dizin arar. Alt dizini veya .psd1 dosyayı bulamazsa, komut başarısız olur ve veriler komut dosyasında belirtilen varsayılan dilde görüntülenir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 1 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
None
Bu cmdlet'e giriş kanalı yapamazsınız.
Çıkışlar
Hashtable
Import-LocalizedData
BindingVariable parametresinin değeri tarafından belirtilen değişkendeki karma tabloyu kaydeder.
Notlar
Import-LocalizedDatakullanmadan önce kullanıcı iletilerinizi yerelleştirin. Anahtar-değer çiftlerinden oluşan bir karma tabloda her yerel ayar (UI kültürü) için iletileri biçimlendirin ve karma tabloyu betikle aynı ada ve dosya adı uzantısına sahip bir.psd1dosyaya kaydedin. Desteklenen her ui kültürü için betik dizini altında bir dizin oluşturun ve ardından dizindeki her kullanıcı arabirimi kültürü için.psd1dosyasını ui kültürü adıyla kaydedin.Örneğin, de-DE yerel ayarı için kullanıcı iletilerinizi yerelleştirin ve bir karma tabloda biçimlendirin. Karma tabloyu bir
<ScriptName>.psd1dosyaya kaydedin. Ardından betik dizini altında birde-DEalt dizini oluşturun ve Almanca<ScriptName\>.psd1dosyasınıde-DEalt dizinine 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, temel dizinde$PsUICulturedeğişkeninin değeriyle (veya UICulture parametresinin değeriyle) aynı ada sahip bir alt dizin (örneğin,de-DEveyaar-SA) arar. Ardından, bu alt dizinde betikle aynı ada (veya.psd1parametresinin değerine) sahip bir dosyası arar.UI kültürünün adına sahip bir alt dizin bulamazsa veya alt dizin komut dosyası için bir
.psd1dosya içermiyorsaImport-LocalizedData, de veya ar gibi dil kodunun adına sahip bir alt dizinde komut dosyası için bir.psd1dosya arar. Alt dizini veya.psd1dosyayı bulamazsa, komut başarısız olur, veriler komut dosyasında varsayılan dilde görüntülenir ve verilerin içe aktarılamadığını açıklayan bir hata mesajı 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
.psd1dosyayı bulursaImport-LocalizedData, kullanıcı iletilerinin karma tablosunu komuttaki BindingVariable parametresinin değerine aktarır. Ardından, değişkende 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.