Dịch tự động 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ải nghiệm dựa trên tần suất chúng được xem bởi người chơi và thêm chúng vào bảng bản địa hóa của bạn để dịch.Nó có thể bỏ lỡ các chuỗi không phổ biến và/hoặc chuỗi được tạo ra trong lúc chơi trò chơi, chẳng hạn như văn bản được tạo tự động hoặc văn bản được tạo bởi người chơi.Bạn có thể sử dụng API dịch văn bản để tạo bản dịch cho các chuỗi này trong thời gian thực, đảm bảo trải nghiệm của bạn được dịch 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 thành ngôn ngữ của người chơi, hãy truyền Player.LocaleId của họ như mã ngôn ngữ mục tiêuDưới đây là một ví dụ về cách bạn có thể nhận được ID máy chủ của người chơi trong một kịch bản khách và sau đó chuyển nó cho một Script trong ServerScriptService để thực hiện yêu cầu dịch.

  • API dịch là một API Mở Cloud, có nghĩa là bạn cần một đường dẫn để gửi yêu cầu.Trong trường hợp này, bạn cần ID vũ trụ, có thể được tìm thấy trong menu tràn ngập của điểm trải nghiệm trên Creator Hub.
  • Bạn cũng phải bao gồm gói khách hàng Mở đám mây trong trải nghiệm của bạn; kịch bản máy chủ yêu cầu nó.
Tập lệnh khách hàng

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local httpRequestFunction = ReplicatedStorage:WaitForChild("TranslateTextFunction")
-- Văn bản cần dịch
local textToTranslate = "This is the example text to translate"
-- Lấy vị trí của người chơi
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- lấy ID khu vực cho khu vực của người chơi địa phương hoặc đặt thành bất kỳ chuỗi khu vực hỗ trợ nào
local locale = player.LocaleId
local translatedText = httpRequestFunction:InvokeServer(textToTranslate, locale)
print("Translated text: ", translatedText)
Tập lệnh 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/dashboards/creations trong menu tràn của một ô trải nghiệm
local universeID = <your_universe_id>
-- Tạo chức năng remote function
local remoteFunction = Instance.new("RemoteFunction")
remoteFunction.Name = "TranslateTextFunction"
remoteFunction.Parent = ReplicatedStorage
remoteFunction.OnServerInvoke = function(player, text, locale, uni)
print(player.Name .. " requested translation for text: " .. text .. " to locale: " .. locale)
-- Chuẩn bị yêu cầu phiên 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 nhiều địa phương để dịch.
-- Ở đây, chúng tôi chỉ đang truyền một ngôn ngữ:
--Người chơi địa phương được lấy từ 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ử bản dịch[locale] có chứa văn bản đã dịch
else
return "Error: " .. result.Error.message
end
end

Thử nghiệm

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

Tham chiếu API phiên dịch

Tham số yêu cầu API

Tên tham sốLoạiMô tả
con đườngchuỗiCon đường của vũ trụ. Cần thiết.
tin nhắnchuỗiVăn bản cần được dịch. Bắt buộc.
mã ngôn ngữ nguồnchuỗiMã ngôn ngữ BCP-47 của IETF đại diện cho ngôn ngữ của văn bản nhập. Nếu không được cung cấp, hệ thống sẽ tự động phát hiện ngôn ngữ nguồn.
mã ngôn ngữ mục tiêuArray<string>Một danh sách các mã ngôn ngữ mục tiêu trong định dạng BCP-47 của IETF cho việc dịch.

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

Tên trườngLoạiMô tả
mã ngôn ngữ nguồnchuỗiMã ngôn ngữ BCP-47 của IETF đại diện cho ngôn ngữ được phát hiện hoặc được chỉ định của văn bản nguồn.
phiên dịchDictionary<string, string>Bản đồ chứa các bản dịch được yêu cầu.Chìa khóa là mã ngôn ngữ BCP-47 của IETF, 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 đây để giới hạn lượng yêu cầu cho API này dựa trên số lượng người chơi trong trải nghiệm của bạn:

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

Ngoài ra, còn có 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 API Đám mây Mở.

Ngôn ngữ được hỗ trợ

API dịch thời gian thực hiện nay hỗ trợ các ngôn ngữ sau, khác nhau một chút so với ngôn ngữ được hỗ trợ cho dịch tự động .

Ngôn ngữMã ngôn ngữ
Tiếng Trung (Giản thể)tiếng trung zh-cn
Trung Quốc (Truyền thống)tiếng việt
Tiếng Anhtiếng anh
Tiếng Phápfr-fr
Tiếng Đứcthoát ra
Tiếng Indonesiaid-id
Italiannó-it
Nhậttiếng việt
Tiếng Hànko-kr
Tiếng Ba Lanpl-pl
Bồ Đào Nhapt-br
Tiếng Ngaru-ru
Tiếng Tây Ban Nhaes-es
Thái Lantiếng th-th
Thổ Nhĩ Kỳtừ tr tr
Tiếng Anhvi-vnh