LocalizationTable

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Uma Tabela de Localização é uma base de dados de traduções.Ele contém strings de origem e traduções para vários idiomas.É usado com o sistema de tradutor automático Translator e LocalizationService para controlar traduções de texto no jogo.As Tabelas de Localização são projetadas para serem tratadas como recursos, como uma textura ou um script.Eles não são otimizados para serem modificados em tempo de execução.Mudar o conteúdo de uma tabela fará com que todo o conteúdo da tabela seja replicado para todos os jogadores.

Entradas da Tabela de Localização

Cada Tabela de Localização contém um conjunto de entradas. Cada entrada contém as traduções do texto, juntamente com alguns campos especiais:

  • Chave é uma chave única opcional para pesquisas rápidas de hash em código. Se ela não for vazia, deve ser única na tabela.
  • Fonte é o texto original na língua de origem que será usado pelo sistema de substituição de texto automático LocalizationService para corresponder ao texto da GUI e renderizar uma tradução em vez disso.O campo de Origem pode ser preenchido pelas ferramentas de captura de texto ou pode ser definido manualmente.Para consultas baseadas em chave, o valor de Origem pode ser usado como uma tradução para LocalizationTable.SourceLocaleId se a entrada não tiver uma tradução para esse idioma.Se a Fonte estiver vazia, então a entrada não será usada pelo sistema de substituição automática.
  • Contexto é o nome completo da instância para o objeto em que o texto apareceu.O contexto é usado para desambiguação pelo sistema de substituição de texto automático.Quando várias correspondências para a Fonte forem encontradas, o sistema escolherá a melhor correspondência ao comparar de trás para a frente a partir do final da string / cadeia / textode Contexto.Há outras maneiras mais robustas de lidar com a ambigüidade disponíveis também, como usar várias tabelas com GuiBase2d.RootLocalizationTable .
  • Exemplo é o que você quiser que seja.Se a ferramenta de captura de texto adivinhou alguns parâmetros para uma string, o campo de Exemplo conterá um exemplo deles usados em contexto.

Todos esses campos são opcionais, mas pelo menos uma chave ou fonte deve ser não vazia. Não podem existir duas entradas com a mesma chave, fonte e contexto.

Veja Traduzindo Conteúdo Dinâmico para mais informações.

Amostras de código

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

Resumo

Métodos

  • Retorna um conjunto de dicionários, onde cada dicionário representa uma entrada de dados de localização.

  • Retorna um Translator para entradas nesta Tabela de Localização, na língua especificada.

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

    Remove uma entrada da Tabela de Localização, usando o key, source e context especificados para restringir a entrada específica a ser removida.

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

    Remove uma única tradução de idioma da Tabela de Localização, usando a fornecida key, source, context e localeId para restringir a entrada específica a ser removida.

  • RemoveTargetLocale(localeId : string):()

    Remove todas as traduções da Tabela de Localização com o idioma especificado localId.

  • SetEntries(entries : Variant):()

    Define o conteúdo da Tabela de Localização.

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

    Define o campo Contexto de uma entrada da Tabela de Localização para newContext , usando o especificado key , source e context para restringir a entrada que terá essa alteração aplicada.

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

    Define o campo Exemplo de uma entrada da Tabela de Localização para example, usando o key, source e context para restringir a entrada que terá essa alteração aplicada.

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

    Define o campo Chave de uma entrada da Tabela de Localização para newKey , usando o especificado key, source e context para restringir a entrada que terá essa alteração aplicada.

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

    Define o campo Fonte de uma entrada da Tabela de Localização para newSource , usando o especificado key, source e context para restringir a entrada que terá essa alteração aplicada.

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

    Define o texto do local especificadoId em uma entrada da Tabela de Localização, usando o especificado key, source e context para restringir a entrada que terá essa alteração aplicada.

Propriedades

SourceLocaleId

Ler Parallel

O local Roblox das cordas de tecla de entrada para esta tabela, por exemplo "en-us" ou "es-es". Este é normalmente o "idioma de desenvolvimento" do jogo.Para um Tradutor que mescla vários objetos de Tabela de Localização, é o LocaleId da Tabela de Localização Padrão.Padrão para "en-us".

Métodos

GetEntries

A função GetEntries retorna um array de dicionários contidos em um determinado LocalizationTable, onde cada dicionário representa uma entrada de dados de localização.

Para definir as entradas de uma Tabela de Localização, você pode usar LocalizationTable:SetEntries().

Cada dicionário no array contém os seguintes campos:


