LocalizationTable
*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
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
Proprietà
Il locale delle stringhe di origine.
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.
Rimuove un'entrata dalla tabella di localizzazione, utilizzando l'appropriato key , source e context per restringere l'entrata specifica da rimuovere.
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.
Rimuove tutte le traduzioni dalla tabella di localizzazione con l'ID locale specificato.
Imposta il contenuto della tabella di localizzazione.
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.
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.
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.
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.
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
Metodi
GetEntries
Restituzioni
Campioni di codice
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