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 diversi linguaggi.Viene utilizzato con il sistema di traduttore automatico Translator e LocalizationService per controllare le traduzioni del testo nel Gioco.Le tabelle di localizzazione sono progettate per essere trattate come risorse, come una texture o uno script.Non sono ottimizzati per essere modificati in Tempo esecuzione.Cambiare i contenuti di una tabella causerà la replicazione di tutti i contenuti della tabella a tutti i giocatori.

Entrate della tabella di localizzazione

Ogni LocalizationTable contiene un insieme di voci. Ogni voce contiene le traduzioni del testo, insieme a alcuni campi speciali:

  • Chiave è una chiave opzionale unica per le ricerche di hash rapide nel codice. Se non è vuota deve essere unica nella tabella.
  • Fonte è il testo originale nella lingua di origine che verrà utilizzato dal sistema di sostituzione del testo automatico LocalizationService per abbinare il testo GUI e rendere una traduzione invece.Il campo Fonte può essere riempito dagli strumenti di cattura del testo, o può essere impostato manualmente.Per le ricerche basate sulla chiave, il valore Fonte può essere utilizzato come traduzione per LocalizationTable.SourceLocaleId se l'entrata non ha una traduzione per quel locale.Se la fonte è vuota allora l'entrata non verrà utilizzata dal sistema di sostituzione automatico.
  • Contesto è il nome completo dell'istanza per l'oggetto su cui è apparso il testo.Il contesto viene utilizzato per la disambiguazione dal sistema di sostituzione del testo automatico.Quando vengono trovati più abbinamenti per la Fonte, il sistema sceglierà il miglior abbinamento corrispondendo all'indietro dalla fine della Stringadel contesto.Ci sono altri modi più robusti per gestire la disambiguazione disponibili anche, come l'utilizzo di più tabelle con GuiBase2d.RootLocalizationTable .
  • Esempio è tutto ciò che vuoi che sia.Se lo strumento di cattura del testo ha indovinato alcuni parametri per una stringa, il campo di esempio conterrà un esempio di loro utilizzati in contesto.

Tutti questi campi sono opzionali, ma almeno una chiave o una fonte deve essere non vuota. Non possono esserci due entrate con la stessa chiave, fonte e contesto.

Vedi Tradurre 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'entrata di dati di localizzazione.

  • Restituisce un Translator per le entrate in questo LocalizationTable, nella lingua specificata.

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

    Rimuove un'entrata dalla tabella di localizzazione, utilizzando l'appropriato key , source e context per restringere l'entrata specifica da rimuovere.

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

    Rimuove una singola traduzione in lingua dalla tabella di localizzazione, utilizzando il fornito key , source , context e localeId per restringere l'ingresso specifico da rimuovere.

  • RemoveTargetLocale(localeId : string):()

    Rimuove tutte le traduzioni dalla tabella di localizzazione con l'ID locale specificato.

  • SetEntries(entries : Variant):()

    Imposta il contenuto della tabella di localizzazione.

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

    Imposta il campo Contesto di un'entrata di LocalizationTable a newContext , utilizzando l'key , source e context per restringere l'entrata che avrà questo cambiamento applicato.

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

    Imposta il campo Esempio di un'entrata di LocalizationTable a example, utilizzando l' specificato key, source e context per restringere l'entrata che avrà questo cambiamento applicato.

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

    Imposta il campo Chiave di un'entrata di LocalizationTable a newKey , utilizzando l' specificato key , source e context per restringere l'entrata che avrà questo cambiamento applicato.

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

    Imposta il campo Fonte di un'entrata di LocalizationTable a newSource , utilizzando l'key , source e context per restringere l'entrata che avrà questo cambiamento applicato.

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

    Imposta il testo dell'ID locale specificato in un'entrata della tabella di localizzazione, utilizzando il key , source e context per restringere l'entrata che avrà questo cambiamento applicato.

Proprietà

SourceLocaleId

Lettura Parallela

Il locale Roblox delle stringhe di input della chiave per questa tabella, ad esempio "en-us" o "es-es". Questo è tipicamente il "linguaggio di sviluppo" del Gioco.Per un Traduttore che integra più oggetti di LocalizationTable, è l'Id locale del LocalizationTable predefinito.Predefinito per "en-us".

Metodi

GetEntries

La funzione GetEntries restituisce un array di dizionari contenuti in un dato LocalizationTable , dove ogni dizionario rappresenta un'entrata di dati di localizzazione.

Per impostare gli elementi di una tabella di localizzazione, puoi usare LocalizationTable:SetEntries() .

Ogni dizionario nell'array contiene i seguenti campi:


