LocalizationTable

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Una tabla de localización es una base de datos de traducciones.Contiene cadenas de origen y traducciones para varios idiomas.Se usa con el sistema de traductor automático Translator y LocalizationService para controlar las traducciones de texto en el juego.Las tablas de localización están diseñadas para ser tratadas como recursos, como una textura o un script.No están optimizados para ser modificados en tiempo de ejecución.Cambiar el contenido de una tabla hará que todo el contenido de la tabla se re複ique a todos los jugadores.

Entradas de la tabla de localización

Cada tabla de localización contiene un conjunto de entradas. Cada entrada contiene las traducciones del texto, junto con algunos campos especiales:

  • Clave es una clave única opcional para búsquedas de hash rápidas en el código. Si no es vacía, debe ser única en la tabla.
  • Fuente es el texto original en el idioma de origen que será utilizado por el sistema de reemplazo de texto automático LocalizationService para coincidir con el texto de la interfaz de usuario y renderizar una traducción en su lugar.El campo Fuente se puede llenar con las herramientas de captura de texto o se puede configurar manualmente.Para las búsquedas basadas en claves, el valor de Origen se puede usar como traducción para LocalizationTable.SourceLocaleId si la entrada no tiene una traducción para ese idioma.Si el origen está vacío, la entrada no será utilizada por el sistema de reemplazo automático.
  • Contexto es el nombre completo de la instancia para el objeto en el que apareció el texto.El contexto se usa para la desambiguación por el sistema de reemplazo de texto automático.Cuando se encuentran múltiples coincidencias para la fuente, el sistema elegirá la mejor coincidencia al coincidir hacia atrás desde el final de la cadena de contexto.También hay otras formas más robustas de manejar la desambiguación disponibles, como usar múltiples tablas con GuiBase2d.RootLocalizationTable .
  • Ejemplo es lo que quieras que sea.Si la herramienta de captura de texto adivinó algunos parámetros para una cadena, el campo de ejemplo contendrá un ejemplo de ellos utilizados en contexto.

Todos estos campos son opcionales, pero al menos debe ser Key o Source no vacío. No pueden tener dos entradas el mismo Key, Source y Contexto.

Vea Traducir contenido dinámico para obtener más información.

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

Resumen

Propiedades

Métodos

  • Devuelve un array de diccionarios, donde cada diccionario representa una entrada de datos de localización.

  • Devuelve un Translator para entradas en esta tabla de localización, en el idioma especificado.

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

    Elimina una entrada de la tabla de localización, usando el especificado key, source y context para reducir la entrada específica a eliminar.

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

    Elimina una sola traducción de idioma de la tabla de localización, usando la proporcionada key , source , context y localeId para reducir la entrada específica que se eliminará.

  • RemoveTargetLocale(localeId : string):()

    Elimina todas las traducciones de la tabla de localización con el ID de idioma especificado.

  • SetEntries(entries : Variant):()

    Establece el contenido de la tabla de localización.

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

    Establece el campo Contexto de una entrada de mesa de localización a newContext , usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

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

    Establece el campo Ejemplo de una entrada de tabla de localización a example , usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

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

    Establece el campo Clave de una entrada de mesa de localización a newKey , usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

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

    Establece el campo Fuente de una entrada de mesa de localización a newSource , usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

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

    Establece el texto del ID local especificado en una entrada de mesa de localización, usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

Propiedades

SourceLocaleId

Leer paralelo

El local de Roblox de las cadenas de teclas de entrada para esta tabla, por ejemplo "en-us" o "es-es". Esto es típicamente el "idioma de desarrollo" del juego.Para un traductor que fusiona múltiples objetos de tabla de localización, es el idioma de la tabla de localización predeterminada.Por defecto a "en-us".

Métodos

GetEntries

La función GetEntries devuelve un array de diccionarios contenidos en un dado LocalizationTable , donde cada diccionario representa una entrada de datos de localización.

Para establecer las entradas de una tabla de localización, puedes usar LocalizationTable:SetEntries() .

Cada diccionario en el array contiene los siguientes campos:


