Universal Translate keyless
Key RequiredUniversal Patched

Universal Translate keyless

Universal ScriptRonneyRonney 448 views 6 executesUpdated Jan 2, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•139 lines (3645 chars)
-- 🌍 AUTO TRANSLATE SYSTEM 126 COUNTRY
-- SubscribeToFredbear555

local Players = game:GetService("Players")
local HttpService = game:GetService("HttpService")
local Player = Players.LocalPlayer

--------------------------------------------------
-- 🌐 COUNTRY → LANGUAGE (126)
--------------------------------------------------

local CountryLang = {
AF="fa", AM="hy", AZ="az", BD="bn", BH="ar", BN="ms", CN="zh",
ID="id", IN="hi", IR="fa", IQ="ar", IL="he", JP="ja", KR="ko",
MY="ms", PH="en", PK="ur", SA="ar", SG="en", TH="th", TR="tr",
VN="vi", YE="ar",

AL="sq", AT="de", BE="fr", BG="bg", BY="ru", CH="de", CZ="cs",
DE="de", DK="da", ES="es", FI="fi", FR="fr", GB="en", GR="el",
HR="hr", HU="hu", IE="en", IT="it", NL="nl", NO="no", PL="pl",
PT="pt", RO="ro", RU="ru", SE="sv", UA="uk",

AR="es", BO="es", BR="pt", CA="en", CL="es", CO="es", CR="es",
DO="es", EC="es", GT="es", MX="es", NI="es", PA="es", PE="es",
PY="es", SV="es", US="en", VE="es",

DZ="ar", EG="ar", GH="en", KE="en", MA="ar", NG="en", SN="fr",
SO="so", TN="ar", TZ="sw", UG="en", ZA="en",

AU="en", NZ="en"
}

--------------------------------------------------
-- 🌍 DETECT COUNTRY (IP API)
--------------------------------------------------

local function getCountryCode()
	local success, res = pcall(function()
		return HttpService:JSONDecode(
			game:HttpGet("http://ip-api.com/json")
		)
	end)

	if success and res and res.countryCode then
		return res.countryCode
	end

	-- fallback LocaleId
	return string.split(Player.LocaleId,"-")[2] or "US"
end

local CountryCode = getCountryCode()
local TARGET_LANG = CountryLang[CountryCode] or string.sub(Player.LocaleId,1,2) or "en"

--------------------------------------------------
-- 🌐 TRANSLATE API (LibreTranslate)
--------------------------------------------------

local function Translate(text)
	if not text or text == "" then return text end
	if #text > 400 then return text end -- anti lag

	local success, result = pcall(function()
		return HttpService:JSONDecode(
			HttpService:PostAsync(
				"https://libretranslate.com/translate",
				HttpService:JSONEncode({
					q = text,
					source = "auto",
					target = TARGET_LANG,
					format = "text"
				}),
				Enum.HttpContentType.ApplicationJson
			)
		)
	end)

	if success and result and result.translatedText then
		return result.translatedText
	end

	return text
end

--------------------------------------------------
-- 🔄 TRANSLATE OBJECT
--------------------------------------------------

local TranslatedCache = {}

local function TranslateObject(obj)
	if not obj:IsA("TextLabel")
	and not obj:IsA("TextButton")
	and not obj:IsA("TextBox") then return end

	if TranslatedCache[obj] then return end
	TranslatedCache[obj] = true

	task.spawn(function()
		local original = obj.Text
		local translated = Translate(original)
		if obj and obj.Parent then
			obj.Text = translated
		end
	end)
end

--------------------------------------------------
-- 🔁 SCAN GUI
--------------------------------------------------

local function ScanGUI(gui)
	for _,v in ipairs(gui:GetDescendants()) do
		TranslateObject(v)
	end
end

--------------------------------------------------
-- 🛡️ AUTO REFRESH SYSTEM (AMAN)
--------------------------------------------------

local function HookPlayerGui()
	local gui = Player:WaitForChild("PlayerGui")

	ScanGUI(gui)

	gui.DescendantAdded:Connect(function(obj)
		task.wait(0.1)
		TranslateObject(obj)
	end)
end

--------------------------------------------------
-- 🚀 START
--------------------------------------------------

HookPlayerGui()

print("🌍 Auto Translate ON | Country:", CountryCode, "| Lang:", TARGET_LANG)

Features & Information

Translate Detect IP other
#Translate#translate#Universal#universal#Keyless

Community Comments (2)

UtopiaTMUtopiaTMJan 2, 2026

so have you heard of RATE LIMIT maybe

RonneyRonneyJan 2, 2026

Its patched now):

More Scripts for Universal Scripts