LocalizationTable

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Un LocalizationTable è un database di traduzioni. Contiene stringhe di origine e traduzioni per varie lingue. È utilizzato con il Translator e il LocalizationService sistema di auto-traduzione per controllare le traduzioni di testo nel Gioco. Le tabelle di localizzazione sono progettate per essere trattate come risorse

Ingressi della tabella di localizzazione

Ogni tavolo di localizzazione contiene un insieme di entrate. Ogni ingresso contiene le traduzioni del testo, oltre a alcuni campi speciali:

  • Key è una chiave opzionale unica per lookup di hashing rapidi in codice. Se non è vuota deve essere unica nel tabella.
  • La fonte è il testo originale nella lingua di origine che verrà utilizzato dal sistema di sostituzione automatico Class.LocalizationService per corrispondere al testo GUI e rendere una traduzione invece. Il campo Fonte può essere riempito dalle strumente di cattura del testo, o può essere impostato manualmente. Per
  • Il contexto è il nome completo dell'istanza per l'oggetto su cui il testo è apparso. Il contexto viene utilizzato per la disambigua dal sistema di sostituzione del testo automatico. Quando vengono trovati più corrispondenti per la fonte, il sistema sceglierà il migliore corrispondente facendo matchback dall'end del testo della Stringa. Ci sono anche altri modi più robusti per gestire la disambigua disponibili, come util
  • L'esempio è qualsiasi cosa tu voglia che sia. Se lo strumento di cattura del testo indovina alcuni parametri per una stringa, l'esempio campo contiene un esempio di loro usati in contesto.

Tutti questi campi sono opzionali, ma almeno uno dei due campi deve essere non vuoto. Non possono esserci due registri con gli stessi chiavi, sorgenti e contesti.

Vedi Traduzione del contenuto dinamico per ulteriori informazioni.

Campioni di codice

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

Sommario

Metodi

  • Restituisce un array di dizionari, in cui ogni dizionario rappresenta un'entry di dati di localizzazione.

  • Restituisce un Translator per gli elementi in questa tavola di localizzazione, nella lingua specificata.

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

    Rimuove un elemento dalla tabella di localizzazione, utilizzando il key specificato, source e context per restringere l'elemento specifico da rimuovere.

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

    Rimuove una sola traduzione di lingua dalla Tabella di localizzazione, utilizzando il key fornito, source , context , 2> Context2> e 5> localId5> per ridurre l'entrata specifica da rimuovere.

  • RemoveTargetLocale(localeId : string):void

    Rimuove tutte le traduzioni dalla Tabella di localizzazione con l'ID della lingua specificato.

  • SetEntries(entries : Variant):void

    Imposta i contenuti della Tabella di localizzazione.

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

    Imposta il campo Contesto di un'entrata di LocalizationTable su newContext , utilizzando il key specificato, 1> Sorgente1> e 4> text4> per restringere l'entrata che avrà questo cambiamento applicato.

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

    Imposta il campo Esempio di una riga di un tavolo di localizzazione su example , utilizzando il key specificato, 1> Sorgente1> e 4> context4> per restringere l'entrata che avrà questo cambiamento applicato.

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

    Imposta il campo Chiave di una riga di tavola localizzazione su newKey , utilizzando il key specificato , 1> Sorgente1> e 4> context4> per ridurre l'ingresso che avrà questo cambiamento applicato.

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

    Imposta il campo Fonte di una riga di tavolo di localizzazione su newSource , utilizzando il key specificato, 1> Sorgente1> e 4> context4> per restringere l'elemento che avrà questo cambiamento applicato.

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

    Imposta il testo della specifica localeId in una voce di tavola di localizzazione, utilizzando il key specificato, source e context per restringere l'elemento che avrà questo cambiamento applicato.

Proprietà

SourceLocaleId

Lettura Parallela

La lingua Roblox delle stringhe di input per questa tabella, ad esempio "en-us" o "es-es." Questo è tipicamente il "lingue di sviluppo" del Gioco. Per un Translator che unisce più oggetti di tavola di localizzazione, è il LocaleId della tabella di localizzazione predefinita. Le predefinizioni sono "en-us".

Metodi

GetEntries

La funzione GetCommands restituisce un array di dizionari contenuti in un determinato LocalizationTable , in cui ogni dizionario rappresenta un'entrata di dati di localizzazione.

