Tự động dịch nội dung động

*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.

Quy trình dịch tiêu chuẩn phát hiện các chuỗi trong trò chơi của bạn dựa trên tần suất người chơi xem chúng và thêm chúng vào bảng địa phương hóa của bạn để dịch. Nó có thể bỏ qua những chuỗi không phổ biến và/hoặc những chuỗi được tạo ra trong quá trình chơi trò chơi, chẳng hạn như văn bản được tạo ra động hoặc văn bản do người chơi tạo. Bạn có thể sử dụng API dịch văn bản để tạo ra các bản dịch cho những chuỗi này theo thời gian thực, đảm bảo rằng trò chơi của bạn được địa phương hóa hoàn toàn.

Dịch văn bản sang ngôn ngữ của người chơi

Để dịch văn bản sang ngôn ngữ của người chơi, hãy truyền Player.LocaleId của họ dưới dạng mã ngôn ngữ mục tiêu. Dưới đây là một ví dụ về cách bạn có thể lấy ID ngôn ngữ của người chơi trong một kịch bản khách và sau đó truyền nó cho một Script trong ServerScriptService để thực hiện yêu cầu dịch.

  • API dịch là một Open Cloud API, có nghĩa là bạn cần một đường dẫn để thực hiện yêu cầu. Trong trường hợp này, bạn cần ID vũ trụ, có thể tìm thấy trong menu thả xuống của ô trò chơi trên Creator Hub.
  • Bạn cũng cần bao gồm gói client Open Cloud trong trò chơi của mình; kịch bản máy chủ yêu cầu nó.
Kịch bản khách

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local httpRequestFunction = ReplicatedStorage:WaitForChild("TranslateTextFunction")
-- Văn bản cần dịch
local textToTranslate = "Đây là văn bản ví dụ để dịch"
-- Lấy ngôn ngữ của người chơi
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- lấy ID ngôn ngữ cho ngôn ngữ của người chơi địa phương hoặc đặt thành bất kỳ chuỗi ngôn ngữ nào được hỗ trợ
local locale = player.LocaleId
local translatedText = httpRequestFunction:InvokeServer(textToTranslate, locale)
print("Văn bản đã dịch: ", translatedText)
Kịch bản máy chủ trong ServerScriptService

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local oc = require(ServerScriptService.OpenCloud.V2)
-- Tìm tại https://create.roblox.com/dashboard/creations trong menu thả xuống của ô trò chơi
local universeID = <your_universe_id>
-- Tạo RemoteFunction
local remoteFunction = Instance.new("RemoteFunction")
remoteFunction.Name = "TranslateTextFunction"
remoteFunction.Parent = ReplicatedStorage
remoteFunction.OnServerInvoke = function(player, text, locale, uni)
print(player.Name .. " đã yêu cầu dịch văn bản: " .. text .. " sang ngôn ngữ: " .. locale)
-- Chuẩn bị yêu cầu dịch
local request : oc.TranslateTextRequest = {
path = oc:UniversePath(universeID),
text = text,
-- mã ngôn ngữ mục tiêu hỗ trợ một danh sách của nhiều ngôn ngữ để dịch đến.
-- Ở đây chúng tôi chỉ truyền một ngôn ngữ:
-- Ngôn ngữ của người chơi lấy được trong kịch bản địa phương
target_language_codes = {locale}
}
local result = oc:TranslateText(request)
if result.Error == nil then
return result.Response.translations[locale] -- Giả sử translations[locale] chứa văn bản đã dịch
else
return "Lỗi: " .. result.Error.message
end
end

Kiểm tra

API dịch theo thời gian thực hiện hiện tại chỉ hỗ trợ xác thực RCC. Do đó, bạn phải triển khai mã của mình vào một phiên kiểm tra để có thể thử nghiệm API từ Studio. Sử dụng kiểm tra cộng tác để triển khai kịch bản vào một phiên kiểm tra và thử nghiệm các thay đổi của bạn.

Tham khảo API dịch

Tham số yêu cầu API

Tên tham sốLoạiMô tả
pathstringĐường dẫn của vũ trụ. Bắt buộc.
textstringVăn bản cần được dịch. Bắt buộc.
source_language_codestringMã ngôn ngữ IETF BCP-47 đại diện cho ngôn ngữ của văn bản đầu vào. Nếu không cung cấp, hệ thống sẽ tự động phát hiện ngôn ngữ nguồn.
target_language_codesArray<string>Một danh sách các mã ngôn ngữ mục tiêu ở định dạng IETF BCP-47 để dịch.

Các trường phản hồi API

Tên trườngLoạiMô tả
source_language_codestringMã ngôn ngữ IETF BCP-47 đại diện cho ngôn ngữ phát hiện hoặc ngôn ngữ do người dùng chỉ định của văn bản nguồn.
translationsDictionary<string, string>Một bản đồ chứa các bản dịch được yêu cầu. Khóa là mã ngôn ngữ IETF BCP-47, và giá trị là văn bản đã dịch cho ngôn ngữ đó. Bản đồ sẽ chứa tất cả các bản dịch được yêu cầu. Nếu văn bản nguồn đã bị lọc, bản đồ này sẽ trống.

Giới hạn

Roblox sử dụng công thức sau để điều chỉnh các yêu cầu cho API này dựa trên số lượng người chơi trong trò chơi của bạn:

max requests per minute per game = 600 + (1.5 * number_of_concurrent_users)

Cũng có một giới hạn kết hợp là 150 yêu cầu mỗi phút, cho mỗi máy chủ trò chơi cho tất cả các Open Cloud APIs.

Các ngôn ngữ được hỗ trợ

API dịch theo thời gian thực hiện hiện tại hỗ trợ các ngôn ngữ sau, có sự khác biệt nhỏ so với các ngôn ngữ được hỗ trợ cho dịch tự động.

Ngôn ngữMã ngôn ngữ
Tiếng Trung (Đơn giản)zh-cn
Tiếng Trung (Phồn thể)zh-tw
Tiếng Anhen-us
Tiếng Phápfr-fr
Tiếng Đứcde-de
Tiếng Indonesiaid-id
Tiếng Ýit-it
Tiếng Nhậtja-jp
Tiếng Hànko-kr
Tiếng Ba Lanpl-pl
Tiếng Bồ Đào Nhapt-br
Tiếng Ngaru-ru
Tiếng Tây Ban Nhaes-es
Tiếng Tháith-th
Tiếng Thổ Nhĩ Kỳtr-tr
Tiếng Việtvi-vn
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.