LocalizationTable
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một bảng dịch là một cơ sở dữ liệu của các bản dịch. Nó chứa các chuỗi nguồn và bản dịch cho các ngôn ngữ khác nhau. Nó được sử dụng với hệ thống Class.Translator
Nhập bảng dịch
Mỗi bảng dịch địa lý đều có một bộ dữ liệu. Mỗi bảng dịch đều chứa các bản dịch của văn bản, cùng với một số trường đặc biệt:
- Key là một chìa khóa mở khóa tùy chọn cho các hành động nhanh chóng tìm kiếm mật mã trong mã. Nếu nó không rỗi thì nó phải là chìa khóa độc nhất trong bảng.
- Nguồn là văn bản nguyên bản trong ngôn ngữ nguồn mà sẽ được sử dụng bởi hệ thống LocalizationService thay thế văn bản tự động để khớ
- Context là tên Instanhữu từng câu chữ xuất hiện trên nó. Context được sử dụng cho mục đích tranh nhầm bởi hệ thống thay chữ tự động. Khi nhiều kết quả trùng với nguồn, hệ thống sẽ chọn kết quả tốt nhấ
- Ví dụ là bất cứ thứ gì bạn muốn nó là. Nếu công cụ bắt chữ ký tự nào cho một dòng chuỗi, thì trường Ví dụ sẽ chứa một ví dụ của chúng được sử dụng trong ngữ cảnh.
Tất cả các trường này là tùy chọn, nhưng ít nhất một trong các trường Key hoặc Source phải không rỗi. Không có hai mục trùng hợp Key, Source và Context.
Xem Dịch nội dung động để biết thêm thông tin.
Mẫu mã
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"))
Tóm Tắt
Thuộc Tính
Cấu hình của các dòng mã nguồn.
Phương Pháp
Trả lại một dàn bảng từ điển, mỗi bảng từ điển đại diện cho một hàng dữ liệu địa hình.
Trả lại một Translator cho các mục trong bảng dịch này, trong ngôn ngữ được xác định.
Loại bỏ một mục từ bảng localization, sử dụng các tham chiếu được quy định key, source và context để thu nhỏ các mục để được xóa.
Loại bỏ một ngôn ngữ duy nhất từ Bảng dịch, bằng cách sử dụng các key, source, context và 2> context2> cung cấp, và 5>localId5> để thu nhỏ vào mục để được xóa.
Loại bỏ tất cả các bản dịch từ Bảng localization với ngôn ngữ được chỉ định.
Đặt nội dung của bảng localization.
Đặt trường Bối cảnh của một mục trong bảng dữ liệu LocalizationTable để newContext , bằng cách sử dụng chìa khóa, 2> nguồn2> và 5> text5> để thu nhỏ kết quả sẽ áp dụng thay đổi này.
Đặt trường Ví dụ của một mục trong bảng dữ liệu localization lên example , bằng cách sử dụng key , 1> nguồn1> và 4> context4> để thu nhỏ những hàng nào có thay đổi được áp dụng.
Đặt trường Chìa khóa của một hàng trong bảng dữ liệu localization lên newKey , bằng cách sử dụng key được định nghĩa, 1> nguồn1> và 4> context4> để hạn chế những hàng có thay đổi được áp dụng.
Đặt trường Nguồn của một mục trong bảng dữ liệu localization lên newSource , bằng cách sử dụng key , 1> nguồn1> và 4> context4> để thu nhỏ kết quả sẽ áp dụng thay đổi này.
Đặt chữ vào bảng dữ liệu localizationTable bằng cách sử dụng chìa khóa key, source và context để hạn chế những hàng nhận được thay đổi này được áp dụng.
Thuộc Tính
SourceLocaleId
Nơi bản địa của các dòng chuỗi nhập cho bảng này, ví dụ "en-us" hoặc "es-es." Đây thường là "ngôn ngữ phát triển" của trò chơi. Đối với một Translator hợp nhất nhiều các thống kê bản địa hóa của bảng dữ liệu, nó là "IdLoca
Phương Pháp
GetEntries
Hàm GetCommands trả về một dàn bảng từ điển được chứa trong một LocalizationTable, trong đó mỗi từ điển đại diện cho một hàng dữ liệu địa phương hóa.
Để cài đặt các mục của bảng LocalizationTable, bạn có thể sử dụng LocalizationTable:SetEntries() .
Mỗi bảng từ điển trong hàng đều chứa các trường sau đây:
<tbody><tr><td><b>Chìa khóa</b></td><td><code>Library.string</code></td><td>Một chìa khóa tìm kiếm cho mục này trong bảng dịch.</td></tr><tr><td><b>Nguồn</b></td><td><code>Library.string</code></td><td>Chuỗi được sử dụng để tạo dạng chuỗi địa phương. Được sử dụng như một mẫu nếu không cung cấp một chìa khóa.</td></tr><tr><td><b>context</b></td><td><code>Library.string</code></td><td>Một con đường <code>Class.Instance:GetFullName()</code> đến đối tượng đã được sử dụng để tạo bảng dịch. Được sử dụng như một mục tìm kiếm nếu không cung cấp một chìa khóa.</td></tr><tr><td><b>Ví dụ</b></td><td><code>Library.string</code></td><td>Chuỗi được sử dụng để tạo ra bản địa hóa. Tùy chọn.</td></tr><tr><td><b>Giá trị</b></td><td><code>Từ điển</code></td><td>Một từ điển của các bản dịch ngôn ngữ cho các hành động này. Các chìa khóa của từ điển này là ID ngữ cục bộ, và giá trị là các chuỗi được sử dụng để áp dụng localization cho ngôn ngữ tương ứng với ID ngữ cục bộ.</td></tr></tbody>
Chỉ mục | Kiểu | Mô tả |
---|
Lợi Nhuận
Một dàn bộ từ điển, trong đó mỗi từ điển đại diện cho một hàng dữ liệu địa hình.
Mẫu mã
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
Điều này trả về một Class.Translator cho các hàng trong bảng dịch này, trong ngôn ngữ được xác định. Translator sẽ đầu tiên tìm kiếm trong bảng dịch này và sau đó tìm kiếm trong các bảng dịch tiền nhân.
Tham Số
Lợi Nhuận
RemoveEntry
Loại bỏ một mục từ bảng localization, sử dụng các tham chiếu được quy định key, source và context để thu nhỏ các mục để được xóa.
Tham Số
Lợi Nhuận
RemoveEntryValue
Loại bỏ một ngôn ngữ duy nhất từ Bảng dịch, bằng cách sử dụng các key, source, context và 2> context2> cung cấp, và 5>localId5> để thu nhỏ vào mục để được xóa.
Tham Số
Lợi Nhuận
RemoveTargetLocale
Loại bỏ tất cả các bản dịch từ Bảng localization với ngôn ngữ được chỉ định.
Tham Số
Lợi Nhuận
SetEntries
Đặt nội dung của bảng localization.
Tham số các hàm nên là một dàn bảng các từ điển trong cùng một hình dạng như một trong những hàm trả lại từ chức năng LocalizationTable:GetEntries() .
Tham Số
Lợi Nhuận
SetEntryContext
Đặt trường Bối cảnh của một mục trong bảng dữ liệu LocalizationTable để newContext , bằng cách sử dụng chìa khóa, 2> nguồn2> và 5> text5> để thu nhỏ kết quả sẽ áp dụng thay đổi này.
Tham Số
Lợi Nhuận
SetEntryExample
Đặt trường Ví dụ của một mục trong bảng dữ liệu localization lên example , bằng cách sử dụng key , 1> nguồn1> và 4> context4> để thu nhỏ những hàng nào có thay đổi được áp dụng.
Tham Số
Lợi Nhuận
SetEntryKey
Đặt trường Chìa khóa của một hàng trong bảng dữ liệu localization lên newKey , bằng cách sử dụng key được định nghĩa, 1> nguồn1> và 4> context4> để hạn chế những hàng có thay đổi được áp dụng.
Tham Số
Lợi Nhuận
SetEntrySource
Đặt trường Nguồn của một mục trong bảng dữ liệu localization lên newSource , bằng cách sử dụng key , 1> nguồn1> và 4> context4> để thu nhỏ kết quả sẽ áp dụng thay đổi này.