Several years back, one day, I was reading a pdf book on my PC. PDF was in English which is not my native language, as you may find one of the technical books on the market; and I remember myself, sometimes when I see a word which I don’t know the meaning of, I open a browser and go to Google Translate. But, the point here is, reading something necessitates focus to understand, particularly the technical books, they need more concentration. Whenever I go to any translation service was a context-switch! As you know, the context-switch is an expensive thing in our area.
You lose your focus, and you move to the browser, browser seduces you to visit other pages like social platforms :) even if you keep yourself away from it and also be successful at it, still, switching the context may cause an endless loop, and you may end up touring social media instead of finding the meaning of the word!
So, to create the focus and keep it, I just wanted to have something that keeps me in the current PDF window and get the meaning of the word that I clicked/selected. So, DynamicTranslator was born! First, I prototyped with GoogleTranslate and added other translator services such as Yandex, SesliSozluk(only Turkish-English), PrompTranslate. I got a lot of positive feedback, especially academic students, who prepare their master thesis and studies. I appreciate it.
Since I was mainly using Windows PC, I created DynamicTranslator with WPF/C#. Then I received a lot of requests about the macOS version of it. Although I couldn’t find time to implement it, the Swift language seems tempting. It is up for grabs, so be my guest:)
Recently I started re-writing it since I don’t like some parts of it anymore. The new design will bring more clear/thin code structure and performance since I get rid of the frameworks that I’ve used there. Re-Write branch
I also started writing DynamicTranslator in Go. I checked some cross-platform UI libraries that I can use for sending notifications from the top-right of the screen. Still, I could not find elegant ones or ones that I can use and get a similar experience that I have with WPF implementation. If you know how to deal with that, please ping me or comment. I think this need will make me go to Swift programming to cope with this since operating system calls are not compatible with all the frameworks/libraries. They do provide limited access to system/UI calls.
While I work on the new re-write version of DynamicTranslator, you can download and play the latest version of it.
If you want to contribute it, I would be more than happy to have your commits! Please target this pull request
A Side Note
I had created a video back then. It was on dynamictranslator.com, but right now it is dead :) So, I think, it is better to keep this video here.
And also, maybe I will keep only one page about DynamicTranslator and will update only here, just by adding modification dates. We’ll see.