· 6 years ago · Mar 11, 2020, 06:34 PM
1G.API_KEY = "PASTE YOUR YANDEX API KEY HERE"
2
3local HttpService = game:GetService("HttpService")
4local Players = game:GetService("Players")
5local sourceText
6
7game:GetService("StarterGui"):SetCore("SendNotification", {
8Title = "In-Line ChatTranslator";
9Text = "Loaded";
10Duration = 5;
11})
12
13for i,plr in pairs(Players:GetPlayers()) do
14plr.Chatted:Connect(function(Message)
15response_lang = {}
16local autoDetect = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/detect?key=".._G.API_KEY.."&text="..HttpService:UrlEncode(Message))
17local detect_lan = HttpService:JSONDecode(autoDetect)
18table.insert(response_lang, detect_lan.lang)
19local translatedText = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang="..detect_lan.lang.."-en&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(Message))
20local data = HttpService:JSONDecode(translatedText)
21
22if detect_lan.lang == "en" or Message:sub(1, 3) == "/t " or Message:sub(1, 3) == "/w " then
23
24else
25if detect_lan.lang == "de" or detect_lan.lang == "ru" or detect_lan.lang == "fr" or detect_lan.lang == "es" or detect_lan.lang == "hu" or detect_lan.lang == "tr" or detect_lan.lang == "ja" or detect_lan.lang == "no" then
26game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{
27Text = "Use /e _"..tostring(table.concat(response_lang)).." [text without brackets] to respond.",
28Color = Color3.new(1, 0, 0)
29})
30game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{
31Text = plr.Name..": "..data.text[1],
32Color = Color3.new(1, 0, 0)
33})
34end
35end
36
37if Message:sub(1, 7) == "/e _de " and plr.Name == game.Players.LocalPlayer.Name then --German
38local LocalMessage = Message:sub(7,#Message)
39local LocalTranslate = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-de&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(LocalMessage))
40local LocalTranslate_data = HttpService:JSONDecode(LocalTranslate)
41local A_1 = LocalTranslate_data.text[1]
42local A_2 = "All"
43local Event = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
44Event:FireServer(A_1, A_2)
45end
46if Message:sub(1, 7) == "/e _ru " and plr.Name == game.Players.LocalPlayer.Name then --Russian
47local LocalMessage = Message:sub(7,#Message)
48local LocalTranslate = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-ru&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(LocalMessage))
49local LocalTranslate_data = HttpService:JSONDecode(LocalTranslate)
50local A_1 = LocalTranslate_data.text[1]
51local A_2 = "All"
52local Event = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
53Event:FireServer(A_1, A_2)
54end
55if Message:sub(1, 7) == "/e _fr " and plr.Name == game.Players.LocalPlayer.Name then --France
56local LocalMessage = Message:sub(7,#Message)
57local LocalTranslate = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-fr&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(LocalMessage))
58local LocalTranslate_data = HttpService:JSONDecode(LocalTranslate)
59local A_1 = LocalTranslate_data.text[1]
60local A_2 = "All"
61local Event = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
62Event:FireServer(A_1, A_2)
63end
64if Message:sub(1, 7) == "/e _es " and plr.Name == game.Players.LocalPlayer.Name then --Spanish
65local LocalMessage = Message:sub(7,#Message)
66local LocalTranslate = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-es&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(LocalMessage))
67local LocalTranslate_data = HttpService:JSONDecode(LocalTranslate)
68local A_1 = LocalTranslate_data.text[1]
69local A_2 = "All"
70local Event = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
71Event:FireServer(A_1, A_2)
72end
73if Message:sub(1, 7) == "/e _hu " and plr.Name == game.Players.LocalPlayer.Name then --Hungarian
74local LocalMessage = Message:sub(7,#Message)
75local LocalTranslate = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-hu&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(LocalMessage))
76local LocalTranslate_data = HttpService:JSONDecode(LocalTranslate)
77local A_1 = LocalTranslate_data.text[1]
78local A_2 = "All"
79local Event = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
80Event:FireServer(A_1, A_2)
81end
82if Message:sub(1, 7) == "/e _tr " and plr.Name == game.Players.LocalPlayer.Name then --Turkish
83local LocalMessage = Message:sub(7,#Message)
84local LocalTranslate = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-tr&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(LocalMessage))
85local LocalTranslate_data = HttpService:JSONDecode(LocalTranslate)
86local A_1 = LocalTranslate_data.text[1]
87local A_2 = "All"
88local Event = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
89Event:FireServer(A_1, A_2)
90end
91if Message:sub(1, 7) == "/e _ja " and plr.Name == game.Players.LocalPlayer.Name then --Japanese
92local LocalMessage = Message:sub(7,#Message)
93local LocalTranslate = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-ja&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(LocalMessage))
94local LocalTranslate_data = HttpService:JSONDecode(LocalTranslate)
95local A_1 = LocalTranslate_data.text[1]
96local A_2 = "All"
97local Event = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
98Event:FireServer(A_1, A_2)
99end
100if Message:sub(1, 7) == "/e _no " and plr.Name == game.Players.LocalPlayer.Name then --Norvegian
101local LocalMessage = Message:sub(7,#Message)
102local LocalTranslate = game:HttpGet("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-no&key=".._G.API_KEY.."&text="..HttpService:UrlEncode(LocalMessage))
103local LocalTranslate_data = HttpService:JSONDecode(LocalTranslate)
104local A_1 = LocalTranslate_data.text[1]
105local A_2 = "All"
106local Event = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
107Event:FireServer(A_1, A_2)
108end
109end)
110
111end