Skip to content

Instantly share code, notes, and snippets.

@endofline
Created February 9, 2015 11:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save endofline/bed1e1c5bb0be89f4589 to your computer and use it in GitHub Desktop.
Save endofline/bed1e1c5bb0be89f4589 to your computer and use it in GitHub Desktop.
10 minutes of Python code
import goslate
import asyncio
gs = goslate.Goslate()
def _initialise(command):
command.register_handler(_handle_message)
@asyncio.coroutine
def _handle_message(bot, event, command):
language_map = {
"chinese": "zh",
"german": "de",
"arabic": "ar",
"malay": "ms",
"french": "fr",
"hindi": "hi",
"indonesian": "id",
"tamil": "ta",
"russian": "ru",
"ukrainian": "uk",
"thai": "th",
"swahili": "sw",
"japanese": "ja",
"italian": "it",
"sinhala": "si",
"english": "en"
}
for language_token in language_map:
if "/" + language_token in event.text:
iso_language = language_map[language_token]
bare_text = event.text.replace("/" + language_token, "").strip()
yield from asyncio.sleep(0.2)
yield from _translate(bot, event, bare_text, iso_language)
@asyncio.coroutine
def _translate(bot, event, text, iso_language):
translated = gs.translate(text, iso_language)
bot.send_message_parsed(event.conv, iso_language + ": " + translated)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment