LocalizationTable

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

本地化表是一個翻譯數據庫。它包含來自各種語言的源字串和翻譯。它與 TranslatorLocalizationService 自動翻譯系統一起使用,用於控制遊戲中的文字翻譯。本地化表是為了被視為資源,例如紋理或腳指令碼而設計的。它們在執行階段時不會被最佳化以進行修改。變更表的內容會導致整個表的內容複製到所有玩家。

本地化表入口

每個本地化表包含一組入口。每個入口包含文本的翻譯,以及一些特殊欄位:

  • 鑰匙 是一個可選的獨特鑰匙,用於在代碼中快速查找哈希。如果它不是空的話,它必須在表中獨一無二。
  • 來源 是來源語言中的原始文本,將被LocalizationService用來匹配使用者介面文本並渲染翻譯。來源欄可以由文字捕捉工具填充,或可以手動設置。對於基於鑰匙的查找,來源值可以用作該本地語言的翻譯,如果入口沒有該本地語言的翻譯。如果來源為空,則入口將不會被自動替換系統使用。
  • 上下文 是文字出現的對象全名。上下文被自動文字替換系統用於解釋。當找到來自來源的多個匹配項時,系統會從上下文字串的末端開始匹配,以選擇最佳匹配項。還有其他更強大的方法來處理歧義,例如使用多個表格與 GuiBase2d.RootLocalizationTable
  • 範例 是你想要的任何東西。如果文字捕捉工具猜測了一個字串的一些參數,範例欄將包含使用在上下文中的範例。

所有這些欄位皆可選,但至少必須有 Key 或 Source 為非空。兩個欄位不能擁有相同的 Key、Source 和 Context。

請參閱翻譯動態內容以獲得更多資訊。

範例程式碼

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

概要

方法

  • 返回一個集合的辭典,每個辭典代表一個本地化資料的入口。

  • 返回此本地化表中的項目的 Translator ,使用指定語言。

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

    使用指定的 keysourcecontext 從本地化表中移除一個項目,以減少要刪除的特定項目。

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

    使用提供的 keysourcecontextlocaleId 從本地化表中移除單語翻譯,以縮小要刪除的特定入口。

  • RemoveTargetLocale(localeId : string):()

    從指定的本地化表中移除所有翻譯,使用指定的 localeId。

  • SetEntries(entries : Variant):()

    設置本地化表的內容。

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

    將本地化表入口的 上下文 字段設為newContext,使用指定的keysourcecontext來縮小將有此變更應用的入口。

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

    將本地化表入口的 範例 字段設為 example ,使用指定的 keysourcecontext 來縮小將有此變更應用的入口。

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

    將本地化表入口的 鑰匙 字段設為 ,使用指定的 、 》 和 》來縮小將有此變更應用的入口。

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

    將本地化表入口的 來源 字段設為newSource,使用指定的keysourcecontext來縮小將有此變更應用的入口。

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

    將指定的本地ID的文字設為本地化表入口中的輸入,使用指定的 key , sourcecontext 來縮小將有此變更應用的輸入。

屬性

SourceLocaleId

平行讀取

此表的輸入鍵字串的 Roblox 本地,例如 "en-us" 或 "es-es"。這通常是遊戲的「開發語言」。對於結合多個本地化表對象的翻譯者,它是預設本地化表的本地化ID。預設為「en-us」。

方法

GetEntries

GetEntries 函數返回包含給定 LocalizationTable 中的一個 dictionary 陣列,每個 dictionary 代表一個本地化資料的入口。

若要設置本地化表的項目,您可以使用 LocalizationTable:SetEntries()

陣列中的每個字典包含以下欄位:


<th>類型</th>
<th>說明</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>鑰匙</b>
</td>
<td><code>圖書館字串</code></td> <td>本地化表中此特定入口的查找鑰匙。</td>
</tr>
<tr>
<td>
<b>來源</b>
</td>
<td><code>圖書館.string</code></td> <td>用於格式化本地化字串的字串。如果沒有提供關鍵,將用作查找。</td>
</tr>
<tr>
<td>
<b>上下文</b>
</td>
<td><code>圖書館.string</code></td> <td>一個 <code>Class.Instance:GetFullName()</code> 路徑到被用來生成本地化表的對象。如果沒有提供鑰匙,則用作查找。</td>
</tr>
<tr>
<td>
<b>範例</b>
</td>
<td><code>圖書館.string</code></td> <td>用於格式化本地化的字串。可選。</td>
</tr>
<tr>
<td>
<b>值</b>
</td>
<td><code>辭典</code></td> <td>這個本地化入口的語言翻譯辭典。這個辭典的鑰匙是本地ID,值是用於應用本地化到對應本地ID的語言的字串。</td>
</tr>
</tbody>
索引

返回

一個集合的辭典,每個辭典代表本地化資料的一個入口。

範例程式碼

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

返回此本地化表中的項目的 Translator ,使用指定語言。翻譯者會先在這個表中搜尋,然後查看祖先表。

參數

localeId: string
預設值:""

返回

RemoveEntry

()

使用指定的 keysourcecontext 從本地化表中移除一個項目,以減少要刪除的特定項目。

參數

key: string
預設值:""
source: string
預設值:""
context: string
預設值:""

返回

()

RemoveEntryValue

()

使用提供的 keysourcecontextlocaleId 從本地化表中移除單語翻譯,以縮小要刪除的特定入口。

參數

key: string
預設值:""
source: string
預設值:""
context: string
預設值:""
localeId: string
預設值:""

返回

()

RemoveTargetLocale

()

從指定的本地化表中移除所有翻譯,使用指定的 localeId。

參數

localeId: string
預設值:""

返回

()

SetEntries

()

設置本地化表的內容。

輸入參數應為從 LocalizationTable:GetEntries() 函數返回的相同格式的字典數組。

參數

entries: Variant
預設值:""

返回

()

SetEntryContext

()

將本地化表入口的 上下文 字段設為newContext,使用指定的keysourcecontext來縮小將有此變更應用的入口。

參數

key: string
預設值:""
source: string
預設值:""
context: string
預設值:""
newContext: string
預設值:""

返回

()

SetEntryExample

()

將本地化表入口的 範例 字段設為 example ,使用指定的 keysourcecontext 來縮小將有此變更應用的入口。

參數

key: string
預設值:""
source: string
預設值:""
context: string
預設值:""
example: string
預設值:""

返回

()

SetEntryKey

()

將本地化表入口的 鑰匙 字段設為 ,使用指定的 、 》 和 》來縮小將有此變更應用的入口。

參數

key: string
預設值:""
source: string
預設值:""
context: string
預設值:""
newKey: string
預設值:""

返回

()

SetEntrySource

()

將本地化表入口的 來源 字段設為newSource,使用指定的keysourcecontext來縮小將有此變更應用的入口。

參數

key: string
預設值:""
source: string
預設值:""
context: string
預設值:""
newSource: string
預設值:""

返回

()

SetEntryValue

()

將指定的本地ID的文字設為本地化表入口中的輸入,使用指定的 key , sourcecontext 來縮小將有此變更應用的輸入。

參數

key: string
預設值:""
source: string
預設值:""
context: string
預設值:""
localeId: string
預設值:""
text: string
預設值:""

返回

()

活動