LocalizationTable
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Meja Lokalisasi adalah database terjemahan.Ini berisi string sumber dan terjemahan untuk berbagai bahasa.Ini digunakan dengan sistem penerjemah otomatis Translator dan LocalizationService untuk mengontrol terjemahan teks dalam game.Meja lokal dirancang untuk diperlakukan sebagai sumber daya, seperti tekstur atau skrip.Mereka tidak dioptimalkan untuk dimodifikasi saat menjalankan.Mengubah konten tabel akan menyebabkan seluruh konten tabel dipindahkan ke semua pemain.
Entri Tabel Lokalisasi
Setiap Tabel Lokalisasi berisi serangkaian entri. Setiap entri berisi terjemahan teks, bersama dengan beberapa bidang khusus:
- Kunci adalah kunci unik opsional untuk pencarian hash cepat dalam kode. Jika tidak kosong, itu harus unik di tabel.
- Sumber adalah teks asli dalam bahasa sumber yang akan digunakan oleh sistem pengganti teks otomatis LocalizationService untuk mencocokkan teks GUI dan menampilkan terjemahan sebagai gantinya.Bidang Sumber dapat diisi oleh alat penangkapan teks, atau dapat disetel secara manual.Untuk pencarian berdasarkan kunci, nilai Sumber dapat digunakan sebagai terjemahan untuk LocalizationTable.SourceLocaleId jika entri tidak memiliki terjemahan untuk lokasi itu.Jika Sumber kosong maka entri tidak akan digunakan oleh sistem pengganti otomatis.
- Konteks adalah nama Instans lengkap untuk objek yang teksnya muncul.Konteks digunakan untuk penyambiguan oleh sistem pengganti teks otomatis.Ketika banyak pertandingan untuk Sumber ditemukan, sistem akan memilih pertandingan terbaik dengan membandingkan ke belakang dari akhir string Konteks.Ada cara lain yang lebih kuat untuk menangani dekonversi tersedia juga, seperti menggunakan beberapa tabel dengan GuiBase2d.RootLocalizationTable .
- Contoh adalah apa pun yang Anda ingin itu menjadi.Jika alat penangkapan teks menebak beberapa parameter untuk string Lapangan Contoh akan berisi contoh dari mereka yang digunakan dalam konteks.
Semua bidang ini opsional, tetapi setidaknya Key atau Source harus tidak kosong. Tidak ada dua entri yang dapat memiliki Key, Source, dan Konteks yang sama.
Lihat Terjemahan Konten Dinamis untuk informasi lebih lanjut.
Contoh Kode
local LocalizationService = game:GetService("LocalizationService")
local function createLocalizationTable(entries)
local localTable = Instance.new("LocalizationTable")
localTable.DevelopmentLanguage = LocalizationService.SystemLocaleId
localTable:SetEntries(entries)
return localTable
end
local entries = {
{
Key = "Hello_World", -- The 'expressionKey' to be used with GetString
Values = { -- A dictionary of keys corresponding to IETF language tags, and their translations.
["ru"] = " !", -- Russian
["fr"] = "Bonjour le monde!", -- French
["de"] = "Hallo Welt!", -- German
["en-US"] = "Hello world!", -- English
["it"] = "Ciao mondo!", -- Italian
["pt-BR"] = "Ol Mundo!", -- Portuguese
["ja"] = "", -- Japanese
["es"] = "Hola Mundo!", -- Spanish
},
},
}
local helloWorldTable = createLocalizationTable(entries)
print(helloWorldTable:GetString("en-US", "Hello_World"))
Rangkuman
Properti
Lokasi string sumber.
Metode
Kembalikan array kamus, di mana setiap kamus mewakili entri data lokalisasi.
Kembalikan Translator untuk entri di Tabel Lokalisasi ini, dalam bahasa yang ditentukan.
Menghapus entri dari Tabel Lokalisasi, menggunakan key , source , dan context untuk menyempitkan entri spesifik yang akan dihapus
Menghapus terjemahan bahasa tunggal dari Tabel Lokalisasi, menggunakan key , source , context , dan localeId untuk menyempitkan entri spesifik yang akan dihapus
Menghapus semua terjemahan dari Tabel Lokalisasi dengan lokasiId yang ditentukan.
Mengatur isi dari Tabel Lokalisasi.
Mengatur bidang Konteks dari entri Tabel Lokalisasi ke newContext , menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini terapkan.
Atur bidang Contoh dari entri Tabel Lokalisasi ke example , menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini diterapkan.
Tetapkan bidang Kunci dari entri Tabel Lokalisasi ke newKey , menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini diterapkan.
Mengatur bidang Sumber dari entri Tabel Lokalisasi ke newSource , menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini diterapkan.
Atur teks dari lokasiId yang ditentukan di entri Tabel Lokalisasi menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini diterapkan.
Properti
SourceLocaleId
Lokasi Roblox dari string kunci masuk untuk tabel ini, misalnya "en-us" atau "es-es." Ini biasanya adalah "bahasa pengembangan" dari game.Untuk Penerjemah yang menggabungkan beberapa objek Tabel Lokalisasi, itu adalah LocaleId dari Tabel Lokalisasi Default.Biasanya ke "en-us".
Metode
GetEntries
Fungsi GetEntries kembali array kamus yang terkandung dalam LocalizationTable tertentu, di mana setiap kamus mewakili entri data lokalisasi.
Untuk mengatur entri dari Tabel Lokalisasi, Anda dapat menggunakan LocalizationTable:SetEntries() .
Setiap kamus dalam array berisi bidang berikut:
<th>Jenis</th><th>Deskripsi</th></tr></thead><tbody><tr><td><b>Kunci</b></td><td><code>Library.string</code></td><td>Kunci pencarian untuk entri khusus ini di Tabel Lokalisasi.</td></tr><tr><td><b>Sumber</b></td><td><code>Library.string</code></td><td>String yang digunakan untuk memformat string lokal. Digunakan sebagai pencarian jika kunci tidak disediakan.</td></tr><tr><td><b>Konteks</b></td><td><code>Library.string</code></td><td>Sebuah <code>Class.Instance:GetFullName()</code> jalur ke objek yang digunakan untuk menghasilkan Tabel Lokalisasi.Digunakan sebagai pencarian jika kunci tidak disediakan.</td></tr><tr><td><b>Contoh</b></td><td><code>Library.string</code></td><td>String yang digunakan untuk memformat Pelokalan. Opsional.</td></tr><tr><td><b>Nilai</b></td><td><code>Kamus</code></td><td>Kamus terjemahan bahasa untuk entri lokalisasi ini.Kunci dari kamus ini adalah ID lokal, dan nilainya adalah string yang digunakan untuk menerapkan lokalisasi untuk bahasa yang sesuai dengan ID lokal.</td></tr></tbody>
Daftar Isi |
---|
Memberikan nilai
Sebuah array kamus, di mana setiap kamus mewakili entri data lokalisasi.
Contoh Kode
The following code sample creates a LocalizationTable, sets its entries, then gets and displays its entries. In order for this example to work, a LocalizationTable instance must be located inside the LocalizationService service.
The entries variable is a table of dictionaries, each with the format required to create a LocalizationTable with LocalizationTable:SetEntries().
The get_results variable is a table of dictionaries - the same table that we created with the entries variable. We then loop through each of the tables in this dictionary to display its Values/strings.
local LocalizationService = game:GetService("LocalizationService")
local localizationTable = LocalizationService:FindFirstChild("LocalizationTable")
local entries = {
{
["Key"] = "0001",
["Source"] = "en-us",
["Values"] = {
["0001"] = "Hello Muddah, hello Fadduh.",
["0002"] = "Here I am at Camp Granada.",
["0003"] = "Camp is very entertaining.",
["0004"] = "And they say we'll have some fun if it stops raining.",
},
},
}
localizationTable:SetEntries(entries)
local get_results = localizationTable:GetEntries()
for _index, dict in pairs(get_results) do
for _key, value in pairs(dict["Values"]) do -- Loop through every key, value pair in the dictionary to print our strings
print(value)
end
end
GetTranslator
Kembalikan Translator untuk entri di Tabel Lokalisasi ini, dalam bahasa yang ditentukan.Terjemahan pertama akan mencari di tabel ini dan kemudian melihat di tabel leluhur.
Parameter
Memberikan nilai
RemoveEntry
Menghapus entri dari Tabel Lokalisasi, menggunakan key , source , dan context untuk menyempitkan entri spesifik yang akan dihapus
Parameter
Memberikan nilai
RemoveEntryValue
Menghapus terjemahan bahasa tunggal dari Tabel Lokalisasi, menggunakan key , source , context , dan localeId untuk menyempitkan entri spesifik yang akan dihapus
Parameter
Memberikan nilai
RemoveTargetLocale
Menghapus semua terjemahan dari Tabel Lokalisasi dengan lokasiId yang ditentukan.
Parameter
Memberikan nilai
SetEntries
Mengatur isi dari Tabel Lokalisasi.
Parameter entri harus menjadi array kamus dalam format yang sama dengan yang dikembalikan dari fungsi LocalizationTable:GetEntries().
Parameter
Memberikan nilai
SetEntryContext
Mengatur bidang Konteks dari entri Tabel Lokalisasi ke newContext , menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini terapkan.
Parameter
Memberikan nilai
SetEntryExample
Atur bidang Contoh dari entri Tabel Lokalisasi ke example , menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini diterapkan.
Parameter
Memberikan nilai
SetEntryKey
Tetapkan bidang Kunci dari entri Tabel Lokalisasi ke newKey , menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini diterapkan.
Parameter
Memberikan nilai
SetEntrySource
Mengatur bidang Sumber dari entri Tabel Lokalisasi ke newSource , menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini diterapkan.
Parameter
Memberikan nilai
SetEntryValue
Atur teks dari lokasiId yang ditentukan di entri Tabel Lokalisasi menggunakan key , source , dan context untuk menyempitkan entri yang akan memiliki perubahan ini diterapkan.