Import-LocalizedData
Mengimpor data khusus bahasa ke dalam skrip dan fungsi berdasarkan budaya UI yang dipilih untuk sistem operasi.
Sintaks
Import-LocalizedData
[[-BindingVariable] <String>]
[[-UICulture] <String>]
[-BaseDirectory <String>]
[-FileName <String>]
[-SupportedCommand <String[]>]
[<CommonParameters>]
Deskripsi
Import-LocalizedData
Cmdlet secara dinamis mengambil string dari subdirektori yang namanya cocok dengan bahasa UI yang ditetapkan untuk pengguna sistem operasi saat ini. Ini dirancang untuk mengaktifkan skrip untuk menampilkan pesan pengguna dalam bahasa UI yang dipilih oleh pengguna saat ini.
Import-LocalizedData
mengimpor data dari .psd1
file dalam subdirektori khusus bahasa direktori skrip dan menyimpannya dalam variabel lokal yang ditentukan dalam perintah. Cmdlet memilih subdirektori dan file berdasarkan nilai $PSUICulture
variabel otomatis. Saat Anda menggunakan variabel lokal dalam skrip untuk menampilkan pesan pengguna, pesan muncul dalam bahasa UI pengguna.
Anda dapat menggunakan parameter Import-LocalizedData
untuk menentukan budaya, jalur, dan nama file UI alternatif, untuk menambahkan perintah yang didukung, dan untuk menekan pesan kesalahan yang muncul jika .psd1
file tidak ditemukan.
Import-LocalizedData
Cmdlet mendukung inisiatif internasionalisasi skrip yang diperkenalkan di Windows PowerShell 2.0. Inisiatif ini bertujuan untuk melayani pengguna dengan lebih baik di seluruh dunia dengan memudahkan skrip untuk menampilkan pesan pengguna dalam bahasa UI pengguna saat ini. Untuk informasi selengkapnya tentang ini dan tentang format .psd1
file, lihat about_Script_Internationalization.
Contoh
Contoh 1: Mengimpor string teks
Contoh ini mengimpor string teks ke $Messages
dalam variabel. Ini menggunakan nilai default semua parameter cmdlet lainnya.
Import-LocalizedData -BindingVariable "Messages"
Jika perintah disertakan dalam skrip Archives.ps1 dalam C:\Test
direktori, dan nilai $PsUICulture
variabel otomatis adalah zh-CN, Import-LocalizedData
mengimpor Archives.psd1
file dalam C:\test\zh-CN
direktori ke dalam $Messages
variabel.
Contoh 2: Mengimpor string data yang dilokalkan
Contoh ini dijalankan di baris perintah bukan dalam skrip. Ini mendapatkan string data yang dilokalkan dari file Test.psd1 dan menampilkannya di baris perintah. Karena perintah tidak digunakan dalam skrip, parameter FileName diperlukan. Perintah ini menggunakan parameter UICulture untuk menentukan budaya en-US.
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
mengembalikan hashtable yang berisi string data yang dilokalkan.
Contoh 3: Mengimpor string budaya UI
Import-LocalizedData -BindingVariable "MsgTbl" -UICulture "ar-SA" -FileName "Simple" -BaseDirectory "C:\Data\Localized"
Perintah ini mengimpor string teks ke $MsgTbl
dalam variabel skrip.
Ini menggunakan parameter UICulture untuk mengarahkan cmdlet untuk mengimpor data dari Simple.psd1
file dalam ar-SA
subdirektori .C:\Data\Localized
Contoh 4: Mengimpor data yang dilokalkan ke dalam skrip
Contoh ini menunjukkan cara menggunakan data yang dilokalkan dalam skrip sederhana.
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.
Bagian pertama dari contoh menunjukkan konten Test.psd1
file. Ini berisi ConvertFrom-StringData
perintah yang mengonversi serangkaian string teks bernama menjadi hashtable. File Test.psd1
terletak di subdirektori en-US direktori C:\Test
yang berisi skrip.
Bagian kedua dari contoh menunjukkan konten Test.ps1
skrip. Ini berisi Import-LocalizedData
perintah yang mengimpor data dari file yang .psd1
cocok ke dalam $Messages
variabel dan Write-Host
perintah yang menulis salah satu pesan dalam $Messages
variabel ke program host.
Bagian terakhir dari contoh menjalankan skrip. Output menunjukkan bahwa output menampilkan pesan pengguna yang benar dalam bahasa UI yang ditetapkan untuk pengguna sistem operasi saat ini.
Contoh 5: Mengganti string teks default dalam skrip
Contoh ini menunjukkan cara menggunakan Import-LocalizedData
untuk mengganti string teks default yang ditentukan di bagian DATA dari skrip.
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...
Dalam contoh ini, bagian DATA dari skrip TestScript.ps1 berisi ConvertFrom-StringData
perintah yang mengonversi konten bagian DATA menjadi hashtable dan menyimpan dalam nilai $UserMessages
variabel.
Skrip juga menyertakan Import-LocalizedData
perintah, yang mengimpor hashtable string teks yang diterjemahkan dari file TestScript.psd1 dalam subdirektori yang ditentukan oleh nilai $PsUICulture
variabel. Jika perintah menemukan .psd1
file, perintah menyimpan string yang diterjemahkan dari file dalam nilai variabel yang sama $UserMessages
, menimpa hashtable yang disimpan oleh logika bagian DATA.
Perintah ketiga menampilkan pesan pertama dalam $UserMessages
variabel.
Import-LocalizedData
Jika perintah menemukan .psd1
file untuk bahasa, $PsUICulture
nilai $UserMessages
variabel berisi string teks yang diterjemahkan. Jika perintah gagal karena alasan apa pun, perintah menampilkan string teks default yang ditentukan di bagian DATA skrip.
Contoh 6: Menyembunyikan pesan kesalahan jika budaya UI tidak ditemukan
Contoh ini menunjukkan cara menekan pesan kesalahan yang muncul ketika Import-LocalizedData
tidak dapat menemukan direktori yang cocok dengan budaya UI pengguna atau tidak dapat menemukan .psd1
file untuk skrip di direktori tersebut.
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
Anda dapat menggunakan parameter umum ErrorAction dengan nilai SilentlyContinue untuk menekan pesan kesalahan. Ini sangat berguna ketika Anda telah memberikan pesan pengguna dalam bahasa default atau fallback, dan tidak ada pesan kesalahan yang diperlukan.
Contoh ini membandingkan dua skrip, Day1.ps1
dan Day2.ps1, yang menyertakan Import-LocalizedData
perintah. Skrip identik, kecuali Hari2 menggunakan parameter umum ErrorAction dengan nilai SilentlyContinue
.
Output sampel menunjukkan hasil menjalankan kedua skrip ketika budaya UI diatur ke fr-BE
dan tidak ada file atau direktori yang cocok untuk budaya UI tersebut. Day1.ps1
menampilkan pesan kesalahan dan output bahasa Inggris. Day2.ps1
hanya menampilkan output bahasa Inggris.
Parameter
-BaseDirectory
Menentukan direktori dasar tempat .psd1
file berada. Defaultnya adalah direktori tempat skrip berada. Import-LocalizedData
mencari .psd1
file untuk skrip dalam subdirektori khusus bahasa direktori dasar.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-BindingVariable
Menentukan variabel tempat string teks diimpor. Masukkan nama variabel tanpa tanda dolar ($
).
Di Windows PowerShell 2.0, parameter ini diperlukan. Di Windows PowerShell 3.0, parameter ini bersifat opsional. Jika Anda menghilangkan parameter ini, Import-LocalizedData
mengembalikan hashtable dari string teks. Hashtable diteruskan ke alur atau ditampilkan di baris perintah.
Saat menggunakan Import-LocalizedData
untuk mengganti string teks default yang ditentukan di bagian DATA dari skrip, tetapkan bagian DATA ke variabel dan masukkan nama variabel bagian DATA dalam nilai parameter BindingVariable . Kemudian, saat Import-LocalizedData
menyimpan konten yang diimpor di BindingVariable, data yang diimpor akan menggantikan string teks default. Jika Anda tidak menentukan string teks default, Anda dapat memilih nama variabel apa pun.
Jenis: | String |
Alias: | Variable |
Position: | 0 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-FileName
Menentukan nama file data (.psd1)
yang akan diimpor. Masukkan nama file. Anda dapat menentukan nama file yang tidak menyertakan ekstensi nama filenya .psd1
, atau Anda dapat menentukan nama file termasuk .psd1
ekstensi nama file. File data harus disimpan sebagai Unicode atau UTF-8.
Parameter FileName diperlukan saat Import-LocalizedData
tidak digunakan dalam skrip.
Jika tidak, parameter bersifat opsional dan nilai defaultnya adalah nama dasar skrip. Anda dapat menggunakan parameter ini untuk mengarahkan Import-LocalizedData
untuk mencari file yang berbeda .psd1
.
Misalnya, jika FileName dihilangkan dan nama skripnya adalah FindFiles.ps1
, Import-LocalizedData
cari FindFiles.psd1
file data.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SupportedCommand
Menentukan cmdlet dan fungsi yang hanya menghasilkan data.
Gunakan parameter ini untuk menyertakan cmdlet dan fungsi yang telah Anda tulis atau uji. Untuk informasi selengkapnya, lihat about_Script_Internationalization.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-UICulture
Menentukan budaya UI alternatif. Defaultnya adalah nilai $PsUICulture
variabel otomatis. Masukkan budaya UI dalam <language>-<region>
format, seperti en-US
, , de-DE
atau ar-SA
.
Nilai parameter UICulture menentukan subdirektori khusus bahasa (dalam direktori dasar) yang Import-LocalizedData
mendapatkan .psd1
file untuk skrip.
Cmdlet mencari subdirektori dengan nama yang sama dengan nilai parameter UICulture atau $PsUICulture
variabel otomatis, seperti de-DE
atau ar-SA
. Jika tidak dapat menemukan direktori, atau direktori tidak berisi .psd1
file untuk skrip, direktori tersebut mencari subdirektori dengan nama kode bahasa, seperti de atau ar. Jika tidak dapat menemukan subdirektori atau .psd1
file, perintah gagal dan data ditampilkan dalam bahasa default yang ditentukan dalam skrip.
Jenis: | String |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
Cmdlet ini menyimpan hashtable dalam variabel yang ditentukan oleh nilai parameter BindingVariable .
Catatan
Sebelum menggunakan
Import-LocalizedData
, lokalkan pesan pengguna Anda. Format pesan untuk setiap lokal (budaya UI) dalam hashtable pasangan kunci-nilai, dan simpan hashtable dalam file dengan nama yang sama dengan skrip dan.psd1
ekstensi nama file. Buat direktori di bawah direktori skrip untuk setiap budaya UI yang didukung, lalu simpan.psd1
file untuk setiap budaya UI di direktori dengan nama budaya UI.Misalnya, melokalisasi pesan pengguna Anda untuk lokal de-DE dan memformatnya dalam hashtable. Simpan hashtable dalam
<ScriptName>.psd1
file. Kemudian buatde-DE
subdirektori di bawah direktori skrip, dan simpan file Jerman<ScriptName>.psd1
dide-DE
subdirektori. Ulangi metode ini untuk setiap lokal yang Anda dukung.Import-LocalizedData
melakukan pencarian terstruktur untuk pesan pengguna yang dilokalkan untuk skrip.Import-LocalizedData
memulai pencarian di direktori tempat file skrip berada (atau nilai parameter BaseDirectory ). Kemudian mencari dalam direktori dasar untuk subdirektori dengan nama yang sama dengan nilai$PsUICulture
variabel (atau nilai parameter UICulture ), sepertide-DE
atauar-SA
. Kemudian, ia mencari di subdirektori tersebut untuk.psd1
file dengan nama yang sama dengan skrip (atau nilai parameter FileName ).Jika
Import-LocalizedData
tidak dapat menemukan subdirektori dengan nama budaya UI, atau subdirektori tidak berisi.psd1
file untuk skrip, subdirektori mencari.psd1
file untuk skrip dalam subdirektori dengan nama kode bahasa, seperti de atau ar. Jika tidak dapat menemukan subdirektori atau.psd1
file, perintah gagal, data ditampilkan dalam bahasa default dalam skrip, dan pesan kesalahan ditampilkan menjelaskan bahwa data tidak dapat diimpor. Untuk menekan pesan dan gagal dengan baik, gunakan parameter umum ErrorAction dengan nilai SilentlyContinue.Jika
Import-LocalizedData
menemukan subdirektori dan.psd1
file, subdirektori mengimpor hashtable pesan pengguna ke dalam nilai parameter BindingVariable dalam perintah. Kemudian, saat Anda menampilkan pesan dari hashtable dalam variabel, pesan yang dilokalkan akan ditampilkan.Untuk informasi selengkapnya, lihat about_Script_Internationalization.