BabelFish for Outlook 2000/2002/2003
Important note: as of December 2003, Babelfish SOAP service (www.xmethods.com) has been disabled.
You can still use the add-in source code of course, but if you are an end-user, this add-in is not very useful anymore, sorry...
Copyright © 2001 Dmitry Streblechenko
Simply select any message in any Outlook folder and click Translate button...
Make fun of the translation!
BabelFish for Outlook source code
BabelFish for Outlook comes with full source code. Free.
The source code demonstrates how to create a COM add-in for Outlook 2000/2002, add your own buttons to every Outlook explorer and inspector and add a custom tab to the Tools | Options dialog in Outlook. The add-in uses SOAP service from http://babelfish.altavista.com to perform the actual translation of a selected message (if you click Translate button on an Outlook explorer) or of the selected text in a message (if you click Translate button on an Outlook inspector and you are using HTML or Word editor). If AltaVista pulls the plug on this service, you are on your own...
To compile the add-in you will need Delphi 6 or 7 Enterprise. Note that any other version of Delphi will not work as only D6E/D7E support SOAP natively. If you want to use this source code as a skeleton for your own add-in, you can remove the pieces that reference SOAP libraries and compile it using any flavor of Delphi 5, 6 or 7.
There is no detailed description of the source code, I might however write something if there is enough demand.
You can use the source code in any way you like. If you improve it, I wouldn't mind receiving a copy.
If you are involved with any kind of Outlook development, I strongly suggest that you download OutlookSpy. Save yourself hours or even days of frustration. OutlookSpy gives you access to every API that can be used to talk to Outlook: Outlook Object Model, CDO, Extended MAPI.
Known issues: if you open Tools|Options dialog in Outlook (which has a Babelfish tab), then right click on any toolbar and click "Customize", Outlook complains that you need to close all open dialogs. Note that this happens only if you recompile Babelfish yourself, binary downloaded from this site does not have this problem. Fix: you need to edit AxCtrls.pas (part of the VCL library). Find ParkingWindow() function and change SWP_SHOWWINDOW to SWP_HIDEWINDOW. Since I cannot legally distribute (modified) AxCtrls.pas, you need to make the change yourself.
Download source code
Since this product is free, I can only provide limited support. You are welcome to e-mail your questions or suggestions, but I cannot promise that I will answer every e-mail.