LocalizationTable
*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
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
Właściwości
Lokalizacja strun źródłowych.
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.
Usuwa wpis z tabeli lokalizacji, używając określonego key , source i context , aby ograniczyć konkretny wpis do usunięcia.
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.
Usuwa wszystkie tłumaczenia z tabeli lokalizacji z określonym ID lokalizacji.
Ustawia zawartość tabeli lokalizacji.
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ę.
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ę.
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ę.
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ę.
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
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.
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
Zwroty
RemoveEntry
Usuwa wpis z tabeli lokalizacji, używając określonego key , source i context , aby ograniczyć konkretny wpis do usunięcia.
Parametry
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
Zwroty
RemoveTargetLocale
Usuwa wszystkie tłumaczenia z tabeli lokalizacji z określonym ID lokalizacji.
Parametry
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
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
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
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
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
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ę.