<th>Tipo</th>
<th>Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>Chave</b>
</td>
<td><code>Biblioteca.string</code> ></td><td>Uma chave de busca para esta entrada específica na Tabela de Localização.</td>
</tr>
<tr>
<td>
<b>Fonte</b>
</td>
<td><code>Biblioteca.string</code> ></td><td>A string usada para formatar a string / cadeia / textolocalizada. Usada como busca se uma chave não for fornecida.</td>
</tr>
<tr>
<td>
<b>Contexto</b>
</td>
<td><code>Biblioteca.string</code></td><td>Um <code>Class.Instance:GetFullName()</code> caminho para o objeto que foi usado para gerar a Tabela de Localização.Usado como uma busca se uma chave não for fornecida.</td>
</tr>
<tr>
<td>
<b>Exemplo</b>
</td>
<td><code>Biblioteca.string</code></td><td>A string usada para formatar a localização. Opcional.</td>
</tr>
<tr>
<td>
<b>Valores</b>
</td>
<td><code>Dicionário</code></td><td>Um dicionário de traduções de linguagem para esta entrada de localização.As chaves deste dicionário são IDs locais e os valores são strings que são usadas para aplicar localização para o idioma correspondente ao ID local.</td>
</tr>
</tbody>
Índice

Devolução

Um conjunto de dicionários, onde cada dicionário representa uma entrada de dados de localização.

Amostras de código

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

Retorna um Translator para entradas nesta Tabela de Localização, na língua especificada.O tradutor primeiro pesquisará nesta tabela e depois olhará nas tabelas de ancestral.

Parâmetros

localeId: string
Valor Padrão: ""

Devolução

RemoveEntry

()

Remove uma entrada da Tabela de Localização, usando o key, source e context especificados para restringir a entrada específica a ser removida.

Parâmetros

key: string
Valor Padrão: ""
source: string
Valor Padrão: ""
context: string
Valor Padrão: ""

Devolução

()

RemoveEntryValue

()

Remove uma única tradução de idioma da Tabela de Localização, usando a fornecida key, source, context e localeId para restringir a entrada específica a ser removida.

Parâmetros

key: string
Valor Padrão: ""
source: string
Valor Padrão: ""
context: string
Valor Padrão: ""
localeId: string
Valor Padrão: ""

Devolução

()

RemoveTargetLocale

()

Remove todas as traduções da Tabela de Localização com o idioma especificado localId.

Parâmetros

localeId: string
Valor Padrão: ""

Devolução

()

SetEntries

()

Define o conteúdo da Tabela de Localização.

O parâmetro de entradas deve ser um array de dicionários no mesmo formato que o retornado da função LocalizationTable:GetEntries().

Parâmetros

entries: Variant
Valor Padrão: ""

Devolução

()

SetEntryContext

()

Define o campo Contexto de uma entrada da Tabela de Localização para newContext , usando o especificado key , source e context para restringir a entrada que terá essa alteração aplicada.

Parâmetros

key: string
Valor Padrão: ""
source: string
Valor Padrão: ""
context: string
Valor Padrão: ""
newContext: string
Valor Padrão: ""

Devolução

()

SetEntryExample

()

Define o campo Exemplo de uma entrada da Tabela de Localização para example, usando o key, source e context para restringir a entrada que terá essa alteração aplicada.

Parâmetros

key: string
Valor Padrão: ""
source: string
Valor Padrão: ""
context: string
Valor Padrão: ""
example: string
Valor Padrão: ""

Devolução

()

SetEntryKey

()

Define o campo Chave de uma entrada da Tabela de Localização para newKey , usando o especificado key, source e context para restringir a entrada que terá essa alteração aplicada.

Parâmetros

key: string
Valor Padrão: ""
source: string
Valor Padrão: ""
context: string
Valor Padrão: ""
newKey: string
Valor Padrão: ""

Devolução

()

SetEntrySource

()

Define o campo Fonte de uma entrada da Tabela de Localização para newSource , usando o especificado key, source e context para restringir a entrada que terá essa alteração aplicada.

Parâmetros

key: string
Valor Padrão: ""
source: string
Valor Padrão: ""
context: string
Valor Padrão: ""
newSource: string
Valor Padrão: ""

Devolução

()

SetEntryValue

()

Define o texto do local especificadoId em uma entrada da Tabela de Localização, usando o especificado key, source e context para restringir a entrada que terá essa alteração aplicada.

Parâmetros

key: string
Valor Padrão: ""
source: string
Valor Padrão: ""
context: string
Valor Padrão: ""
localeId: string
Valor Padrão: ""
text: string
Valor Padrão: ""

Devolução

()

Eventos