PcoWSkbVqDnWTu_dm2ix
We use cookies on this site to enhance your user experience
Collapse Sidebar

GetTranslatorForPlayer

This function takes a player an argument and yields until the cloud localization data for that Player|player's locale has been loaded, and then returns a Translator object which can be used to perform translations for that locale if any are available.

See also

  • LocalizationService/GetTranslatorForPlayerAsync, same functionality as this function except that it yields until the translator has been loaded
  • LocalizationService/GetTranslatorForLocaleAsync, returns a Translator to be used for translations using the locale data loaded

Parameters

Name Type Default Description

The Player that you are getting the Translator for

Returns

Return Type Summary

The Translator instance for the specified locale


Code Samples


Getting and Using a Translator for a Player

This code sample attempts to retrieve a Translator object for the locale “fr” - France.

LocalizationService/GetTranslatorForPlayerAsync is wrapped in a pcall because it may error. If it does not error and returns a Translator, prints “Hello in French:“ followed by the French translation of “Hello World!”. If the function errors, it prints “GetTranslatorForLocaleAsync failed:“ followed by the error message.

LocalizationService/GetTranslatorForPlayer can also be used if you’d like to get the player’s translator without yielding until the function returns.

local LocalizationService = game:GetService('LocalizationService')

local res,trans = pcall(function()
	LocalizationService:GetTranslatorForPlayerAsync("fr")
end)                                                                                                                                                                                                 
	
if res then
	local ctx = game.Workspace.Sign.SurfaceGui.Frame.TextLabel
	local res = trans:Translate(ctx, "Hello World!")
	print('Hello in French: ' .. res)
else
	print('GetTranslatorForPlayerAsync failed: ' .. trans)
end