diff --git a/src/controller/messages.py b/src/controller/messages.py index 880ec4a2..62d4a5fa 100644 --- a/src/controller/messages.py +++ b/src/controller/messages.py @@ -45,8 +45,12 @@ class basicTweet(object): dlg = translator.gui.translateDialog() if dlg.get_response() == widgetUtils.OK: text_to_translate = self.message.get_text() - dest = [x[0] for x in translator.translator.available_languages()][dlg.get("dest_lang")] - msg = translator.translator.translate(text=text_to_translate, target=dest) + language_dict = translator.translator.available_languages() + print(dlg.dest_lang.GetStringSelection()) + for k in language_dict: + if language_dict[k] == dlg.dest_lang.GetStringSelection(): + dst = k + msg = translator.translator.translate(text=text_to_translate, target=dst) self.message.set_text(msg) self.text_processor() self.message.text_focus() diff --git a/src/extra/translator/translator.py b/src/extra/translator/translator.py index f390fbf2..e1a24091 100644 --- a/src/extra/translator/translator.py +++ b/src/extra/translator/translator.py @@ -1,15 +1,13 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals -from builtins import zip -from yandex_translate import YandexTranslate +from googletrans import Translator, LANGUAGES def translate(text="", target="en"): - t = YandexTranslate("trnsl.1.1.20161012T134532Z.d01b9c75fc39aa74.7d1be75a5166a80583eeb020e10f584168da6bf7") - vars = dict(text=text, lang=target) - return t.translate(**vars)["text"][0] + t = Translator() + vars = dict(text=text, dst=target) + return t.translate(**vars).text supported_langs = None -d = None + languages = { "af": _(u"Afrikaans"), "sq": _(u"Albanian"), @@ -105,11 +103,4 @@ languages = { } def available_languages(): - global supported_langs, d - if supported_langs == None and d == None: - t = YandexTranslate("trnsl.1.1.20161012T134532Z.d01b9c75fc39aa74.7d1be75a5166a80583eeb020e10f584168da6bf7") - supported_langs = t.langs - d = [] - for i in supported_langs: - d.append(languages[i]) - return sorted(zip(supported_langs, d)) + return languages diff --git a/src/extra/translator/wx_ui.py b/src/extra/translator/wx_ui.py index 14d2a88e..8b9672e3 100644 --- a/src/extra/translator/wx_ui.py +++ b/src/extra/translator/wx_ui.py @@ -16,37 +16,21 @@ # along with this program. If not, see . # ############################################################ -from __future__ import absolute_import -from __future__ import unicode_literals -# -*- coding: utf-8 -*- -############################################################ -# Copyright (c) 2013, 2014 Manuel Eduardo Cortéz Vallejo -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -############################################################ from . import translator import wx from wxUI.dialogs import baseDialog class translateDialog(baseDialog.BaseWXDialog): def __init__(self): + languages = [] + language_dict = translator.available_languages() + for k in language_dict: + languages.append(language_dict[k]) super(translateDialog, self).__init__(None, -1, title=_(u"Translate message")) panel = wx.Panel(self) sizer = wx.BoxSizer(wx.VERTICAL) staticDest = wx.StaticText(panel, -1, _(u"Target language")) - self.dest_lang = wx.ComboBox(panel, -1, choices=[x[1] for x in translator.available_languages()], style = wx.CB_READONLY) + self.dest_lang = wx.ComboBox(panel, -1, choices=languages, style = wx.CB_READONLY) self.dest_lang.SetFocus() self.dest_lang.SetSelection(0) listSizer = wx.BoxSizer(wx.HORIZONTAL)