This sbar module allows you to use the google translator feature from your
Just click on the Google-Translator symbol in the screenbar, a window will be
where you can write the word or sentence you want to translate into the one of
the input fields.
The text will be instantly translated while you are typing!
There are also two custom popup gadgets to choose the source and translated
Its now possible to open the translator window by pressing the hotkey alt-#.
It can be customized in the settings.
You can use the gTranslator from any programm which supports Copy&Paste!
Just activate the clipboard hook (press the right mouse button over the
in the screenbar) then everything which is copied to the clipboard will be
and displayed in a help bubble at the mouse pointer's position!
You can also automatically insert the translated text in your application, by
the Cut&Traste hotkey (default right amiga-shift-x) after marking a text.
Here is a short video demonstrating this feature:
If you have suggestions or bug reports, don't hesitate to email me!
What has changed in v3.4:
Fix: The error bubble also appeared if you use Cut'&'Traste
Chg: Changed the menu-hotkey to en/disable the clipboard to rAmiga-h, cause it
collides with Scintillas
Although my menu-hotkey was rAmiga-SHIFT-c but it seems, that intuition only
supports uppercase chars
if you also the define a menuitem with the char in lowercase!
New: Added a shorthelp to the lamp object
New: If the bubble with the translated string couldn't be created (f.e. the str
was too long),
an error bubble appears
Fix: If you delete the last char in the source field, the last char in the
target field stays there
Fix: Finding the source lang was broken, due to latest changing, thats why
retranslating wasn't done, if you have "source lang" set to "auto" and you
a text in your destination language, which should have been retranslating to
you home language
New: Linefeeds in the translated text will be replaced by a space, this looks
better in the bubble,
so MUI formats the text on its own
New: Added a new option to toggle the skipping of LFs
Fix: Multiple sentences didn't worked!? I know this had worked before...
Either way, I found a way to optimize the parsing of the translation a bit;)
Fix: Switching between screens, could prevent displaying the translater bubble
Chg: Changed the text of the "gTranslator working"-bubble to "gTranslating...",
the previous "gTranslator is working..." was to splitted into 2 lines, which
doesn't look good
Fix: The codepage was set to UTF8 before opening the window, not direct after
creating the window
This leads to not recognized chars when translating of "UTF8 words" before
the window was
opened for the first time, f.e. if you use the clipboard hook
Fix: Changed the text of the "gTranslator working"-bubble to "gTranslator is
What has changed in v3.3
Chg: gTranslator is now working again!
Chg: Added support for multiple translations, because the new url produces a
output format, where each sentence is translated for themselves
Fix: Spaces after a string won't get lost after a translation
Fix: Don't queue another translation, if a translation is already running
f.e. If you type faster then google can translate
What has changed in v3.2
- Fix: A failed http request will crash your system, I noticed that because it
google stoped the translation service I am using;(
I hope this is only temporaly...
New in v3.1:
- Cut&Tras´te feature
You are now able to translate text from any program which supports Cut&Paste
Just mark the text you want to translate and press rcommand-shift-x
after some time (a bubble appears saying that gTranslator is working) the
text gets replaced by the translated text!
- Clipboard hook, default is inactive
Mark a text f.e. in OWB, then choose to copy it to the clipboard, gTranslator
then displays the translated text in a bubble-help!
You can activate/deactivate this feature with a right mouseclick over the
gTranslators screenbar image, from the menu (Edit/Clipboard hook) of its
window or with a hotkey (defaults to rcommand-shift-c) to toggle this feature.
A little "*" in the screenbar image shows that it is activated
The bubble-help can be closed by clicking the left mousebutton or by pressing
New in v3:
- gTranslator now uses Scintilla objects as text input/output fields which
to use UTF8 text.
- the translation functions of gTranslator.sbar can now be used from external
f.e. OWB could use it to translate marked text
there is a shell command (gTranslator) to translate strings from a shell
- you can now type into both text fields
- you can specify a font in the settings
- long text will be splitted into parts of 1000 bytes to be able to translate it
I try to be smart here to don't split within a sentence or word (if there
"Project/Activate Source" - activate the source field, hotkey: Amiga-s
"Project/Activate Target" - activate the target field, hotkey: Amiga-t
"Project/UpdateCheck" - check if there is a newer version
"Project/About" - show an about window hotkey: Amiga-?
"Project/AboutMUI" - show MUIs AboutWindow
"Project/Close Window" - close the window, hotkey: Amiga-q
"Edit/Clear" - clear both fields, hotkey: Amiga-z
"Edit/Undo" - undo the last changes, hotkey: Amiga-u
"Edit/Redo" - redo the last undo, hotkey: Amiga-U
"Edit/Copy source to clipboard" - copy source to the clipboard, hotkey: Amiga-S
"Edit/Copy target to clipboard" - copy target to the clipboard, hotkey: Amiga-T
"Edit/Clipboard hook" - en/disable the clipboard hook hotkey: Amiga-h
You can also toggle it with a right mouseclick over the screenbar icon!
"Language/Choose Source" - choose a new source language, hotkey: Amiga-1
"Language/Choose Target" - choose a new target language, hotkey: Amiga-2
Read the gTranslator.history for a full changelog.
1) copy "gTranslator.sbar" to SYS:Classes/Screenbar/
2) Now you have to update the displayed sbars:
- right click on the screen-depth icon (upper right corner of the screen)
- if you already had gTranslator running, you have to delesect it first
(in "modules" submenu)
- choose 'Update List'
- then select the new entry "gTranslator" in the "modules" submenu
3) copy "gTranslator" to SYS:C/
13-Mar-15: v3.1, released
New: If the source text field is active and if its set to auto, but you are
copying a text
in the target language, gTranslator recognizes this and retranslates to the
Example: Source is auto, target is english, home language is german, source
text field is active
You are then able to translate from german to english and english to german,
the window and change the active text field
New: Added a settable global hotkey to switch the clipboard hook (default:
rcommand shift c)
Chg: Changed the settings layout a bit, added some shorthelp
Chg: Don't open my window if you copy something to the clipboad instead show
translated string in a bubble at mouse position
You can close the bubble with ESC or LMB
Fix: If needed (if its utf8) convert the translated string to system codepage
shown in a bubble
New: If the clipboard hook is enabled, a little "*" is drawn into the sbar
Fix: Preserve the "Menu/Edit/Clipboard hook" setting, when the window is
New: You can switch the clipboard hook with a right mousebutton click over the
Fix: The CutAndTraste bubble was only displayed on the Ambient screen
New: Added a bubble help ("gTranslator working...") at mouse position to
the user that the translation for the CutAndTraste-Feature is in progress,
cause sometimes it can take some seconds
Chg: changed Cut&Traste-Feature to use the scintilla objects to read/write
because of the handling of utf chars
New: added the Cut&Traste-Feature, if you press a definable hotkey (default
gTranslator cuts the selected text in any program (which supports rcommand-x)
it with the translated text!
The windows mouse pointer will be set to the sleep pointer
Chg: My input handler now has a priority higher than CygnusEd
Chg: remember the active field on win close/open
New: added a clipboard hook, Menu/Edit/Clipboard hook
if enabled, all text copied to the clipboard (if my own window is NOT
will be pasted into the active text field and translated!
the window will be opened if it was closed
fix: paste from the contextmenu of the inactive text field will activate the
fix: Changing the font in the sbar-prefs only takes effect if you click in one
of the text fields
now it changes immediatly
[reported by Markus Lunk, 23-Jan-15]
fix: If the window opens the first time, the user sees my changes (remove first
column) to the text fields
Chg: Now the destination field should have the same line visible as the source,
when you edit a long text
This only works if they have the same number of lines, which isn't always
the case if line wrap is in use!
Fix: unpush unnecessary pushmethods for deleting the bubble
New: Added undo/redo menu items
Fix: The background color of selected text and the background color of the
field was the same, I'm now using a light blue for selected text's background
Fix: Menu/Edit/Clear now clears both text fields, instead of only the active
This fixes the horizontal scrollbar (if line wrap isn't used)
16-Nov-14: v3.0, released
Chg: The auto-lang-bubble is now displayed as a bubble over the source language
while you are typing and will disappear after 3 seconds in addition the
of the source language selector is also set to this language
New: Added two library functions for external apps
GetSourceLang() to get the source language, usefull if you set TL to auto
GetLangName() to get the language name from its shortcut (f.e.
GetLangName("de") returns "German")
New: If the source language is set to auto, the recognized language is
displayed as a calltip!
New: Added rcommand-tab to switch between the source and target field
Fix: NotifyLoop (between the two sci objects) could happen sometime
New: LineWrapping is now set for both sci objects (should I make this
New: Added some menuitems:
"Project/Activate Source" to activate the source field, hotkey: Amiga-s
"Project/Activate Target" to activate the target field, hotkey: Amiga-t
"Project/Close Window" to close the window, hotkey: Amiga-q
"Language/Choose Source" to choose a new source language, hotkey: Amiga-1
"Language/Choose Target" to choose a new target language, hotkey: Amiga-2
Chg: The active Scintilla object now has a different background (white) then
the inactive (grey)
Chg: Finally exchanged the TextInput objects with Scintilla objects, with the
you are now able to enter and display utf8 text!
New: Added a "Font" setting to the prefs, default is "Liberation Mono/15"
Chg: Raised the limit from 500 to 1000 bytes for splitting long text, lets see
if its too much...
Chg: I now try to be smart when splitting a long (>500 chars) text:
It gets split not exact a the 500th position, but at the end of the prev
(delimited by a ".", ",", "!", ":" or a "?" followed by " " or "\n") or if
at the previous " "
Fix: Fixed some google strangeness, when there is a space after a linefeed
Chg: The arrow is now a "<->" symbolising that you can also translate from
target to source
Fix: If the clear the source/targt field, the lamp is set to off
New: Remember the current position before setting the translated text, and
reset it afterwards
(usefull, if you change something at the end of a long text)
New: Added a menu to the window
"Project/UpdateCheck" - (not yet implemented)
"Project/About" - (not yet implemented), hotkey:
"Project/AboutMUI" - show MUIs AboutWindow
"Edit/Clear" - clear both fields, hotkey:
"Edit/Copy source to clipboard" - copy source to the clipboard, hotkey:
"Edit/Copy target to clipboard" - copy target to the clipboard, hotkey:
New: Added multipart translation, in parts of 500 bytes, I have so see if this
is the right amount
New: Its now possible to write in the second text field to translate from the
the source language, if source if auto, the home language will be used
[suggested by jPV, 18-Jun-14]
Rem: Removed the possibility to click on the arrow to swap the languages,
can now write in the second text field
New: Added a small lamp object under the arrow to indicate when gTranslator is
New: Added "-" as a hotkey to swap the languages
You can use Amiga and "-" if the text field is active!
New: Its now possible to open the sbar as a library and then use the
from every program!
(would be cool if f.e. OWB would support it to translate marked text...)
New: Added a small shell tool (gTranslator) to translate strings from a shell
New: Added cursor keys to change the selected entry in the LanguageSelector
Chg: The source language selector in the settings is now also displayed with 9
New: Clicking the arrow (->) between the language selectors, will swap the
If source if auto, the home language will be used
[suggested by jPV, 18-Jun-14]
New: Added hotkeys to source ("1") and target ("2") language selectors
to select the gadgets via a hotkey
Chg: The source language selector is now displayed with 9 columns,
so the last language isn't displayed alone in an own row anymore
18-Jun-14: v2.01, released
Fix: Forgot to disable debug code in some modules, the filesize is now only
half as large!
[reported by jPV, 18-Jun-14]
Chg: Changed the window title to just "gTranslator.sbar vX.X"
Fix: The hotkey setting is now in a own group ("Misc."), instead of the
13-Jun-14: v2.0, released
Chg: Added "#" to the translated chars
Fix: The chars "<" and ">" needed special handling
New: All language selection gadgets are now a custom popup subclass with an
table instead of a cycle gadget
Chg: Changed the layout of the window, the language selection gadgets are now
the text gadgets
New: The hotkey is now adjustable! Default is now "alt #"
Because Powerbook doesn't have a right ctrl key;)
Chg: the window and slave object are now global for all instances
Chg: The InputHandler is now global, for all instances/screens
New: Now using Textinputscroll objects, to have scrollbars, because
seems to not working with Textinput objs!?
Unfortunately the Textinputscroll doesn't have support for AutoBars, like
New: Added a hotkey (ctrl #) to open/close my window!
Fix: Chinese language name was wrong
[reported by Markus Lunk]
Chg: Added "\t", "\n" and "+" to the translated chars
Fix: The url string was limited to 200 chars, its now unlimited
but it seems that there is somewhere a limit (1958 chars)
[reported by Markus Lunk]
New: Changed the url to translate, so its working again, w/o the need for
New: Instant translation, words are translated while you are typing
[suggested by Markus Lunk]
New: The cycle-gadgets for the languages can now jump to first/next language by
typing the first letter of the language
[suggested by Markus Lunk]
New: Added a "Home Language" setting, so unknown words are set to this
(doesn't work everytime though)
New: The window width/height is now remembered
New: Set max length of the source string gadget is now "auto expanded"
New: The string- and the text(result)-gadget have now multiline support
Tried to use Scintilla.mcc instead of String.mui
- How can I only get a notification for a specific type (f.e. SCN_MODIFIED),
else I get every
second a notification;(
- How can I deactivate it? (to activate the cycle gadget via keyboard)
else it gets all the keyboard inputs...
- how can I disable the first column?
Chg: The window width is now remembered
Chg: Added custom cycle gadgets, you are now able to choose an entry by typing
letter, if the gadget is the active object!
Select a cycle gadget with the TAB key, then press a-z.
Chg: The text gadget (where the translated string is shown), isn't in the cycle
Chg: The string gadget is now a StringHistory object (you need to install this
TODO: make it optional
-Fix: Now the window will open if you release the left mousebutton instead of
on pressing it!
To prevent the window from beeing deactivated right after opening on
21-Apr-14: v1.0, first release