LocalizationTable

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Tabela lokalizacji jest bazą danych tłumaczeń.Zawiera źródłowe struny i tłumaczenia na różne języki.Używany jest z systemem tłumaczenia automatycznego Translator i LocalizationService do kontroli tłumaczeń tekstu w grze.Tabele lokalizacji są przeznaczone do traktowania jako zasoby, takie jak tekstura lub skrypt.Nie są optymalizowane do modyfikacji podczas uruchamiania.Zmiana zawartości tabeli spowoduje, że cała zawartość tabeli zostanie replikowana do wszystkich graczy.

Wpisy w tabeli lokalizacji

Każda tabela lokalizacji zawiera zestaw wpisów. Każdy wpis zawiera tłumaczenia tekstu wraz z niektórymi specjalnymi polami:

  • Klucz jest opcjonalnym unikalnym kluczem do szybkich wyszukiwań haszy w kodzie. Jeśli nie jest pusty, musi być unikalny w tabeli.
  • Źródło to oryginalny tekst w języku źródłowym, który zostanie wykorzystany przez system automatycznej wymiany tekstu LocalizationService, aby dopasować tekst GUI i zamiast tego renderować tłumaczenie.Pole Źródło może być wypełnione przez narzędzia do wyszukiwania tekstu, lub można je ustawić ręcznie.Dla wyszukiwań opartych na kluczach wartość Źródło może być używana jako tłumaczenie dla LocalizationTable.SourceLocaleId jeśli wpis nie ma tłumaczenia dla tego języka.Jeśli źródło jest puste, wpis nie zostanie wykorzystany przez system automatycznego zastępowania.
  • Kontekst to pełna nazwa instancji dla obiektu, na którym pojawił się tekst.Kontekst jest używany do rozróżniania przez system automatycznego zamieniania tekstu.Gdy znalezione zostaną wielokrotne dopasowania do Źródła, system wybierze najlepsze dopasowanie, odwracając się od końca ciągu Kontekstu.Istnieją również inne bardziej solidne sposoby radzenia sobie z rozróżnieniem dostępne, takie jak używanie wielu tabel z GuiBase2d.RootLocalizationTable .
  • Przykład jest tym, czym chcesz, aby był.Jeśli narzędzie do wyszukiwania tekstu zgadnęło niektóre parametry dla ciągu, pole Przykład będzie zawierać przykład ich użycia w kontekście.

Wszystkie te pola są opcjonalne, ale przynajmniej klucz lub źródło musi być niepróżniowe. Żadne dwie wpisy nie mogą mieć tego samego klucza, źródła i kontekstu.

Zobacz Tłumaczenie dynamicznej zawartości po więcej informacji.

Przykłady kodu

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

Podsumowanie

Metody

  • Zwraca tablicę słowników, w której każdy słownik reprezentuje wpis danych lokalizacji.

  • Zwraca Translator dla wpisów w tej tabeli lokalizacji, w określonym języku.

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

    Usuwa wpis z tabeli lokalizacji, używając określonego key , source i context , aby ograniczyć konkretny wpis do usunięcia.

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

    Usuwa pojedyncze tłumaczenie językowe z tabeli lokalizacji, używając dostarczonego key , source , context i localeId , aby ograniczyć konkretną pozycję do usunięcia.

  • RemoveTargetLocale(localeId : string):()

    Usuwa wszystkie tłumaczenia z tabeli lokalizacji z określonym ID lokalizacji.

  • SetEntries(entries : Variant):()

    Ustawia zawartość tabeli lokalizacji.

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

    Ustawia pole Kontekst w polu LocalizationTable wejścia na newContext , używając określonego key, source i context , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

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

    Ustawia pole Przykład w polu LocalizationTable na , używając określonego , i , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

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

    Ustawia pole Klucz w polu LocalizationTable entry na newKey , używając określonego key, source i context , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

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

    Ustawia pole Źródło w polu LocalizationTable na newSource , używając określonego key, source i context , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

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

    Ustawia tekst określonego lokalnego ID w wpisie w tabeli lokalizacji, używając określonych key, source i context , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

Właściwości

SourceLocaleId

Odczyt równoległy

Lokalizacja Roblox kluczy wejściowych dla tej tabeli, na przykład "en-us" lub "es-es". Zazwyczaj jest to "język rozwoju" gra.Dla tłumacza, który łączy wiele obiektów LocalizationTable, jest to lokalna identyfikacja domyślnego tablicy lokalizacji.Domyślnie do "en-us".

Metody

GetEntries

Funkcja GetEntries zwraca tablicę słowników zawartych w danym LocalizationTable, gdzie każdy słownik reprezentuje wpis danych lokalizacji.

Aby ustawić wpisy w tabeli lokalizacji, możesz użyć LocalizationTable:SetEntries().

Każda słownik w arcu zawiera następujące pola:


