Переводчик
Пример релизации онлайн перевода с помощью сервиса Google. Своеобразный
аналог Dicter. Для перевода нужно выделить текст в любом окне и нажать F . Есть
ограничение на длину переводимого текста. Выход из программы реализован в трее.
При нажатии завершения по форме происходит сворачивание в трей. Для работы нужна
библиотека Window9
.
Автор: О. Мирошниченко. Создано в 2010 году. Его сайт
Адаптация под FreeBasic:
Станислав Будинов.
Сообщение от 04.12.2011: Скрипт, с помощью которого выполнялся перевод, больше не работает. Google все больше разочаровывает... Может быть я найду другой способ с помощью другого сервиса, когда будет желание
'==================================================== ' 26 сентября 2010 ' Google.translate ' Перевод с использованием скрипта и WebGadget ' При нажатии на кнопку F ' Олег Мирошниченко ' ограничение на обьем переводимого текста '===================================================== #INCLUDE "window9.bi" Dim Shared As HWND Window_0,web Dim As HMENU hMessages Dim As Integer Event Dim As HICON icon Sub Script() Dim As String text,Html Dim As Byte byte_=1 Dim As Integer a keybd_event(VK_CONTROL, 0,0,0) ' нажали Ctrl keybd_event(67, 0,0,0) ' нажали C Sleep(100) ' пауза между нажали/отпустили keybd_event(VK_CONTROL, 0,KEYEVENTF_KEYUP,0) ' отпустили Ctrl keybd_event(67,0,KEYEVENTF_KEYUP,0) ' отпустили C '---------форматирование текста---------------------------------------------------------- text=GetClipboardText() ' вывод текста из буфера text=ReplaceString(text,Chr(10),"",,1) text=ReplaceString(text,Chr(13),"<br>",,1) text= ReplaceString(text,"'",Chr(34),,1) ' меняем запрещенный символ ' на " '-------------скрипт-------------------------------------- Html+= "<html>" Html+= "<head>" Html+= "<meta http-equiv=" & ""& "Content-Type" &""&" content="&""&"text/html; charset=windows-1251"&""&">" Html+= "<title>GoogleTranslate</title>" Html+= "</head>" Html+= "<body>" Html += "<style>" Html += "body {padding:2; font: normal 11px Verdana, Arial, Helvetica, sans-serif;color: #444444;}" Html += "</style>" Html += "<script type='text/javascript' src='http://www.google.com/jsapi'></script>" Html += "<script type='text/javascript'>" Html += "$text='"+text+"';" Html +="google.load('language', '1');" Html += "function initialize() {" Html += "google.language.translate($text, 'en', 'ru', function(result) { " Html += "if (!result.error) {" Html += "var container = document.getElementById('translation');" Html += "container.innerHTML = result.translation;" Html += "}" Html += "});" Html += "}" Html += "google.setOnLoadCallback(initialize);" Html += "</script>" Html += "<div id='translation'></div>" Html += "</body>" Html +="</html>" '-------------скрипт-------------------------------------- Var h=Create_File(GetTempDir & "google_translate.htm") If h<>-1 Then Write_String(h,html) Endif WebGadgetNavigate(web,"file://localhost/"&GetTempDir &"google_translate.htm") HideWindow(Window_0,0) ' показать окно End Sub icon=LoadIcon(0,IDI_WINLOGO) ' иконка Window_0 = OpenWindow("Переводчик",0,0,500,250) SetWindowTop(Window_0, 1) ' окно всегда сверху Web = WebGadget(1, 0,0,500,250,"about") AddSysTrayIcon(1,Window_0,icon,"GoogleTranslate") ' Добавляет значок в Systray RegisterHotKey(Window_0,3,0,VK_F) hMessages=CreatePopMenu() MenuItem(1,hMessages,"Выход") '-------------------------------------- Do Event=WaitEvent() Select Case Event Case EventRBDown If EventNumber = 1 Then DisplayPopupMenu(hMessages,GlobalMouseX,GlobalMouseY) Case WM_HOTKEY If EventWParam=3 Then Script Endif Case EventMenu Exit Do Case EventClose HideWindow(Window_0,1) End Select Loop UnregisterHotKey(Window_0,3)