wiki:WikiStart
Last modified 3 years ago Last modified on 11/18/10 20:14:50

Transbot

Transbot is an IRC translation bot designed to be a tool to connect IRC channels that are in different languages. The project is currently being worked on by two students at Rochester Institute of Technology, Taylor Rose and Mark Thill. Transbot uses the Google Translate API and supports all of the Latin-alphabet languages that Google does. Transbot is licensed under the GPL3

(Powered by Google)

Current Features

  • Connects many-to-many channels
  • Anything said in one channel is sent to every other channel and translated to that channel's language
  • Supports all languages that Google Translate supports.(Non-Latin languages do not display correctly however)
  • In-Channel commands: add/remove channel, change language, etc.
  • Config file in .ini format saves favorite channels

Future Features

  • Meeting logging
  • Translation Optimization. Pull translation from multiple sources and compare for best quality somehow.
  • Translation Feedback - Users able to submit a better translation then the one given.

Test Transbot

We are currently running Transbot in English and Spanish although it supports many languages (list here)

The testing channels have the format #transbot-test-{en|es}.

How to Test

  1. Join #transbot-test-rand , #transbot-test-en and #transbot-test-es on freenode.net.
  1. Just talk to other people on there. Try to say things you don't think it'll be able to translate. In general, TRY TO BREAK IT!
  1. In #transbot-test-rand feel free to change the current channel language to any of the languages that are transbot supported. This can be done by typing '.XX' into channel where XX is the two letter language identifier. All indentifiers can be found in the section Supported Languages.
  1. Give us feedback

Testing goals:

  • Test high traffic conditions: Please lurk in channel as much as possible and TRY to overwhelm the bot. We want to know how the bot will handle high loads and if we need to optimize it.
  • Look for bugs: We know that the bot has quite a few bugs. If you find one please file a ticket specifying the bug. Please designate the component as 'Transbot-bugs'
  • Suggest features: If you think of a cool features or ideas please email us at tjr1351@… or mrt8449@…

Commands

In-Channel

Usage: 'transbot [command]

'help': list commands

'about': about Transbot

'list_chan': list the channels that Transbot is connected to

'add_chan <channel_name>:<language code>': connects Transbot to selected channel with selected source language

'rem_chan': disconnect Transbot from selected channel

'change_lang <language code>': Change the translation language of the current channel

'save': save the current channels to config file

Command Line

Usage: transbot.py [options]

Options:

-h, --help show this help message and exit -s SAVE, --save=SAVE Saves a list of channels as default.Uses form -s

channel1:es,channel2:es...

-r REMOVE, --remove=REMOVE

Removes a list of channels asdefault. Uses form -r channel1:es,channel2:es...

Milestones

1: Stable version with robust command line functionality and IRC commands

  • #2:Robust command line with option flags
  • Persistent configuration file
  • In-channel commands
  • #10:Error/ debug logging

2: Package for distribution

  • Package code into an rpm
  • #6:Post an instance of the bot running on a server

3: Community Testing

  • Reach out to the community and ask them to try our bot
  • Check the transbot logs for performance

4: Optimize the code to handle large payloads

  • Implement a twisted reactor system
  • Research optimization options

5: Add Features

  • in-channel translate requests
  • add/remove channel

Supported Languages

  • Afrikaans - af
  • Albanian - sq
  • Arabic - ar
  • Belarusian - be
  • Bulgarian - bg
  • Chinese (Simplified and Traditional) - zh
  • Catalan - ca
  • Croatian - hr
  • Czech - cs
  • Danish - da
  • Dutch - nl
  • English - en
  • Estonian - et
  • Filipino - tl
  • Finnish - fi
  • French - fr
  • Galician - gl
  • German - de
  • Greek - el
  • Haitian Creole - ht
  • Hebrew - he
  • Hindi - hi
  • Hungarian - hu
  • Icelandic -is
  • Indonesian - id
  • Irish - ga
  • Italian - it
  • Japanese - ja
  • Korean - ko
  • Latvian - lv
  • Lithuanian - lt
  • Macedonian - mk
  • Malay - ms
  • Maltese - mt
  • Norwegian - nb
  • Persian - fa
  • Polish - pl
  • Portuguese - pt
  • Romanian - ro
  • Russian - ru
  • Spanish - es
  • Serbian - sr
  • Slovak - sk
  • Slovenian
  • Swahili - sw
  • Swedish - sv
  • Thai - th
  • Turkish - tr
  • Ukrainian - uk
  • Vietnamese - vi
  • Welsh - cy
  • Yiddish - yi

Admins

How to use Transbot

  1. Obtain Transbot by either pulling our git or downloading from Pypi with the command 'easy_install transbot'
  1. You must run Transbot from command line with a starting channel your first time. transbot <channel-name>:<language>
    • Note: do not include '#' in your channel name here
  1. Join the same channel you just put Transbot in. From here you can control Transbot using in-channel commands.
    • use the 'help' command for a full list of commands
  1. Transbot will automatically translate messages between whatever channels you put it in. (Please do not connect Transbot to channels you do not administrate without permission.)
  1. Use the 'save' command to have Transbot create a config file before you turn it off. Next time you run Transbot you don't need to input any channels.
  1. To terminate Transbot use the key combination ctrl + c in the terminal running Transbot.

Teachers

Lesson Ideas

Transbot can be used a number of ways in the classroom. It is a great tool to have students communicate with people/children from different cultures. One possible lesson could be a session with a classroom in another country with a webcam in each classroom so students can see the other children. They would communicate using Transbot.

Blogs

Taylor: Blog

Twitter

Mark: Blog

Contribute

Pypi: Transbot

or in command line: easy_install transbot

Git commits: http://git.fedorahosted.org/git/?p=transbot.git

Git repository: git://git.fedorahosted.org/transbot.git

Track/ Bug Reporting: http://fedorahosted.org/transbot/report

Contacts

Taylor Rose: tjr1351@…; irc: Trose on freenode.net

Mark Thill: mrt8449@…; irc: thillm on freenode.net