<th>Typ</th>
<th>Opis</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>Klucz</b>
</td>
<td><code>Library.string</code> ></td><td>Klucz wyszukiwania dla tego konkretnego wpisu w tabeli lokalizacji.</td>
</tr>
<tr>
<td>
<b>Źródło</b>
</td>
<td><code>Biblioteka.string</code> ></td><td>String używany do formatowania lokalizowanej ciąg. Używany jako wyszukiwanie, jeśli klucz nie zostanie podany.</td>
</tr>
<tr>
<td>
<b>Kontekst</b>
</td>
<td><code>Biblioteka.string</code> ></td><td>Ścieżka <code>Class.Instance:GetFullName()</code> do obiektu, który został użyty do generowania Tabeli Lokalizacji.Używany jako wyszukiwanie, jeśli klucz nie jest podany.</td>
</tr>
<tr>
<td>
<b>Przykład</b>
</td>
<td><code>Biblioteka.string</code></td><td>String używany do formatowania lokalizacja. Opcjonalnie.</td>
</tr>
<tr>
<td>
<b>Wartości</b>
</td>
<td><code>Słownik</code></td><td>Słownik tłumaczeń językowych dla tej lokalizacji.Klucze tego słownika są lokalnymi identyfikatorami, a wartości są strunami, które są używane do zastosowania lokalizacji dla języka odpowiadającego lokalnemu ID.</td>
</tr>
</tbody>
Indeks

Zwroty

Zbiór słowników, w którym każdy słownik reprezentuje wpis danych lokalizacji.

Przykłady kodu

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

Zwraca Translator dla wpisów w tej tabeli lokalizacji, w określonym języku.Tłumacz najpierw wyszuka w tej tabeli, a następnie spojrzy na tabele przodków.

Parametry

localeId: string
Wartość domyślna: ""

Zwroty

RemoveEntry

()

Usuwa wpis z tabeli lokalizacji, używając określonego key , source i context , aby ograniczyć konkretny wpis do usunięcia.

Parametry

key: string
Wartość domyślna: ""
source: string
Wartość domyślna: ""
context: string
Wartość domyślna: ""

Zwroty

()

RemoveEntryValue

()

Usuwa pojedyncze tłumaczenie językowe z tabeli lokalizacji, używając dostarczonego key , source , context i localeId , aby ograniczyć konkretną pozycję do usunięcia.

Parametry

key: string
Wartość domyślna: ""
source: string
Wartość domyślna: ""
context: string
Wartość domyślna: ""
localeId: string
Wartość domyślna: ""

Zwroty

()

RemoveTargetLocale

()

Usuwa wszystkie tłumaczenia z tabeli lokalizacji z określonym ID lokalizacji.

Parametry

localeId: string
Wartość domyślna: ""

Zwroty

()

SetEntries

()

Ustawia zawartość tabeli lokalizacji.

Parametr wejść powinien być tablicą słowników w tym samym formacie, co ten, który został zwrócony z funkcją LocalizationTable:GetEntries().

Parametry

entries: Variant
Wartość domyślna: ""

Zwroty

()

SetEntryContext

()

Ustawia pole Kontekst w polu LocalizationTable wejścia na newContext , używając określonego key, source i context , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

Parametry

key: string
Wartość domyślna: ""
source: string
Wartość domyślna: ""
context: string
Wartość domyślna: ""
newContext: string
Wartość domyślna: ""

Zwroty

()

SetEntryExample

()

Ustawia pole Przykład w polu LocalizationTable na , używając określonego , i , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

Parametry

key: string
Wartość domyślna: ""
source: string
Wartość domyślna: ""
context: string
Wartość domyślna: ""
example: string
Wartość domyślna: ""

Zwroty

()

SetEntryKey

()

Ustawia pole Klucz w polu LocalizationTable entry na newKey , używając określonego key, source i context , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

Parametry

key: string
Wartość domyślna: ""
source: string
Wartość domyślna: ""
context: string
Wartość domyślna: ""
newKey: string
Wartość domyślna: ""

Zwroty

()

SetEntrySource

()

Ustawia pole Źródło w polu LocalizationTable na newSource , używając określonego key, source i context , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

Parametry

key: string
Wartość domyślna: ""
source: string
Wartość domyślna: ""
context: string
Wartość domyślna: ""
newSource: string
Wartość domyślna: ""

Zwroty

()

SetEntryValue

()

Ustawia tekst określonego lokalnego ID w wpisie w tabeli lokalizacji, używając określonych key, source i context , aby ograniczyć wpis, który będzie miał zastosowane tę zmianę.

Parametry

key: string
Wartość domyślna: ""
source: string
Wartość domyślna: ""
context: string
Wartość domyślna: ""
localeId: string
Wartość domyślna: ""
text: string
Wartość domyślna: ""

Zwroty

()

Zdarzenia