LocalizationTable

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bir Yerelleştirme Masası, çevirilerin bir veritabanıdır.Çeşitli diller için kaynak dize ve çeviriler içerir.Oyundaki metin çevirilerini kontrol etmek için Translator ve LocalizationService otomatik çeviri sistemi ile kullanılır.YerelleştirmeTabloları bir dokunma veya bir senaryo gibi kaynak olarak ele alınacak şekilde tasarlanmıştır.Çalışma sırasında değiştirilmek için optimize edilmezler.Bir tablonun içeriğini değiştirmek, tablonun tüm içeriğinin tüm oyunculara yansıtılmasına neden olacaktır.

YerelleştirmeTablosu Girişleri

Her yerelleştirme tablosu bir dizi giriş içerir. Her giriş, metnin çevirilerini, bazı özel alanların yanı sıra içerir:

  • Anahtar kodda hızlı kriptografik aramalar için zorunlu benzersiz bir anahtardır. Eğer boş değilse tabloda benzersiz olmalıdır.
  • Kaynak , GUI metnini eşleştirmek ve bunun yerine bir çeviri sunmak için otomatik LocalizationService tarafından kullanılacak olan kaynak dildeki orijinal metindir.Kaynak alanı, metin yakalama araçları tarafından doldurulabilir veya manuel olarak ayarlanabilir.Anahtar tabanlı sorgulamalar için Kaynak değeri, girişin bu yer için bir çeviriye sahip olmadığı takdirde LocalizationTable.SourceLocaleId bir çeviri olarak kullanılabilir.Kaynak boşsa, giriş otomatik değiştirme sistemi tarafından kullanılmayacaktır.
  • Konteks , metinin göründüğü nesnenin tam adıdır.Kontekst, otomatik metin değiştirme sistemi tarafından belirsizlik giderilmesi için kullanılır.Kaynak için birden fazla eşleşme bulunduğunda, sistem, Context dizisinin sonundan geriye doğru eşleşerek en iyi eşleşmeyi seçecektir.Ayrımın ele alınması için başka daha güçlü yollar da mevcuttur, örneğin GuiBase2d.RootLocalizationTable ile çok sayıda tablo kullanarak.
  • Örnek istediğiniz her şeydir.Metin yakalama aracı bir dize için bazı parametreler tahmin ederse Örnek alanı onların kullanıldığı bir örnek içerecektir.

Bu alanların tümü isteğe bağlıdır, ancak en azından Anahtar veya Kaynak boş olmamalıdır. İki giriş aynı Anahtar, Kaynak ve Konteks'e sahip olamaz.

Daha fazla bilgi için Dinamik İçeriğin Çevirilmesi bölümüne bakın.

Kod Örnekleri

LocalizationTable

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"))

Özet

Yöntemler

  • Her sözlüğün yerelleştirme verilerinin bir girişini temsil ettiği bir dizi döndürür.Returns an array of dictionaries, where each dictionary represents an entry of localization data.

  • Bu YerelleştirmeTablosundaki girişler için bir Translator döndürür, belirtilen dilde.

  • RemoveEntry(key : string,source : string,context : string):()

    Belirtilen key, source ve context kullanarak YerelleştirmeTablosundan bir girişi kaldırır, özel kaldırılacak girişi daraltmak için.

  • RemoveEntryValue(key : string,source : string,context : string,localeId : string):()

    Verilen key , source , context ve localeId kullanarak, belirli kaldırılacak girişi daraltmak için YerelleştirmeTablosundan tek bir dil çevirisini kaldırır.

  • RemoveTargetLocale(localeId : string):()

    Belirtilen yerelId ile TercümeTablosundan tüm çevirileri kaldırır.

  • SetEntries(entries : Variant):()

    YerelleştirmeTablosu'nun içeriğini ayarlar.

  • SetEntryContext(key : string,source : string,context : string,newContext : string):()

    Bir YerelleştirmeTab girişinin Konu alanını newContext , belirtilen key , source ve context kullanarak, bu değişikliğin uygulanacağı girişi daraltmak için kısaltır

  • SetEntryExample(key : string,source : string,context : string,example : string):()

    Bir YerelleştirmeTab girişinin Örnek alanını belirtilen , , ve kullanarak daraltmak üzere kaydedilir, böylece bu değişikliğin uygulanacağı giriş daraltılır

  • SetEntryKey(key : string,source : string,context : string,newKey : string):()

    Bir YerelleştirmeTab girişinin Anahtarı alanını belirtilen , , ve alanlarını kullanarak düşürür, bu değişikliğin uygulanacağı girişi daraltır

  • SetEntrySource(key : string,source : string,context : string,newSource : string):()

    Bir YerelleştirmeTab girişinin Kaynak alanını newSource , belirtilen key , source ve context kullanarak, bu değişikliğin uygulanacağı girişi daraltmak için kısaltır

  • SetEntryValue(key : string,source : string,context : string,localeId : string,text : string):()

    Belirtilen yerel kimliğin metnini bir YerelleştirmeTab girişinde belirtilen key , source ve context kullanarak daraltır, böylece bu değişikliğin uygulanacağı giriş daraltılır

Özellikler

SourceLocaleId

Paralel oku

Örneğin bu tablo için giriş anahtar dize anahtarlarının Roblox yerelinde, "en-us" veya "es-es". Bu genellikle oyunun "geliştirme dili"sidir.Birden fazla YerelleştirmeTab nesnesini birleştiren Çevirmen için, varsayılan YerelleştirmeTab'ının YerelleştirmeId'si budur.Varsayılan "en-us".

Yöntemler

GetEntries