<th>Tipo</th>
<th>Descrizione</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>Chiave</b>
</td>
<td><code>Library.string</code></td><td>Una chiave di ricerca per questa specifica entry 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 una chiave non viene fornita.</td>
</tr>
<tr>
<td>
<b>Contesto</b>
</td>
<td><code>Library.string</code></td><td>Un <code>Class.Instance:GetFullName()</code> percorso per l'oggetto che è stato utilizzato per generare la tabella di localizzazione.Utilizzato come look up se una chiave non viene fornita.</td>
</tr>
<tr>
<td>
<b>Esempio</b>
</td>
<td><code>Library.string</code></td><td>La stringa utilizzata per formattare la Localizzazione. Opzionale.</td>
</tr>
<tr>
<td>
<b>Valori</b>
</td>
<td><code>Dizionario</code></td><td>Un dizionario di traduzioni di lingua per questa voce di localizzazione locale.Le chiavi di questo dizionario sono gli ID locali e i valori sono stringhe che vengono utilizzate per applicare la localizzazione per la lingua corrispondente all'ID locale.</td>
</tr>
</tbody>
Indice

Restituzioni

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

Campioni di codice

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

Restituisce un Translator per le entrate in questo LocalizationTable, nella lingua specificata.Il traduttore cercherà prima in questa tabella e poi guarderà nelle tabelle degli antenati.

Parametri

localeId: string
Valore predefinito: ""

Restituzioni

RemoveEntry

()

Rimuove un'entrata dalla tabella di localizzazione, utilizzando l'appropriato key , source e context per restringere l'entrata specifica da rimuovere.

Parametri

key: string
Valore predefinito: ""
source: string
Valore predefinito: ""
context: string
Valore predefinito: ""

Restituzioni

()

RemoveEntryValue

()

Rimuove una singola traduzione in lingua dalla tabella di localizzazione, utilizzando il fornito key , source , context e localeId per restringere l'ingresso specifico da rimuovere.

Parametri

key: string
Valore predefinito: ""
source: string
Valore predefinito: ""
context: string
Valore predefinito: ""
localeId: string
Valore predefinito: ""

Restituzioni

()

RemoveTargetLocale

()

Rimuove tutte le traduzioni dalla tabella di localizzazione con l'ID locale specificato.

Parametri

localeId: string
Valore predefinito: ""

Restituzioni

()

SetEntries

()

Imposta il contenuto della tabella di localizzazione.

Il parametro delle entrate dovrebbe essere un'array di dizionari con lo stesso formato di quello restituito dalla funzione LocalizationTable:GetEntries().

Parametri

entries: Variant
Valore predefinito: ""

Restituzioni

()

SetEntryContext

()

Imposta il campo Contesto di un'entrata di LocalizationTable a newContext , utilizzando l'key , source e context per restringere l'entrata che avrà questo cambiamento applicato.

Parametri

key: string
Valore predefinito: ""
source: string
Valore predefinito: ""
context: string
Valore predefinito: ""
newContext: string
Valore predefinito: ""

Restituzioni

()

SetEntryExample

()

Imposta il campo Esempio di un'entrata di LocalizationTable a example, utilizzando l' specificato key, source e context per restringere l'entrata che avrà questo cambiamento applicato.

Parametri

key: string
Valore predefinito: ""
source: string
Valore predefinito: ""
context: string
Valore predefinito: ""
example: string
Valore predefinito: ""

Restituzioni

()

SetEntryKey

()

Imposta il campo Chiave di un'entrata di LocalizationTable a newKey , utilizzando l' specificato key , source e context per restringere l'entrata che avrà questo cambiamento applicato.

Parametri

key: string
Valore predefinito: ""
source: string
Valore predefinito: ""
context: string
Valore predefinito: ""
newKey: string
Valore predefinito: ""

Restituzioni

()

SetEntrySource

()

Imposta il campo Fonte di un'entrata di LocalizationTable a newSource , utilizzando l'key , source e context per restringere l'entrata che avrà questo cambiamento applicato.

Parametri

key: string
Valore predefinito: ""
source: string
Valore predefinito: ""
context: string
Valore predefinito: ""
newSource: string
Valore predefinito: ""

Restituzioni

()

SetEntryValue

()

Imposta il testo dell'ID locale specificato in un'entrata della tabella di localizzazione, utilizzando il key , source e context per restringere l'entrata che avrà questo cambiamento applicato.

Parametri

key: string
Valore predefinito: ""
source: string
Valore predefinito: ""
context: string
Valore predefinito: ""
localeId: string
Valore predefinito: ""
text: string
Valore predefinito: ""

Restituzioni

()

Eventi