LocalizationTable

Hiển Thị Bản Đã Lỗi Thời

*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 TranslatorLocalizationService để 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ã

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

Tóm Tắt

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.

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

    Loại bỏ một cái ghi ra khỏi Bảng Phiên dịch, sử dụng key , sourcecontext để thu hẹp cái ghi cụ thể cần xóa.

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

    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 , contextlocaleId để thu hẹp danh mục cụ thể cần xóa.

  • RemoveTargetLocale(localeId : string):()

    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.

  • SetEntries(entries : Variant):()

    Đặt nội dung của Bảng Phiên dịch.

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

    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.

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

    Thiết lập trường Ví dụ của một cột LocalizationTable vào example , sử dụng key , sourcecontext để thu hẹp lại các cột sẽ có thay đổi này áp dụng

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

    Đặ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.

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

    Thiết lập trường Nguồn của một cột LocalizationTable vào newSource , sử dụng key , sourcecontext để thu hẹp lại các cột sẽ có thay đổi này áp dụng.

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

    Đặt văn bản của localeId được chỉ định trong một cột LocalizationTable, sử dụng key , sourcecontext để thu hẹp lại các cột sẽ có thay đổi này áp dụng.

Thuộc Tính

SourceLocaleId

Đọc Song Song

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.

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

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ố

localeId: string
Giá Trị Mặc Định: ""

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 , sourcecontext để thu hẹp cái ghi cụ thể cần xóa.

Tham Số

key: string
Giá Trị Mặc Định: ""
source: string
Giá Trị Mặc Định: ""
context: string
Giá Trị Mặc Định: ""

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 , contextlocaleId để thu hẹp danh mục cụ thể cần xóa.

Tham Số

key: string
Giá Trị Mặc Định: ""
source: string
Giá Trị Mặc Định: ""
context: string
Giá Trị Mặc Định: ""
localeId: string
Giá Trị Mặc Định: ""

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ố

localeId: string
Giá Trị Mặc Định: ""

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ố

entries: Variant
Giá Trị Mặc Định: ""

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ố

key: string
Giá Trị Mặc Định: ""
source: string
Giá Trị Mặc Định: ""
context: string
Giá Trị Mặc Định: ""
newContext: string
Giá Trị Mặc Định: ""

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 , sourcecontext để thu hẹp lại các cột sẽ có thay đổi này áp dụng

Tham Số

key: string
Giá Trị Mặc Định: ""
source: string
Giá Trị Mặc Định: ""
context: string
Giá Trị Mặc Định: ""
example: string
Giá Trị Mặc Định: ""

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ố

key: string
Giá Trị Mặc Định: ""
source: string
Giá Trị Mặc Định: ""
context: string
Giá Trị Mặc Định: ""
newKey: string
Giá Trị Mặc Định: ""

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 , sourcecontext để thu hẹp lại các cột sẽ có thay đổi này áp dụng.

Tham Số

key: string
Giá Trị Mặc Định: ""
source: string
Giá Trị Mặc Định: ""
context: string
Giá Trị Mặc Định: ""
newSource: string
Giá Trị Mặc Định: ""

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 , sourcecontext để thu hẹp lại các cột sẽ có thay đổi này áp dụng.

Tham Số

key: string
Giá Trị Mặc Định: ""
source: string
Giá Trị Mặc Định: ""
context: string
Giá Trị Mặc Định: ""
localeId: string
Giá Trị Mặc Định: ""
text: string
Giá Trị Mặc Định: ""

Lợi Nhuận

()

Sự Kiện