Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Программа для перевода текстов через Яндекс, Google и Microsoft  (Прочитано 36654 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7214
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Freezeman, дык
cat /usr/share/online-translator/ui/online-translator.svg
cat: /usr/share/online-translator/ui/online-translator.svg: Нет такого файла или каталога
Ссылка битая почему-то, а сам файл есть, но иконки в шапке окна нет.

Пользователь решил продолжить мысль 11 Августа 2013, 23:28:58:
Вот что при нажатии перевести:
online-translator

(online-translator:11962): Gtk-WARNING **: Could not load image 'online-translator.svg': Не удалось открыть файл «/usr/share/online-translator/ui/online-translator.svg»: Нет такого файла или каталога
WARNING:online_translator_lib: connect_signals() 'expected handler 'on_Clear_activate' in /usr/lib/python2.7/dist-packages/online_translator/OnlineTranslatorWindow.pyc'

(online-translator:11962): Gdk-CRITICAL **: gdk_window_get_origin: assertion `GDK_IS_WINDOW (window)' failed

(online-translator:11962): Gdk-CRITICAL **: gdk_window_get_origin: assertion `GDK_IS_WINDOW (window)' failed

(online-translator:11962): Gdk-CRITICAL **: gdk_window_get_visual: assertion `GDK_IS_WINDOW (window)' failed

(online-translator:11962): Gdk-CRITICAL **: gdk_window_get_origin: assertion `GDK_IS_WINDOW (window)' failed

(online-translator:11962): Gdk-CRITICAL **: gdk_window_get_origin: assertion `GDK_IS_WINDOW (window)' failed

(online-translator:11962): Gdk-CRITICAL **: gdk_window_get_visual: assertion `GDK_IS_WINDOW (window)' failed
Showing window...
Yandex
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/online_translator/OnlineTranslatorWindow.py", line 87, in on_TranslateButton_clicked
    self.do_translate(source)
  File "/usr/lib/python2.7/dist-packages/online_translator/OnlineTranslatorWindow.py", line 76, in do_translate
    self.result = translate(source)
  File "/usr/lib/python2.7/dist-packages/functions.py", line 112, in translate
    ya_translation = ya_translate(text)
  File "/usr/lib/python2.7/dist-packages/YandexTranslation.py", line 52, in ya_translate
    return pre_translate(string, key)
  File "/usr/lib/python2.7/dist-packages/YandexTranslation.py", line 26, in pre_translate
    return {'translation' : _(u'Please, enter your API key in the preferences'),
NameError: global name '_' is not defined
« Последнее редактирование: 11 Августа 2013, 23:28:58 от peregrine »

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Блин, я про иконку без понятия. В обновленной версии попробовал поменять местами иконку и ссылку на нее, но проблема, как я понял, сохранилась...

Почему на подчеркивание ругается я не понимаю, первая самая строка кода в файле:
Код: (Python) [Выделить]
from locale import gettext as _
Так если на импорт не ругается, почему при использовании ругается, что имя не определено?..

Я почти уверен, что оптимизировать код как-то можно, потому что я программист так себе, но лично мне запуск длиной в две секунды ничем не мешает, потому что запускается при старте и висит все время в трее, эти секунды роли не сыграют...

Пользователь решил продолжить мысль 12 Августа 2013, 02:44:14:
Не нашел в ланчпаде, где можно прокомментировать код.

(Нажмите, чтобы показать/скрыть)

Импорт перенес, спасибо. Честно, я это все про логгинг оставил из какого-то примера, который использовал, и надо или уж полноценно его использовать, или убрать нафиг, мне кажется.

Почему про защиту Вы указали именно на AboutOnlineTranslatorDialog.py?)
« Последнее редактирование: 12 Августа 2013, 02:44:14 от Phlya »
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Не нашел в ланчпаде, где можно прокомментировать код.

(Нажмите, чтобы показать/скрыть)

Почему про защиту Вы указали именно на AboutOnlineTranslatorDialog.py?)
Просто там увидел )