GetEntries işlevi, belirli bir LocalizationTable içinde yer alan bir dizi sözlük döndürür, her sözlük yerelleştirme verilerinin bir girişini temsil eder.

Bir YerelleştirmeTablosu girişlerini ayarlamak için, LocalizationTable:SetEntries() kullanabilirsiniz.

Dizinin her sözlüğünde aşağıdaki alanlar bulunur:


<th>Tür</th>
<th>Açıklama</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>Anahtar</b>
</td>
<td><code>Kütüphane.string</code></td><td>YerelleştirmeTablosu'ndaki bu özel giriş için bir arama anahtarı.</td>
</tr>
<tr>
<td>
<b>Kaynak</b>
</td>
<td><code>Kütüphane.string</code></td><td>Yerelleştirilmiş dizibiçimlendirmek için kullanılan dize. Bir anahtar sağlanmadığında bir sorgu olarak kullanılır.</td>
</tr>
<tr>
<td>
<b>Kontekst</b>
</td>
<td><code>Kütüphane.string</code></td><td>Bir <code>Class.Instance:GetFullName()</code> yol, YerelleştirmeTablosu oluşturmak için kullanılan nesneye gidenBir anahtar sağlanmadığında bir sorgu olarak kullanılır.</td>
</tr>
<tr>
<td>
<b>Örnek</b>
</td>
<td><code>Kütüphane.string</code></td><td>yerelleştirmebiçimi vermek için kullanılan dize. Opsiyonel.</td>
</tr>
<tr>
<td>
<b>Değerler</b>
</td>
<td><code>Sözlük</code></td><td>Bu yerelleştirme girişi için dil çevirileri sözlüğü.Bu sözlüğün anahtarları yerel kimliklerdir ve değerler, yerel dil için yerelleştirme uygulanması için kullanılan değerlerdir.</td>
</tr>
</tbody>
İndeks

Dönüşler

Her sözlüğün yerelleştirme verilerinin bir girişini temsil ettiği bir dizi sözlük.

Kod Örnekleri

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.

Using a LocalizationTable

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

Bu YerelleştirmeTablosundaki girişler için bir Translator döndürür, belirtilen dilde.Tercüman önce bu tabloda arayacak ve ardından atalar tablolarına bakacaktır.

Parametreler

localeId: string
Varsayılan değer: ""

Dönüşler

RemoveEntry

()

Belirtilen key, source ve context kullanarak YerelleştirmeTablosundan bir girişi kaldırır, özel kaldırılacak girişi daraltmak için.

Parametreler

key: string
Varsayılan değer: ""
source: string
Varsayılan değer: ""
context: string
Varsayılan değer: ""

Dönüşler

()

RemoveEntryValue

()

Verilen key , source , context ve localeId kullanarak, belirli kaldırılacak girişi daraltmak için YerelleştirmeTablosundan tek bir dil çevirisini kaldırır.

Parametreler

key: string
Varsayılan değer: ""
source: string
Varsayılan değer: ""
context: string
Varsayılan değer: ""
localeId: string
Varsayılan değer: ""

Dönüşler

()

RemoveTargetLocale

()

Belirtilen yerelId ile TercümeTablosundan tüm çevirileri kaldırır.

Parametreler

localeId: string
Varsayılan değer: ""

Dönüşler

()

SetEntries

()

YerelleştirmeTablosu'nun içeriğini ayarlar.

Giriş parametri, LocalizationTable:GetEntries() fonksiyonundan döndürülen ile aynı biçimde bir sözlükler dizesi olmalıdır.

Parametreler

entries: Variant
Varsayılan değer: ""

Dönüşler

()

SetEntryContext

()

Bir YerelleştirmeTab girişinin Konu alanını newContext , belirtilen key , source ve context kullanarak, bu değişikliğin uygulanacağı girişi daraltmak için kısaltır

Parametreler

key: string
Varsayılan değer: ""
source: string
Varsayılan değer: ""
context: string
Varsayılan değer: ""
newContext: string
Varsayılan değer: ""

Dönüşler

()

SetEntryExample

()

Bir YerelleştirmeTab girişinin Örnek alanını belirtilen , , ve kullanarak daraltmak üzere kaydedilir, böylece bu değişikliğin uygulanacağı giriş daraltılır

Parametreler

key: string
Varsayılan değer: ""
source: string
Varsayılan değer: ""
context: string
Varsayılan değer: ""
example: string
Varsayılan değer: ""

Dönüşler

()

SetEntryKey

()

Bir YerelleştirmeTab girişinin Anahtarı alanını belirtilen , , ve alanlarını kullanarak düşürür, bu değişikliğin uygulanacağı girişi daraltır

Parametreler

key: string
Varsayılan değer: ""
source: string
Varsayılan değer: ""
context: string
Varsayılan değer: ""
newKey: string
Varsayılan değer: ""

Dönüşler

()

SetEntrySource

()

Bir YerelleştirmeTab girişinin Kaynak alanını newSource , belirtilen key , source ve context kullanarak, bu değişikliğin uygulanacağı girişi daraltmak için kısaltır

Parametreler

key: string
Varsayılan değer: ""
source: string
Varsayılan değer: ""
context: string
Varsayılan değer: ""
newSource: string
Varsayılan değer: ""

Dönüşler

()

SetEntryValue

()

Belirtilen yerel kimliğin metnini bir YerelleştirmeTab girişinde belirtilen key , source ve context kullanarak daraltır, böylece bu değişikliğin uygulanacağı giriş daraltılır

Parametreler

key: string
Varsayılan değer: ""
source: string
Varsayılan değer: ""
context: string
Varsayılan değer: ""
localeId: string
Varsayılan değer: ""
text: string
Varsayılan değer: ""

Dönüşler

()

Etkinlikler