![](http://webcf.waybackmachine.org/web/20201121022629im_/https://habrastorage.org/getpro/habr/avatars/9d2/194/f73/9d2194f733f5257909f6a6cb81273969.png)
Автоматический переводчик на Python+GTK3. Альтернатива Яндексу
![](https://webcf.waybackmachine.org/web/20201121022629im_/https://habrastorage.org/webt/u3/ns/lr/u3nslrgibbbwizct6ua_wdtyl8u.png)
Честно говоря, было немного обидно. Вот чего им не хватает!
Я, разумеется, начал искать выход для себя и друзей. И нашел.
Обычное понимание Drag and Drop(D&D) предполагает, что берётся, например, ссылка на файл из одного виджета и перемещается мышкой в другое окно или виджет. Далее пойдёт речь не о библиотечных функциях D&D, а о собственной реализации перемещения виджета в пределах окна и сопутствующего функционала. Код больше для примера, чем конкретного практического применения, написан в стиле Си с классами. Редактор — CodeBlocks 17.12, который перестал вылетать на Ubuntu x64 по сравнению с 16-ой версией.
Приветствую хабражителей!
Довольно давно возникла необходимость в мультиязычном онлайн переводчике при закрытом браузере.
Нет, так то я и словарем в "особо тяжелых" случаях пользоваться не брезгую, но иногда приходится читать немаленький текст, и не все слова я знаю, как следствие теряется контекст.
Вначале был translate-shell...
Решил я написать одно кроссплатформенное десктопное приложение на Go. Сделал CLI-версию, всё работает отлично. Да ещё и кросскомпиляция в Go поддерживается. Всё в общем отлично. Но понадобилась также и GUI-версия. И тут началось...
Когда мы в последний раз остановились на Movie Monad, мы создали десктопный видео-плеер, использующий все веб-технологии (HTML, CSS, JavaScript и Electron). Фокус был в том, что весь исходный код проекта был написан на Haskell.
Одним из ограничений нашего веб-подхода было то, что размер видео-файла не мог быть слишком большим, в противном случае приложение падало. Чтобы этого избежать, мы внедрили проверку размера файла и предупреждали пользователя о превышении ограничения.
Мы могли бы продолжить развивать наш подход с вебом, настроив бэкенд на стриминг видеофайла в HTML5-сервер, запустив параллельно сервер и Electron-приложение. Вместо этого мы откажемся от веб-технологий и обратимся к GTK+, Gstreamer и системе управления окнами X11.