Как стать автором
Обновить

Комментарии 115

Интересно… А можно сразу скомпилированный под Win?
Честно говоря. Я не умею компилировать в продакшн.
У меня это не получилось ни под мак, ни под венду.
Если кто научит — буду очень признателен.
Translator.rar
Собрал вроде бы статически, но не проверял, так что если напутал — могут потребоваться либы к нему: qtlibs.rar
Проверил и так, и с либами — выдает ошибку.
А какую?)
И либы вы куда клали, в каталог с программой?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
В какую папку либы класть?
В папку с программой положить dll'ки.
«Приложение небыло запущено, поскольку оно некорректно настроено»
у вас наверняка стоит .NET Framework, который ругается на файл .config. Попросите автора пересобрать для другого файла конфигурации, если такое возможно. (я сам не очень в QT =/).
.NET Framework ни при чем, нужно поставить Visual C++ Runtimes, об этом написали на 1 комментарий ниже.
Охохо, есть у меня подозрение. У вас же наверняка стоит Visual C++ 2008 Redistributable, да?
У меня не стоит…
Сочувствую…
Вот, судя по всему, у Arceny он стоит, поэтому и работает. Попробуйте тогда скачать и запустить вот такой вариант:
narod.ru/disk/6244053000/Translator_all.rar.html
Если не поможет, боюсь, придётся вам ставить вот этот пакет. Потому что другой возможный выход — это мне пересобирать QT для статической линковки, а это на моём ноутбуке около 6 часов :)
Заработало.Спасибо!
У меня VC не стоит, как и windows. Просто я посоветовал по своему опыту прошлой кросскомпиляции. После сборки приложения в командной строке Qt оно не хотело запускаться, так как не находило нужных библиотек в соответствующих местах (system32 и каталог с exe). Соответственно я подкидывал те dll на которые ругалось в папку программы и мог спокойно носить с собой полученный результат на флешке и запускать где угодно. Собиралось с помощью mingw…
Все в одну папку, Win XP SP3 ENG — работает!
Молодцы! симпы, лафки! :)
Хороший пример c QtWebKit, Спасибо за блог
Я поправил сохранение языков в Windows и по умолчанию рус-англ.
Перевел програму на русский
Вот исходник: dl.getdropbox.com/u/860231/GoogleTranslateSRC.rar

И скомпилировал одним файлом под Windows в Static сборке:
dl.getdropbox.com/u/860231/GoogleTranslateEXE.rar
Для работы приложения не требуются дополнительные DLL, требуется лишь .NET Framework
Ну Вы взяли очень старую версию.
Я зря Вы перевели прямо в исходниках.
Лучше бы создали файлик с переводом.

Ну а так все гут и спасибо за интерес =)
Под мак собралось на ура. Вот только бы по умолчанию надо бы другие языки.
Ну языки сохранятся.
Как Вы выберете, закроете приложение, потом откроете и они останутся те, которые были использованы в последний раз.
Под виндоусом (бинарники взяты выше) языки не сохраняются и, соответственно, не восстанавливаются. Албанский язык велик и могуч настолько, что предлагается перевести с него на него же при каждом старте.
Дык под маком своя есть программа для перевода и виджет в dashboard!
Дык у меня есть irc bot переводящий :) Я так факт просто констатировал. Виджетами как то не пользуюсь (только календарь).
+1 вот уже месяцев 9 сижу под макосью, но виджеты вообще не идут, ну разве что калькулятор и прогноз погоды, но я про него постоянно забываю:)
А так-же плазмоид в kde 4.2 (Transloid)
Правда под линуксом не скомпилилось
Установите qt4-llib и g++.
далее
qmake
make
donat@donat-desktop:~$ qmake
Приложение 'qmake' может быть найдено в следующих пакетах:
* libqt4-dev
* qt3-dev-tools
ну вот и ставьте libqt4-dev
Fedora 9:
yum install gcc-c++
yum install qt-devel qt-config
unzip translate090301.zip
qmake-qt4
make
cd bin/
./Translator

Завелось! спасибо автору :)
А может кто умеет писать плугины для миранды. Нужен плугин — галочка в окне отправки сообщения. Если галочка активна, то что бы оно переводило сообщение с русского на английский, а потом обратно перед отсылкой. Зачем это надо я ещё не придумал, но весело.
<Aptyp> "Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали игру, 3Д-экшон суть такова… Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы…
* ChanServ changes topic to 'Можно грабить корованы'

