Run it
Copy the script and paste it into your executor.
Players = :()
LocalPlayer = Players.LocalPlayer
PlayerGui = LocalPlayer:()
HttpService = :()
TextChatService = :()
UIS = :()
Settings = {
ollamaHost = ,
ollamaModel = ,
toggleKey = .KeyCode.F6,
chatKey = .KeyCode.T,
windowSize = ,
enterMode = ,
}
SIZES = {
Small = .(, ),
Normal = .(, ),
Large = .(, ),
}
(url, method, headers, body)
req = ( .request) ( .request)
req
()
ok, res = (req, {
Url = url,
Method = method ,
Headers = headers {},
Body = body ,
})
ok
( .. (res))
res
(system, user)
bodyTable = {
model = Settings.ollamaModel,
stream = ,
messages = {
{ role = , content = system },
{ role = , content = user },
},
}
bodyJson
ok1, err1 = (()
bodyJson = HttpService:(bodyTable)
)
ok1
( .. (err1))
res = (
Settings.ollamaHost .. ,
,
{ [] = },
bodyJson
)
res
res.StatusCode ~=
( .. (res.StatusCode))
ok2, data = (HttpService.JSONDecode, HttpService, res.Body)
ok2 data
()
data.message data.message.content
out = (data.message.content):()
out ~= out
(s)
s = s:(, )
s = s:(, )
s = s:(, )
s = s:(, )
s:()
(text)
reply = (
..
..
..
..
..
..
..
..
,
.. text
)
reply text
reply = (reply)
reply ~= reply text
(text)
reply = (
..
..
..
,
.. text
)
reply
reply = reply:()
reply:()
(text, lang)
reply = (
.. lang .. ..
..
..
..
..
,
.. text
)
reply
reply = (reply)
reply ~= reply
(msg)
ok1 = (()
channels = TextChatService:()
channels ()
general = channels:()
general ()
general:(msg)
)
ok1
ok2 = (()
rs = :()
events = rs:()
events ()
sayMsg = events:()
sayMsg ()
sayMsg:(msg, )
)
ok2
ok3 = (() LocalPlayer:(msg) )
ok3
(text)
ok = (()
setclipboard (text)
toclipboard (text)
Clipboard Clipboard.set Clipboard.(text)
()
)
ok
playerColors = {}
colorIndex =
colorPalette = {
.(,,), .(,,),
.(,,), .(,,),
.(,,), .(,, ),
.( ,,), .(,,),
}
(name)
playerColors[name]
colorIndex = (colorIndex % #colorPalette) +
playerColors[name] = colorPalette[colorIndex]
playerColors[name]
recentMessages = {}
(player, msg)
key = player .. .. msg
now = ()
recentMessages[key] (now - recentMessages[key]) <
recentMessages[key] = now
()
t = .()
.(, t.hour, t.min)
LANGUAGE_LIST = {
,,,,,,
,,,,,,
,,,,,,
,,,,,
,,,,,,
}
guiVisible =
autoTranslate =
lastTranslated =
logEntryCount =
logTotalCount =
logQueue = {}
logRunning =
activeTab =
pendingSend =
floatPending =
C = {
bg = .(, , ),
panel = .(, , ),
input = .(, , ),
accent = .(, , ),
accent2 = .(, , ),
dimText = .(, , ),
text = .(, , ),
sub = .(, , ),
green = .(, , ),
red = .(, , ),
yellow = .(, , ),
white = .(, , ),
border = .(, , ),
}
(r, p)
c = .()
c.CornerRadius = .(, r)
c.Parent = p
(l, r, t, b, p)
x = .()
x.PaddingLeft = .(, l )
x.PaddingRight = .(, r )
x.PaddingTop = .(, t )
x.PaddingBottom = .(, b )
x.Parent = p
(c0, c1, rot, p)
g = .()
g.Color = ColorSequence.({
ColorSequenceKeypoint.(, c0),
ColorSequenceKeypoint.(, c1),
})
g.Rotation = rot
g.Parent = p
(parent, size, pos, bg, cr)
f = .()
f.Size = size
f.Position = pos .(,,,)
f.BackgroundColor3 = bg C.panel
f.BorderSizePixel =
f.Parent = parent
cr (cr, f)
f
(parent, text, size, pos, fs, font, color, alignX)
l = .()
l.Size = size
l.Position = pos .(,,,)
l.BackgroundTransparency =
l.Text = text
l.TextSize = fs
l.Font = font .Font.Gotham
l.TextColor3 = color C.text
l.TextXAlignment = alignX .TextXAlignment.Left
l.TextWrapped =
l.Parent = parent
l
(parent, text, size, pos, bg, tc, fs, font)
b = .()
b.Size = size
b.Position = pos .(,,,)
b.BackgroundColor3 = bg C.accent
b.Text = text
b.TextColor3 = tc C.text
b.TextSize = fs
b.Font = font .Font.GothamBold
b.BorderSizePixel =
b.AutoButtonColor =
b.Parent = parent
b
(parent, placeholder, size, pos, multi)
b = .()
b.Size = size
b.Position = pos .(,,,)
b.BackgroundColor3 = C.input
b.TextColor3 = C.text
b.PlaceholderText = placeholder
b.PlaceholderColor3 = .(,,)
b.Text =
b.TextSize =
b.Font = .Font.Gotham
b.ClearTextOnFocus =
b.MultiLine = multi
b.TextWrapped = multi
b.TextXAlignment = .TextXAlignment.Left
b.TextYAlignment = multi .TextYAlignment.Top .TextYAlignment.Center
b.BorderSizePixel =
b.Parent = parent
b
(btn, normal, hover)
btn.MouseEnter:(() btn.BackgroundColor3 = hover )
btn.MouseLeave:(() btn.BackgroundColor3 = normal )
(parent, text, y)
(parent, text,
.(,,,), .(,,,y),
, .Font.GothamBold, C.dimText)
existing = PlayerGui:()
existing existing:()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
screenGui.Parent = PlayerGui
()
SIZES[Settings.windowSize] SIZES.Normal
sz = ()
mainFrame = (screenGui,
.(, sz.X, , sz.Y),
.(, -sz.X/, , -sz.Y/),
C.bg, )
mainFrame.Active =
mainFrame.Draggable =
shadow = (mainFrame,
.(,,,), .(,-,,),
.(,,), )
shadow.BackgroundTransparency =
shadow.ZIndex = mainFrame.ZIndex -
titleBar = (mainFrame,
.(,,,), .(,,,),
C.accent, )
(C.accent2, .(,,), , titleBar)
titleBarFix = (titleBar,
.(,,,), .(,,,-),
.(,,))
killBtn = (titleBar, ,
.(,,,), .(,,,-),
.(,,), C.white, , .Font.GothamBold)
(, killBtn)
(killBtn, .(,,), .(,,))
killBtn.MouseButton1Click:(() screenGui:() )
(titleBar, ,
.(,-,,), .(,,,),
, .Font.GothamBold, C.white)
keyHintLabel = (titleBar, ,
.(,,,), .(,-,,-),
, .Font.GothamBold, C.dimText, .TextXAlignment.Right)
()
keyHintLabel.Text = Settings.toggleKey.Name .. .. Settings.chatKey.Name ..
()
tabBar = (mainFrame,
.(,-,,), .(,,,),
C.panel, )
tabButtons = {}
tabNames = { , , }
tabLabels = { , , }
i, key (tabNames)
b = (tabBar, tabLabels[i],
.(/,-,,-),
.((i-)/, , , ),
C.panel, .(,,), , .Font.GothamBold)
(, b)
tabButtons[key] = b
PANEL_Y =
()
s = ()
.(,-, , s.Y - PANEL_Y - )
panels = {}
_, key (tabNames)
p = (mainFrame, (),
.(,,,PANEL_Y), C.bg)
p.BackgroundTransparency =
p.Visible =
panels[key] = p
(tab)
activeTab = tab
k, p (panels) p.Visible = (k == tab)
k, b (tabButtons)
k == tab
b.BackgroundColor3 = C.accent
b.TextColor3 = C.white
b.BackgroundColor3 = C.panel
b.TextColor3 = .(,,)
key, btn (tabButtons)
btn.MouseButton1Click:(() (key) )
floatBar = (mainFrame,
.(,-,,), .(,,,-),
.(,,), )
floatBar.Visible =
floatBar.ZIndex =
(floatBar, .(,,,), .(,,,), C.accent2, )
floatLangPill = (floatBar,
.(,,,), .(,,,-),
.(,,), )
floatLangText = (floatLangPill, ,
.(,,,), ,
, .Font.GothamBold, .(,,),
.TextXAlignment.Center)
floatInput = (floatBar,
,
.(,-,,), .(,,,-), )
floatInput.ZIndex =
(, floatInput)
(,,,,floatInput)
(floatBar, ,
.(,,,), .(,-,,-),
, .Font.Gotham, C.dimText, .TextXAlignment.Center)
floatStatus = (mainFrame, ,
.(,-,,), .(,,,-),
, .Font.GothamBold, C.green, .TextXAlignment.Center)
floatStatus.Visible =
floatStatus.ZIndex =
(ok, msg)
floatStatus.TextColor3 = ok C.green C.red
floatStatus.Text = msg
floatStatus.Visible =
.(, () floatStatus.Visible = )
(lang)
lang lang ~=
floatLangText.Text = .. lang
floatLangText.TextColor3 = .(,,)
floatLangText.Text =
floatLangText.TextColor3 = C.red
floatBar.Visible =
.()
floatInput:()
()
floatBar.Visible =
floatInput.Text =
floatPending =
tp = panels.translator
toggleRow = (tp,
.(,,,), .(,,,),
C.panel, )
toggleLabel = (toggleRow, ,
.(,-,,), .(,,,),
, .Font.GothamBold, C.sub)
toggleTrack = (toggleRow,
.(,,,), .(,-,,-),
.(,,), )
toggleKnob = (toggleTrack,
.(,,,), .(,,,-),
.(,,), )
toggleHit = (toggleTrack, ,
.(,,,), ,
.(,,), C.white, )
toggleHit.BackgroundTransparency =
(on)
autoTranslate = on
on
toggleTrack.BackgroundColor3 = C.accent
toggleKnob.Position = .(,-,,-)
toggleKnob.BackgroundColor3 = C.white
toggleLabel.Text =
toggleLabel.TextColor3 = .(,,)
toggleTrack.BackgroundColor3 = .(,,)
toggleKnob.Position = .(,,,-)
toggleKnob.BackgroundColor3 = .(,,)
toggleLabel.Text =
toggleLabel.TextColor3 = C.sub
()
toggleHit.MouseButton1Click:(()
( autoTranslate)
)
(tp, , )
langFrame = (tp,
.(,,,), .(,,,),
C.panel, )
langScroll = .()
langScroll.Size = .(,-,,-)
langScroll.Position = .(,,,)
langScroll.BackgroundTransparency =
langScroll.BorderSizePixel =
langScroll.ScrollBarThickness =
langScroll.ScrollBarImageColor3 = C.accent
langScroll.CanvasSize = .(,,,)
langScroll.AutomaticCanvasSize = .AutomaticSize.Y
langScroll.Parent = langFrame
pillLayout = .()
pillLayout.Padding = .(,)
pillLayout.FillDirection = .FillDirection.Horizontal
pillLayout.Wraps =
pillLayout.Parent = langScroll
(,,,,langScroll)
(tp, , )
promptBox = (tp, ,
.(,,,), .(,,,))
(, promptBox)
(,,,,promptBox)
promptBox:():(()
lang = promptBox.Text
lang ~=
floatLangText.Text = .. lang
floatLangText.TextColor3 = .(,,)
floatLangText.Text =
floatLangText.TextColor3 = C.red
)
selectedPill =
_, langName (LANGUAGE_LIST)
pill = (langScroll, langName,
.(,,,), ,
.(,,), .(,,), )
pill.AutomaticSize = .AutomaticSize.X
(, pill)
(,,,,pill)
pill.MouseButton1Click:(()
selectedPill
selectedPill.BackgroundColor3 = .(,,)
selectedPill.TextColor3 = .(,,)
pill.BackgroundColor3 = C.accent
pill.TextColor3 = C.white
selectedPill = pill
promptBox.Text = langName
)
(tp, , )
inputBox = (tp, ,
.(,,,), .(,,,), )
(, inputBox)
(,,,,inputBox)
(tp, , )
previewLabel = (tp, ,
.(,,,), .(,,,),
, .Font.Gotham, .(,,))
previewLabel.BackgroundColor3 = C.input
previewLabel.BackgroundTransparency =
previewLabel.TextYAlignment = .TextYAlignment.Top
(, previewLabel)
(,,,,previewLabel)
statusLabel = (tp, ,
.(,,,), .(,,,),
, .Font.Gotham, C.green)
(ok, msg)
statusLabel.TextColor3 = ok C.green C.red
statusLabel.Text = msg
sendBtn = (tp, ,
.(,-,,), .(,,,),
C.accent, C.white, , .Font.GothamBold)
(, sendBtn)
(C.accent2, .(,,), , sendBtn)
(sendBtn, C.accent, .(,,))
transOnlyBtn = (tp, ,
.(,-,,), .(,,,),
.(,,), .(,,), , .Font.GothamBold)
(, transOnlyBtn)
(transOnlyBtn, .(,,), .(,,))
copyBtn = (tp, ,
.(,-,,), .(,,,),
.(,,), .(,,), , .Font.GothamBold)
(, copyBtn)
(copyBtn, .(,,), .(,,))
translating =
(onDone)
translating
msg = inputBox.Text
lang = promptBox.Text
msg == (, )
lang == (, )
translating =
sendBtn.Active =
transOnlyBtn.Active =
copyBtn.Active =
previewLabel.Text =
previewLabel.TextColor3 = .(,,)
statusLabel.Text =
.(()
result = (msg, lang)
translating =
sendBtn.Active =
transOnlyBtn.Active =
copyBtn.Active =
result result ~=
lastTranslated = result
previewLabel.Text = result
previewLabel.TextColor3 = C.text
(result)
previewLabel.Text =
previewLabel.TextColor3 = C.red
(, )
)
sendBtn.MouseButton1Click:(()
((r)
(r)
(, .. promptBox.Text .. )
inputBox.Text =
lastTranslated =
(, )
)
)
transOnlyBtn.MouseButton1Click:(()
((_)
(, )
)
)
copyBtn.MouseButton1Click:(()
lastTranslated ==
((_)
ok = (lastTranslated)
(ok, ok )
)
ok = (lastTranslated)
(ok, ok )
)
lp = panels.log
logTopBar = (lp,
.(,,,), .(,,,),
C.panel, )
logCountLabel = (logTopBar, ,
.(,-,,), .(,,,),
, .Font.GothamBold, C.dimText)
clearBtn = (logTopBar, ,
.(,,,), .(,-,,-),
.(,,), .(,,), )
(, clearBtn)
(clearBtn, .(,,), .(,,))
logOuter = (lp,
.(,,,-), .(,,,),
.(,,), )
logScroll = .()
logScroll.Size = .(,-,,-)
logScroll.Position = .(,,,)
logScroll.BackgroundTransparency =
logScroll.BorderSizePixel =
logScroll.ScrollBarThickness =
logScroll.ScrollBarImageColor3 = C.accent
logScroll.CanvasSize = .(,,,)
logScroll.ScrollingDirection = .ScrollingDirection.Y
logScroll.Parent = logOuter
logListLayout = .()
logListLayout.Padding = .(,)
logListLayout.SortOrder = .SortOrder.LayoutOrder
logListLayout.Parent = logScroll
(,,,,logScroll)
()
h = logListLayout.AbsoluteContentSize.Y +
logScroll.CanvasSize = .(,,,h)
logScroll.CanvasPosition = .(, .(, h - logScroll.AbsoluteSize.Y))
clearBtn.MouseButton1Click:(()
_, c (logScroll:())
c:() c:()
logEntryCount =
logTotalCount =
logCountLabel.Text =
logScroll.CanvasSize = .(,,,)
)
CPL =
(text)
.(, .(#text / CPL))
(playerName, originalMsg)
logEntryCount +=
pc = (playerName)
card = (logScroll,
.(,,,), ,
.(,,), )
card.LayoutOrder = logEntryCount
(card, .(,,,-), .(,,,), pc, )
(card, playerName,
.(,-,,), .(,,,),
, .Font.GothamBold, pc)
badgeFrame = (card,
.(,,,), .(,-,,),
.(,,), )
(badgeFrame, ,
.(,,,), ,
, .Font.GothamBold, .(,,),
.TextXAlignment.Center)
(card, originalMsg,
.(,-,,), .(,,,),
, .Font.Gotham, .(,,))
.(, scrollToBottom)
card
(card, playerName, originalMsg, translatedMsg, langName, stamp)
card card.Parent
pc = (playerName)
origClean = originalMsg:():()
transClean = translatedMsg:():()
hasTrans = (origClean ~= transClean) translatedMsg ~=
oLines = (originalMsg)
tLines = hasTrans ( .. translatedMsg)
h = + + + (oLines*)
+ (hasTrans ( + tLines*) )
+ +
card.Size = .(,,,h)
card.BackgroundColor3 = .(,,)
_, child (card:()) child:()
(card, .(,,,-), .(,,,), pc, )
(card, playerName,
.(,-,,), .(,,,),
, .Font.GothamBold, pc)
badge = (card,
.(,,,), .(,-,,),
.(,,), )
(badge, langName,
.(,,,), ,
, .Font.GothamBold, .(,,),
.TextXAlignment.Center)
yPos =
(card, originalMsg,
.(,-,,oLines*), .(,,,yPos),
, .Font.Gotham, .(,,))
yPos = yPos + oLines*
hasTrans
yPos = yPos +
(card,
.(,-,,), .(,,,yPos),
.(,,))
yPos = yPos +
(card, .. translatedMsg,
.(,-,,tLines*), .(,,,yPos),
, .Font.GothamBold, .(,,))
yPos = yPos + tLines*
yPos = yPos +
(card, stamp,
.(,-,,), .(,,,yPos),
, .Font.Gotham, .(,,))
logTotalCount +=
logCountLabel.Text = logTotalCount .. .. (logTotalCount == ) ..
.(, scrollToBottom)
()
logRunning
logRunning =
.(()
#logQueue >
item = .(logQueue, )
card = (item.name, item.msg)
trans = (item.msg)
lang = (item.msg)
(card, item.name, item.msg, trans, lang, item.ts)
logRunning =
)
(playerName, msg)
playerName playerName ==
msg msg ==
(playerName, msg)
.(logQueue, { name = playerName, msg = msg, ts = () })
()
chatHooked =
(()
TextChatService.ChatVersion == .ChatVersion.TextChatService
TextChatService.MessageReceived:((msgObj)
msgObj
msgObj.Text msgObj.Text ==
src = msgObj.TextSource
src
srcName = src.Name
srcName srcName ==
player = Players:(srcName)
(player player.Name srcName, msgObj.Text)
)
chatHooked =
()
)
chatHooked
(()
(p)
p
p.Chatted:((msg)
msg msg ~= (p.Name, msg)
)
_, p (Players:()) (p)
Players.PlayerAdded:(hookPlayer)
chatHooked =
()
)
chatHooked ()
sp = panels.settings
(parent, yOffset, labelText, getKey, setKey)
(parent, labelText,
.(,,,), .(,,,yOffset),
, .Font.Gotham, C.sub)
row = (parent,
.(,,,), .(,,,yOffset+),
C.panel, )
keyLabel = (row, ().Name,
.(,-,,), .(,,,),
, .Font.GothamBold, C.text)
changeBtn = (row, ,
.(,,,), .(,-,,-),
C.accent, C.white, )
(, changeBtn)
(changeBtn, C.accent, C.accent2)
listening =
changeBtn.MouseButton1Click:(()
listening
listening =
changeBtn.Text =
changeBtn.BackgroundColor3 = C.yellow
conn
conn = UIS.InputBegan:((input)
input.UserInputType ~= .UserInputType.Keyboard
conn:()
(input.KeyCode)
keyLabel.Text = input.KeyCode.Name
changeBtn.Text =
changeBtn.BackgroundColor3 = C.accent
listening =
()
)
)
yOffset +
sy =
(sp, ,
.(,,,), .(,,,sy),
, .Font.GothamBold, C.text)
sy = sy +
(sp, .(,,,), .(,,,sy), C.border)
sy = sy +
(sp, , sy)
sy = sy +
sizeRow = (sp,
.(,,,), .(,,,sy),
C.panel, )
sy = sy +
sizeBtns = {}
i, sName ({,,})
isActive = (sName == Settings.windowSize)
sb = (sizeRow, sName,
.(/,-,,-), .((i-)/,,,),
isActive C.accent C.input,
isActive C.white C.sub,
, .Font.GothamBold)
(, sb)
sizeBtns[sName] = sb
sb.MouseButton1Click:(()
Settings.windowSize = sName
ns = SIZES[sName]
mainFrame.Size = .(, ns.X, , ns.Y)
mainFrame.Position = .(, -ns.X/, , -ns.Y/)
_, pnl (panels) pnl.Size = ()
k2, b2 (sizeBtns)
a = (k2 == sName)
b2.BackgroundColor3 = a C.accent C.input
b2.TextColor3 = a C.white C.sub
)
(sp, .(,,,), .(,,,sy), C.border)
sy = sy +
(sp, , sy)
sy = sy +
sy = (sp, sy, ,
() Settings.toggleKey ,
(k) Settings.toggleKey = k )
sy = (sp, sy, ,
() Settings.chatKey ,
(k) Settings.chatKey = k )
(sp, .(,,,), .(,,,sy), C.border)
sy = sy +
(sp, , sy)
sy = sy +
(sp, ,
.(,,,), .(,,,sy),
, .Font.Gotham, C.sub)
sy = sy +
hostBox = (sp, ,
.(,,,), .(,,,sy))
hostBox.Text = Settings.ollamaHost
(, hostBox)
(,,,,hostBox)
hostBox:():(()
hostBox.Text ~= Settings.ollamaHost = hostBox.Text
)
sy = sy +
(sp, ,
.(,,,), .(,,,sy),
, .Font.Gotham, C.sub)
sy = sy +
modelBox = (sp, ,
.(,,,), .(,,,sy))
modelBox.Text = Settings.ollamaModel
(, modelBox)
(,,,,modelBox)
modelBox:():(()
modelBox.Text ~= Settings.ollamaModel = modelBox.Text
)
sy = sy +
(sp, .(,,,), .(,,,sy), C.border)
sy = sy +
(sp, , sy)
sy = sy +
enterModeRow = (sp,
.(,,,), .(,,,sy),
C.panel, )
sy = sy +
enterModeBtns = {}
enterModeDesc = (sp, ,
.(,,,), .(,,,sy),
, .Font.Gotham, C.dimText)
(mode)
Settings.enterMode = mode
pendingSend =
floatPending =
k, b (enterModeBtns)
a = (k == mode)
b.BackgroundColor3 = a C.accent C.input
b.TextColor3 = a C.white C.sub
mode ==
enterModeDesc.Text =
enterModeDesc.Text =
i, em ({ {key=,label=}, {key=,label=} })
isActive = (Settings.enterMode == em.key)
eb = (enterModeRow, em.label,
.(,-,,-), .((i-)*,,,),
isActive C.accent C.input,
isActive C.white C.sub,
, .Font.GothamBold)
(, eb)
enterModeBtns[em.key] = eb
eb.MouseButton1Click:(() (em.key) )
(Settings.enterMode)
floatInput.FocusLost:((enterPressed)
msg = floatInput.Text
lang = promptBox.Text
enterPressed
()
Settings.enterMode ==
floatPending
toSend = floatPending
floatPending =
floatInput.Text =
()
.(()
(toSend)
(, .. lang .. )
)
msg ==
lang ==
(, )
.(); floatInput:()
floatInput.Text =
(, )
.(()
translated = (msg, lang)
translated translated ~=
floatPending = translated
(translated)
(, .. translated .. )
.()
floatBar.Visible floatInput:()
floatPending =
(, )
.()
floatBar.Visible floatInput:()
)
floatInput.Text =
()
msg ==
lang ==
(, )
(, )
.(()
translated = (msg, lang)
translated translated ~=
(translated)
(, .. lang .. )
(msg)
(, )
)
)
UIS.InputBegan:((input, gameProcessed)
input.UserInputType ~= .UserInputType.Keyboard
input.KeyCode == Settings.toggleKey
guiVisible = guiVisible
mainFrame.Visible = guiVisible
guiVisible ()
input.KeyCode == .KeyCode.Escape floatBar.Visible
()
input.KeyCode == Settings.chatKey autoTranslate gameProcessed
mainFrame.Visible =
guiVisible =
activeTab ==
.()
inputBox:()
(promptBox.Text)
input.KeyCode == .KeyCode.Return inputBox:()
msg = inputBox.Text
lang = promptBox.Text
Settings.enterMode ==
msg ==
pendingSend
toSend = pendingSend
pendingSend =
inputBox:()
(, )
.(()
(toSend)
(, .. lang .. )
)
lang == (, )
pendingSend =
inputBox.Text =
statusLabel.Text =
statusLabel.TextColor3 = .(,,)
.(()
translated = (msg, lang)
translated translated ~=
pendingSend = translated
(translated)
previewLabel.Text = translated
previewLabel.TextColor3 = C.text
(, )
.(); inputBox:()
pendingSend =
previewLabel.Text =
previewLabel.TextColor3 = C.red
(, )
)
msg ==
lang == (, )
inputBox.Text =
inputBox:()
statusLabel.Text =
statusLabel.TextColor3 = .(,,)
.(()
translated = (msg, lang)
translated translated ~=
(translated)
(, .. lang .. )
(msg)
(, )
)
)
()
( ..
Settings.toggleKey.Name .. ..
Settings.chatKey.Name .. )- THIS SCRIPT HAS ONLY BEEN TESTED IN WINDOWS. I DO NOT THINK MY SCRIPTS WOULD WORK ON ANY MOBILE DEVICE. - This is a claude-made GUI that can automatically translate your scripts using ollama to run AI models to translate for you. Requirements: Any Executor Node.JS Python Ollama Once you have all of them installed, you must open command prompt or terminal and put one of these in: ollama pull qwen2.5:1.5b or ollama pull qwen2.5:7b You can choose between one of these models in the settings. For more accuracy, choose 7b. For more speed (which I recommend), choose 1.5b. Once ollama is finished pulling the small language models, you can use an automated app I made for launching the servers. This requires python, which is why I asked you to download it. Note: This app is made entirely in python so if you own any anti-virus, it will ask to scan it. It shouldn't be flagged since it isn't malware. https://www.mediafire.com/file/ci3lwhri7gcnfqi/OllamaLauncher.exe/file Here is the virus total: https://www.virustotal.com/gui/file/f44f198c743ab85e94f7e900b24908696f07642347676fd7c6a0c1ea4c077f97/detection This only detects as "Suspicious" since it is used to run the local ollama se