<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: babelfish code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Thu, 24 Jul 2008 05:03:47 GMT</pubDate>
    <description>DZone Snippets: babelfish code</description>
    <item>
      <title>Babelfish translate</title>
      <link>http://snippets.dzone.com/posts/show/4265</link>
      <description>Ok, so maybe some of you might think that Babelfish's the best translator out there. I don't know about that , but I do know where my towel is ;)&lt;br /&gt;So, boys and girls, here's the bookmarklet that allows to translate your current web-page using the babelfish translation engine.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;javascript:location.href='http://babelfish.altavista.com/babelfish/tr?trurl='+encodeURIComponent(location.href)+'&amp;lp=%s&amp;btnTrUrl=Translate'&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To make it useful, save it as a bookmark in FF (or as a new search engine in Opera) and give it a keyword/shortcut by editing the bookmark's properties in FF (or the search properties in Opera). Let's call him, say 'bf', that should do it.&lt;br /&gt;&lt;br /&gt;Here are some examples:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bf en_fr&lt;br /&gt;bf fr_en&lt;br /&gt;bf en_ja&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;G.R.</description>
      <pubDate>Thu, 05 Jul 2007 20:48:59 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4265</guid>
      <author>griflet (guillaume riflet)</author>
    </item>
    <item>
      <title>PyS60 - BabelFish</title>
      <link>http://snippets.dzone.com/posts/show/3047</link>
      <description>// Translate from language A to language B&lt;br /&gt;// code not complete but it works&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import urllib&lt;br /&gt;&lt;br /&gt;####################################################################################### &lt;BabelFish&gt;&lt;br /&gt;class BabelFish(object):&lt;br /&gt;    &lt;br /&gt;    def translate(self, lang, message):&lt;br /&gt;        &lt;br /&gt;        try:&lt;br /&gt;            url = urllib.URLopener()&lt;br /&gt;        &lt;br /&gt;            query = urllib.urlencode({&lt;br /&gt;                                      'doit':'done',&lt;br /&gt;                                      'intl':'1',&lt;br /&gt;                                      'lp':lang,&lt;br /&gt;                                      'tt':'urltext',&lt;br /&gt;                                      'urltext':message&lt;br /&gt;                                      })&lt;br /&gt;        &lt;br /&gt;            responde = url.open('http://babelfish.altavista.com/tr', query).read()&lt;br /&gt;        &lt;br /&gt;            start = responde.find('&lt;div style=padding:10px;&gt;') + 25&lt;br /&gt;            stop = responde.find('&lt;/div&gt;', start)&lt;br /&gt;        &lt;br /&gt;            return responde[start:stop]&lt;br /&gt;        &lt;br /&gt;        except Exception, error:&lt;br /&gt;            return '-' + str(error)&lt;br /&gt;####################################################################################### &lt;/BabelFish&gt;&lt;br /&gt;&lt;br /&gt;####################################################################################### &lt;BabelFishUI&gt;&lt;br /&gt;from graphics import *&lt;br /&gt;&lt;br /&gt;import appuifw&lt;br /&gt;import e32&lt;br /&gt;&lt;br /&gt;class BabelFishUI(object):&lt;br /&gt;    &lt;br /&gt;    def __init__(self):&lt;br /&gt;        &lt;br /&gt;        self.__lock = e32.Ao_lock()&lt;br /&gt;        self.__img = Image.new((176, 144))&lt;br /&gt;        self.__language = 'it_en'&lt;br /&gt;        self.__textUI = None&lt;br /&gt;        &lt;br /&gt;        appuifw.app.exit_key_handler = lambda:self.__lock.signal()&lt;br /&gt;        &lt;br /&gt;        appuifw.app.title = u'BabelFish v1.0'&lt;br /&gt;        appuifw.app.body = self.__canvas = appuifw.Canvas(redraw_callback=self.updateScreen)&lt;br /&gt;        &lt;br /&gt;        appuifw.app.menu = [(u'Translate', lambda:self.__translateUI()), (u'About', lambda:appuifw.note(u'BabelFish: v1.0", "Created by\nWhite Tiger\n&lt;Z-TEAM@Libero.it&gt;', 'info')), (u'Exit', lambda:self.__lock.signal)]&lt;br /&gt;        &lt;br /&gt;        self.updateScreen(None)&lt;br /&gt;        &lt;br /&gt;        self.__menuMain = appuifw.app.menu&lt;br /&gt;        self.__bgMain = appuifw.app.body&lt;br /&gt;        &lt;br /&gt;        self.__lock.wait()&lt;br /&gt;    &lt;br /&gt;    def updateScreen(self, rect):&lt;br /&gt;        &lt;br /&gt;        self.__canvas.blit(self.__img)&lt;br /&gt;    &lt;br /&gt;    def __back(self):&lt;br /&gt;        &lt;br /&gt;        appuifw.app.menu = self.__menuMain&lt;br /&gt;        appuifw.app.body = self.__bgMain&lt;br /&gt;        &lt;br /&gt;        appuifw.app.set_tabs([u'Back'], lambda x:None)&lt;br /&gt;    &lt;br /&gt;    def __translateUI(self):&lt;br /&gt;        &lt;br /&gt;        self.__textUI = appuifw.Text()&lt;br /&gt;                &lt;br /&gt;        appuifw.app.menu = [(u'Translate', lambda:self.__translate()), (u'Language', lambda:self.__setLanguage()), (u'Clear', lambda:self.__textUI.clear()), (u'Back', lambda:self.__back())]&lt;br /&gt;                   &lt;br /&gt;        appuifw.app.body = self.__textUI&lt;br /&gt;                &lt;br /&gt;    def __setLanguage(self):&lt;br /&gt;        &lt;br /&gt;        resp = appuifw.selection_list([u'italiano-inglese', u'inglese-italiano', u'inglese-francese', u'francese-inglese', u'inglese-tedesco', u'tedesco-inglese',&lt;br /&gt;                                       u'francese-italiano', u'italiano-francese'], 1)&lt;br /&gt;        &lt;br /&gt;        if resp == 0:&lt;br /&gt;            self.__language = 'it_en'&lt;br /&gt;        elif resp == 1:&lt;br /&gt;            self.__language = 'en_it'&lt;br /&gt;        elif resp == 2:&lt;br /&gt;            self.__language = 'en_fr'&lt;br /&gt;        elif resp == 3:&lt;br /&gt;            self.__language = 'fr_en'&lt;br /&gt;        elif resp == 4:&lt;br /&gt;            self.__language = 'en_de'&lt;br /&gt;        elif resp == 5:&lt;br /&gt;            self.__language = 'de_en'&lt;br /&gt;        elif resp == 6:&lt;br /&gt;            self.__language = 'fr_it'&lt;br /&gt;        elif resp == 7:&lt;br /&gt;            self.__language = 'it_fr'&lt;br /&gt;            &lt;br /&gt;    def __translate(self):&lt;br /&gt;        &lt;br /&gt;        babel = BabelFish()&lt;br /&gt;        &lt;br /&gt;        resp = babel.translate(self.__language, self.__textUI.get())&lt;br /&gt;        &lt;br /&gt;        if resp[0] == '-':&lt;br /&gt;            self.__textUI.set(unicode(resp[1:]))&lt;br /&gt;        else:&lt;br /&gt;            self.__textUI.set(unicode(': ' +self.__textUI.get() + '\n: ' + resp))&lt;br /&gt;                &lt;br /&gt;        appuifw.note(u'Translate', 'conf')&lt;br /&gt;####################################################################################### &lt;/BabelFishUI&gt;&lt;br /&gt;&lt;br /&gt;if __name__ == '__main__':&lt;br /&gt;    &lt;br /&gt;    BabelFishUI()&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 28 Nov 2006 04:35:55 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3047</guid>
      <author>whitetiger ()</author>
    </item>
  </channel>
</rss>