Простите, не удержался)
С каких пор «плагины» (plugins) стали «плУгинами»?
Наверно с тех пор как появилась plUgins, а по транскрипции не все умеют читать :)
Этот плУгин, напоминает анекдот где «Капитан Фокин».
Мой друг, IT-гуру и прожжённый сисадмин, обладает неисправимым недостатком: называет плагины плугинами. Частенько собираясь за кружечкой пива чашечкой чая по вечерам, наши разговоры заходят о миранде или фф и постепенно сваливаются в спор о том как нужно все таки правильно говорить. Вот
ну и написал: «собираясь по вечерам, наши разговоры»=D
У вас что-то с экранированием символов. "<Артур>" при переводе превращается в "\x3cArthur\x3e", который, в свою очередь, при переводе трансформируется в "\\ x3cArthur \\ x3e". Т.е. вы где-то перемудрили с экранированием спец-символов и бэкслешей или не трансформируете вывод обратно из экранированного, мне лень в коде разбираться :)
Круто, только правильнее Qt. Молодцом!
> Оффициальная
Официальная — исправьте
Исправил, спасибо.
Qt поделок всё больше, как и предупреждали анонимные аналитики с ЛОРа.

Спасибо за программу! :)
Небольшое замечание по архиву с исходниками: нехорошо класть файлы внутрь без подпапки.
Почему?
$ wget ...
$ unzip translate090301.zip

И в папке с закачками или ещё в какой, куда я распаковываю, срач из исходных текстов. Общепринятая практика — вкладывать в архив одну папку с названием-версией, и уже в эту папку — исходные тексты.
Прошу прощения, в следующей версии исправлюсь.
Фича-реквест: переводить по контрол-ентер. Ибо неудобно тянуться мышкой к кнопке ;-)

А так всё работает. Debian, amd64, Qt4.4.3
Ок, приму на заметку.
Что ж Вы свой текст на переводчике не прогнали? «видить», «будите», «Оффициальная» и прочие ошибки
До кучи: «реализовывает» -> «реализует».
оно конечно все прикольно… но имхо место такому посту в блоге я пиарюсь или что-нить в этом духе… вот если бы вы рассказали о том как посторить свое первое приложение на основе данного приложения, то тогда было бы шикарно…
минусующий — поясни…
НЛО прилетело и опубликовало эту надпись здесь
Соберите кто-то под Мак ОС ))
[img]http://qt-apps.org/CONTENT/content-pre1/100039-1.png[/img]
класно, но было бы еще лучше, если бы он запоминал последнее выбранное направление перевода, или поставьте по-умолчанию Английский-Русский (:
А он запоминает. Только вот говорят, что под виндой немного глючит запоминалка.
под виндой и тестировал — ни разу не запомнила
НЛО прилетело и опубликовало эту надпись здесь
не выпендривайся;) тут немного другой уровень… правда для уровня по, описанного в статье больше бы подошла статья с пошаговым написанием кода, чем просто рекламная статья;(
НЛО прилетело и опубликовало эту надпись здесь
а есть уже готовая сборка к установке? Хочу «просто установить» и пользоваться?
К сожалению нет, но в самом начале комментариев (сверху) собрали програмку под винду.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Благодарю, воспользуюсь Вашими советами.
Но есть ещ вопрос… А куда инфу о лицензии добавить?
GPL он и есть GPL…
В архив с программой кладётся файл COPYING, в котором и содержится лицензия.
ну не обязательно так называть… есть еще вариант LICENSE.GPL… главное чтобы понятно было что в нем
Принято обычно так, вне зависимости от того, какую лицензию вы туда кладёте :)
проблемы начинаются когда в проекте используются несколько лицензий (например гпл на код, цц на картинки);)
Так это всё и прописывается в файле COPYING.
в одном файле две лицензии? сурово…
а вообще это на самом деле дело вкуса… я беру пример с оформления кутешной библиотеки… там именно файл LICENSE.GPL
Соберите, пожалуйста, кто-нибудь под винду и выложите ссылочку. А?
НЛО прилетело и опубликовало эту надпись здесь
Хорошая штука. Удобный интернетовский сервис + локальный фейс.
Вот аналог на Adobe Air tinyurl.com/bzdf63
такс, почитал я исходники (благо их немного)… поехали по замечаниям:
1. где указание лицензии в исходниках (судя по куте-аппсам у вас гпл)?
2. где файлик с гпл-лицензией?
3. нафига в хедере class QHttpResponseHeader; если он в хедере не используется?
4. #include вот так писать не стоит, лучше указать какие классы вы используете
5. #include лучше вынести в цппшник, а в хедере написать class QSettings;
6. и да. Почему сеттинги не динамические?
7. не подключайте сами сигналы от гуевых виджетов, используйте автоконнект.
8. чтение, запись сеттингов лучше вынести в отдельные методы и уже их вызывать откуда надо. кстати запись сеттингов лучше делать по евенту закрытия главного окна а не в деструкторе
9. приучите уже себя к правильному именованию классов и методов. А то детский сад какой-то. Класс wnd, метод done() (как можно догадаться что это слот для сигнала done() от хттп я не знаю)
10. также стоит приучить себя нормально форматировать код… хотя бы где пробелы после запятых и точек с запятой?
11. по поводу toPercentEncoding() уже сказали выше
12. ui->langFrom->count() жуткая конструкция… уже если работаете с гуем напрямую, то хотя бы храните количество где-нить в переменной, не дергайте вы каждый раз метод… здесь это не критично, но в дальнейшем может спасти время;)

