Dinamik içeriği otomatik olarak çevirin

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Standart çeviri iş akışı, oyununuzdaki dizeleri oyuncular tarafından ne sıklıkla görüntülendiğine dayanarak algılar ve bunları çeviri için yerelleştirme tablonuza ekler. Nadir dizeleri ve/veya oyun sırasında üretilen dizeleri kaçırabilir, örneğin dinamik olarak oluşturulan metin veya oyuncular tarafından oluşturulan metin. Çeviri metni API'sini kullanarak bu dizelerin gerçek zamanlı çevirilerini oluşturabilir, böylece oyununuzun tamamen yerelleştirildiğinden emin olabilirsiniz.

Metni oyuncunun diline çevirin

Metni oyuncunun diline çevirmek için Player.LocaleId'sini hedef dil kodu olarak geçin. Aşağıda, bir istemci betiğinde oyuncunun yerel ID'sini nasıl alıp sonra bunu Script'e ServerScriptService içinde çeviri talebinde bulmak için nasıl geçireceğinize dair bir örnek bulunmaktadır.

İstemci betiği

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local httpRequestFunction = ReplicatedStorage:WaitForChild("TranslateTextFunction")
-- Çevrilecek metin
local textToTranslate = "Bu çevrilecek örnek metin"
-- Oyuncunun yerelini al
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Yerel oyuncunun yerel ID'sini al veya desteklenen herhangi bir yerel dize ile ayarla
local locale = player.LocaleId
local translatedText = httpRequestFunction:InvokeServer(textToTranslate, locale)
print("Çevrilen metin: ", translatedText)
ServerScriptService'deki Sunucu betiği

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local oc = require(ServerScriptService.OpenCloud.V2)
-- https://create.roblox.com/dashboard/creations adresinde bir oyun simgesinin taşma menüsünde bulunabilir
local universeID = <your_universe_id>
-- RemoteFunction oluştur
local remoteFunction = Instance.new("RemoteFunction")
remoteFunction.Name = "TranslateTextFunction"
remoteFunction.Parent = ReplicatedStorage
remoteFunction.OnServerInvoke = function(player, text, locale, uni)
print(player.Name .. " için metin çevirisi talep etti: " .. text .. " yerel: " .. locale)
-- Çeviri talebi hazırlayın
local request : oc.TranslateTextRequest = {
path = oc:UniversePath(universeID),
text = text,
-- hedef dil kodları birden fazla yerel dil için desteklenir.
-- Burada yalnızca bir dili geçiyoruz:
-- Yerel betikte alınan oyuncu yereli
target_language_codes = {locale}
}
local result = oc:TranslateText(request)
if result.Error == nil then
return result.Response.translations[locale] -- Çevirilerin [locale] içerdiğini varsayıyor
else
return "Hata: " .. result.Error.message
end
end

Test Etme

Gerçek zamanlı çeviri API'si şu anda yalnızca RCC kimlik doğrulamasını desteklemektedir. Sonuç olarak, API'yi Studio'dan test etmek için kodunuzu bir test örneğine dağıtmalısınız. Betiği bir test örneğine dağıtmak ve değişikliklerinizi test etmek için işbirlikçi test kullanın.

Çeviri API'si referansı

API istek parametreleri

Parametre AdıTürAçıklama
pathdizeEvrenin yolu. Gereklidir.
textdizeÇevrilecek metin. Gereklidir.
source_language_codedizeGiriş metninin dilini temsil eden IETF BCP-47 dil kodu. Sağlanmazsa, sistem otomatik olarak kaynak dilini algılar.
target_language_codesDizi<string>Çeviri için IETF BCP-47 formatında hedef dil kodlarının bir listesi.

API yanıt alanları

Alan AdıTürAçıklama
source_language_codedizeAlgılanan veya kullanıcı tarafından belirtilen kaynak metnin dilini temsil eden IETF BCP-47 dil kodu.
translationsSözlük<string, string>Talep edilen çevirileri içeren bir harita. Anahtar, IETF BCP-47 dil kodu ve değer, o dil için çevrilen metindir. Harita, talep edilen tüm çevirileri içerecektir. Eğer kaynak metin filtrelenmişse, bu harita boş olacaktır.

Sınırlar

Roblox, bu API'ye gelen istekleri oyununuzdaki oyuncu sayısına göre sınırlandırmak için aşağıdaki formülü kullanır:

dakika başına maksimum istek sayısı = 600 + (1.5 * eşzamanlı kullanıcı sayısı)

Ayrıca, tüm Açık Bulut API'leri için oyun sunucusu başına dakika başına 150 isteklik bir birleşik limit vardır.

Desteklenen diller

Gerçek zamanlı çeviri API'si şu anda aşağıdaki dilleri desteklemekte olup, bu diller otomatik çeviri için desteklenen dillerden biraz farklıdır.

DilDil Kodu
Çince (Basitleştirilmiş)zh-cn
Çince (Geleneksel)zh-tw
İngilizceen-us
Fransızcafr-fr
Almancade-de
Endonezyacaid-id
İtalyancait-it
Japoncaja-jp
Koreceko-kr
Lehçepl-pl
Portekizcept-br
Rusçaru-ru
İspanyolcaes-es
Thaith-th
Türkçetr-tr
Vietnamcavi-vn
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.