LocalizationTable 是一个数据库的本地化表。它包含源字符串和翻译对于多种语言。它用于使用 Translator 和 LocalizationService 自动翻译系统来控制游戏中的文本翻译。 本地化表的设计是为资源处理,例如一个材质或执行时间本。 改变表
本地化表单项目
每个本地化表包含一组输入。每个输入包含文本的翻译以及一些特殊字段:
- 钥匙 是代验证码中快速搜索的选项独特钥匙。如果它不是空的,它必须在表中独一无二。
- 源源语言的源文本 是源语言中的原始文本,它将被用来由 LocalizationService 匹配 GUI 文本并渲染替换。源字段可以通过 字符捕获工具 填写,或可以手动设置。对
- 上下文 是文本显示在的对象的完整实例名。上下文是由自动文本替换系统使用的模糊区分。当多个匹配对象时,系统将从上下文字符串的末端开始匹配最佳匹配。还有更多强大的处理不确定度的方法,例如使用多个表使用 GuiBase2d.RootLocalizationTable 。
- 示例 是您想要它是什么。 如果文本捕捉工具猜测某些参数为串,示例字段将包含上下文中使用的示例。
所有这些字段都是可选的,但至少一个钥匙或源必须不是空的。不能有两个输入相同的钥匙、源和上下文。
请参阅翻译动态内容获取更多信息。
代码示例
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 对于这个本地化表中的条目,在指定的语言。
使用指定的 key、source 和 context 来从本地化表中移除特定条目。
使用提供的 ke键 、 source 、 context 和 1> 源ocalId1> 来从本地化表中移除一个单一语言的翻译,使用 4>key4> 、 7>source7> 、 0>text0> 和 key3> 来缩小要移除的特定条目。
将所有本地化表中的翻译从本地化表中移除。
设置本地化表的内容。
使用指定的 newContext 字段为本地化表单条目设置 key,并使用 1> 键e源1> 、4> source4> 和 7> context7> 来缩小有此更改应用的条目。
使用指定的 example 、 key 和 1> 源ontext1> 来缩小具有此更改应用的入口表。
使用指定的 key 、 newKey 、使用 key 和 2> context2> 来缩小具有此更改应用的条目。
使用指定的 newSource 、使用 key 、1> source1> 和 4> context4> 来缩小具有此更改应用的条目。
使用指定的 key 、 source 和 context 来在本地化表中设置指定的本地Id的文本,以确定将此更改应用的入口。
属性
SourceLocaleId
为此表输入键串的 Roblox 本地语言,例如“en-us”或“es-es”。 这通常是游戏的“开发语言”。 对于合并多个本地化表对象的 Translator,它是“en-us” 的默认本地化表。 默认为“en-us”。
方法
GetEntries
GetCommands 函数返回一个包含在 LocalizationTable 中的字典阵列,其中每个字典代表一个本地化数据的入口。
要设置 LocalizationTable 的输入,您可以使用 LocalizationTable:SetEntries() .
在阵列中的每个字典包含以下字段:
<tbody><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>用于格式化本地化字符串。如果没有提供键,则用作查找。</td></tr><tr><td><b>上下文</b></td><td><code>Library.string</code></td><td>Class.Instance:GetFullName() 路径到使用于生成本地化表的对象。作为查找 if 键不提供。</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>
索引 | 类型 | 描述 |
---|
返回
一个用于代表本地化数据的字典阵列。
代码示例
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
RemoveEntry
使用指定的 key、source 和 context 来从本地化表中移除特定条目。
参数
返回
RemoveEntryValue
使用提供的 ke键 、 source 、 context 和 1> 源ocalId1> 来从本地化表中移除一个单一语言的翻译,使用 4>key4> 、 7>source7> 、 0>text0> 和 key3> 来缩小要移除的特定条目。
参数
返回
SetEntries
设置本地化表的内容。
输入参数应为返回 LocalizationTable:GetEntries() 函数的同形式词典阵列。
参数
返回
SetEntryContext
使用指定的 newContext 字段为本地化表单条目设置 key,并使用 1> 键e源1> 、4> source4> 和 7> context7> 来缩小有此更改应用的条目。
参数
返回
SetEntryExample
使用指定的 example 、 key 和 1> 源ontext1> 来缩小具有此更改应用的入口表。
参数
返回
SetEntryKey
使用指定的 key 、 newKey 、使用 key 和 2> context2> 来缩小具有此更改应用的条目。
参数
返回
SetEntrySource
使用指定的 newSource 、使用 key 、1> source1> 和 4> context4> 来缩小具有此更改应用的条目。