LocalizationService:GetTranslatorForLocaleAsync
This function takes a locale code as an argument and yields until the cloud LocalizationTable for that locale has been loaded, if available. It then returns a Translator object which can be used to perform translations for that locale if any are available. The entries used for localization are the entries provided by the LocalizationTable hierarchy under LocalizationService as well as the cloud table (if available). This will be the same set of entries returned by LocalizationService:GetTableEntries(nil).
This function can error and thus should be wrapped in a pcall().
See also:
- LocalizationService:GetTranslatorForPlayer() gets the translator corresponding to the locale of the provided player. This function is deprecated and should not be used in new work.
- LocalizationService:GetTranslatorForPlayerAsync() yields until the cloud LocalizationTable for the locale of the provided player has loaded and then gets the translator corresponding to the locale of the provided player.
Parameters
A Roblox supported language or locale code.
Returns
The Translator instance for the specified locale.
Code Samples
Getting and Using a Translator for a Locale
local LocalizationService = game:GetService("LocalizationService")
local textLabel = script.Parent
local success, translator = pcall(function()
return LocalizationService:GetTranslatorForLocaleAsync("fr")
end)
if success then
local result = translator:Translate(textLabel, "Hello World!")
print("Hello in French: " .. result)
else
print("GetTranslatorForLocaleAsync failed: " .. translator)
end