Traduci automaticamente contenuti dinamici

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Il flusso di lavoro standard per la traduzione rileva le stringhe nel tuo gioco in base a quante volte vengono visualizzate dai giocatori e le aggiunge alla tua tabella di localizzazione per la traduzione. Potrebbe perdere stringhe rare e/o stringhe generate durante il gioco, come il testo generato dinamicamente o il testo creato dai giocatori. Puoi utilizzare l'API di traduzione del testo per generare traduzioni per queste stringhe in tempo reale, assicurandoti che il tuo gioco sia completamente localizzato.

Traduci il testo nella lingua di un giocatore

Per tradurre il testo nella lingua di un giocatore, passa il loro Player.LocaleId come codice della lingua di destinazione. Di seguito è riportato un esempio di come puoi ottenere l'ID locale del giocatore in uno script client e poi passarlo a uno Script in ServerScriptService per effettuare la richiesta di traduzione.

  • L'API di traduzione è un Open Cloud API, il che significa che hai bisogno di un percorso per effettuare una richiesta. In questo caso, hai bisogno dell'ID dell'universo, che può essere trovato nel menu a discesa della miniatura del gioco nel Creator Hub.
  • Devi anche includere il pacchetto client di Open Cloud nel tuo gioco; lo script del server lo richiede.
Script client

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local httpRequestFunction = ReplicatedStorage:WaitForChild("TranslateTextFunction")
-- Testo da tradurre
local textToTranslate = "Questo è il testo di esempio da tradurre"
-- Ottieni la lingua del giocatore
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- ottieni l'ID locale per la lingua locale del giocatore o impostalo su qualsiasi stringa di lingua supportata
local locale = player.LocaleId
local translatedText = httpRequestFunction:InvokeServer(textToTranslate, locale)
print("Testo tradotto: ", translatedText)
Script del server in ServerScriptService

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local oc = require(ServerScriptService.OpenCloud.V2)
-- Trova su https://create.roblox.com/dashboard/creations nel menu a discesa di una miniatura di gioco
local universeID = <your_universe_id>
-- Crea RemoteFunction
local remoteFunction = Instance.new("RemoteFunction")
remoteFunction.Name = "TranslateTextFunction"
remoteFunction.Parent = ReplicatedStorage
remoteFunction.OnServerInvoke = function(player, text, locale, uni)
print(player.Name .. " ha richiesto la traduzione per il testo: " .. text .. " nella lingua: " .. locale)
-- Prepara la richiesta di traduzione
local request : oc.TranslateTextRequest = {
path = oc:UniversePath(universeID),
text = text,
-- i codici della lingua di destinazione supportano un elenco di più lingue in cui tradurre.
-- Qui stiamo passando solo una lingua:
-- La lingua del giocatore recuperata nello script locale
target_language_codes = {locale}
}
local result = oc:TranslateText(request)
if result.Error == nil then
return result.Response.translations[locale] -- Presumendo che translations[locale] contenga il testo tradotto
else
return "Errore: " .. result.Error.message
end
end

Test

L'API di traduzione in tempo reale attualmente supporta solo l'autenticazione RCC. Di conseguenza, devi distribuire il tuo codice a un'istanza di test per poter testare l'API da Studio. Utilizza il testing collaborativo per distribuire lo script a un'istanza di test e testare le tue modifiche.

Riferimento API di traduzione

Parametri della richiesta API

Nome parametroTipoDescrizione
pathstringIl percorso dell'universo. Obbligatorio.
textstringIl testo da tradurre. Obbligatorio.
source_language_codestringIl codice lingua IETF BCP-47 che rappresenta la lingua del testo di input. Se non fornito, il sistema rileverà automaticamente la lingua sorgente.
target_language_codesArray<string>Un elenco di codici lingua di destinazione in formato IETF BCP-47 per la traduzione.

Campi di risposta API

Nome campoTipoDescrizione
source_language_codestringIl codice lingua IETF BCP-47 che rappresenta la lingua rilevata o specificata dall'utente del testo sorgente.
translationsDictionary<string, string>Una mappa contenente le traduzioni richieste. La chiave è il codice lingua IETF BCP-47, e il valore è il testo tradotto per quella lingua. La mappa conterrà tutte le traduzioni richieste. Se il testo sorgente è stato filtrato, questa mappa sarà vuota.

Limiti

Roblox utilizza la seguente formula per limitare le richieste per questa API in base al numero di giocatori nel tuo gioco:

max richieste al minuto per gioco = 600 + (1.5 * numero_di_utilizzatori_concorrenti)

C'è anche un limite combinato di 150 richieste al minuto, per server di gioco per tutte le API di Open Cloud.

Lingue supportate

L'API di traduzione in tempo reale supporta attualmente le seguenti lingue, che differiscono leggermente dalle lingue supportate per la traduzione automatica.

LinguaCodice lingua
Cinese (semplificato)zh-cn
Cinese (tradizionale)zh-tw
Ingleseen-us
Francesefr-fr
Tedescode-de
Indonesianoid-id
Italianoit-it
Giapponeseja-jp
Coreanoko-kr
Polaccopl-pl
Portoghesept-br
Russoru-ru
Spagnoloes-es
Thaith-th
Turcotr-tr
Vietnamitavi-vn
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.