XMethods Logo

Home ·  Tools · Implementations · Manage · Register · Tutorials · About

Partner4 Logo Partner3 Logo Partner2 Logo

Client Detail

Help

 
URLhttp://www.xmethods.net/ve2/ViewListing.po?serviceid=14
NameTcl/Tk Implementation of BabelFish
Publisher tony_a
TypeExample Source
SOAP Toolkit
Toolkit required at runtime?No
LanguageTcl
Operating SystemCross-Platform
Notes
The following Tcl/Tk code demonstrates a simple implementation of the BabelFish
web service:

package require SOAP
package require Iwidgets 4.0

SOAP::create getTranslation \
        -uri "urn:xmethodsBabelFish" \
	  -name "BabelFish" \
        -action "urn:xmethodsBabelFish#BabelFish" \
        -proxy "http://services.xmethods.net:80/perl/soaplite.cgi" \
        -params { "language" "string" "string" }

proc translate {} {
	global sourcewordtemp lang
	.mb issue "Contacting BabelFish" BABELFISH
	update idletasks
	.mb issue [getTranslation $lang $sourcewordtemp] INFO
	update idletasks
}

iwidgets::entryfield .login -labeltext "Text:" -labelpos nw -textvariable
sourcewordtemp
pack .login -padx 4 -pady 4 -fill both

iwidgets::radiobox .rb -labeltext "Language:" -labelpos nw
pack .rb -padx 4 -pady 4 -fill both

.rb add en_fr -text "English to French" -variable lang -value en_fr
.rb add en_de -text "English to German" -variable lang -value en_de
.rb add en_it -text "English to Italian" -variable lang -value en_it
.rb add en_es -text "English to Spanish" -variable lang -value en_es

.rb select en_es

iwidgets::messagebox .mb -hscrollmode dynamic -labeltext "Output" \
    -labelpos n -visibleitems 50x8

pack .mb -padx 5 -pady 5 -fill both -expand yes

.mb type add ERROR -background red -foreground white -bell 1
.mb type add BABELFISH -background seashell -foreground black
.mb type add INFO -background white -foreground black

frame .cntls 
pack .cntls -padx 5 -pady 5 -fill x
button .cntls.error -text "Translate" -command {
    translate
}
pack .cntls.error -side left -expand yes

button .cntls.warning -text "Exit" -command {
    exit
}
pack .cntls.warning -side left -expand yes