<th>Tipo</th>
<th>Descripción</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>Llave</b>
</td>
<td><code>Library.string</code></td><td>Una clave de búsqueda para esta entrada específica en la tabla de localización.</td>
</tr>
<tr>
<td>
<b>Fuente</b>
</td>
<td><code>Biblioteca.string</code></td><td>La cadena utilizada para formatear la cadena localizada. Se utiliza como búsqueda si no se proporciona una clave.</td>
</tr>
<tr>
<td>
<b>Contexto</b>
</td>
<td><code>Biblioteca.string</code></td><td>Una ruta <code>Class.Instance:GetFullName()</code> para el objeto que se utilizó para generar la tabla de localización.Se utiliza como búsqueda si no se proporciona una clave.</td>
</tr>
<tr>
<td>
<b>Ejemplo</b>
</td>
<td><code>Biblioteca.string</code></td><td>La cadena utilizada para formatear la localización. Opcional.</td>
</tr>
<tr>
<td>
<b>Valores</b>
</td>
<td><code>Diccionario</code></td><td>Un diccionario de traducciones de lenguaje para esta entrada de localización.Las claves de este diccionario son identificadores locales, y los valores son cadenas que se utilizan para aplicar la localización para el idioma correspondiente al identificador local.</td>
</tr>
</tbody>
Índez

Devuelve

Un conjunto de diccionarios, donde cada diccionario representa una entrada de datos de localización.

Muestras 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

Devuelve un Translator para entradas en esta tabla de localización, en el idioma especificado.El traductor primero buscará en esta tabla y luego mirará en las tablas de ancestros.

Parámetros

localeId: string
Valor predeterminado: ""

Devuelve

RemoveEntry

()

Elimina una entrada de la tabla de localización, usando el especificado key, source y context para reducir la entrada específica a eliminar.

Parámetros

key: string
Valor predeterminado: ""
source: string
Valor predeterminado: ""
context: string
Valor predeterminado: ""

Devuelve

()

RemoveEntryValue

()

Elimina una sola traducción de idioma de la tabla de localización, usando la proporcionada key , source , context y localeId para reducir la entrada específica que se eliminará.

Parámetros

key: string
Valor predeterminado: ""
source: string
Valor predeterminado: ""
context: string
Valor predeterminado: ""
localeId: string
Valor predeterminado: ""

Devuelve

()

RemoveTargetLocale

()

Elimina todas las traducciones de la tabla de localización con el ID de idioma especificado.

Parámetros

localeId: string
Valor predeterminado: ""

Devuelve

()

SetEntries

()

Establece el contenido de la tabla de localización.

El parámetro de entradas debe ser un array de diccionarios en el mismo formato que el devuelto por la función LocalizationTable:GetEntries().

Parámetros

entries: Variant
Valor predeterminado: ""

Devuelve

()

SetEntryContext

()

Establece el campo Contexto de una entrada de mesa de localización a newContext , usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

Parámetros

key: string
Valor predeterminado: ""
source: string
Valor predeterminado: ""
context: string
Valor predeterminado: ""
newContext: string
Valor predeterminado: ""

Devuelve

()

SetEntryExample

()

Establece el campo Ejemplo de una entrada de tabla de localización a example , usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

Parámetros

key: string
Valor predeterminado: ""
source: string
Valor predeterminado: ""
context: string
Valor predeterminado: ""
example: string
Valor predeterminado: ""

Devuelve

()

SetEntryKey

()

Establece el campo Clave de una entrada de mesa de localización a newKey , usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

Parámetros

key: string
Valor predeterminado: ""
source: string
Valor predeterminado: ""
context: string
Valor predeterminado: ""
newKey: string
Valor predeterminado: ""

Devuelve

()

SetEntrySource

()

Establece el campo Fuente de una entrada de mesa de localización a newSource , usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

Parámetros

key: string
Valor predeterminado: ""
source: string
Valor predeterminado: ""
context: string
Valor predeterminado: ""
newSource: string
Valor predeterminado: ""

Devuelve

()

SetEntryValue

()

Establece el texto del ID local especificado en una entrada de mesa de localización, usando el especificado key , source y context para reducir la entrada que tendrá este cambio aplicado.

Parámetros

key: string
Valor predeterminado: ""
source: string
Valor predeterminado: ""
context: string
Valor predeterminado: ""
localeId: string
Valor predeterminado: ""
text: string
Valor predeterminado: ""

Devuelve

()

Eventos