Per impostare le entradi di un LocalizationTable, puoi usare LocalizationTable:SetEntries() .

Ogni dizionario nell' array contiene i seguenti campi:


<tbody>
<tr>
<td>
<b>Chiave</b>
</td>
<td><code>Library.string</code></td>
<td>Una chiave di ricerca per questo specifico record nella Tabella di localizzazione.</td>
</tr>
<tr>
<td>
<b>Fonte</b>
</td>
<td><code>Library.string</code></td>
<td>La stringa utilizzata per formattare la Stringalocalizzata. Utilizzata come ricerca se non viene fornito una chiave.</td>
</tr>
<tr>
<td>
<b>Contesto</b>
</td>
<td><code>Library.string</code></td>
<td>Un <code>Class.Instance:GetFullName()</code> per l'oggetto che è stato utilizzato per generare la Tabella di localizzazione. Utilizzato come riferimento se non è fornito una chiave.</td>
</tr>
<tr>
<td>
<b>Esempio</b>
</td>
<td><code>Library.string</code></td>
<td>La stringa usata per formattare la Localizzazione. Opzionale.</td>
</tr>
<tr>
<td>
<b>Valori</b>
</td>
<td><code>Dizionario</code></td>
<td>Un dizionario delle traduzioni di linguaggio per questa voce di localizzazione. Le chiavi di questo dizionario sono gli ID della lingua e i valori sono stringhe che vengono utilizzate per applicare la localizzazione per la lingua corrispondente all'ID della lingua.</td>
</tr>
</tbody>
IndiceTipoDescrizione

Restituzioni

Un array di dizionari, in cui ogni dizionario rappresenta un'entrata di dati di localizzazione.

Campioni di codice

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

Restituisce un Translator per gli elementi in questa tabella di localizzazione, nella lingua specificata. Il traduttore cercherà prima in questa tabella e poi guarderà nelle tabelle antenate.

Parametri

localeId: string

Restituzioni

RemoveEntry

void

Rimuove un elemento dalla tabella di localizzazione, utilizzando il key specificato, source e context per restringere l'elemento specifico da rimuovere.

Parametri

key: string
source: string
context: string

Restituzioni

void

RemoveEntryValue

void

Rimuove una sola traduzione di lingua dalla Tabella di localizzazione, utilizzando il key fornito, source , context , 2> Context2> e 5> localId5> per ridurre l'entrata specifica da rimuovere.

Parametri

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

Restituzioni

void

RemoveTargetLocale

void

Rimuove tutte le traduzioni dalla Tabella di localizzazione con l'ID della lingua specificato.

Parametri

localeId: string

Restituzioni

void

SetEntries

void

Imposta i contenuti della Tabella di localizzazione.

Il parametro delle entradi dovrebbe essere un'arrangione di dizionari nello stesso formato della funzione LocalizationTable:GetEntries() .

Parametri

entries: Variant

Restituzioni

void

SetEntryContext

void

Imposta il campo Contesto di un'entrata di LocalizationTable su newContext , utilizzando il key specificato, 1> Sorgente1> e 4> text4> per restringere l'entrata che avrà questo cambiamento applicato.

Parametri

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

Restituzioni

void

SetEntryExample

void

Imposta il campo Esempio di una riga di un tavolo di localizzazione su example , utilizzando il key specificato, 1> Sorgente1> e 4> context4> per restringere l'entrata che avrà questo cambiamento applicato.

Parametri

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

Restituzioni

void

SetEntryKey

void

Imposta il campo Chiave di una riga di tavola localizzazione su newKey , utilizzando il key specificato , 1> Sorgente1> e 4> context4> per ridurre l'ingresso che avrà questo cambiamento applicato.

Parametri

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

Restituzioni

void

SetEntrySource

void

Imposta il campo Fonte di una riga di tavolo di localizzazione su newSource , utilizzando il key specificato, 1> Sorgente1> e 4> context4> per restringere l'elemento che avrà questo cambiamento applicato.

Parametri

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

Restituzioni

void

SetEntryValue

void

Imposta il testo della specifica localeId in una voce di tavola di localizzazione, utilizzando il key specificato, source e context per restringere l'elemento che avrà questo cambiamento applicato.

Parametri

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

Restituzioni

void

Eventi