LocalizationTable

顯示已棄用項目

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

一個LocalizationTable 是一個資料庫的翻譯。它包含來源字串和翻譯到各種語言的翻譯。它與 TranslatorLocalizationService 自動翻譯系統使用來控制遊戲中的文字翻譯。 變更表的內容會

LocalizationTable 項目

每個本地化桌包含一組結果。每個結果包含文字的翻譯以及一些特殊字段:

  • 鑰匙 是代碼中的快速散列查找的選項。如果它不是空的,它必須在桌子上獨一無二。
  • 來源 是源語言中的原始文字,它將被用來自動文本替換系統與GUI 文字匹配。源字段可由文字捕捉工具填寫,或可以手動設置。對於基於鑰匙的查詢,源值可以作為 <
  • 上下文 是對文字顯示在的對象的完整實例名稱。上下文是由自動文字替換系統所使用的模糊字串。當兩個對象匹配到源時,系統會選擇最佳匹配方式,並且從 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):void

    使用指定的 keysourcecontext 來縮小要移除的特定項目。

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

    key 移除單一語言的翻譯,使用提供的 sourcecontext 、 1> context1> 和 4> localId4> 來縮小特定要移除的項目。

  • RemoveTargetLocale(localeId : string):void

    將所有翻譯從本地化桌中移除。

  • SetEntries(entries : Variant):void

    設定本機翻譯桌的內容。

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

    上下文 字段的一個本地化桌子項目設置為 newContext ,使用指定的 key 、 1> source1> 和 4> text4> 來縮小應用此變更的入口。

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

    將 範例 字段的一個 example 項目設置為 key ,使用指定的 2> 鍵ey2> 、5> source5> 和 8> context8> 來縮小應用此變更的入口。

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

    鑰匙 字段的一個本機化桌子項目設置為 newKey ,使用指定的 key 、 1> source1> 和 4> context4> 來縮小應用此變更的入口。

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

    將 源 字段的一個本機化桌子條目設為 newSource ,使用指定的 key 、 2> 原始碼ource2> 和 5> context5> 來縮小應用此變更的條目。

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

    將指定的語言ID 設置在 keysourcecontext 中,以使用指定的 2>原始碼2> 和 5>text5> 來絞減會有此變更應用的入口。

屬性

SourceLocaleId

平行讀取

這個表的輸入鍵串輸入本機語言的區域,例如 "en-us" 或 "es-es"。 這通常是遊戲的 "開發語言"。 對於結合多個本地化桌子對象的語言,它是預設本地化桌子的 "語言ID"。 預設為 "en"。

方法

GetEntries

取入元素函數返回含有在指定 LocalizationTable 中的典藏的典藏LocalizationTable,其中每個典藏代表一個本地化資料的入口。

若要設定LocalizationTable 的內容,您可以使用 LocalizationTable:SetEntries()

每個字典在陣列中包含以下字段:


<tbody>
<tr>
<td>
<b>鑰匙</b>
</td>
<td><code>Library.string</code></td>
<td>在LocalizationTable中的此特定項目的搜尋鑰匙。</td>
</tr>
<tr>
<td>
<b>來源</b>
</td>
<td><code>Library.string</code></td>
<td>用於格式化本地化字串的字串。如果沒有提供鑰匙,則用作查找。</td>
</tr>
<tr>
<td>
<b>概要</b>
</td>
<td><code>Library.string</code></td>
<td>一個 <code>Class.Instance:GetFullName()</code> 路徑到使用它產生本地化桌子的對象。作為查詢,如果沒有提供鑰匙。</td>
</tr>
<tr>
<td>
<b>範例</b>
</td>
<td><code>Library.string</code></td>
<td>用於格式化本地化的字串。可選。</td>
</tr>
<tr>
<td>
<b>價值</b>
</td>
<td><code>字典</code></td>
<td>這個本地化資料的語言翻譯。 鑰匙是本地化資料的區域 ID,值是用於應用本地化對應語言的字串。</td>
</tr>
</tbody>
索引類型說明

返回

一個用於代表本地化資料的字典列表。

範例程式碼

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

void

使用指定的 keysourcecontext 來縮小要移除的特定項目。

參數

key: string
source: string
context: string

返回

void

RemoveEntryValue

void

key 移除單一語言的翻譯,使用提供的 sourcecontext 、 1> context1> 和 4> localId4> 來縮小特定要移除的項目。

參數

key: string
source: string
context: string
localeId: string

返回

void

RemoveTargetLocale

void

將所有翻譯從本地化桌中移除。

參數

localeId: string

返回

void

SetEntries

void

設定本機翻譯桌的內容。

入口參數應該是 LocalizationTable:GetEntries() 函數的一個返回的數據表。

參數

entries: Variant

返回

void

SetEntryContext

void

上下文 字段的一個本地化桌子項目設置為 newContext ,使用指定的 key 、 1> source1> 和 4> text4> 來縮小應用此變更的入口。

參數

key: string
source: string
context: string
newContext: string

返回

void

SetEntryExample

void

將 範例 字段的一個 example 項目設置為 key ,使用指定的 2> 鍵ey2> 、5> source5> 和 8> context8> 來縮小應用此變更的入口。

參數

key: string
source: string
context: string
example: string

返回

void

SetEntryKey

void

鑰匙 字段的一個本機化桌子項目設置為 newKey ,使用指定的 key 、 1> source1> 和 4> context4> 來縮小應用此變更的入口。

參數

key: string
source: string
context: string
newKey: string

返回

void

SetEntrySource

void

將 源 字段的一個本機化桌子條目設為 newSource ,使用指定的 key 、 2> 原始碼ource2> 和 5> context5> 來縮小應用此變更的條目。

參數

key: string
source: string
context: string
newSource: string

返回

void

SetEntryValue

void

將指定的語言ID 設置在 keysourcecontext 中,以使用指定的 2>原始碼2> 和 5>text5> 來絞減會有此變更應用的入口。

參數

key: string
source: string
context: string
localeId: string
text: string

返回

void

活動