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

Metody

GetEntries


Zwroty

Przykłady kodu

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

Parametry

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

Zwroty

RemoveEntry

()

Parametry

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

Zwroty

()

RemoveEntryValue

()

Parametry

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

Zwroty

()

RemoveTargetLocale

()

Parametry

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

Zwroty

()

SetEntries

()

Parametry

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

Zwroty

()

SetEntryContext

()

Parametry

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

Zwroty

()

SetEntryExample

()

Parametry

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

Zwroty

()

SetEntryKey

()

Parametry

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

Zwroty

()

SetEntrySource

()

Parametry

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

Zwroty

()

SetEntryValue

()

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