LocalizationTable
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Eine Lokalisierungstabelle ist eine Datenbank von Übersetzungen.Es enthält Quelltextzeichen und Übersetzungen für verschiedene Sprachen.Es wird mit dem Translator und LocalizationService Auto-Übersetzer-System verwendet, um Textübersetzungen im Spiel zu kontrollieren.Lokalisierungstabellen sind so konzipiert, dass sie wie Ressourcen behandelt werden, wie eine Textur oder ein Skript, das. PL: die Skripts.Sie sind nicht optimiert, um bei der Laufzeit modifiziert zu werden.Die Änderung des Inhalts einer Tabelle wird dazu führen, dass der gesamte Inhalt der Tabelle auf alle Spieler repliziert wird.
Einträge der Lokalisierungstabelle
Jede Lokalisierungstabelle enthält eine Reihe von Einträgen. Jeder Eintrag enthält die Übersetzungen des Textes, zusammen mit einigen speziellen Feldern:
- Schlüssel ist ein optionaler einzigartiger Schlüssel für schnelle Hash-Abfragen im Codes. Wenn er nicht leer ist, muss er einzigartig in der Tabelle sein.
- Quelle ist der ursprüngliche Text in der Quellsprache, der vom LocalizationService automatischen Textersatzsystem verwendet wird, um GUI-Text zu ersetzen und stattdessen eine Übersetzung zu rendern.Das Quellfeld kann mit den Text-Erfassungswerkzeugen gefüllt werden oder kann manuell festgelegt werden.Für Schlüsselsuchen kann der Source-Wert als Übersetzung für LocalizationTable.SourceLocaleId verwendet werden, wenn der Eintrag keine Übersetzung für dieses Land hat.Wenn die Quelle leer ist, wird der Eintrag vom automatischen Ersetzungssystem nicht verwendet.
- Kontext ist der volle Instanzname für das Objekt, auf dem der Text erschien.Kontext wird zur Dekodierung durch das automatische Textersetzungssystem verwendet.Wenn mehrere Übereinstimmungen für die Quelle gefunden werden, wählt das System die beste Übereinstimmung aus, indem es rückwärts vom Ende der Stringübereinstimmt.Es gibt auch andere robuster Wege zur Abgrenzung zur Verfügung, wie die Verwendung mehrerer Tabellen mit GuiBase2d.RootLocalizationTable.
- Beispiel ist alles, was du sein möchtest.Wenn das Text-Erfassungswerkzeug einige Parameter für einen String errät, enthält das Beispielsfeld ein Beispiel für ihre Verwendung im Kontext.
Alle diese Felder sind optional, aber mindestens ein Schlüssel oder eine Quelle muss nicht leer sein. Keine zwei Einträge können denselben Schlüssel, Quelle und Kontext haben.
Siehe Übersetzen dynamischer Inhalte für weitere Informationen.
Code-Beispiele
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"))
Zusammenfassung
Eigenschaften
Das lokale der Quelltextzeichen.
Methoden
Gibt eine Reihe von Wörterbüchern zurück, in denen jedes Wörterbuch einen Eintrag der Lokalisierungsdaten darstellt.
Gibt eine Translator für Einträge in dieser Lokalisierungstabelle in der angegebenen Sprache zurück.
Entfernt einen Eintrag aus der Lokalisierungstabelle, indem die angegebene key, source und context verwendet werden, um den spezifischen Eintrag zu verengen, der gelöscht werden soll.
Entfernt eine einzige Sprachübersetzung aus der Lokalisierungstabelle, indem die bereitgestellte key , source , context und localeId verwendet werden, um den spezifischen Eintrag zu verengen, der entfernt werden soll.
Entfernt alle Übersetzungen aus der Lokalisierungstabelle mit der angegebenen lokalen ID.
Legt den Inhalt der LocalizationTable fest.
Setzt das Kontextfeld eines Eintrags in einer Lokalisierungstabelle auf newContext, indem die angegebene key, source und context verwendet werden, um den Eintrag einzugrenzen, auf den diese Änderung angewendet werden soll.
Setzt das Feld Beispiel eines Eintrags in einer Lokalisierungstabelle auf example, indem die angegebene key, source und context verwendet werden, um den Eintrag einzugrenzen, der diese Änderung anwenden wird.
Setzt das Schlüsselfeld eines LocalizationTable-Eintrags auf newKey , verwendet die angegebene key , source und context , um den Eintrag einzugrenzen, der diese Änderung anwenden wird.
Setzt das Feld Quelle eines LocalizationTable-Eintrags auf newSource , verwendet die angegebene key , source und context , um den Eintrag einzugrenzen, der diese Änderung anwenden wird.
Legt den Text der angegebenen lokalen ID in einem LocalizationTable-Eintrag fest, mit den angegebenen key, source und context, um den Eintrag einzugrenzen, der diese Änderung anwenden wird.
Eigenschaften
SourceLocaleId
Die Roblox-Lokalisierung der Eingabeschlüsselstreuungen für diese Tabelle, zum Beispiel "en-us" oder "es-es". Dies ist in der Regel die "Entwicklungs Sprache" des Spiels.Für einen Übersetzer, der mehrere Lokalisierungstabellen-Objekte zusammenführt, ist es die LokaleId der Standard-Lokalisierungstabelle.Standard ist "en-us".
Methoden
GetEntries
Die Funktion GetEntries gibt eine Reihe von Wörterbüchern zurück, die in einem bestimmten LocalizationTable enthalten sind, wo jedes Wörterbuch einen Eintrag der Lokalisierungsdaten darstellt.
Um die Einträge einer LocalizationTable festzulegen, kannst du LocalizationTable:SetEntries() verwenden.
Jedes Wörterbuch in der Liste enthält die folgenden Felder:
<th>Typ</th><th>Beschreibung</th></tr></thead><tbody><tr><td><b>Schlüssel</b></td><td><code>Library.string</code> ></td><td>Eine Suchkennung für diesen spezifischen Eintrag in der Lokalisierungstabelle.</td></tr><tr><td><b>Quelle</b></td><td><code>Library.string</code></td><td>Der String, der verwendet wird, um den lokalisierten String zu formatieren. Wird als Suchabfrage verwendet, wenn kein Schlüssel bereitgestellt wird.</td></tr><tr><td><b>Kontext</b></td><td><code>Library.string</code></td><td>Ein <code>Class.Instance:GetFullName()</code> Weg zum Objekt, das verwendet wurde, um die Lokalisierungstabelle zu generieren.Wird als Suchabfrage verwendet, wenn ein Schlüssel nicht bereitgestellt wird.</td></tr><tr><td><b>Beispiel</b></td><td><code>Library.string</code> ></td><td>Der String, der zur Formatierung der Lokalisierung verwendet wird. Optionale.</td></tr><tr><td><b>Werte</b></td><td><code>Wörterbuch</code></td><td>Ein Wörterbuch von Sprachübersetzungen für diesen Lokalisierungseintrag.Die Schlüssel dieses Wörterbuchs sind lokale IDs, und die Werte sind Zeichenketten, die zur Anwendung der Lokalisierung für die Sprache verwendet werden, die der lokalen ID entspricht.</td></tr></tbody>
Index |
---|
Rückgaben
Ein Array von Dictionaries, in dem jedes Dictionary einen Eintrag der Lokalisierungsdaten darstellt.
Code-Beispiele
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.
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
Gibt eine Translator für Einträge in dieser Lokalisierungstabelle in der angegebenen Sprache zurück.Der Übersetzer sucht zuerst in dieser Tabelle und schaut dann in Vorfahren-Tabellen.
Parameter
Rückgaben
RemoveEntry
Entfernt einen Eintrag aus der Lokalisierungstabelle, indem die angegebene key, source und context verwendet werden, um den spezifischen Eintrag zu verengen, der gelöscht werden soll.
Parameter
Rückgaben
RemoveEntryValue
Entfernt eine einzige Sprachübersetzung aus der Lokalisierungstabelle, indem die bereitgestellte key , source , context und localeId verwendet werden, um den spezifischen Eintrag zu verengen, der entfernt werden soll.
Parameter
Rückgaben
RemoveTargetLocale
Entfernt alle Übersetzungen aus der Lokalisierungstabelle mit der angegebenen lokalen ID.
Parameter
Rückgaben
SetEntries
Legt den Inhalt der LocalizationTable fest.
Der Eintrags参数 sollte ein Array von Dictionären in demselben Format sein wie der, der aus der LocalizationTable:GetEntries() -Funktion zurückgegeben wurde.
Parameter
Rückgaben
SetEntryContext
Setzt das Kontextfeld eines Eintrags in einer Lokalisierungstabelle auf newContext, indem die angegebene key, source und context verwendet werden, um den Eintrag einzugrenzen, auf den diese Änderung angewendet werden soll.
Parameter
Rückgaben
SetEntryExample
Setzt das Feld Beispiel eines Eintrags in einer Lokalisierungstabelle auf example, indem die angegebene key, source und context verwendet werden, um den Eintrag einzugrenzen, der diese Änderung anwenden wird.
Parameter
Rückgaben
SetEntryKey
Setzt das Schlüsselfeld eines LocalizationTable-Eintrags auf newKey , verwendet die angegebene key , source und context , um den Eintrag einzugrenzen, der diese Änderung anwenden wird.
Parameter
Rückgaben
SetEntrySource
Setzt das Feld Quelle eines LocalizationTable-Eintrags auf newSource , verwendet die angegebene key , source und context , um den Eintrag einzugrenzen, der diese Änderung anwenden wird.
Parameter
Rückgaben
SetEntryValue
Legt den Text der angegebenen lokalen ID in einem LocalizationTable-Eintrag fest, mit den angegebenen key, source und context, um den Eintrag einzugrenzen, der diese Änderung anwenden wird.