Пользователь решил продолжить мысль 12 Августа 2013, 07:36:30:
logging вообще удобная штука, особенно если вдруг понадобится debug

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Что ж Вы там увидели?..
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Что ж Вы там увидели?..
Ну да, неудачный пример )) Но вот заметил, что logging у вас в пустую импортируется. Я вообще не знаю, как происходит импорт из разных модулей -- импортируется ли снова модули уже проимпортированные в других модулях? Видимо всё же один раз.
« Последнее редактирование: 12 Августа 2013, 12:04:38 от Freezeman »

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Я тоже думал об этом - по идее, достаточно один раз, но, кажется, принято в каждом файле, где модуль используется, это все равно писать для наглядности. Но я не уверен.
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Еще немного по коду.
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 12 Августа 2013, 12:27:24:
Я тоже думал об этом - по идее, достаточно один раз, но, кажется, принято в каждом файле, где модуль используется, это все равно писать для наглядности. Но я не уверен.
По ссылке выше есть про это... незнаю на сколько пруф. Там, к стати, есть и про "_". Я так понимаю, это приватная переменная?
« Последнее редактирование: 12 Августа 2013, 12:27:24 от Freezeman »

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Ок, info я тупо скопировал из чего-то, откуда брал примеры использования keybinder'а. Исправлю.

Да, что-то подобное я и читал когда-то, спасибо.

А _ в данном случае это, Вы не поверите, имя функции =) Видимо, оно специально сделано максимально коротким, потому что это функция, которая используется для тех строковых переменных, которые необходимо перевести - их может быть очень много.
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
А _ в данном случае это, Вы не поверите, имя функции =) Видимо, оно специально сделано максимально коротким, потому что это функция, которая используется для тех строковых переменных, которые необходимо перевести - их может быть очень много.
Ну это я понял )) Сам недавно узнал (это казалось неочевидным), что имя функции -- это переменная, хранящая ссылку на функцию. Просто это имя, если начинается с _, то является приватным и не импортируется во-вне.

Вот, нашел такой баг в Django, там и решение. Хотя вроде у вас что-то подобное. Короче, думаю может стоит поменять название переменной?

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Там решение - вставить определение этого подчеркивания в начало файла. Я это сделал...
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Freezeman, дык
cat /usr/share/online-translator/ui/online-translator.svg
cat: /usr/share/online-translator/ui/online-translator.svg: Нет такого файла или каталога
Ссылка битая почему-то, а сам файл есть, но иконки в шапке окна нет.
Странно, у меня все есть.

Пользователь решил продолжить мысль 12 Августа 2013, 15:13:54:
Зато
--> cat /usr/share/online-translator/media/online-translator.svg
cat: /usr/share/online-translator/media/online-translator.svg: Нет такого файла или каталога

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7214
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Freezeman, обновился, то же что и у Вас (обновление прилетело недавно), иконка появилась. Перевод заработал.

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Ура, я рад, что помогло!
Ubuntu 14.04 (Unity), MSI GE40

adawdp

  • Гость
— Скромно так о себе напомню, на всякий случай :)! А то весь банкет тут без меня как-то идёт :)!
mixail@mixail-desktop:~$ sudo apt-get install online-translator
Пакеты, имеющие неудовлетворённые зависимости:
 online-translator : Зависит: gir1.2-keybinder-3.0 но он не может быть установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
mixail@mixail-desktop:~$
— Ещё раз gir1.2-keybinder-3.0 легко устанавливается и программа потом работает, но далее приходит обновление дистрибутива 700МВ, после применения которого система становится неработоспособной, проверил 4 раза…
— Можно, конечно, как-то что-то придумать с обновлением, но это думаю не очень правильно… То что gir1.2-keybinder-3.0 и поступающее затем странное обновление связано между собой абсолютно не вызывает сомнения!

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
А как Вы устанавливаете  gir1.2-keybinder-3.0?
Ubuntu 14.04 (Unity), MSI GE40

 

Страница сгенерирована за 0.018 секунд. Запросов: 19.