Run it
Copy the script and paste it into your executor.
:() .Loaded:()
.() :().LocalPlayer
Http = :()
Players = :()
TCS = :()
CoreGui = :()
ReplicatedStorage = :()
StarterGui = :()
LP = Players.LocalPlayer
isTranslatorActive =
isJumbleActive =
yourLanguage =
targetLanguage =
languageCategories = {
{
Name = ,
Languages = {
[] = , [] = , [] =
}
},
{
Name = ,
Languages = {
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] =
}
},
{
Name = ,
Languages = {
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = , [] =
}
},
{
Name = ,
Languages = {
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] = ,
[] = , [] = , [] = , [] = , [] =
}
},
{
Name = ,
Languages = {
[] = , [] = , [] = , [] = , [] =
}
},
{
Name = ,
Languages = { [] = }
},
{
Name = ,
Languages = {
[] = , [] = , [] = , [] = , [] =
}
}
}
languages = {}
langCodesArray = {}
_, categoryData (languageCategories)
langName, langCode (categoryData.Languages)
languages[langName] = langCode
.(langCodesArray, langCode)
gv
(opt)
fn = ( .request) ( .request)
fn (opt)
Http:(opt)
(body)
t = {}
tag body:()
k, v = tag:()
t[k] = v
gv = t.v
(url, method, body)
method = method
res = ({Url = url, Method = method, Headers = {cookie = .. (gv )}, Body = body})
b = res.Body res.body
(b) ~= b = (b)
b:()
(b)
res = ({Url = url, Method = , Headers = {cookie = .. (gv )}})
res
(data)
s =
k, v (data)
(v) ==
_, vv (v) s ..= .. Http:(k) .. .. Http:(vv)
s ..= .. Http:(k) .. .. Http:(v)
s:()
jE = (x) Http:(x)
jD = (x) Http:(x)
rpc =
root =
exec =
fsid, bl, rid = , , .(, )
.(()
b = ((root).Body )
fsid = b:()
bl = b:()
)
(text, target, source)
source = source
url = ..source....target....Http:(text)
res = ({Url = url, Method = })
success, response = (()
(res.Body res.body)
)
success response response[]
combinedText =
_, section (response[])
section[] combinedText = combinedText .. section[]
combinedText, response[]
,
(txt, tgt, src)
rid +=
src = src
fsid bl
data = {{txt, src, tgt, }, {}}
freq = {{{rpc, (data), , }}}
url = exec .. .. {rpcids = rpc, [] = fsid, bl = bl, hl = , _reqID = rid - , rt = }
body = {[] = (freq)}
res = (url, , body)
ok, out = (()
arr = ((res.Body ):())
(arr[][])
)
ok out out[] out[][] out[][][] out[][][][]
t = out[][][][][][]
l = out[]
t t, l
(txt, tgt, src)
(txt, tgt, src)
t, _ = (txt, tgt, src)
t
chatVersion =
TCS.ChatVersion == .ChatVersion.TextChatService
chatVersion =
(msg)
chatVersion ==
chans = TCS:(, )
chans
c = chans:() chans:()
c c.DisplaySystemMessage
c:(msg)
(()
StarterGui:(, {
Text = msg,
Color = .(, , ),
Font = .Font.SourceSansBold,
FontSize = .FontSize.Size18
})
)
(text)
.(()
chatVersion ==
chan = TCS.TextChannels:() TCS.TextChannels:()
chan chan:(text)
remote = ReplicatedStorage:()
remote
say = remote:()
say say:(text, )
)
(rawMessage)
rawMessage rawMessage ==
rawMessage:(, ) ==
(rawMessage)
isJumbleActive
words = {}
word rawMessage:() .(words, word)
translatedWords = {}
_, word (words)
randomLangCode = langCodesArray[.(#langCodesArray)]
translatedWord = (word, randomLangCode, ) word
.(translatedWords, translatedWord)
(.(translatedWords, ))
isTranslatorActive targetLanguage
translatedText = (rawMessage, targetLanguage, ) rawMessage
(translatedText)
(rawMessage)
screenGui = .()
screenGui.Name =
.protect_gui .(screenGui)
screenGui.Parent = CoreGui
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
mainFrame = .()
mainFrame.Name =
mainFrame.Parent = screenGui
mainFrame.BackgroundColor3 = .(, , )
mainFrame.BorderColor3 = .(, , )
mainFrame.BorderSizePixel =
mainFrame.Position = .(, , , )
mainFrame.Size = .(, , , )
mainFrame.ClipsDescendants =
mainFrame.Active =
mainFrame.Draggable =
titleLabel = .()
titleLabel.Name =
titleLabel.Parent = mainFrame
titleLabel.BackgroundTransparency =
titleLabel.Position = .(, , , )
titleLabel.Size = .(, , , )
titleLabel.Font = .Font.SourceSansBold
titleLabel.Text =
titleLabel.TextColor3 = .(, , )
titleLabel.TextSize =
titleLabel.TextXAlignment = .TextXAlignment.Left
toggleButton = .()
toggleButton.Name =
toggleButton.Parent = mainFrame
toggleButton.BackgroundColor3 = .(, , )
toggleButton.Size = .(, , , )
toggleButton.Position = .(, -, , -)
toggleButton.Font = .Font.SourceSansBold
toggleButton.Text =
toggleButton.TextColor3 = .(, , )
toggleButton.TextSize =
toggleButton.ZIndex =
scrollFrame = .()
scrollFrame.Name =
scrollFrame.Parent = mainFrame
scrollFrame.BackgroundTransparency =
scrollFrame.Position = .(, , , )
scrollFrame.Size = .(, , , -)
scrollFrame.Visible =
scrollFrame.ZIndex =
scrollFrame.AutomaticCanvasSize = .AutomaticSize.Y
scrollFrame.ScrollBarImageColor3 = .(, , )
scrollFrame.ScrollBarThickness =
scrollFrame.BorderSizePixel =
listLayout = .()
listLayout.Parent = scrollFrame
listLayout.SortOrder = .SortOrder.LayoutOrder
listLayout.Padding = .(, )
controlFrame = .()
controlFrame.Name =
controlFrame.Parent = scrollFrame
controlFrame.BackgroundTransparency =
controlFrame.Size = .(, , , )
controlFrame.AutomaticSize = .AutomaticSize.Y
controlFrame.LayoutOrder =
controlGrid = .()
controlGrid.Parent = controlFrame
controlGrid.CellPadding = .(, , , )
controlGrid.CellSize = .(, , , )
controlGrid.StartCorner = .StartCorner.TopLeft
controlGrid.HorizontalAlignment = .HorizontalAlignment.Center
controlGrid.SortOrder = .SortOrder.LayoutOrder
stopButton = .()
stopButton.Name =
stopButton.Parent = controlFrame
stopButton.BackgroundColor3 = .(, , )
stopButton.BorderColor3 = .(, , )
stopButton.Font = .Font.SourceSansBold
stopButton.Text =
stopButton.TextColor3 = .(, , )
stopButton.TextSize =
stopButton.LayoutOrder =
jumbleButton = .()
jumbleButton.Name =
jumbleButton.Parent = controlFrame
jumbleButton.BackgroundColor3 = .(, , )
jumbleButton.BorderColor3 = .(, , )
jumbleButton.Font = .Font.SourceSansBold
jumbleButton.Text =
jumbleButton.TextColor3 = .(, , )
jumbleButton.TextSize =
jumbleButton.LayoutOrder =
searchBoxFrame = .()
searchBoxFrame.Name =
searchBoxFrame.Parent = scrollFrame
searchBoxFrame.BackgroundTransparency =
searchBoxFrame.Size = .(, -, , )
searchBoxFrame.Position = .(, , , )
searchBoxFrame.LayoutOrder =
searchBoxLabel = .()
searchBoxLabel.Name =
searchBoxLabel.Parent = searchBoxFrame
searchBoxLabel.BackgroundTransparency =
searchBoxLabel.Size = .(, , , )
searchBoxLabel.Font = .Font.SourceSans
searchBoxLabel.Text =
searchBoxLabel.TextColor3 = .(, , )
searchBoxLabel.TextSize =
searchBoxLabel.TextXAlignment = .TextXAlignment.Left
searchBox = .()
searchBox.Name =
searchBox.Parent = searchBoxFrame
searchBox.BackgroundColor3 = .(, , )
searchBox.BorderColor3 = .(, , )
searchBox.Position = .(, , , )
searchBox.Size = .(, -, , )
searchBox.Font = .Font.SourceSans
searchBox.Text =
searchBox.TextColor3 = .(, , )
searchBox.TextSize =
searchBox.PlaceholderText =
searchBox.PlaceholderColor3 = .(, , )
searchBox.ClearTextOnFocus =
langButtons = {}
categoryElements = {}
categoryLayoutOrder =
_, categoryData (languageCategories)
headerLabel = .()
headerLabel.Name = categoryData.Name ..
headerLabel.Parent = scrollFrame
headerLabel.BackgroundTransparency =
headerLabel.Size = .(, -, , )
headerLabel.Position = .(, , , )
headerLabel.Font = .Font.SourceSansBold
headerLabel.Text = categoryData.Name
headerLabel.TextColor3 = .(, , )
headerLabel.TextSize =
headerLabel.TextXAlignment = .TextXAlignment.Left
headerLabel.LayoutOrder = categoryLayoutOrder
categoryLayoutOrder +=
buttonContainer = .()
buttonContainer.Name = categoryData.Name ..
buttonContainer.Parent = scrollFrame
buttonContainer.BackgroundTransparency =
buttonContainer.Size = .(, , , )
buttonContainer.AutomaticSize = .AutomaticSize.Y
buttonContainer.LayoutOrder = categoryLayoutOrder
categoryLayoutOrder +=
gridLayout = .()
gridLayout.Parent = buttonContainer
gridLayout.CellPadding = .(, , , )
gridLayout.CellSize = .(, , , )
gridLayout.StartCorner = .StartCorner.TopLeft
gridLayout.HorizontalAlignment = .HorizontalAlignment.Center
gridLayout.SortOrder = .SortOrder.Name
sortedLangNames = {}
langName (categoryData.Languages)
.(sortedLangNames, langName)
.(sortedLangNames)
categoryButtons = {}
_, langName (sortedLangNames)
button = .()
button.Name = langName
button.Parent = buttonContainer
button.BackgroundColor3 = .(, , )
button.BorderColor3 = .(, , )
button.Font = .Font.SourceSans
button.Text = langName
button.TextColor3 = .(, , )
button.TextSize =
langButtons[langName] = button
categoryButtons[langName] = button
.(categoryElements, {
header = headerLabel,
container = buttonContainer,
buttons = categoryButtons
})
(searchText)
searchTextLower = .(searchText)
searchTextLower ==
_, category (categoryElements)
category.header.Visible =
category.container.Visible =
_, button (category.buttons) button.Visible =
_, category (categoryElements)
anyButtonVisible =
langName, button (category.buttons)
langNameLower = .(langName)
.(langNameLower, searchTextLower)
button.Visible = ; anyButtonVisible =
button.Visible =
category.header.Visible = anyButtonVisible
category.container.Visible = anyButtonVisible
isExpanded =
toggleButton.MouseButton1Click:(()
isExpanded = isExpanded
scrollFrame.Visible = isExpanded
isExpanded
toggleButton.Text =
mainFrame.Size = .(, , , )
searchBox.Text =
()
toggleButton.Text =
mainFrame.Size = .(, , , )
)
()
_, button (langButtons) button.BackgroundColor3 = .(, , )
stopButton.BackgroundColor3 = .(, , )
jumbleButton.BackgroundColor3 = .(, , )
langName, button (langButtons)
button.MouseButton1Click:(()
()
button.BackgroundColor3 = .(, , )
isTranslatorActive = ; isJumbleActive =
targetLanguage = languages[langName]
( .. langName .. )
)
stopButton.MouseButton1Click:(()
()
isTranslatorActive = ; isJumbleActive =
targetLanguage =
()
)
jumbleButton.MouseButton1Click:(()
()
jumbleButton.BackgroundColor3 = .(, , )
isTranslatorActive = ; isJumbleActive =
targetLanguage =
()
)
searchBox.Changed:(() (searchBox.Text) )
()
box =
LP:() LP.PlayerGui:()
box = LP.PlayerGui.Chat:(, )
box CoreGui:()
_, v (CoreGui.ExperienceChat:())
v:() v.Parent v.Parent.Name ==
box = v;
box
connections = (box.FocusLost)
box.FocusLost:((enter)
enter
msg = box.Text
(isTranslatorActive isJumbleActive) msg ~= msg:(,) ~=
box.Text =
.(() (msg) )
)
()
chatVersion ==
TCS.MessageReceived:((msg)
msg.TextSource
msg.TextSource.UserId == LP.UserId
.(()
text, detectedLang = (msg.Text, yourLanguage, )
text text ~= .(text) ~= .(msg.Text)
langTag = detectedLang detectedLang ~= detectedLang:()
( .. langTag .. .. msg.PrefixText .. .. text)
)
)
chatEvents = ReplicatedStorage:(, )
chatEvents
chatEvents.OnMessageDoneFiltering.OnClientEvent:((data)
.(()
speaker = data.FromSpeaker
message = data.Message
speaker ~= LP.Name
text, detectedLang = (message, yourLanguage, )
text text ~= .(text) ~= .(message)
langTag = detectedLang detectedLang ~= detectedLang:()
( .. langTag .. .. speaker .. .. text)
)
)
.()
()
LP.CharacterAdded:(() .(); () )
Let's you swap what language you speak in chat so if you pick Spanish and say HI in English if would change to Hola. SO YOU CAN SPEAK LANGUAGES YOU DO NOT KNOW AND UNDERSTAND THEM.

Universal