может что упустил, хз…
1. Да, GPL. Честно говоря не вставлял в код, в следующий раз вставлю.
2. Будет.
3. My bad, sorry. Просто изначально делал чо бы он был доступен в классе везде, потом передумал.
4. Спасибо, учту.
5. Ок.
6. Как понять не динамические? Объясните, пожалуйсто.
7. Что за автоконнект?
8. Спасибо, учту.
9. Ок, буду делать все правильно. Просто делалось изначально на скорую руку.
10. Мм… Раньше пользовался плагином AStyle… Сейчас не знаю где его нйти.
11. Ок, будет сделано.
12. хорошо, учту.

В целом огромное спасибо за конструктивную критику. Надеюсь Вы ответите на пару вопросов, которые я оставил в этом сообщении.
блин только щас заметил что парсер съел про какие именно инклюды я говорил на всякий случай:
3. QtNetwork
4. QSettings

теперь по вопросам

6. QSettings * settings; с вызовом конструктора и деструктора (в конструкторе не забудьте указать название приложения и организации)
7. дока. В ней написано про то как стоит именовать методы чтобы куте автоматически подцепил их как слоты для сигналов от виджетов на .ui
10. ну есть вариант руками пробелы ставить;)
Спсибо! Буду знать!
1. Отладочные сообщения — это замечательно, но комментарии тоже не помешали бы. Тем более, если вы хотите помочь хабралюдям выучить QT

2. В проект лучше добавить строки
OBJECTS_DIR = temp
MOC_DIR = temp
UI_DIR = temp
RCC_DIR = temp
чтобы промежуточные файлы не замусоривали папку проекта

3. это дело вкуса, но, как по-моему, такую маленькую форму лучше создавать напрямую, без QT Designer. Он только запутывает.

4. Всегда нужно отделять логику от интерфейса.

5. Не удаляется langs. И зачем он вообще, неясно.

6. Конструктор settings не вызывается, в результате данные сохраняются в линуксе в .config/Unknown Organization.conf, а в винде, видимо, будет засорен реестр. Нехорошо.

7. Ошибки http никак не обрабатываются, или я что-то пропустил?

практически разное написали;) это для автора хорошо;)
1. Будет сделано.
2. Уже сделал, спасибо.
3. Я сам учился работать с формами, созданными в дизайнере. Это моя первая программа с граф интерфейсом в дизайнере.
4. Ок, учту.
5. Посмотрю, спасибо. А langs содержит массив типов переводов (сокращенные названия языков). Нужно что бы он был доступен из любого места класса. Разобрался как так сделать только вот таким извращенным способом.
6. Извините, исправлюсь.
7. Да, они не обрабатываются. Предполагается что их быть не может =) Но я исправлю, спасибо.

Еще раз спасибо за комментарии по поводу кода.
НЛО прилетело и опубликовало эту надпись здесь
Проще сделать плагин для psi/pidgin.
НЛО прилетело и опубликовало эту надпись здесь
У Google уже есть jabber-боты-переводчики. Хоть там и меньше языков, чем в обычном Google Translate, но пользоваться, на мой взгляд, гораздо удобнее, плюс jabber-мессенджер сохраняет историю переводов.
Прекрасно, хотел бы иметь такой на Виндоусе. Где можно следить за новостями (чтобы весь блог не читать)?
Следите в моем блоге на странице переводчика и подпишитесь на ленту блога, там тоже много полезного проскакивает.
По-моему течет память у вас. При каждом переводе увеличивается количество памяти, используемое программой.
при беглом осмотре кода вроде утечек не обнаружил… хотя валгринд спасет отца русской демократии…
НЛО прилетело и опубликовало эту надпись здесь
ну уж если говорить про стиль кода при использовании Qt, то лучше почитать техбейз кдешный… и следовать их стандартам…
НЛО прилетело и опубликовало эту надпись здесь
Внес в закладки. Почитаю — отформатирую. Спасибо!
НЛО прилетело и опубликовало эту надпись здесь
первое правильно, надо давать самодокмуентирующие имена
второе правильно, нефиг перечислять по 10 переменных в одной строке, можно запутсаться с поинтерами и прочим
НЛО прилетело и опубликовало эту надпись здесь
аааааа, ну это да;))
а транскрипцию хотя бы для англ. можно прикрутить? это приложение будет полезно тогда для тех кто учится правильно читать
НЛО прилетело и опубликовало эту надпись здесь
это предложение по улучшению функционала
НЛО прилетело и опубликовало эту надпись здесь
Ждите, прикрутим. Скоро еще с Яндексом «подружимся» и с локальными словарями. Это все ожидается к версии 1.0. Думаю, к лету все будет.
а как обстоит дело с проксёй
Чем-то очень напоминает окно гуглоперевода в проге TranslateIt ;)
Понекропостирую немного: похоже, у гугла поменялся формат отдаваемых данных.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации