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 Phiên dịch là một cơ sở dữ liệu của các bản dịch.Nó bao gồm dây 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 Translator và LocalizationService để kiểm soát bản dịch văn bản trong trò chơi.Các bảng phiên dịch được thiết kế để được xử lý như tài nguyên, giống như một kết cấu hoặc một kịch bản.Chúng không được tối ưu hóa để được sửa đổi khi chạy thời gian.Thay đổi nội dung của một bảng sẽ gây ra việc sao chép toàn bộ nội dung của bảng cho tất cả các người chơi.
Các thành phần bảng định dạng địa phương
Mỗi Bảng Phiên dịch địa phương chứa một bộ nhập. Mỗi nhập 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:
- Chìa khóa là một chìa khóa duy nhất tùy chọn để tìm kiếm nhanh trong mã. Nếu nó không trống, nó phải độc đáo trong bảng.
- Nguồn là văn bản gốc trong ngôn ngữ nguồn sẽ được sử dụng bởi hệ thống thay thế văn bản tự động LocalizationService để phù hợp với văn bản GUI và hiển thị bản dịch thay vào đó.Trường Nguồn có thể được lấp đầy bởi các công cụ thu thập văn bản, hoặc có thể được đặt thủ công.Đối với các truy vấn dựa trên chìa khóa, giá trị Nguồn có thể được sử dụng như một bản dịch cho LocalizationTable.SourceLocaleId nếu không có bản dịch cho ngôn ngữ đó.Nếu Nguồn trống thì lượt truy cập sẽ không được sử dụng bởi hệ thống thay thế tự động.
- Bối cảnh là tên Instances đầy đủ của đối tượng mà văn bản xuất hiện.Bối cảnh được sử dụng để giải thích bởi hệ thống thay thế văn bản tự động.Khi nhiều trận phù hợp cho Nguồn được tìm thấy, hệ thống sẽ chọn trận phù hợp tốt nhất bằng cách so sánh ngược từ cuối chuỗi ngữ cảnh.Cũng có những cách mạnh mẽ hơn để xử lý sự mâu thuẫn có sẵn, chẳng hạn như sử dụng nhiều bảng với GuiBase2d.RootLocalizationTable .
- Ví dụ là bất cứ thứ gì bạn muốn nó trở thành.Nếu công cụ thu nhập văn bản đoán một số tham số cho một chuỗi, trường Ví dụ sẽ chứa một ví dụ về 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 những Key hoặc Source phải không trống. Không có hai cái nhập nào có cùng một Key, Source và Context.
Xem Dịch nội dung năng động để có 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
Vị trí của chuỗi nguồn.
Phương Pháp
Trả về một array của các từ điển, mỗi từ điển đại diện cho một cái nhập về dữ liệu bản địa hóa.
Trả về một Translator cho các bản ghi trong Bảng Bản địa hóa này, trong ngôn ngữ được chỉ định.
Loại bỏ một cái ghi ra khỏi Bảng Phiên dịch, sử dụng key , source và context để thu hẹp cái ghi cụ thể cần xóa.
Loại bỏ một bản dịch ngôn ngữ duy nhất từ Bảng Bản địa hóa, sử dụng key , source , context và localeId để thu hẹp danh mục cụ thể cần xóa.
Loại bỏ tất cả các bản dịch từ Bảng Bản địa hóa với localeId được chỉ định.
Đặt nội dung của Bảng Phiên dịch.
Thiết lập trường Bối cảnh của một cột LocalizationTable vào , sử dụng , và để thu hẹp lại các cột sẽ có thay đổi này áp dụng.
Thiết lập trường Ví dụ của một cột LocalizationTable vào example , sử dụng key , source và context để thu hẹp lại các cột sẽ có thay đổi này áp dụng
Đặt trường Chìa khóa của một cột LocalizationTable vào , sử dụng , và để thu hẹp lại các cột sẽ có thay đổi này áp dụng.
Thiết lập trường Nguồn của một cột LocalizationTable vào newSource , sử dụng key , source và context để thu hẹp lại các cột sẽ có thay đổi này áp dụng.
Đặt văn bản của localeId được chỉ định trong một cột LocalizationTable, sử dụng key , source và context để thu hẹp lại các cột sẽ có thay đổi này áp dụng.
Thuộc Tính
SourceLocaleId
Vị trí Roblox của các chuỗi phím 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 Phiên dịch viên kết hợp nhiều đối tượng Bảng Phiên dịch địa phương, đó là LocaleId của Bảng Phiên dịch địa phương Mặc định.Mặc định là "en-us".
Phương Pháp
GetEntries
Chức năng GetEntries trả về một mảng các từ điển có trong một LocalizationTable nhất định, nơi mỗi từ điển đại diện cho một cái nhập về dữ liệu dịch.
Để đặt các mục của một Bảng Phiên dịch, bạn có thể sử dụng LocalizationTable:SetEntries() .
Mỗi từ điển trong array có các trường sau:
<th>Loại</th><th>Mô tả</th></tr></thead><tbody><tr><td><b>Chìa khóa</b></td><td><code>Thư viện.string</code> ></td><td>Một chìa khóa tìm kiếm cho mục nhập cụ thể này trong Bảng Bản địa hóa.</td></tr><tr><td><b>Nguồn</b></td><td><code>Thư viện.string</code> ></td><td>Chuỗi được sử dụng để định dạng chuỗi địa phương. Được sử dụng như một cuộc tìm kiếm nếu không có chìa khóa được cung cấp.</td></tr><tr><td><b>Bối cảnh</b></td><td><code>Thư viện.string</code></td><td>Một <code>Class.Instance:GetFullName()</code> con đường đến đối tượng đã được sử dụng để tạo ra Bảng Bản địa hóa.Sử dụng như một cuộc tìm kiếm nếu không có chìa khóa được cung cấp.</td></tr><tr><td><b>Ví dụ</b></td><td><code>Thư viện.string</code> ></td><td>Chuỗi được sử dụng để định dạng 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 bản dịch ngôn ngữ cho bản ghi lịch sử này.Các chìa khóa của bảng từ điển này là ID máy chủ, và các giá trị là các chuỗi được sử dụng để áp dụng bản địa hóa cho ngôn ngữ tương ứng với ID máy chủ.</td></tr></tbody>
Mục lục |
---|
Lợi Nhuận
Một loạt các từ điển, trong đó mỗi từ điển đại diện cho một cái nhập về dữ liệu bản địa hóa.
Mẫu mã
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
Trả về một Translator cho các bản ghi trong Bảng Bản địa hóa này, trong ngôn ngữ được chỉ định.Người dịch sẽ tìm kiếm trước tiên trong bảng này và sau đó xem trong các bảng tổ tiên.
Tham Số
Lợi Nhuận
RemoveEntry
Loại bỏ một cái ghi ra khỏi Bảng Phiên dịch, sử dụng key , source và context để thu hẹp cái ghi cụ thể cần xóa.
Tham Số
Lợi Nhuận
RemoveEntryValue
Loại bỏ một bản dịch ngôn ngữ duy nhất từ Bảng Bản địa hóa, sử dụng key , source , context và localeId để thu hẹp danh mục cụ thể cần xóa.
Tham Số
Lợi Nhuận
RemoveTargetLocale
Loại bỏ tất cả các bản dịch từ Bảng Bản địa hóa với localeId được chỉ định.
Tham Số
Lợi Nhuận
SetEntries
Đặt nội dung của Bảng Phiên dịch.
Tham số các câu nhập phải là một array của các từ điển trong cùng một định dạng như cái được trả về từ chức năng LocalizationTable:GetEntries().
Tham Số
Lợi Nhuận
SetEntryContext
Thiết lập trường Bối cảnh của một cột LocalizationTable vào , sử dụng , và để thu hẹp lại các cột sẽ có thay đổi này áp dụng.
Tham Số
Lợi Nhuận
SetEntryExample
Thiết lập trường Ví dụ của một cột LocalizationTable vào example , sử dụng key , source và context để thu hẹp lại các cột sẽ có thay đổi này áp dụng
Tham Số
Lợi Nhuận
SetEntryKey
Đặt trường Chìa khóa của một cột LocalizationTable vào , sử dụng , và để thu hẹp lại các cột sẽ có thay đổi này áp dụng.
Tham Số
Lợi Nhuận
SetEntrySource
Thiết lập trường Nguồn của một cột LocalizationTable vào newSource , sử dụng key , source và context để thu hẹp lại các cột sẽ có thay đổi này áp dụng.
Tham Số
Lợi Nhuận
SetEntryValue
Đặt văn bản của localeId được chỉ định trong một cột LocalizationTable, sử dụng key , source và context để thu hẹp lại các cột sẽ có thay đổi này áp dụng.