Dynamische Inhalte automatisch übersetzen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Der standardmäßige Übersetzungsworkflow erkennt Strings in Ihrem Spiel basierend darauf, wie häufig sie von Spielern angezeigt werden und fügt sie Ihrer Lokalisierungstabelle zur Übersetzung hinzu. Es könnte ungewöhnliche Strings und/oder während des Spiels generierte Strings übersehen, wie zum Beispiel dynamisch generierte Texte oder von Spielern erstellte Texte. Sie können die Übersetzungstext-API verwenden, um diese Strings in Echtzeit zu übersetzen und sicherzustellen, dass Ihr Spiel vollständig lokalisiert ist.

Text in die Sprache eines Spielers übersetzen

Um Text in die Sprache eines Spielers zu übersetzen, übergeben Sie deren Player.LocaleId als Zielsprachen-Code. Im Folgenden finden Sie ein Beispiel, wie Sie die Locale-ID des Spielers in einem Clientskript erhalten und dann an ein Script in ServerScriptService übergeben, um die Übersetzungsanfrage zu stellen.

  • Die Übersetzungs-API ist eine Open Cloud API, was bedeutet, dass Sie einen Pfad benötigen, um eine Anfrage zu stellen. In diesem Fall benötigen Sie die Universums-ID, die im Überlaufmenü des Spielkachels im Creator Hub zu finden ist.
  • Sie müssen auch das Open Cloud-Clientpaket in Ihrem Spiel einfügen; das Serverskript benötigt es.
Client-Skript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local httpRequestFunction = ReplicatedStorage:WaitForChild("TranslateTextFunction")
-- Zu übersetzender Text
local textToTranslate = "Dies ist der Beispieltext zur Übersetzung"
-- Die Locale des Spielers abrufen
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- erhalten Sie die Locale-ID für die Locale des lokalen Spielers oder setzen Sie sie auf eine unterstützte Locale-Zeichenfolge
local locale = player.LocaleId
local translatedText = httpRequestFunction:InvokeServer(textToTranslate, locale)
print("Übersetzter Text: ", translatedText)
Server-Skript in ServerScriptService

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local oc = require(ServerScriptService.OpenCloud.V2)
-- Finden Sie es unter https://create.roblox.com/dashboard/creations im Überlaufmenü eines Spielkachels
local universeID = <your_universe_id>
-- RemoteFunction erstellen
local remoteFunction = Instance.new("RemoteFunction")
remoteFunction.Name = "TranslateTextFunction"
remoteFunction.Parent = ReplicatedStorage
remoteFunction.OnServerInvoke = function(player, text, locale, uni)
print(player.Name .. " hat die Übersetzung für den Text angefordert: " .. text .. " zur Locale: " .. locale)
-- Bereiten Sie die Übersetzungsanfrage vor
local request : oc.TranslateTextRequest = {
path = oc:UniversePath(universeID),
text = text,
-- Zielsprachen-Codes unterstützen eine Liste von mehreren Locales, in die übersetzt werden soll.
-- Hier übergeben wir nur eine Sprache:
-- Die Spieler-Locale, die im lokalen Skript abgerufen wurde
target_language_codes = {locale}
}
local result = oc:TranslateText(request)
if result.Error == nil then
return result.Response.translations[locale] -- Vorausgesetzt, translations[locale] enthält den übersetzten Text
else
return "Fehler: " .. result.Error.message
end
end

Testen

Die Echtzeitübersetzungs-API unterstützt derzeit nur RCC-Authentifizierung. Daher müssen Sie Ihren Code in einer Testinstanz bereitstellen, um die API aus Studio zu testen. Verwenden Sie kollaboratives Testen, um das Skript in einer Testinstanz bereitzustellen und Ihre Änderungen zu testen.

Übersetzungs-API-Referenz

API-Anfrageparameter

ParameternameTypBeschreibung
pathstringDer Pfad des Universums. Erforderlich.
textstringDer zu übersetzende Text. Erforderlich.
source_language_codestringDer IETF BCP-47 Sprachcode, der die Sprache des Eingabetexts darstellt. Wenn nicht angegeben, erkennt das System automatisch die Quellsprache.
target_language_codesArray<string>Eine Liste von Zielsprachen-Codes im IETF BCP-47-Format für die Übersetzung.

API-Antwortfelder

FeldnameTypBeschreibung
source_language_codestringDer IETF BCP-47 Sprachcode, der die erkannte oder benutzerspezifizierte Sprache des Quelltextes darstellt.
translationsDictionary<string, string>Eine Karte, die die angeforderten Übersetzungen enthält. Der Schlüssel ist der IETF BCP-47 Sprachcode und der Wert ist der übersetzte Text für diese Sprache. Die Karte enthält alle angeforderten Übersetzungen. Wenn der Quelltext gefiltert wurde, ist diese Karte leer.

Grenzen

Roblox verwendet die folgende Formel, um Anfragen für diese API basierend auf der Anzahl der Spieler in Ihrem Spiel zu drosseln:

max Anfragen pro Minute pro Spiel = 600 + (1.5 * Anzahl_der_gleichzeitigen_Nutzer)

Es gibt auch ein kombiniertes Limit von 150 Anfragen pro Minute pro Spielserver für alle Open Cloud APIs.

Unterstützte Sprachen

Die Echtzeitübersetzungs-API unterstützt derzeit die folgenden Sprachen, die sich geringfügig von den unterstützten Sprachen für automatische Übersetzungen unterscheiden.

SpracheSprachcode
Chinesisch (Vereinfacht)zh-cn
Chinesisch (Traditionell)zh-tw
Englischen-us
Französischfr-fr
Deutschde-de
Indonesischid-id
Italienischit-it
Japanischja-jp
Koreanischko-kr
Polnischpl-pl
Portugiesischpt-br
Russischru-ru
Spanisches-es
Thailändischth-th
Türkischtr-tr
Vietnamesischvi-vn
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.