Posted to tcl by hat0 at Thu Sep 13 22:01:27 GMT 2007view raw

  1. #!/bin/sh
  2. # If running in a UNIX shell, restart wish on the next line \
  3. exec wish "$0" ${1+"$@"}
  4.  
  5.  
  6.  
  7. # a proc to keep the window up to date
  8. set ::i18n_ru {
  9. !C \u0427 !S \u0428 !T \u0429 Q \u042A H \u042C !E \u042D
  10. !U \u042E !A \u042F !O \u0401
  11. A \u0410 B \u0411 V \u0412 G \u0413 D \u0414 E \u0415 !Z \u0416 Z \u0417
  12. I \u0418 J \u0419 K \u041A L \u041B M \u041C N \u041D O \u041E P \u041F
  13. R \u0420 S \u0421 T \u0422 U \u0423 F \u0424 X \u0425 C \u0426 Y \u042B
  14. !c \u0447 !s \u0448 !t \u0449 q \u044A h \u044C !e \u044D
  15. !u \u044E !a \u044F !o \u0451
  16. a \u0430 b \u0431 v \u0432 g \u0433 d \u0434 e \u0435 !z \u0436 z \u0437
  17. i \u0438 j \u0439 k \u043A l \u043B m \u043C n \u043D o \u043E p \u043F
  18. r \u0440 s \u0441 t \u0442 u \u0443 f \u0444 x \u0445 c \u0446 y \u044B
  19. }
  20.  
  21. proc ruslish stg {
  22. return [string map $::i18n_ru $stg]
  23. }
  24.  
  25.  
  26.  
  27. proc update {} {
  28. .out delete 1.0 end
  29. .out insert 1.0 [ruslish [.in get 1.0 end]]
  30. }
  31.  
  32.  
  33.  
  34. # a nice little window
  35. label .help -text "Enter some text:"
  36. text .in -width 40 -height 4 -relief sunken
  37. text .out -width 40 -height 4 -relief raised
  38.  
  39. pack .help -anchor w
  40. pack .in .out -fill both -expand true -padx 3 -pady 3
  41.  
  42. wm title . "Ruslish Applet"
  43. focus .in
  44. bind .in <Key> update
  45.