summaryrefslogtreecommitdiff
path: root/ext/tk/sample
diff options
context:
space:
mode:
authorayumin <ayumin@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-09-14 17:25:37 +0000
committerayumin <ayumin@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-09-14 17:25:37 +0000
commit2fecb27eb47333fda1e0049584d6b56dd336197f (patch)
tree6a549de0a4c3980bb4c58b0de3055fd0b9756fbf /ext/tk/sample
parent9da539cce9e823ab78699a8784eacfe789e67f6d (diff)
Merge branch 'tk_utf8' into trunk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/sample')
-rw-r--r--ext/tk/sample/demos-en/README114
-rw-r--r--ext/tk/sample/demos-en/README.tkencoding18
-rw-r--r--ext/tk/sample/demos-jp/README102
-rw-r--r--ext/tk/sample/demos-jp/README.1st28
-rw-r--r--ext/tk/sample/demos-jp/anilabel.rb22
-rw-r--r--ext/tk/sample/demos-jp/aniwave.rb10
-rw-r--r--ext/tk/sample/demos-jp/arrow.rb22
-rw-r--r--ext/tk/sample/demos-jp/bind.rb38
-rw-r--r--ext/tk/sample/demos-jp/bitmap.rb20
-rw-r--r--ext/tk/sample/demos-jp/button.rb20
-rw-r--r--ext/tk/sample/demos-jp/check.rb30
-rw-r--r--ext/tk/sample/demos-jp/check2.rb30
-rw-r--r--ext/tk/sample/demos-jp/clrpick.rb28
-rw-r--r--ext/tk/sample/demos-jp/colors.rb20
-rw-r--r--ext/tk/sample/demos-jp/combo.rb36
-rw-r--r--ext/tk/sample/demos-jp/cscroll.rb22
-rw-r--r--ext/tk/sample/demos-jp/ctext.rb36
-rw-r--r--ext/tk/sample/demos-jp/dialog1.rb12
-rw-r--r--ext/tk/sample/demos-jp/dialog2.rb12
-rw-r--r--ext/tk/sample/demos-jp/entry1.rb32
-rw-r--r--ext/tk/sample/demos-jp/entry2.rb32
-rw-r--r--ext/tk/sample/demos-jp/entry3.rb46
-rw-r--r--ext/tk/sample/demos-jp/filebox.rb28
-rw-r--r--ext/tk/sample/demos-jp/floor.rb24
-rw-r--r--ext/tk/sample/demos-jp/floor2.rb24
-rw-r--r--ext/tk/sample/demos-jp/form.rb28
-rw-r--r--ext/tk/sample/demos-jp/goldberg.rb20
-rw-r--r--ext/tk/sample/demos-jp/hello6
-rw-r--r--ext/tk/sample/demos-jp/hscale.rb14
-rw-r--r--ext/tk/sample/demos-jp/icon.rb24
-rw-r--r--ext/tk/sample/demos-jp/image1.rb22
-rw-r--r--ext/tk/sample/demos-jp/image2.rb34
-rw-r--r--ext/tk/sample/demos-jp/image3.rb18
-rw-r--r--ext/tk/sample/demos-jp/items.rb60
-rw-r--r--ext/tk/sample/demos-jp/ixset240
-rw-r--r--ext/tk/sample/demos-jp/knightstour.rb20
-rw-r--r--ext/tk/sample/demos-jp/label.rb30
-rw-r--r--ext/tk/sample/demos-jp/labelframe.rb32
-rw-r--r--ext/tk/sample/demos-jp/mclist.rb58
-rw-r--r--ext/tk/sample/demos-jp/menu.rb108
-rw-r--r--ext/tk/sample/demos-jp/menu84.rb50
-rw-r--r--ext/tk/sample/demos-jp/menu8x.rb120
-rw-r--r--ext/tk/sample/demos-jp/menubu.rb28
-rw-r--r--ext/tk/sample/demos-jp/msgbox.rb30
-rw-r--r--ext/tk/sample/demos-jp/msgbox2.rb32
-rw-r--r--ext/tk/sample/demos-jp/paned1.rb16
-rw-r--r--ext/tk/sample/demos-jp/paned2.rb22
-rw-r--r--ext/tk/sample/demos-jp/pendulum.rb10
-rw-r--r--ext/tk/sample/demos-jp/plot.rb26
-rw-r--r--ext/tk/sample/demos-jp/puzzle.rb30
-rw-r--r--ext/tk/sample/demos-jp/radio.rb30
-rw-r--r--ext/tk/sample/demos-jp/radio2.rb26
-rw-r--r--ext/tk/sample/demos-jp/radio3.rb24
-rw-r--r--ext/tk/sample/demos-jp/rolodex-j132
-rw-r--r--ext/tk/sample/demos-jp/ruler.rb22
-rw-r--r--ext/tk/sample/demos-jp/sayings.rb20
-rw-r--r--ext/tk/sample/demos-jp/search.rb40
-rw-r--r--ext/tk/sample/demos-jp/spin.rb42
-rw-r--r--ext/tk/sample/demos-jp/states.rb34
-rw-r--r--ext/tk/sample/demos-jp/style.rb192
-rw-r--r--ext/tk/sample/demos-jp/tcolor34
-rw-r--r--ext/tk/sample/demos-jp/text.rb102
-rw-r--r--ext/tk/sample/demos-jp/textpeer.rb32
-rw-r--r--ext/tk/sample/demos-jp/toolbar.rb56
-rw-r--r--ext/tk/sample/demos-jp/tree.rb22
-rw-r--r--ext/tk/sample/demos-jp/ttkbut.rb56
-rw-r--r--ext/tk/sample/demos-jp/ttkmenu.rb46
-rw-r--r--ext/tk/sample/demos-jp/ttknote.rb42
-rw-r--r--ext/tk/sample/demos-jp/ttkpane.rb24
-rw-r--r--ext/tk/sample/demos-jp/ttkprogress.rb26
-rw-r--r--ext/tk/sample/demos-jp/twind.rb76
-rw-r--r--ext/tk/sample/demos-jp/twind2.rb116
-rw-r--r--ext/tk/sample/demos-jp/unicodeout.rb42
-rw-r--r--ext/tk/sample/demos-jp/vscale.rb16
-rw-r--r--ext/tk/sample/demos-jp/widget316
-rw-r--r--ext/tk/sample/msgs_rb2/ja.msg154
-rw-r--r--ext/tk/sample/tcltklib/sample0.rb12
-rw-r--r--ext/tk/sample/tcltklib/sample1.rb304
-rw-r--r--ext/tk/sample/tcltklib/sample2.rb14
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/page1/index.html2
-rw-r--r--ext/tk/sample/tkoptdb-safeTk.rb2
-rw-r--r--ext/tk/sample/tkoptdb.rb2
82 files changed, 1871 insertions, 1871 deletions
diff --git a/ext/tk/sample/demos-en/README b/ext/tk/sample/demos-en/README
index a6ea4fa..033dca3 100644
--- a/ext/tk/sample/demos-en/README
+++ b/ext/tk/sample/demos-en/README
@@ -68,71 +68,71 @@ Notes:
Ruby/Tk81 widget-demo 1999/08/13
- Φüʳظ
- Ω <ttate@jaist.ac.jp>
+ 北陸先端大情報科学研究科
+ 立石 <ttate@jaist.ac.jp>
-Tcl/Tk8.1Ǥunicode(UTF8)Ѥ졢unicodeѴ줿ܸǤ
-Widgetɽ뤳ȤǽǤܥ֤ˤϰ˱ʰ椵濴
-ʤƺ줿Ruby/TkΥץ˽äʲδĶˤƤư
-ǧΤǤ
+Tcl/Tk8.1ではunicode(UTF8)が採用され、unicodeに変換された日本語であれば
+Widgetに表示させることが可能です。本アーカイブには以前に永井さんが中心と
+なられて作成されたRuby/Tkのサンプルに修正を加え、以下の環境においてで動作
+を確認したものです。
* ruby-1.3.7,ruby-1.4.0
* tcl8.1, tk8.1
* linux-2.2
-Windows(Cygwin)ˤơץưˤruby-KeȤץ
-ƵưɤǤ
- 󶡡դ
+Windows(Cygwin)において、サンプルを動かすにはrubyを-Keというオプションを付
+けて起動させると良いそうです。
+ 情報提供:渡辺さん
<eban@os.rim.or.jp>
----------------------------------------------------------------------------
Ruby/Tk widget-demo
version 1.1 ( 1998/07/24 )
- ʰǽ幩 (nagai@ai.kyutech.ac.jp)
-
-ɸۤ Tcl/Tk ĥѥå Ruby (ʲ Ruby/Tk ȸƤӤޤ)
-ǤϡTk widget Ѥ GUI κԤȤǤޤºݤ GUI
-Ƥˤ͡ʼ㤬ץȤ¸ߤʤΤǤRuby/Tk
-ˤϤΤ褦Ŭʥץ륹ץȽ¸ߤޤǤФ
-ĥѥåθǤ Tcl/Tk ˤϡTk widget ѤƤɤΤ褦ʤȤ
-뤫򼨤ΤȤ widget-demo ¸ߤꡤTcl/Tk Ѥ GUI κ
-ݤɽŪץȤʤäƤޤܥ֤ϡRuby/Tk ν
-ɽŪʥץ륹ץȤȤ٤Tcl/Tk widget-demo ܿ
-ΤǤ
-
-ܥ֤˴ޤޤ륹ץȤ¹Ԥ뤿ˤϡruby-1.1c2 ʾǤ뤳
-ȤɬפǤ1.1c1 ξϡܥ֤˴ޤޤ patck_1.1c1 Ruby
-饤֥ˤƤƤȤ߹ Tk ΥСϡ4.2 Ǥ 8.0 Ǥ⽤
-ʤưϤǤܸǤǤΰܿȤʤäƤ뤿ᡤܸ첽
-줿 Tk ѤץȤΥƥȤϡTk4.2jp Tk8.0jp ξǹ
-ޤ (ˤǤϤʤǤ)
-
-ܥ֤˴ޤޤ륹ץȤ¿ϡȤʤäƤ Tcl/Tk ǤŪ
-ץȵҤȤʤ褦ˤƤޤΤᡤRuby/Tk Υץȸ
-ϡޤ Ruby 餷ʤȤǤ礦ˤ⤫餺Τ褦ʵ
-äƤͳϡRuby/Tk Υɥ­ˤޤ
-
-Tcl/Tk ˤŬʻͽ񤬲¸ߤƤޤ顤Ruby/Tk ץȤ
-ݤϡΤ褦 Tcl/Tk λͽǾ䤤ʤ뤳ȤˤʤȻ
-ޤ widget λȤơTcl/Tk widget-demo 򻲾Ȥ뤳Ȥ⤢
-Ǥ礦Ruby/Tk ǤεҤ widget-demo Tcl/Tk ǤεҤ˶ᤤΤˤ
-СˤäơRuby/Tk 뤳ȤǤȹͤޤ
-ö Ruby/Tk Ǥ widget λˡƤޤСRuby 餷
-ץȤ뤳Ȥ񤷤ʤǤ礦ܥ֤ΥץȤϡRuby/Tk
-ǽ˽ޤǤƧȤѤƤйǤ
-
-widget-demo ΰܿˤäƤϡˤܿץȤ󶡤Ƥ
-ޤ˴դΰդɽޤ
-
- ΩСJAIST (ttate@jaist.ac.jp)
- ʿͻ (hiramatu@cdrom.co.jp)
-
-ʿˤ Ruby/Tk Web page (http://www.cdrom.co.jp/~hiramatu/)
- Ruby/Tk νͭѤȻפޤΤǡҤȤ
-
-ޤ (maebashi@iij.ad.jp) ϤȤơwidget-demo ΰܿ˺ݤ
-ɬפȤʤä Ruby Tk Ϣ饤֥꽤ˤĤơХλŦ
-Ƥˤⴶפޤ
-
-ƺǸ˺δդ Ruby ߷׼Ԥ ޤĤ 椭Ҥ (matz@netlab.co.jp)
-Ȼפޤ
+ 永井@知能.九工大 (nagai@ai.kyutech.ac.jp)
+
+標準配布の Tcl/Tk 拡張パッケージを取り込んだ Ruby (以下 Ruby/Tk と呼びます)
+では,Tk widget を用いた GUI の作成を行うことができます.実際に GUI を作成
+していく場合には様々な実例がサンプルとして存在すると便利なのですが,Ruby/Tk
+にはそのような適当なサンプルスクリプト集合は存在しませんでした.それに対し,
+拡張パッケージの元である Tcl/Tk には,Tk widget を用いてどのようなことがで
+きるかを示すものとして widget-demo が存在しおり,Tcl/Tk を用いた GUI の作成
+を習得する際の代表的サンプルとなっています.本アーカイブは,Ruby/Tk の習得の
+ための代表的なサンプルスクリプトとすべく,Tcl/Tk の widget-demo を移植したも
+のです.
+
+本アーカイブに含まれるスクリプトを実行するためには,ruby-1.1c2 以上であるこ
+とが必要です.1.1c1 の場合は,本アーカイブに含まれる patck_1.1c1 を Ruby の
+ライブラリにあててください.組み込む Tk のバージョンは,4.2 でも 8.0 でも修
+正なく動かせるはずです.ただし,日本語版での移植となっているため,日本語化さ
+れた Tk をご利用ください.スクリプトのテストは,Tk4.2jp と Tk8.0jp の上で行
+いました (完璧にではないですが).
+
+本アーカイブに含まれるスクリプトの多くは,元となっている Tcl/Tk 版に比較的近
+いスクリプト記述となるようにしています.そのため,Ruby/Tk のサンプルと言うに
+は,あまり Ruby らしくないとも言えるでしょう.にもかかわらず,そのような記述
+を取っている理由は,Ruby/Tk のドキュメント不足にあります.
+
+Tcl/Tk には適当な参考書が何冊か存在していますから,Ruby/Tk スクリプトを作成
+する際は,そのような Tcl/Tk の参考書で情報を補いながら作成することになると思
+います.各 widget の使用例として,Tcl/Tk の widget-demo を参照することもある
+でしょう.Ruby/Tk 版の記述を widget-demo を Tcl/Tk 版の記述に近いものにして
+おけば,その対比によって,Ruby/Tk の理解を早めることができると考えられます.
+一旦 Ruby/Tk での 各 widget の使用方法を習得してしまえば,Ruby らしいスクリ
+プトを作成することは難しくないでしょう.本アーカイブのスクリプトは,Ruby/Tk
+を最初に習得するまでの踏台として利用していただければ幸いです.
+
+widget-demo の移植にあたっては,次の方にも移植したスクリプトを提供していただ
+きました.ここに感謝の意を表します.
+
+ 立石@JAIST (ttate@jaist.ac.jp) さん
+ 平松祥史 (hiramatu@cdrom.co.jp) さん
+
+平松さんによる Ruby/Tk 入門の Web page (http://www.cdrom.co.jp/~hiramatu/)
+も Ruby/Tk の習得に有用と思えますので,ぜひご参照ください.
+
+また,前橋 (maebashi@iij.ad.jp) さんをはじめとして,widget-demo の移植に際し
+て必要となった Ruby の Tk 関連ライブラリ修正について,問題点,バグの指摘をし
+ていただいた方々にも感謝致します.
+
+そして最後に最大の感謝を Ruby 設計者の まつもと ゆきひろ (matz@netlab.co.jp)
+さんに捧げたいと思います.
diff --git a/ext/tk/sample/demos-en/README.tkencoding b/ext/tk/sample/demos-en/README.tkencoding
index 679b476..cca8734 100644
--- a/ext/tk/sample/demos-en/README.tkencoding
+++ b/ext/tk/sample/demos-en/README.tkencoding
@@ -3,27 +3,27 @@ The library 'tkencoding.rb' is obsolete.
Functions of tkencoding.rb is already included into Ruby/Tk.
-------------------------------------------------
-tkencoding.rbѤܸɽˤĤ
+tkencoding.rbを用いた日本語の表示について
Copyright (C) 1999/07, Takaaki Tateishi <ttate@jaist.ac.jp>
-1. tkencoding.rbȤϡ
+1. tkencoding.rbとは?
-tkencoding.rbTcl/Tk8.1ѤRuby/TkΤΥ饤֥
-Ǥtkencoding.rbrequire뤳ȤˤäWedgetɽ
-ƥȤunicode(UTF8)Ѵޤ
+tkencoding.rbはTcl/Tk8.1を利用したRuby/Tkのためのライブラリ
+です。tkencoding.rbをrequireすることによってWedgetに表示さ
+れるテキストは全てunicode(UTF8)へ変換されます。
-2. Ȥ
+2. 使い方
-tkencoding.rbrequireTk.encodingǻѤƤʸ
-ꤷƲ㤨аʲΤ褦ʴˤʤޤ
+tkencoding.rbをrequireしてTk.encodingで使用している文字コード
+を指定して下さい。例えば以下のような感じになります。
----
require 'tk'
require 'tkencoding'
-Tk.encoding = "euc-jp"
+Tk.encoding = "utf-8"
# Tk.encoding = "shiftjis"
---
diff --git a/ext/tk/sample/demos-jp/README b/ext/tk/sample/demos-jp/README
index 6375800..4278124 100644
--- a/ext/tk/sample/demos-jp/README
+++ b/ext/tk/sample/demos-jp/README
@@ -1,54 +1,54 @@
Ruby/Tk widget-demo
version 1.2 ( 2000/04/08 )
- ʰǽ幩 (nagai@ai.kyutech.ac.jp)
-
-ɸۤ Tcl/Tk ĥѥå Ruby (ʲ Ruby/Tk ȸƤӤޤ)
-ǤϡTk widget Ѥ GUI κԤȤǤޤºݤ GUI
-Ƥˤ͡ʼ㤬ץȤ¸ߤʤΤǤRuby/Tk
-ˤϤΤ褦Ŭʥץ륹ץȽ¸ߤޤǤФ
-ĥѥåθǤ Tcl/Tk ˤϡTk widget ѤƤɤΤ褦ʤȤ
-뤫򼨤ΤȤ widget-demo ¸ߤꡤTcl/Tk Ѥ GUI κ
-ݤɽŪץȤʤäƤޤܥ֤ϡRuby/Tk ν
-ɽŪʥץ륹ץȤȤ٤Tcl/Tk widget-demo ܿ
-ΤǤ
-
-ΥС ruby-1.4.x бȤƤޤС٤ơ
-ۤȤѹϤޤruby-1.1c2 ʾʤưȻפޤruby-1.5.x ˤ
-ƤϥƥȤƤޤ󡥤ΤᡤߴαƶФ뤳Ȥ뤫⤷ޤ
-󤬡ξǤ⾯νưȻפޤȤ߹ Tk ΥСϡ
-4.2 Ǥ 8.0 Ǥ⽤ʤưϤǤܸǤǤΰܿȤʤä
-뤿ᡤܸ첽줿 Tk ѤץȤΥƥȤϡС
-κݤ Tk4.2jp Tk8.0jp ξǹԤäƤޤ (ˤǤϤʤǤ)
-ΥСǤ ruby-1.4.x + Tk8.0jp ǤδñʥƥȤԤäƤޤ󤬡
-ȤۤɤνϤƤޤΤϤʤȹͤƤޤ
-
-ܥ֤˴ޤޤ륹ץȤ¿ϡȤʤäƤ Tcl/Tk ǤŪ
-ץȵҤȤʤ褦ˤƤޤΤᡤRuby/Tk Υץȸ
-ϡޤ Ruby 餷ʤȤǤ礦ˤ⤫餺Τ褦ʵ
-äƤͳϡRuby/Tk Υɥ­ˤޤ
-
-Tcl/Tk ˤŬʻͽ񤬲¸ߤƤޤ顤Ruby/Tk ץȤ
-ݤϡΤ褦 Tcl/Tk λͽǾ䤤ʤ뤳ȤˤʤȻ
-ޤ widget λȤơTcl/Tk widget-demo 򻲾Ȥ뤳Ȥ⤢
-Ǥ礦Ruby/Tk ǤεҤ widget-demo Tcl/Tk ǤεҤ˶ᤤΤˤ
-СˤäơRuby/Tk 뤳ȤǤȹͤޤ
-ö Ruby/Tk Ǥ widget λˡƤޤСRuby 餷
-ץȤ뤳Ȥ񤷤ʤǤ礦ܥ֤ΥץȤϡRuby/Tk
-ǽ˽ޤǤƧȤѤƤйǤ
-
-widget-demo ΰܿˤäƤϡˤܿץȤ󶡤Ƥ
-ޤ˴դΰդɽޤ
-
- ΩСJAIST (ttate@jaist.ac.jp)
- ʿͻ (hiramatu@cdrom.co.jp)
-
-ʿˤ Ruby/Tk Web page (http://www.cdrom.co.jp/~hiramatu/)
- Ruby/Tk νͭѤȻפޤΤǡҤȤ
-
-ޤ (maebashi@iij.ad.jp) ϤȤơwidget-demo ΰܿ˺ݤ
-ɬפȤʤä Ruby Tk Ϣ饤֥꽤ˤĤơХλŦ
-Ƥˤⴶפޤ
-
-ƺǸ˺δդ Ruby ߷׼Ԥ ޤĤ 椭Ҥ (matz@netlab.co.jp)
-Ȼפޤ
+ 永井@知能.九工大 (nagai@ai.kyutech.ac.jp)
+
+標準配布の Tcl/Tk 拡張パッケージを取り込んだ Ruby (以下 Ruby/Tk と呼びます)
+では,Tk widget を用いた GUI の作成を行うことができます.実際に GUI を作成
+していく場合には様々な実例がサンプルとして存在すると便利なのですが,Ruby/Tk
+にはそのような適当なサンプルスクリプト集合は存在しませんでした.それに対し,
+拡張パッケージの元である Tcl/Tk には,Tk widget を用いてどのようなことがで
+きるかを示すものとして widget-demo が存在しおり,Tcl/Tk を用いた GUI の作成
+を習得する際の代表的サンプルとなっています.本アーカイブは,Ruby/Tk の習得の
+ための代表的なサンプルスクリプトとすべく,Tcl/Tk の widget-demo を移植したも
+のです.
+
+今回のバージョンは ruby-1.4.x に対応としておきますが,旧バージョンに比べて,
+ほとんど変更はありません.ruby-1.1c2 以上なら動くと思います.ruby-1.5.x につ
+いてはテストしていません.そのため,非互換の影響が出ることがあるかもしれませ
+んが,その場合でも少しの修正で動かせると思います.組み込む Tk のバージョンは,
+4.2 でも 8.0 でも修正なく動かせるはずです.ただし,日本語版での移植となって
+いるため,日本語化された Tk をご利用ください.スクリプトのテストは,旧バージョ
+ンの際に Tk4.2jp と Tk8.0jp の上で行っています (完璧にではないですが).今回
+のバージョンでは ruby-1.4.x + Tk8.0jp 上での簡単なテストしか行っていませんが,
+修正というほどの修正はしていませんので問題はないと考えています.
+
+本アーカイブに含まれるスクリプトの多くは,元となっている Tcl/Tk 版に比較的近
+いスクリプト記述となるようにしています.そのため,Ruby/Tk のサンプルと言うに
+は,あまり Ruby らしくないとも言えるでしょう.にもかかわらず,そのような記述
+を取っている理由は,Ruby/Tk のドキュメント不足にあります.
+
+Tcl/Tk には適当な参考書が何冊か存在していますから,Ruby/Tk スクリプトを作成
+する際は,そのような Tcl/Tk の参考書で情報を補いながら作成することになると思
+います.各 widget の使用例として,Tcl/Tk の widget-demo を参照することもある
+でしょう.Ruby/Tk 版の記述を widget-demo を Tcl/Tk 版の記述に近いものにして
+おけば,その対比によって,Ruby/Tk の理解を早めることができると考えられます.
+一旦 Ruby/Tk での 各 widget の使用方法を習得してしまえば,Ruby らしいスクリ
+プトを作成することは難しくないでしょう.本アーカイブのスクリプトは,Ruby/Tk
+を最初に習得するまでの踏台として利用していただければ幸いです.
+
+widget-demo の移植にあたっては,次の方にも移植したスクリプトを提供していただ
+きました.ここに感謝の意を表します.
+
+ 立石@JAIST (ttate@jaist.ac.jp) さん
+ 平松祥史 (hiramatu@cdrom.co.jp) さん
+
+平松さんによる Ruby/Tk 入門の Web page (http://www.cdrom.co.jp/~hiramatu/)
+も Ruby/Tk の習得に有用と思えますので,ぜひご参照ください.
+
+また,前橋 (maebashi@iij.ad.jp) さんをはじめとして,widget-demo の移植に際し
+て必要となった Ruby の Tk 関連ライブラリ修正について,問題点,バグの指摘をし
+ていただいた方々にも感謝致します.
+
+そして最後に最大の感謝を Ruby 設計者の まつもと ゆきひろ (matz@netlab.co.jp)
+さんに捧げたいと思います.
diff --git a/ext/tk/sample/demos-jp/README.1st b/ext/tk/sample/demos-jp/README.1st
index 60b278d..68caf8b 100644
--- a/ext/tk/sample/demos-jp/README.1st
+++ b/ext/tk/sample/demos-jp/README.1st
@@ -1,20 +1,20 @@
-Υǥ쥯ȥˤ Ruby/Tk Υǥ⥹ץȤƤޤ
+このディレクトリには Ruby/Tk のデモスクリプトが収められています.
-'.rb' ȤĥҤäƤեϡ㨡ץȤ
- 'widget' ƤӽФ륵֥ץȤǤ줾Ω
-ưޤ'widget' ץȤƤӽФƤ
+'.rb' という拡張子を持っているファイルは,ランチャ─スクリプトで
+ある 'widget' から呼び出されるサブスクリプトです.それぞれ独立に
+は動きません.'widget' スクリプトから呼び出してください.
-⤷㨡ץ 'widget' εưƱˤĤΥ֥
-ץȤưСΥ֥ץȤ̾ȤͿ
-( : /usr/local/bin/ruby widget button.rb entry1.rb text.rb )
-֥ץȤγĥ '.rb' Ͼά뤳ȤǤޤ
-( : /usr/local/bin/ruby widget button entry1 text )
+もしランチャ─スクリプト 'widget' の起動と同時にいくつかのサブス
+クリプトを起動したければ,そのサブスクリプトの名前を引数として与
+えてください.
+( 例: /usr/local/bin/ruby widget button.rb entry1.rb text.rb )
+サブスクリプトの拡張子 '.rb' は省略することもできます.
+( 例: /usr/local/bin/ruby widget button entry1 text )
-⤷㨡ץȤΥɥɬפʤˤϡ'-n'
-ץͿƤ
-( : /usr/local/bin/ruby widget -n button.rb entry1.rb text.rb )
+もしランチャ─スクリプトのウィンドウが必要ない場合には,'-n' オ
+プションを与えてください.
+( 例: /usr/local/bin/ruby widget -n button.rb entry1.rb text.rb )
-¾Υե (browse1 hello ʤ) ñȤưȤǽǤ
+他のファイル (browse1 や hello など) は単独で動かすことが可能です.
2004/04/14 Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
diff --git a/ext/tk/sample/demos-jp/anilabel.rb b/ext/tk/sample/demos-jp/anilabel.rb
index d2f5b12..c882f43 100644
--- a/ext/tk/sample/demos-jp/anilabel.rb
+++ b/ext/tk/sample/demos-jp/anilabel.rb
@@ -1,16 +1,16 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# animated label widget demo (called by 'widget')
#
# based on Tcl/Tk8.5a2 widget demos
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($anilabel_demo) && $anilabel_demo
$anilabel_demo.destroy
$anilabel_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$anilabel_demo = TkToplevel.new {|w|
title("Animated Label Demonstration")
iconname("anilabel")
@@ -19,20 +19,20 @@ $anilabel_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($anilabel_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ˤ4ĤΥ˥᡼٥뤬ɽƤޤ¦ˤ٥ϡΥƥȥå򥹥뤷褦˸뤳ȤưդƤޤ¦Υ٥ϡɽ륤᡼Ѳ뤳ȤưͿƤޤ"
+ text "下には4つのアニメーションラベルが表示されています。左側にあるラベルは、内部のテキストメッセージをスクロールしたように見せることで動きを付けています。右側のラベルは、表示するイメージを変化させることで動きを与えています。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $anilabel_demo
$anilabel_demo = nil
@@ -41,13 +41,13 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'anilabel'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# label demo ѥե졼
+# label demo 用フレーム生成
f_left = TkLabelFrame.new(base_frame, :text=>'Scrolling Texts')
f_right = TkLabelFrame.new(base_frame, :text=>'GIF Image')
Tk.pack(f_left, f_right, 'side'=>'left', 'expand'=>'yes', 'fill'=>'both',
@@ -123,7 +123,7 @@ class AnimatedImageLabel < AnimatedTextLabel
private :_animation_callback
end
-# label
+# label 生成
l1 = AnimatedTextLabel.new(f_left, :borderwidth=>4, :relief=>:ridge,
:font=>{:family=>'Courier', :size=>10})
l2 = AnimatedTextLabel.new(f_left, :borderwidth=>4, :relief=>:groove,
diff --git a/ext/tk/sample/demos-jp/aniwave.rb b/ext/tk/sample/demos-jp/aniwave.rb
index 973c1be..866316c 100644
--- a/ext/tk/sample/demos-jp/aniwave.rb
+++ b/ext/tk/sample/demos-jp/aniwave.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# animated wave demo (called by 'widget')
#
@@ -24,15 +24,15 @@ msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text 'ΥǥǤϡ饤󥢥ƥबĤ줿ХåȤɽƤޤ˥᡼ϡΥ饤󥢥ƥκɸͤѹ뤳ȤǼ¸Ƥޤ'
+ text 'このデモでは、ラインアイテムが一つだけ描かれたキャンバスウィジェットが表示されています。アニメーション処理は、そのラインアイテムの座標値を変更することで実現しています。'
}
msg.pack('side'=>'top')
# create frame
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $aniwave_demo
$aniwave_demo = nil
@@ -41,7 +41,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'aniwave'}
}.pack('side'=>'left', 'expand'=>'yes')
diff --git a/ext/tk/sample/demos-jp/arrow.rb b/ext/tk/sample/demos-jp/arrow.rb
index a1694d0..2995f96 100644
--- a/ext/tk/sample/demos-jp/arrow.rb
+++ b/ext/tk/sample/demos-jp/arrow.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# arrowhead widget demo (called by 'widget')
#
@@ -91,13 +91,13 @@ def arrowSetup(c)
v.count += 1
end
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($arrow_demo) && $arrow_demo
$arrow_demo.destroy
$arrow_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$arrow_demo = TkToplevel.new {|w|
title("Arrowhead Editor Demonstration")
iconname("arrow")
@@ -106,17 +106,17 @@ $arrow_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($arrow_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'5i', 'justify'=>'left',
- 'text'=>" widget ǡХǻȤ饤ˤĤ͡ƬηƤߤ뤳ȤǤޤηѤˤϡ礵줿ˤĤƤ 3ĤλͳѤɥåƤ¦̤礭ǤΥץ򼨤ƤޤΥƥȤϥ饤󥢥ƥФꥪץǤ"){
+ 'text'=>"この widget で、キャンバスで使われるラインについて様々な幅や矢印の頭の形を試してみることができます。線の幅や矢印の形を変えるには、拡大された矢印についている 3つの四角をドラッグしてください。右側の矢印は普通の大きさでのサンプルを示しています。下のテキストはラインアイテムに対する設定オプションです。"){
pack('side'=>'top')
}
-# frame
+# frame 生成
$arrow_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $arrow_demo
$arrow_demo = nil
@@ -125,18 +125,18 @@ $arrow_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'arrow'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$arrow_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# canvas
+# canvas 設定
$arrow_canvas = TkCanvas.new(base_frame, 'width'=>500, 'height'=>350,
'relief'=>'sunken', 'borderwidth'=>2)
$arrow_canvas.pack('expand'=>'yes', 'fill'=>'both')
-#
+# 値設定
unless Struct.const_defined?("ArrowInfo")
$demo_arrowInfo = Struct.new("ArrowInfo", :a, :b, :c, :width, :motionProc,
:x1, :x2, :y, :smallTips, :count,
diff --git a/ext/tk/sample/demos-jp/bind.rb b/ext/tk/sample/demos-jp/bind.rb
index 99e5c17..efba6e6 100644
--- a/ext/tk/sample/demos-jp/bind.rb
+++ b/ext/tk/sample/demos-jp/bind.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# text (tag bindings) widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($bind_demo) && $bind_demo
$bind_demo.destroy
$bind_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$bind_demo = TkToplevel.new {|w|
title("Text Demonstration - Tag Bindings")
iconname("bind")
@@ -18,11 +18,11 @@ $bind_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($bind_demo).pack(:fill=>:both, :expand=>true)
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $bind_demo
$bind_demo = nil
@@ -31,20 +31,20 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'bind'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# bind ѥ᥽å
+# bind 用メソッド
def tag_binding_for_bind_demo(tag, enter_style, leave_style)
tag.bind('Any-Enter', proc{tag.configure enter_style})
tag.bind('Any-Leave', proc{tag.configure leave_style})
end
-# text
+# text 生成
txt = TkText.new(base_frame){|t|
- #
+ # 生成
setgrid 'true'
#width 60
#height 24
@@ -57,7 +57,7 @@ txt = TkText.new(base_frame){|t|
}
pack('expand'=>'yes', 'fill'=>'both')
- #
+ # スタイル設定
if TkWinfo.depth($root).to_i > 1
tagstyle_bold = {'background'=>'#43ce80', 'relief'=>'raised',
'borderwidth'=>1}
@@ -67,25 +67,25 @@ txt = TkText.new(base_frame){|t|
tagstyle_normal = {'foreground'=>'', 'background'=>''}
end
- # ƥ
- insert 'insert', "ƥwidgetɽ椹ΤƱΥᥫ˥ȤäơƥȤTclΥޥɤƤ뤳ȤǤޤˤꡢޥ䥭ܡɤΥTclΥޥɤ¹Ԥ褦ˤʤޤ㤨СΥХΥǥץˤĤƤʸˤϤΤ褦ʥĤƤޤޥʸξ˻äƤʸꡢܥ1򲡤ȤΥǥ⤬Ϥޤޤ
+ # テキスト挿入
+ insert 'insert', "テキストwidgetの表示スタイルを制御するのと同じタグのメカニズムを使って、テキストにTclのコマンドを割り当てることができます。これにより、マウスやキーボードのアクションで特定のTclのコマンドが実行されるようになります。例えば、下のキャンバスのデモプログラムについての説明文にはそのようなタグがついています。マウスを説明文の上に持っていくと説明文が光り、ボタン1を押すとその説明のデモが始まります。
"
- insert('end', '1. Х widget ˺뤳ȤΤǤ륢ƥμƤ˴ؤ륵ץ롣', (d1 = TkTextTag.new(t)) )
+ insert('end', '1. キャンバス widget に作ることのできるアイテムの種類全てに関するサンプル。', (d1 = TkTextTag.new(t)) )
insert('end', "\n\n")
- insert('end', '2. ñ 2ΥץåȡǡɽưȤǤ롣', (d2 = TkTextTag.new(t)) )
+ insert('end', '2. 簡単な 2次元のプロット。データを表す点を動かすことができる。', (d2 = TkTextTag.new(t)) )
insert('end', "\n\n")
- insert('end', '3. ƥȥƥΥ󥫡ȹ·',
+ insert('end', '3. テキストアイテムのアンカーと行揃え。',
(d3 = TkTextTag.new(t)) )
insert('end', "\n\n")
- insert('end', '4. 饤󥢥ƥΤƬηΥǥ',
+ insert('end', '4. ラインアイテムのための矢印の頭の形のエディタ。',
(d4 = TkTextTag.new(t)) )
insert('end', "\n\n")
- insert('end', '5. ֥ȥåפѹ뤿εǽĤΥ롼顼',
+ insert('end', '5. タブストップを変更するための機能つきのルーラー。',
(d5 = TkTextTag.new(t)) )
insert('end', "\n\n")
insert('end',
- '6. Хɤäƥ뤹Τ򼨤åɡ',
+ '6. キャンバスがどうやってスクロールするのかを示すグリッド。',
(d6 = TkTextTag.new(t)) )
# binding
diff --git a/ext/tk/sample/demos-jp/bitmap.rb b/ext/tk/sample/demos-jp/bitmap.rb
index 1193e8d..d84e9a5 100644
--- a/ext/tk/sample/demos-jp/bitmap.rb
+++ b/ext/tk/sample/demos-jp/bitmap.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# bitmap widget demo (called by 'widget')
#
@@ -25,13 +25,13 @@ def bitmapRow(w,*args)
}
end
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($bitmap_demo) && $bitmap_demo
$bitmap_demo.destroy
$bitmap_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$bitmap_demo = TkToplevel.new {|w|
title("Bitmap Demonstration")
iconname("bitmap")
@@ -40,17 +40,17 @@ $bitmap_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($bitmap_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame,'font'=>$font,'wraplength'=>'4i','justify'=>'left',
- 'text'=>"ΥɥˤϡTk Ȥ߹ޤ줿٤ƤΥӥåȥޥåפ̾ȶɽƤޤTcl ΥץǤϡ줾̾ѤƻȤޤ"){
+ 'text'=>"このウィンドウには、Tk に組み込まれたすべてのビットマップが、それらの名前と共に表示されています。Tcl のスクリプト中では、それぞれの名前を用いて参照します。"){
pack('side'=>'top')
}
-# frame
+# frame 生成
$bitmap_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $bitmap_demo
$bitmap_demo = nil
@@ -59,13 +59,13 @@ $bitmap_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'bitmap'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$bitmap_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 設定
TkFrame.new(base_frame){|f|
bitmapRow(f,'error','gray25','gray50','hourglass')
bitmapRow(f,'info','question','questhead','warning')
diff --git a/ext/tk/sample/demos-jp/button.rb b/ext/tk/sample/demos-jp/button.rb
index 87ced45..301100b 100644
--- a/ext/tk/sample/demos-jp/button.rb
+++ b/ext/tk/sample/demos-jp/button.rb
@@ -1,36 +1,36 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# button widget demo (called by 'widget')
#
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($button_demo) && $button_demo
$button_demo.destroy
$button_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$button_demo = TkToplevel.new {|w|
title("Button Demonstration")
iconname("button")
positionWindow(w)
}
-# label
+# label 生成
msg = TkLabel.new($button_demo) {
font $kanji_font
wraplength '4i'
justify 'left'
- text "ܥ򥯥åȡܥطʿΥܥ˽񤫤Ƥ뿧ˤʤޤܥ󤫤ܥؤΰưϥ֤򲡤ȤǤǽǤޤڡǼ¹Ԥ뤳ȤǤޤ"
+ text "ボタンをクリックすると、ボタンの背景色がそのボタンに書かれている色になります。ボタンからボタンへの移動はタブを押すことでも可能です。またスペースで実行することができます。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
$button_buttons = Tk::Frame.new($button_demo) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $button_demo
$button_demo = nil
@@ -39,13 +39,13 @@ $button_buttons = Tk::Frame.new($button_demo) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'button'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# button
+# button 生成
TkButton.new($button_demo){
text "Peach Puff"
width 10
diff --git a/ext/tk/sample/demos-jp/check.rb b/ext/tk/sample/demos-jp/check.rb
index 762b997..422e898 100644
--- a/ext/tk/sample/demos-jp/check.rb
+++ b/ext/tk/sample/demos-jp/check.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# checkbutton widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($check_demo) && $check_demo
$check_demo.destroy
$check_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$check_demo = TkToplevel.new {|w|
title("Checkbutton Demonstration")
iconname("check")
@@ -18,25 +18,25 @@ $check_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($check_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ˤ 3 ĤΥåܥɽƤޤåȥܥ֤ѤꡢTcl ѿ ( TkVariable ֥ȤǥǤޤ ) ˤΥܥξ֤򼨤ͤꤷޤߤѿͤ򸫤ˤϡѿȡץܥ򥯥åƤ"
+ text "下には 3 つのチェックボタンが表示されています。クリックするとボタンの選択状態が変わり、Tcl 変数 ( TkVariable オブジェクトでアクセスできます ) にそのボタンの状態を示す値を設定します。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。"
}
msg.pack('side'=>'top')
-# ѿ
+# 変数生成
wipers = TkVariable.new(0)
brakes = TkVariable.new(0)
sober = TkVariable.new(0)
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $check_demo
$check_demo = nil
@@ -46,13 +46,13 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'check'}
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ѿ'
+ text '変数参照'
command proc{
showVars(base_frame,
['wipers', wipers], ['brakes', brakes], ['sober', sober])
@@ -62,9 +62,9 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# checkbutton
-[ TkCheckButton.new(base_frame, 'text'=>'磻ѡ OK', 'variable'=>wipers),
- TkCheckButton.new(base_frame, 'text'=>'֥졼 OK', 'variable'=>brakes),
- TkCheckButton.new(base_frame, 'text'=>'ž ', 'variable'=>sober)
+# checkbutton 生成
+[ TkCheckButton.new(base_frame, 'text'=>'ワイパー OK', 'variable'=>wipers),
+ TkCheckButton.new(base_frame, 'text'=>'ブレーキ OK', 'variable'=>brakes),
+ TkCheckButton.new(base_frame, 'text'=>'運転手 素面', 'variable'=>sober)
].each{|w| w.relief('flat'); w.pack('side'=>'top', 'pady'=>2, 'anchor'=>'w')}
diff --git a/ext/tk/sample/demos-jp/check2.rb b/ext/tk/sample/demos-jp/check2.rb
index 9f84518..558e588 100644
--- a/ext/tk/sample/demos-jp/check2.rb
+++ b/ext/tk/sample/demos-jp/check2.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# checkbutton widget demo2 (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($check2_demo) && $check2_demo
$check2_demo.destroy
$check2_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$check2_demo = TkToplevel.new {|w|
title("Checkbutton Demonstration 2")
iconname("check2")
@@ -18,37 +18,37 @@ $check2_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($check2_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ˤϣĤΥåܥɽƤޤåȥܥ֤ѤꡢTclѿTkVariable֥ȤǥǤޤˤˤΥܥξ֤򼨤ͤꤷޤǽΥܥξ֤¾ΣĤΥܥξ֤ˤ¸Ѳޤ⤷ĤΥܥΰ˥åդƤ硢ǽΥܥϥȥ饤ơȡʣ֡˥⡼ɤǤɽԤޤߤѿͤ򸫤ˤϡѿȡץܥ򥯥åƤ"
+ text "下には4つのチェックボタンが表示されています。クリックするとボタンの選択状態が変わり、Tcl変数(TkVariableオブジェクトでアクセスできます)にそのボタンの状態を示す値を設定します。最初のボタンの状態は他の3つのボタンの状態にも依存して変化します。もし3つのボタンの一部だけにチェックが付けられている場合、最初のボタンはトライステート(3状態)モードでの表示を行います。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。"
}
msg.pack('side'=>'top')
-# ѿ
+# 変数生成
safety = TkVariable.new(0)
wipers = TkVariable.new(0)
brakes = TkVariable.new(0)
sober = TkVariable.new(0)
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkGrid(TkFrame.new(frame, :height=>2, :relief=>:sunken, :bd=>2),
:columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- TkButton.new(frame, :text=>'ѿ',
+ TkButton.new(frame, :text=>'変数参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{
showVars($check2_demo,
['safety', safety], ['wipers', wipers],
['brakes', brakes], ['sober', sober])
}),
- TkButton.new(frame, :text=>'ɻ',
+ TkButton.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'check2'}),
- TkButton.new(frame, :text=>'Ĥ',
+ TkButton.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
tmppath = $check2_demo
@@ -61,16 +61,16 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'bottom', 'fill'=>'x')
-# checkbutton
-TkCheckButton.new(base_frame, :text=>'', :variable=>safety,
+# checkbutton 生成
+TkCheckButton.new(base_frame, :text=>'安全性検査', :variable=>safety,
:relief=>:flat, :onvalue=>'all', :offvalue=>'none',
:tristatevalue=>'partial'){
pack('side'=>'top', 'pady'=>2, 'anchor'=>'w')
}
-[ TkCheckButton.new(base_frame, 'text'=>'磻ѡ OK', 'variable'=>wipers),
- TkCheckButton.new(base_frame, 'text'=>'֥졼 OK', 'variable'=>brakes),
- TkCheckButton.new(base_frame, 'text'=>'ž ', 'variable'=>sober)
+[ TkCheckButton.new(base_frame, 'text'=>'ワイパー OK', 'variable'=>wipers),
+ TkCheckButton.new(base_frame, 'text'=>'ブレーキ OK', 'variable'=>brakes),
+ TkCheckButton.new(base_frame, 'text'=>'運転手 素面', 'variable'=>sober)
].each{|w|
w.relief('flat')
w.pack('side'=>'top', 'padx'=>15, 'pady'=>2, 'anchor'=>'w')
diff --git a/ext/tk/sample/demos-jp/clrpick.rb b/ext/tk/sample/demos-jp/clrpick.rb
index c188723..df8c76a 100644
--- a/ext/tk/sample/demos-jp/clrpick.rb
+++ b/ext/tk/sample/demos-jp/clrpick.rb
@@ -1,35 +1,35 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# widget demo prompts the user to select a color (called by 'widget')
#
# Note: don't support ttk_wrapper. work with standard widgets only.
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($clrpick_demo) && $clrpick_demo
$clrpick_demo.destroy
$clrpick_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$clrpick_demo = TkToplevel.new {|w|
title("Color Selection Dialogs")
iconname("colors")
positionWindow(w)
}
-# label
+# label 生成
#TkLabel.new($clrpick_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left',
Tk::Label.new($clrpick_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left',
- 'text'=>"ʲΥܥ򲡤ơΥɥˤ륦åȤʿطʿ򤷤Ʋ").pack('side'=>'top')
+ 'text'=>"以下のボタンを押して、このウィンドウ上にあるウィジェットの前景色と背景色を選択して下さい。").pack('side'=>'top')
-# frame
+# frame 生成
# TkFrame.new($clrpick_demo) {|frame|
Tk::Frame.new($clrpick_demo) {|frame|
# TkButton.new(frame) {
Tk::Button.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $clrpick_demo
$clrpick_demo = nil
@@ -39,21 +39,21 @@ Tk::Frame.new($clrpick_demo) {|frame|
# TkButton.new(frame) {
Tk::Button.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'clrpick'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# button
-# TkButton.new($clrpick_demo, 'text'=>'طʿ ...') {|b|
-Tk::Button.new($clrpick_demo, 'text'=>'طʿ ...') {|b|
+# button 生成
+# TkButton.new($clrpick_demo, 'text'=>'背景色を設定 ...') {|b|
+Tk::Button.new($clrpick_demo, 'text'=>'背景色を設定 ...') {|b|
command(proc{setColor $clrpick_demo, b, 'background',
['background', 'highlightbackground']})
pack('side'=>'top', 'anchor'=>'c', 'pady'=>'2m')
}
-# TkButton.new($clrpick_demo, 'text'=>'ʿ ...') {|b|
-Tk::Button.new($clrpick_demo, 'text'=>'ʿ ...') {|b|
+# TkButton.new($clrpick_demo, 'text'=>'前景色を設定 ...') {|b|
+Tk::Button.new($clrpick_demo, 'text'=>'前景色を設定 ...') {|b|
command(proc{setColor $clrpick_demo, b, 'foreground', ['foreground']})
pack('side'=>'top', 'anchor'=>'c', 'pady'=>'2m')
}
diff --git a/ext/tk/sample/demos-jp/colors.rb b/ext/tk/sample/demos-jp/colors.rb
index 9fcf033..5e5f47c 100644
--- a/ext/tk/sample/demos-jp/colors.rb
+++ b/ext/tk/sample/demos-jp/colors.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# listbox widget demo 'colors' (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($colors_demo) && $colors_demo
$colors_demo.destroy
$colors_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$colors_demo = TkToplevel.new {|w|
title("Listbox Demonstration (colors)")
iconname("colors")
@@ -18,20 +18,20 @@ $colors_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($colors_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ˤϿ̾äСդΥꥹȥܥåɽƤޤꥹȤ򥹥뤵ΤϥСǤǤޤꥹȥܥåǥޥΥܥ2(ܥ)򲡤ޤޥɥåƤǤޤ뿧ܥ1(ܥ)ǥ֥륯åȥץꥱΤοˤʤޤ"
+ text "下には色の名前が入ったスクロールバー付のリストボックスが表示されています。リストをスクロールさせるのはスクロールバーでもできますし、リストボックスの中でマウスのボタン2(中ボタン)を押したままドラッグしてもできます。ある色をボタン1(左ボタン)でダブルクリックするとアプリケーション全体がその色になります。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $colors_demo
$colors_demo = nil
@@ -40,13 +40,13 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'colors'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
colors_lbox = nil
TkFrame.new(base_frame, 'borderwidth'=>10) {|w|
s = TkScrollbar.new(w)
diff --git a/ext/tk/sample/demos-jp/combo.rb b/ext/tk/sample/demos-jp/combo.rb
index 2059662..8bbe369 100644
--- a/ext/tk/sample/demos-jp/combo.rb
+++ b/ext/tk/sample/demos-jp/combo.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# combo.rb --
#
@@ -21,16 +21,16 @@ base_frame = TkFrame.new($combo_demo).pack(:fill=>:both, :expand=>true)
Ttk::Label.new(base_frame, :font=>$font, :wraplength=>'5i', :justify=>:left,
:text=><<EOL).pack(:side=>:top, :fill=>:x)
-ʲǤ3ΥܥܥåɽƤޤ\
-ǽΤΤϡȥꥦåȤƱͤˡ\
-ݥȤꡤåꡤפꤹ뤳ȤǤޤ\
-ޤReturnϤиߤͤꥹȤɲä졤\
-ɥåץꥹȤ򤹤뤳ȤǤ褦ˤʤޤ\
-()򲡤ɽ줿ꥹȤ\
-¾θReturn򲡤СͤǤޤ\
-2ܤΥܥܥåͤ˸ꤵƤꡤѹǤޤ\
-3ܤΤΤϥȥꥢԻԤΥɥåץꥹȤ\
-򤹤뤳ȤǽȤʤäƤޤ
+以下では3種類のコンボボックスが表示されています.\
+最初のものは,エントリウィジェットと同じ様に,\
+ポイントしたり,クリックしたり,タイプしたりすることができます.\
+また,Returnキーを入力すれば現在の値がリストに追加され,\
+ドロップダウンリストから選択することができるようになります.\
+↓(下向き矢印)キーを押して表示されたリストから\
+矢印キーで他の候補を選んでReturnキーを押せば,値を選択できます.\
+2番目のコンボボックスは特定の値に固定されており,一切変更できません.\
+3番目のものはオーストラリアの都市のドロップダウンリストから\
+選択することだけが可能となっています.
EOL
## variables
@@ -43,7 +43,7 @@ Ttk::Frame.new(base_frame) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ѿ',
+ Ttk::Button.new(frame, :text=>'変数参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{
showVars(base_frame,
@@ -51,10 +51,10 @@ Ttk::Frame.new(base_frame) {|frame|
['secondVariable', secondValue],
['ozCity', ozCity])
}),
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'combo'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$combo_demo.destroy
@@ -68,13 +68,13 @@ Ttk::Frame.new(base_frame) {|frame|
frame = Ttk::Frame.new(base_frame).pack(:fill=>:both, :expand=>true)
australianCities = [
- '٥', 'ɥˡ', 'ܥ', 'ѡ', 'ǥ졼',
- '֥ꥹ١', 'ۥС', '', 'ꥹ ץ󥰥'
+ 'キャンベラ', 'シドニー', 'メルボルン', 'パース', 'アデレード',
+ 'ブリスベーン', 'ホバート', 'ダーウィン', 'アリス スプリングス'
]
-secondValue.value = 'ѹԲ'
-ozCity.value = 'ɥˡ'
+secondValue.value = '変更不可'
+ozCity.value = 'シドニー'
Tk.pack(Ttk::Labelframe.new(frame, :text=>'Fully Editable'){|f|
Ttk::Combobox.new(f, :textvariable=>firstValue){|b|
diff --git a/ext/tk/sample/demos-jp/cscroll.rb b/ext/tk/sample/demos-jp/cscroll.rb
index 0a31f28..e993326 100644
--- a/ext/tk/sample/demos-jp/cscroll.rb
+++ b/ext/tk/sample/demos-jp/cscroll.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# simple scrollable canvas widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($cscroll_demo) && $cscroll_demo
$cscroll_demo.destroy
$cscroll_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$cscroll_demo = TkToplevel.new {|w|
title("Scrollable Canvas Demonstration")
iconname("cscroll")
@@ -18,17 +18,17 @@ $cscroll_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($cscroll_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'4i',
- 'justify'=>'left', 'text'=>"ΥɥˤϥСޥΥܥ2 ǥǤ륭Х widget ɽƤޤͳѤξǥܥ1 򥯥åȡΥǥåɸϤ˽Ϥޤ"){
+ 'justify'=>'left', 'text'=>"このウィンドウにはスクロールバーやマウスのボタン2 でスクロールできるキャンバス widget が表示されています。四角の上でボタン1 をクリックすると、そのインデックスが標準出力に出力されます。"){
pack('side'=>'top')
}
-# frame
+# frame 生成
$cscroll_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $cscroll_demo
$cscroll_demo = nil
@@ -37,13 +37,13 @@ $cscroll_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'cscroll'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$cscroll_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 設定
unless $tk_version =~ /^4\.[01]/
$cscroll_grid = TkFrame.new(base_frame) {
pack('expand'=>'yes', 'fill'=>'both', 'padx'=>1, 'pady'=>1)
@@ -52,7 +52,7 @@ unless $tk_version =~ /^4\.[01]/
TkGrid.columnconfigure($cscroll_grid, 0, 'weight'=>1, 'minsize'=>0)
end
-# canvas
+# canvas 設定
$cscroll_canvas = TkCanvas.new(base_frame,
'relief'=>'sunken', 'borderwidth'=>2,
'scrollregion'=>['-11c', '-11c', '50c', '20c']
diff --git a/ext/tk/sample/demos-jp/ctext.rb b/ext/tk/sample/demos-jp/ctext.rb
index 70c1cad..bb354c4 100644
--- a/ext/tk/sample/demos-jp/ctext.rb
+++ b/ext/tk/sample/demos-jp/ctext.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# Canvas Text widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($ctext_demo) && $ctext_demo
$ctext_demo.destroy
$ctext_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$ctext_demo = TkToplevel.new {|w|
title("Canvas Text Demonstration")
iconname("Text")
@@ -18,23 +18,23 @@ $ctext_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($ctext_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'5i', 'justify'=>'left',
- 'text'=>"ΥɥˤϥХwidgetΥƥȵǽǥ⤹뤿ΥƥʸɽƤޤޥͳѤ˻äƤåȰ֤Ѥа֤Ѥꡢ·Ѥꤹ뤳ȤǤޤޤʲΤ褦ԽΤδñʥХǥ󥰤򥵥ݡȤƤޤ
+ 'text'=>"このウィンドウにはキャンバスwidgetのテキスト機能をデモするためのテキスト文字列が表示されています。マウスを四角の中に持っていき、クリックすると位置ぎめ用の点からの相対位置を変えたり、行揃えを変えたりすることができます。また以下のような編集のための簡単なバインディングをサポートしています。
- 1. ޥäƤåϤǤޤ
- 2. ܥ1Ǥޤ
- 3. ޥΰ֤˥ܥ2򤷤ƥȤ򥳥ԡǤޤ
- 4.Хåڡ򥳥ȥ-Hľʸޤ
- 5. Deleteľʸޤ"){
+ 1. マウスを持っていき、クリックし、入力できます。
+ 2. ボタン1で選択できます。
+ 3. マウスの位置にボタン2で選択したテキストをコピーできます。
+ 4.バックスペースをコントロール-Hで挿入カーソルの直前の文字を削除します。
+ 5. Deleteキーは挿入カーソルの直後の文字を削除します。"){
pack('side'=>'top')
}
-# frame
+# frame 生成
$ctext_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $ctext_demo
$ctext_demo = nil
@@ -43,30 +43,30 @@ $ctext_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'ctext'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$ctext_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# canvas
+# canvas 生成
$ctext_canvas = TkCanvas.new(base_frame, 'relief'=>'flat',
'borderwidth'=>0, 'width'=>500, 'height'=>350)
$ctext_canvas.pack('side'=>'top', 'expand'=>'yes', 'fill'=>'both')
-# font
+# font 設定
if $tk_version =~ /^4.*/
textFont = '-*-Helvetica-Medium-R-Normal--*-240-*-*-*-*-*-*'
else
textFont = 'Helvetica 24'
end
-# canvas
+# canvas 設定
TkcRectangle.new($ctext_canvas, 245, 195, 255, 205,
'outline'=>'black', 'fill'=>'red')
ctag_text_param = {
- 'text'=>"ϥХwidgetΥƥȵǽǥ⤹뤿ʸǤ\nǽҤ٤褦ԽǽȤ뤿ΥХǥ󥰤ܤƤޤ",
+ 'text'=>"これはキャンバスwidgetのテキスト機能をデモするための文字列です。\n上で述べたような編集を可能とするためのバインディングを施しています。",
'width'=>440, 'anchor'=>'n', 'justify'=>'left'
}
if $tk_version =~ /^4.*/
diff --git a/ext/tk/sample/demos-jp/dialog1.rb b/ext/tk/sample/demos-jp/dialog1.rb
index 07e5030..e50c907 100644
--- a/ext/tk/sample/demos-jp/dialog1.rb
+++ b/ext/tk/sample/demos-jp/dialog1.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# a dialog box with a local grab (called by 'widget')
#
@@ -11,7 +11,7 @@ class TkDialog_Demo1 < TkDialog
end
def message
- '⡼ܥåǤTk "grab" ޥɤѤƥܥåǡ֥륰֡פƤޤΤ줫Υܥ¹Ԥ뤳ȤˤäơΥޤǡΥ֤ˤäƥץꥱ¾ΥɥǤϡݥ󥿴طΥ٥Ȥ뤳ȤǤʤʤäƤޤ'
+ 'モーダルダイアログボックスです。Tk の "grab" コマンドを使用してダイアログボックスで「ローカルグラブ」しています。下のいずれかのボタンを実行することによって、このダイアログに答えるまで、このグラブによってアプリケーションの他のウィンドウでは、ポインタ関係のイベントを受け取ることができなくなっています。'
end
def bitmap
@@ -23,17 +23,17 @@ class TkDialog_Demo1 < TkDialog
end
def buttons
-# "λ 󥻥 ɻ"
- ["λ", "󥻥", "ɻ"]
+# "了解 キャンセル コード参照"
+ ["了解", "キャンセル", "コード参照"]
end
end
ret = TkDialog_Demo1.new('message_config'=>{'wraplength'=>'4i'}).value
case ret
when 0
- print "ʤϡλפ򲡤ޤ͡\n"
+ print "あなたは「了解」を押しましたね。\n"
when 1
- print "ʤϡ֥󥻥פ򲡤ޤ͡\n"
+ print "あなたは「キャンセル」を押しましたね。\n"
when 2
showCode 'dialog1'
end
diff --git a/ext/tk/sample/demos-jp/dialog2.rb b/ext/tk/sample/demos-jp/dialog2.rb
index f747f8d..3e7d9619 100644
--- a/ext/tk/sample/demos-jp/dialog2.rb
+++ b/ext/tk/sample/demos-jp/dialog2.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# a dialog box with a global grab (called by 'widget')
#
@@ -11,7 +11,7 @@ class TkDialog_Demo2 < TkDialog
end
def message
- 'ΥܥåϥХ륰֤ѤƤޤΥܥ¹Ԥޤǡǥץ쥤ΤʤΤȤäǤޤ󡣥Х륰֤Ѥ뤳ȤϡޤɤͤǤϤޤ󡣤ɤƤɬפˤʤޤǻȤȻפʤDz'
+ 'このダイアログボックスはグローバルグラブを使用しています。下のボタンを実行するまで、ディスプレイ上のいかなるものとも対話できません。グローバルグラブを使用することは、まず良い考えではありません。どうしても必要になるまで使おうと思わないで下さい。'
end
def bitmap
@@ -23,8 +23,8 @@ class TkDialog_Demo2 < TkDialog
end
def buttons
-# "λ 󥻥 ɻ"
- ["λ", "󥻥", "ɻ"]
+# "了解 キャンセル コード参照"
+ ["了解", "キャンセル", "コード参照"]
end
end
@@ -34,9 +34,9 @@ ret = TkDialog_Demo2.new('message_config'=>{'wraplength'=>'4i'},
}).value
case ret
when 0
- print "ʤϡλפ򲡤ޤ͡\n"
+ print "あなたは「了解」を押しましたね。\n"
when 1
- print "ʤϡ֥󥻥פ򲡤ޤ͡\n"
+ print "あなたは「キャンセル」を押しましたね。\n"
when 2
showCode 'dialog2'
end
diff --git a/ext/tk/sample/demos-jp/entry1.rb b/ext/tk/sample/demos-jp/entry1.rb
index eb71e87..9be677d 100644
--- a/ext/tk/sample/demos-jp/entry1.rb
+++ b/ext/tk/sample/demos-jp/entry1.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# entry (no scrollbars) widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($entry1_demo) && $entry1_demo
$entry1_demo.destroy
$entry1_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$entry1_demo = TkToplevel.new {|w|
title("Entry Demonstration (no scrollbars)")
iconname("entry1")
@@ -18,20 +18,20 @@ $entry1_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($entry1_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '5i'
justify 'left'
- text "3ΰۤʤ륨ȥ꤬ɽƤޤʸϤˤϥݥ󥿤äƹԤåƤ饿פƤɸŪMotifԽǽEmacsΥХɤȤȤˡݡȤƤޤ㤨СХåڡȥȥ-Hϥκʸǥ꡼ȥȥȥ-Dϥα¦ʸޤĹ᤮ƥɥڤʤΤϡޥΥܥ2򲡤ޤޥɥå뤳Ȥǥ뤵뤳ȤǤޤܸϤΤϥȥ-ХååǤkinput2ưƤϤ뤳ȤǤޤ"
+ text "3種類の異なるエントリが表示されています。文字を入力するにはポインタを持って行き、クリックしてからタイプしてください。標準的なMotifの編集機能が、Emacsのキーバインドとともに、サポートされています。例えば、バックスペースとコントロール-Hはカーソルの左の文字を削除し、デリートキーとコントロール-Dはカーソルの右側の文字を削除します。長過ぎてウィンドウに入り切らないものは、マウスのボタン2を押したままドラッグすることでスクロールさせることができます。日本語を入力するのはコントロール-バックスラッシュです。kinput2が動いていれば入力することができます。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $entry1_demo
$entry1_demo = nil
@@ -40,21 +40,21 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'entry1'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# entry
+# entry 生成
e1 = TkEntry.new(base_frame, 'relief'=>'sunken')
e2 = TkEntry.new(base_frame, 'relief'=>'sunken')
e3 = TkEntry.new(base_frame, 'relief'=>'sunken')
[e1,e2,e3].each{|w| w.pack('side'=>'top', 'padx'=>10, 'pady'=>5, 'fill'=>'x')}
-#
-e1.insert(0, '')
-e2.insert('end', "ΥȥˤĹʸäƤơ")
-e2.insert('end', "ĹƥɥˤڤʤΤǡ")
-e2.insert('end', "ºݤν꽪ޤǸˤϥ뤵ʤ")
-e2.insert('end', "ʤʤǤ礦")
+# 初期値挿入
+e1.insert(0, '初期値')
+e2.insert('end', "このエントリには長い文字列が入っていて、")
+e2.insert('end', "長すぎてウィンドウには入り切らないので、")
+e2.insert('end', "実際の所終りまで見るにはスクロールさせなければ")
+e2.insert('end', "ならないでしょう。")
diff --git a/ext/tk/sample/demos-jp/entry2.rb b/ext/tk/sample/demos-jp/entry2.rb
index b5187ab..5476d24 100644
--- a/ext/tk/sample/demos-jp/entry2.rb
+++ b/ext/tk/sample/demos-jp/entry2.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# entry (with scrollbars) widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($entry2_demo) && $entry2_demo
$entry2_demo.destroy
$entry2_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$entry2_demo = TkToplevel.new {|w|
title("Entry Demonstration (with scrollbars)")
iconname("entry2")
@@ -18,20 +18,20 @@ $entry2_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($entry2_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '5i'
justify 'left'
- text "3ΰۤʤ륨ȥ꤬ơСդɽƤޤʸϤˤϥݥ󥿤äƹԤåƤ饿פƤɸŪMotifԽǽEmacsΥХɤȤȤˡݡȤƤޤ㤨СХåڡȥȥ-Hϥκʸǥ꡼ȥȥȥ-Dϥα¦ʸޤĹ᤮ƥɥڤʤΤϡޥΥܥ2򲡤ޤޥɥå뤳Ȥǥ뤵뤳ȤǤޤܸϤΤϥȥ-ХååǤkinput2ưƤϤ뤳ȤǤޤ"
+ text "3種類の異なるエントリが各々スクロールバー付で表示されています。文字を入力するにはポインタを持って行き、クリックしてからタイプしてください。標準的なMotifの編集機能が、Emacsのキーバインドとともに、サポートされています。例えば、バックスペースとコントロール-Hはカーソルの左の文字を削除し、デリートキーとコントロール-Dはカーソルの右側の文字を削除します。長過ぎてウィンドウに入り切らないものは、マウスのボタン2を押したままドラッグすることでスクロールさせることができます。日本語を入力するのはコントロール-バックスラッシュです。kinput2が動いていれば入力することができます。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $entry2_demo
$entry2_demo = nil
@@ -40,12 +40,12 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'entry2'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
TkFrame.new(base_frame, 'borderwidth'=>10) {|w|
# entry 1
s1 = TkScrollbar.new(w, 'relief'=>'sunken', 'orient'=>'horiz')
@@ -80,12 +80,12 @@ TkFrame.new(base_frame, 'borderwidth'=>10) {|w|
e3.pack('side'=>'top', 'fill'=>'x')
s3.pack('side'=>'top', 'fill'=>'x')
- #
- e1.insert(0, '')
- e2.insert('end', "ΥȥˤĹʸäƤơ")
- e2.insert('end', "ĹƥɥˤڤʤΤǡ")
- e2.insert('end', "ºݤν꽪ޤǸˤϥ뤵ʤ")
- e2.insert('end', "ʤʤǤ礦")
+ # 初期値挿入
+ e1.insert(0, '初期値')
+ e2.insert('end', "このエントリには長い文字列が入っていて、")
+ e2.insert('end', "長すぎてウィンドウには入り切らないので、")
+ e2.insert('end', "実際の所終りまで見るにはスクロールさせなければ")
+ e2.insert('end', "ならないでしょう。")
}.pack('side'=>'top', 'fill'=>'x', 'expand'=>'yes')
diff --git a/ext/tk/sample/demos-jp/entry3.rb b/ext/tk/sample/demos-jp/entry3.rb
index 2728de0..59c698d 100644
--- a/ext/tk/sample/demos-jp/entry3.rb
+++ b/ext/tk/sample/demos-jp/entry3.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
# entry3.rb --
#
# This demonstration script creates several entry widgets whose
@@ -23,33 +23,33 @@ base_frame = TkFrame.new($entry3_demo).pack(:fill=>:both, :expand=>true)
TkLabel.new(base_frame,
:font=>$font, :wraplength=>'5i', :justify=>:left,
:text=><<EOL).pack(:side=>:top)
-ʲˤϣΥȥܥåɽƤޤƥȥܥåϡ\
-ޥåʸǤळȤǽǤ줾줬ɤΤ褦\
-Ϥդ뤳ȤǤ뤫ˤߤƤޤ\
-ĤΥȥܥåȸʤʸʸʤξ֤\
-ξդ꤬ϥȥܥåǤޤ\
-ʥե˥åޤˡ\
-ĤΥȥܥåϡϤ줿ʸĹ\
-ʸ̤ξդ¤ۤƽ񤭹⤦ȤȤˤ\
-٥Ĥ餷Τ餻ޤ\
-Ĥƹֹդ륨ȥܥåǤ\
-ե٥åȤϡõΥбŤƤѴޤ\
-ŬڤʸϤ줿ʳʸΰ֤˿Ϥ褦Ȥ\
-ˤϷٹΥ٥뤬Ĥޤ\
-ͤĤΥȥܥåϡʸޤǤϤդ\
-ѥɥեɤǤʣʸʾä˷ٹФȤʤ̵뤵ޤˡ\
-Ϥ줿ʸϥꥹ֤ɽޤ
+以下には4種類のエントリボックスが表示されています.各エントリボックスは,\
+マウスクリックで選択し文字を打ち込むことが可能ですが,それぞれがどのような\
+入力を受け付けることができるかには制約が設けられています.\
+一つめのエントリボックスは整数と見なされる文字列か入力文字がない空の状態か\
+の場合だけを受け付け,問題がある場合はエントリボックスが点滅します\
+(フォーカスが去る時にチェックされます).\
+二つめのエントリボックスは,入力された文字列の長さが\
+10文字未満の場合だけを受け付け,制限を越えて書き込もうとしたときには\
+ベルを鳴らして知らせます.\
+三つめは米国の電話番号を受け付けるエントリボックスです.\
+アルファベットは,電話機のダイヤル上で対応づけられている数字に変換されます.\
+不適切な文字が入力されたり数字以外の文字の位置に数字を入力しようとしたり\
+した場合には警告のベルが鳴ります.\
+四つめのエントリボックスは,8文字までの入力を受け付ける\
+パスワードフィールドです(8文字以上は特に警告を出すことなく無視されます).\
+入力された文字はアスタリスク記号に置き換えて表示されます.
EOL
TkFrame.new(base_frame){|f|
pack(:side=>:bottom, :fill=>:x, :pady=>'2m')
- TkButton.new(f, :text=>'Ĥ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
$entry3_demo.destroy
$entry3_demo = nil
}).pack(:side=>:left, :expand=>true)
- TkButton.new(f, :text=>'ɻ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
showCode 'entry3'
}).pack(:side=>:left, :expand=>true)
}
@@ -90,7 +90,7 @@ def focusAndFlash(widget, fg, bg, count=5)
widget.focus(true)
end
-l1 = TkLabelFrame.new(base_frame, :text=>"ȥ")
+l1 = TkLabelFrame.new(base_frame, :text=>"整数エントリ")
TkEntry.new(l1, :validate=>:focus,
:vcmd=>[
proc{|s| s == '' || /^[+-]?\d+$/ =~ s }, '%P'
@@ -101,7 +101,7 @@ TkEntry.new(l1, :validate=>:focus,
pack(:fill=>:x, :expand=>true, :padx=>'1m', :pady=>'1m')
}
-l2 = TkLabelFrame.new(base_frame, :text=>"Ĺդȥ")
+l2 = TkLabelFrame.new(base_frame, :text=>"長さ制約付きエントリ")
TkEntry.new(l2, :validate=>:key, :invcmd=>proc{Tk.bell},
:vcmd=>[proc{|s| s.length < 10}, '%P']
).pack(:fill=>:x, :expand=>true, :padx=>'1m', :pady=>'1m')
@@ -190,7 +190,7 @@ def validatePhoneChange(widget, vmode, idx, char)
end
-l3 = TkLabelFrame.new(base_frame, :text=>"ƹֹ楨ȥ")
+l3 = TkLabelFrame.new(base_frame, :text=>"米国電話番号エントリ")
TkEntry.new(l3, :validate=>:key, :invcmd=>proc{Tk.bell},
:textvariable=>entry3content,
:vcmd=>[
@@ -209,7 +209,7 @@ TkEntry.new(l3, :validate=>:key, :invcmd=>proc{Tk.bell},
pack(:fill=>:x, :expand=>true, :padx=>'1m', :pady=>'1m')
}
-l4 = TkLabelFrame.new(base_frame, :text=>"ѥɥȥ")
+l4 = TkLabelFrame.new(base_frame, :text=>"パスワードエントリ")
TkEntry.new(l4, :validate=>:key, :show=>'*',
:vcmd=>[
proc{|s| s.length <= 8},
diff --git a/ext/tk/sample/demos-jp/filebox.rb b/ext/tk/sample/demos-jp/filebox.rb
index ffe5fbc..fc014bc 100644
--- a/ext/tk/sample/demos-jp/filebox.rb
+++ b/ext/tk/sample/demos-jp/filebox.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# widget demo prompts the user to select a file (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($filebox_demo) && $entry2_demo
$filebox_demo.destroy
$filebox_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$filebox_demo = TkToplevel.new {|w|
title("File Selection Dialogs")
iconname("filebox")
@@ -18,15 +18,15 @@ $filebox_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($filebox_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame,'font'=>$font,'wraplength'=>'4i','justify'=>'left',
- 'text'=>"ȥ˥ե̾ľϤ뤫\"Browse\" ܥ򲡤ƥեե̾Dz").pack('side'=>'top')
+ 'text'=>"エントリにファイル名を直接入力するか、\"Browse\" ボタンを押してファイル選択ダイアログからファイル名を選んで下さい。").pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $filebox_demo
$filebox_demo = nil
@@ -35,15 +35,15 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'filebox'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
-['', '¸'].each{|type|
+# frame 生成
+['開く', '保存'].each{|type|
TkFrame.new(base_frame) {|f|
- TkLabel.new(f, 'text'=>"ե#{type}: ", 'anchor'=>'e')\
+ TkLabel.new(f, 'text'=>"ファイルを#{type}: ", 'anchor'=>'e')\
.pack('side'=>'left')
TkEntry.new(f, 'width'=>20) {|e|
@@ -61,7 +61,7 @@ TkFrame.new(base_frame) {|frame|
$tk_strictMotif = TkVarAccess.new('tk_strictMotif')
if ($tk_platform['platform'] == 'unix')
TkCheckButton.new(base_frame,
- 'text'=>'MotifΥѤ',
+ 'text'=>'Motifスタイルのダイアログを用いる',
'variable'=>$tk_strictMotif,
'onvalue'=>1, 'offvalue'=>0 ).pack('anchor'=>'c')
end
@@ -83,7 +83,7 @@ def fileDialog(w,ent,operation)
['All files', '*' ]
]
- if operation == ''
+ if operation == '開く'
file = Tk.getOpenFile('filetypes'=>types, 'parent'=>w)
else
file = Tk.getSaveFile('filetypes'=>types, 'parent'=>w,
diff --git a/ext/tk/sample/demos-jp/floor.rb b/ext/tk/sample/demos-jp/floor.rb
index 78cc23a..5101a02 100644
--- a/ext/tk/sample/demos-jp/floor.rb
+++ b/ext/tk/sample/demos-jp/floor.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# floorDisplay widget demo (called by 'widget')
#
@@ -50,7 +50,7 @@ def floorDisplay(w,active)
# Create items for the room entry and its label.
TkcWindow.new(w, 600, 100, 'anchor'=>'w', 'window'=>$floor_entry)
- TkcText.new(w, 600, 100, 'anchor'=>'e', 'text'=>"ֹ: ")
+ TkcText.new(w, 600, 100, 'anchor'=>'e', 'text'=>"部屋番号: ")
w['scrollregion'] = w.bbox('all')
end
@@ -1572,13 +1572,13 @@ end
# Below is the "main program" that creates the floorplan demonstration.
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($floor_demo) && $floor_demo
$floor_demo.destroy
$floor_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$floor_demo = TkToplevel.new {|w|
title("Floorplan Canvas Demonstration")
iconname("Floorplan")
@@ -1589,17 +1589,17 @@ $floor_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($floor_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'8i', 'justify'=>'left',
- 'text'=>"Υɥˤϥǥ륨åץȼҤΥꥵܥȥ (DECWRL) δּ꤬񤫤줿Х widget äƤޤ 3ƤǡˤΤ1ʬ򡢤Ĥޤꤽδּ꤬ɽ褦ˤʤäƤޤ볬򤹤ˤϡξǥޥκܥ򥯥åƤޥ򤵤Ƥ볬ξưȡβˤοѤꡢֹ椬ֹ:ץȥɽޤޤȥֹ񤯤ȤοѤޤ"){
+ 'text'=>"このウィンドウにはディジタルエクイップメント社のウェスタンリサーチラボラトリ (DECWRL) の間取りが書かれたキャンバス widget が入っています。これは 3階建てで、常にそのうちの1階分が選択、つまりその間取りが表示されるようになっています。ある階を選択するには、その上でマウスの左ボタンをクリックしてください。マウスが選択されている階の上を動くと、その下にある部屋の色が変わり、部屋番号が「部屋番号:」エントリに表示されます。また、エントリに部屋番号を書くとその部屋の色が変わります。"){
pack('side'=>'top')
}
-# frame
+# frame 生成
$floor_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $floor_demo
$floor_demo = nil
@@ -1608,17 +1608,17 @@ $floor_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'floor'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$floor_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# ѿ
+# 変数設定
$floorLabels = {}
$floorItems = {}
-# canvas
+# canvas 設定
if $tk_version =~ /^4\.[01]/
$floor_canvas_frame = TkFrame.new(base_frame,'bd'=>2,'relief'=>'sunken',
'highlightthickness'=>2)
diff --git a/ext/tk/sample/demos-jp/floor2.rb b/ext/tk/sample/demos-jp/floor2.rb
index 92ace6b..7ca705c 100644
--- a/ext/tk/sample/demos-jp/floor2.rb
+++ b/ext/tk/sample/demos-jp/floor2.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# floorDisplay widget demo 2 (called by 'widget')
#
@@ -50,7 +50,7 @@ def floorDisplay2(w,active)
# Create items for the room entry and its label.
w.create(TkcWindow, 600, 100, 'anchor'=>'w', 'window'=>$floor2_entry)
- w.create(TkcText, 600, 100, 'anchor'=>'e', 'text'=>"ֹ: ")
+ w.create(TkcText, 600, 100, 'anchor'=>'e', 'text'=>"部屋番号: ")
w['scrollregion'] = w.bbox('all')
end
@@ -1572,13 +1572,13 @@ end
# Below is the "main program" that creates the floorplan demonstration.
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($floor2_demo) && $floor2_demo
$floor2_demo.destroy
$floor2_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$floor2_demo = TkToplevel.new {|w|
title("Floorplan Canvas Demonstration 2")
iconname("Floorplan2")
@@ -1589,17 +1589,17 @@ $floor2_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($floor2_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'8i', 'justify'=>'left',
- 'text'=>"Υɥˤϥǥ륨åץȼҤΥꥵܥȥ (DECWRL) δּ꤬񤫤줿Х widget äƤޤ 3ƤǡˤΤ1ʬ򡢤Ĥޤꤽδּ꤬ɽ褦ˤʤäƤޤ볬򤹤ˤϡξǥޥκܥ򥯥åƤޥ򤵤Ƥ볬ξưȡβˤοѤꡢֹ椬ֹ:ץȥɽޤޤȥֹ񤯤ȤοѤޤ"){
+ 'text'=>"このウィンドウにはディジタルエクイップメント社のウェスタンリサーチラボラトリ (DECWRL) の間取りが書かれたキャンバス widget が入っています。これは 3階建てで、常にそのうちの1階分が選択、つまりその間取りが表示されるようになっています。ある階を選択するには、その上でマウスの左ボタンをクリックしてください。マウスが選択されている階の上を動くと、その下にある部屋の色が変わり、部屋番号が「部屋番号:」エントリに表示されます。また、エントリに部屋番号を書くとその部屋の色が変わります。"){
pack('side'=>'top')
}
-# frame
+# frame 生成
$floor2_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $floor2_demo
$floor2_demo = nil
@@ -1608,17 +1608,17 @@ $floor2_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'floor2'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$floor2_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# ѿ
+# 変数設定
$floorLabels2 = {}
$floorItems2 = {}
-# canvas
+# canvas 設定
if $tk_version =~ /^4\.[01]/
$floor2_canvas_frame = TkFrame.new(base_frame,'bd'=>2,'relief'=>'sunken',
'highlightthickness'=>2)
diff --git a/ext/tk/sample/demos-jp/form.rb b/ext/tk/sample/demos-jp/form.rb
index 84ed94d..000fcb5 100644
--- a/ext/tk/sample/demos-jp/form.rb
+++ b/ext/tk/sample/demos-jp/form.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# form widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($form_demo) && $form_demo
$form_demo.destroy
$form_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$form_demo = TkToplevel.new {|w|
title("Form Demonstration")
iconname("form")
@@ -18,20 +18,20 @@ $form_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($form_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ΥɥϴñʥեѤˤʤäƤơޤޤʥȥϤǤޤ֤ǥȥؤǤޤ"
+ text "このウィンドウは簡単なフォーム入力用になっていて、さまざまなエントリに入力ができます。タブでエントリの切替えができます。"
}
msg.pack('side'=>'top', 'fill'=>'x')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $form_demo
$form_demo = nil
@@ -40,12 +40,12 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'form'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# entry
+# entry 生成
form_data = []
(1..5).each{|i|
f = TkFrame.new(base_frame, 'bd'=>2)
@@ -56,10 +56,10 @@ form_data = []
form_data[i] = {'frame'=>f, 'entry'=>e, 'label'=>l}
}
-# ʸ
-form_data[1]['label'].text('̾:')
-form_data[2]['label'].text(':')
-form_data[5]['label'].text(':')
+# 文字列設定
+form_data[1]['label'].text('名前:')
+form_data[2]['label'].text('住所:')
+form_data[5]['label'].text('電話:')
# pack
(1..5).each{|i| form_data[i]['frame'].pack('side'=>'top', 'fill'=>'x')}
diff --git a/ext/tk/sample/demos-jp/goldberg.rb b/ext/tk/sample/demos-jp/goldberg.rb
index ea521b8..fc38d87 100644
--- a/ext/tk/sample/demos-jp/goldberg.rb
+++ b/ext/tk/sample/demos-jp/goldberg.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# Ruby/Tk Goldverg demo (called by 'widget')
#
@@ -63,7 +63,7 @@ msg = TkLabel.new($goldberg_demo) {
font 'Arial 10'
wraplength '4i'
justify 'left'
- text "ϡʤʬΥ˥᡼򤤤ȤΤˤǤ뤫򼨤ȤΤΥǥǤܡ򥯥åʪưϤޤ\n\n\"Man will always find a difficult means to perform a simple task\"\n - Rube Goldberg"
+ text "これは、あなたが自分のアニメーションをいかに入り組んだものにできるかを示すというだけのためのデモです。ボールをクリックすれば物が動き始めます!\n\n\"Man will always find a difficult means to perform a simple task\"\n - Rube Goldberg"
}
msg.pack('side'=>'top')
=end
@@ -72,7 +72,7 @@ msg.pack('side'=>'top')
# frame
TkFrame.new($goldberg_demo) {|frame|
TkButton.new(frame) {
- text 'Ĥ'
+ text '閉じる'
command proc{
tmppath = $goldberg_demo
$goldberg_demo = nil
@@ -81,7 +81,7 @@ TkFrame.new($goldberg_demo) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'goldberg'}
}.pack('side'=>'left', 'expand'=>'yes')
@@ -99,7 +99,7 @@ class TkGoldberg_Demo
@S['speed'] = TkVariable.new(5)
@S['cnt'] = TkVariable.new(0)
# @S['message'] = TkVariable.new("\\nWelcome\\nto\\nRuby/Tk")
- @S['message'] = TkVariable.new("\\n 褦\\nRuby/Tk\\n\\n")
+ @S['message'] = TkVariable.new("\\n ようこそ!\\nRuby/Tk\\nの\\n世界へ")
@S['pause'] = TkVariable.new
@S['details'] = TkVariable.new(true)
@@ -184,7 +184,7 @@ class TkGoldberg_Demo
font 'Arial 10'
wraplength 600
justify 'left'
- text "ϡʤʬΥ˥᡼򤤤ȤΤˤǤ뤫򼨤ȤΤΥǥǤܡ򥯥åʪưϤޤ\n\"Man will always find a difficult means to perform a simple task\" - Rube Goldberg"
+ text "これは、あなたが自分のアニメーションをいかに入り組んだものにできるかを示すというだけのためのデモです。ボールをクリックすれば物が動き始めます!\n\"Man will always find a difficult means to perform a simple task\" - Rube Goldberg"
}
msg.place(:in=>@canvas, :relx=>0, :rely=>0, :anchor=>:nw)
@@ -192,7 +192,7 @@ class TkGoldberg_Demo
# TkButton.new(frame, :bg=>@C['bg'], :activebackground=>@C['bg']) {
Tk::Button.new(frame, :bg=>@C['bg'], :activebackground=>@C['bg']) {
- text 'Ĥ'
+ text '閉じる'
command proc{
tmppath = $goldberg_demo
$goldberg_demo = nil
@@ -202,7 +202,7 @@ class TkGoldberg_Demo
# TkButton.new(frame, :bg=>@C['bg'], :activebackground=>@C['bg']) {
Tk::Button.new(frame, :bg=>@C['bg'], :activebackground=>@C['bg']) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'goldberg'}
}.pack('side'=>'left', 'padx'=>5)
@@ -420,7 +420,7 @@ class TkGoldberg_Demo
color = @C['0']
TkcText.new(@canvas,
# [579, 119], :text=>'START HERE!',
- [558, 119], :text=>'饹ȡ',
+ [558, 119], :text=>'ここからスタート!',
:fill=>color, :anchor=>:w,
:tag=>'I0', :font=>['Times Roman', 12, :italic, :bold])
TkcLine.new(@canvas, [719, 119, 763, 119], :tag=>'I0', :fill=>color,
@@ -1792,7 +1792,7 @@ class TkGoldberg_Demo
@canvas.delete('I24', 'I26')
TkcText.new(@canvas, 430, 735, :anchor=>:s, :tag=>'I26',
#:text=>'click to continue',
- :text=>'åǥꥻåȤޤ',
+ :text=>'クリックでリセットします',
:font=>['Times Roman', 20, :bold])
@canvas.bind('1', proc{reset})
return 4
diff --git a/ext/tk/sample/demos-jp/hello b/ext/tk/sample/demos-jp/hello
index 08f154d..e942f3d 100644
--- a/ext/tk/sample/demos-jp/hello
+++ b/ext/tk/sample/demos-jp/hello
@@ -1,10 +1,10 @@
#!/usr/bin/env ruby
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
require 'tk'
TkButton.new(nil,
- 'text'=>"ˤϡ",
- 'command'=>proc{print "ˤϡ\n"; exit}
+ 'text'=>"こんにちは、世界",
+ 'command'=>proc{print "こんにちは、世界\n"; exit}
).pack
Tk.mainloop
diff --git a/ext/tk/sample/demos-jp/hscale.rb b/ext/tk/sample/demos-jp/hscale.rb
index 5615aa5..2dfbf38 100644
--- a/ext/tk/sample/demos-jp/hscale.rb
+++ b/ext/tk/sample/demos-jp/hscale.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
require "tkcanvas"
if defined?($hscale_demo) && $hscale_deom
@@ -18,16 +18,16 @@ msg = TkLabel.new(base_frame) {
font $font
wraplength '3.5i'
justify 'left'
- text "ˤ1Ĥȿʿʥ뤬ɽƤޤ\
-ǥޥܥ1򥯥åޤϥɥå\
-ĹѤ뤳ȤǤޤ"
+ text "下には矢印が1つと水平なスケールが表示されています。\
+スケール上でマウスボタン1をクリック、またはドラッグすると\
+矢印の長さを変えることができます。"
}
msg.pack('side'=>'top')
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc {
tmppath = $hscale_demo
$hscale_demo = nil
@@ -36,7 +36,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc { showCode 'hscale' }
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
diff --git a/ext/tk/sample/demos-jp/icon.rb b/ext/tk/sample/demos-jp/icon.rb
index 9355194..6b9e1a5 100644
--- a/ext/tk/sample/demos-jp/icon.rb
+++ b/ext/tk/sample/demos-jp/icon.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# iconic button widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($icon_demo) && $icon_demo
$icon_demo.destroy
$icon_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$icon_demo = TkToplevel.new {|w|
title("Iconic Button Demonstration")
iconname("icon")
@@ -18,20 +18,20 @@ $icon_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($icon_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '5i'
justify 'left'
- text "Υɥˤϥ饸ܥȥåܥ˥ӥåȥޥåפɽ 3 Ĥˡ򼨤ƤޤˤΤ2ĤΥ饸ܥǡ줾줬ӥåȥޥåפ򼨤󥸥ǤǤƤޤˤΤϡѤߤɤˤäưۤʤɽåܥǤ¦ˤΤѤߤɤˤäطʿѤӥåȥޥåפɽåܥǤ"
+ text "このウィンドウにはラジオボタンとチェックボタン上にビットマップや画像を表示する 3 つの方法を示しています。左にあるのは2つのラジオボタンで、それぞれが、ビットマップと選択を示すインジケータでできています。中央にあるのは、選択済みかどうかによって異なる画像を表示するチェックボタンです。右側にあるのは選択済みかどうかによって背景色が変わるビットマップを表示するチェックボタンです。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $icon_demo
$icon_demo = nil
@@ -40,13 +40,13 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'icon'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# image
+# image 生成
flagup = \
TkBitmapImage.new('file'=>[$demo_dir,'..',
'images','flagup.xbm'].join(File::Separator),
@@ -59,10 +59,10 @@ TkBitmapImage.new('file'=>[$demo_dir,'..',
[$demo_dir,'..',
'images','flagdown.xbm'].join(File::Separator))
-# ѿ
+# 変数生成
letters = TkVariable.new
-# frame
+# frame 生成
TkFrame.new(base_frame, 'borderwidth'=>10){|w|
TkFrame.new(w) {|f|
# TkRadioButton.new(f){
diff --git a/ext/tk/sample/demos-jp/image1.rb b/ext/tk/sample/demos-jp/image1.rb
index 10078c6..0c69b2a 100644
--- a/ext/tk/sample/demos-jp/image1.rb
+++ b/ext/tk/sample/demos-jp/image1.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# two image widgets demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($image1_demo) && $image1_demo
$image1_demo.destroy
$image1_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$image1_demo = TkToplevel.new {|w|
title('Image Demonstration #1')
iconname("Image1")
@@ -18,20 +18,20 @@ $image1_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($image1_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ΥǥǤ2ĤΥ٥˲򤽤줾ɽƤޤ"
+ text "このデモでは2つのラベル上に画像をそれぞれ表示しています。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $image1_demo
$image1_demo = nil
@@ -40,13 +40,13 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'image1'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# image
+# image 生成
image1a = \
TkPhotoImage.new('file'=>[$demo_dir,'..',
'images','earth.gif'].join(File::Separator))
@@ -54,7 +54,7 @@ image1b = \
TkPhotoImage.new('file'=>[$demo_dir,'..',
'images','earthris.gif'].join(File::Separator))
-# label
+# label 生成
#[ TkLabel.new(base_frame, 'image'=>image1a, 'bd'=>1, 'relief'=>'sunken'),
# TkLabel.new(base_frame, 'image'=>image1b, 'bd'=>1, 'relief'=>'sunken')
#].each{|w| w.pack('side'=>'top', 'padx'=>'.5m', 'pady'=>'.5m')}
diff --git a/ext/tk/sample/demos-jp/image2.rb b/ext/tk/sample/demos-jp/image2.rb
index 3e8b874..aa507c5 100644
--- a/ext/tk/sample/demos-jp/image2.rb
+++ b/ext/tk/sample/demos-jp/image2.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# widget demo 'load image' (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($image2_demo) && $image2_demo
$image2_demo.destroy
$image2_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$image2_demo = TkToplevel.new {|w|
title('Image Demonstration #2')
iconname("Image2")
@@ -18,20 +18,20 @@ $image2_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($image2_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ΥǥǤTk photo image ѤƲ򸫤뤳ȤǤޤǽ˥ȥˤ˥ǥ쥯ȥ̾Ʋ˲ΥꥹȥܥåˤΥǥ쥯ȥɤ뤿ᡢ꥿򲡤Ƥθ塢򤹤뤿˥ꥹȥܥåΥե֥̾륯åƲ"
+ text "このデモではTkの photo image を使用して画像を見ることができます。最初にエントリ内ににディレクトリ名を入れて下さい。次に下のリストボックスにこのディレクトリをロードするため、リターンを押してください。その後、画像を選択するためにリストボックスの中のファイル名をダブルクリックして下さい。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $image2_demo
$image2_demo = nil
@@ -40,20 +40,20 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'image2'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# ѿ
+# 変数生成
$dirName = TkVariable.new([$demo_dir,'..','images'].join(File::Separator))
-# image
+# image 生成
$image2a = TkPhotoImage.new
-# ե̾
-TkLabel.new(base_frame, 'text'=>'ǥ쥯ȥ:')\
+# ファイル名入力部
+TkLabel.new(base_frame, 'text'=>'ディレクトリ:')\
.pack('side'=>'top', 'anchor'=>'w')
image2_e = TkEntry.new(base_frame) {
@@ -64,7 +64,7 @@ image2_e = TkEntry.new(base_frame) {
TkFrame.new(base_frame, 'height'=>'3m', 'width'=>20)\
.pack('side'=>'top', 'anchor'=>'w')
-TkLabel.new(base_frame, 'text'=>'ե:')\
+TkLabel.new(base_frame, 'text'=>'ファイル:')\
.pack('side'=>'top', 'anchor'=>'w')
TkFrame.new(base_frame){|w|
@@ -85,14 +85,14 @@ TkFrame.new(base_frame){|w|
}.pack('side'=>'top', 'anchor'=>'w')
-# image
+# image 配置
[ TkFrame.new(base_frame, 'height'=>'3m', 'width'=>20),
- TkLabel.new(base_frame, 'text'=>':'),
+ TkLabel.new(base_frame, 'text'=>'画像:'),
# TkLabel.new(base_frame, 'image'=>$image2a)
Tk::Label.new(base_frame, 'image'=>$image2a)
].each{|w| w.pack('side'=>'top', 'anchor'=>'w')}
-# ᥽å
+# メソッド定義
def loadDir(w)
w.delete(0,'end')
Dir.glob([$dirName,'*'].join(File::Separator)).sort.each{|f|
diff --git a/ext/tk/sample/demos-jp/image3.rb b/ext/tk/sample/demos-jp/image3.rb
index 625e69a..5c1ceb2 100644
--- a/ext/tk/sample/demos-jp/image3.rb
+++ b/ext/tk/sample/demos-jp/image3.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
# image3.rb
#
# This demonstration script creates a simple collection of widgets
@@ -56,15 +56,15 @@ msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ΥǥǤTk photo image ѤƲ 뤳ȤǤޤǽ˥ȥˤ˥ǥ쥯ȥ̾Ʋ˲ΥꥹȥܥåˤΥǥ쥯ȥɤ뤿ᡢ꥿򲡤Ƥθ塢򤹤뤿˥ꥹȥܥåΥե֥̾륯åƲ"
+ text "このデモではTkの photo image を使用して画像を 見ることができます。最初にエントリ内ににディレクトリ名を入れて下さい。次に下のリストボックスにこのディレクトリをロードするため、リターンを押してください。その後、画像を選択するためにリストボックスの中のファイル名をダブルクリックして下さい。"
}
msg.pack('side'=>'top')
# frame
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $image3_demo
$image3_demo = nil
@@ -73,7 +73,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'image3'}
}.pack('side'=>'left', 'expand'=>'yes')
@@ -92,9 +92,9 @@ $image3a = TkPhotoImage.new
#
image3_f = TkFrame.new(base_frame).pack(:fill=>:both, :expand=>true)
-image3_df = TkLabelFrame.new(base_frame, :text=>'ǥ쥯ȥ:')
+image3_df = TkLabelFrame.new(base_frame, :text=>'ディレクトリ:')
-image3_ff = TkLabelFrame.new(base_frame, :text=>'ե:',
+image3_ff = TkLabelFrame.new(base_frame, :text=>'ファイル:',
:padx=>'2m', :pady=>'2m')
image3_lbx = TkListbox.new(image3_ff, :width=>20, :height=>10) {
pack(:side=>:left, :fill=>:y, :expand=>true)
@@ -109,12 +109,12 @@ image3_ent = TkEntry.new(image3_df, :width=>30, :textvariable=>$dirName){
bind('Return', proc{loadDir3(image3_lbx)})
}
-TkButton.new(image3_df, :pady=>0, :padx=>'2m', :text=>"ǥ쥯ȥ",
+TkButton.new(image3_df, :pady=>0, :padx=>'2m', :text=>"ディレクトリ選択",
:command=>proc{selectAndLoadDir3(image3_ent, image3_lbx)}) {
pack(:side=>:left, :fill=>:y, :padx=>[0, '2m'], :pady=>'2m')
}
-image3_if = TkLabelFrame.new(base_frame, :text=>'᡼:') {|f|
+image3_if = TkLabelFrame.new(base_frame, :text=>'イメージ:') {|f|
# TkLabel.new(f, :image=>$image3a).pack(:padx=>'2m', :pady=>'2m')
Tk::Label.new(f, :image=>$image3a).pack(:padx=>'2m', :pady=>'2m')
}
diff --git a/ext/tk/sample/demos-jp/items.rb b/ext/tk/sample/demos-jp/items.rb
index 4440905..b1d66f3 100644
--- a/ext/tk/sample/demos-jp/items.rb
+++ b/ext/tk/sample/demos-jp/items.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# canvas item types widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($items_demo) && $items_demo
$items_demo.destroy
$items_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$items_demo = TkToplevel.new {|w|
title("Canvas Item Demonstration")
iconname("Items")
@@ -18,19 +18,19 @@ $items_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($items_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame) {
font $font
wraplength '5i'
justify 'left'
- text "ΥɥˤϥХ widget äƤꡢˤϥХ widget ݡȤ͡ʥפΥƥ㤬äƤޤΤ褦Ǥޤ\n ܥ-1 ɥå:\tƥư\n ܥ-2 ɥå:\tƤʬ򤺤餹\n ܥ-3 ɥå:\tΰϤ\n ȥ-F:\tΰβΥƥɽ롣"
+ text "このウィンドウにはキャンバス widget が入っており、その中にはキャンバス widget がサポートする様々なタイプのアイテムの例が入っています。次のような操作ができます。\n ボタン-1 ドラッグ:\tアイテムを動かす。\n ボタン-2 ドラッグ:\t見えている部分をずらす。\n ボタン-3 ドラッグ:\t領域を囲う。\n コントロール-F:\t領域の下のアイテムを表示する。"
}.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $items_demo
$items_demo = nil
@@ -39,15 +39,15 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'items'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
cvs = nil
TkFrame.new(base_frame) {|cf|
- # canvas
+ # canvas 生成
cvs = TkCanvas.new(cf) {|c|
focus
scrollregion '0c 0c 30c 24c'
@@ -113,11 +113,11 @@ else
green = 'black'
end
-# tag ֥Ȥ
+# tag オブジェクトを生成
$tag_item = TkcGroup.new(cvs)
# Set up demos within each of the areas of the grid.
-TkcText.new(cvs, '5c', '.2c', 'text'=>'饤', 'anchor'=>'n')
+TkcText.new(cvs, '5c', '.2c', 'text'=>'ライン', 'anchor'=>'n')
TkcLine.new(cvs, '1c', '1c', '3c', '1c', '1c', '4c', '3c', '4c',
'width'=>2, 'fill'=>blue, 'capstyle'=>'butt',
'join'=>'miter', 'tags'=>$tag_item )
@@ -136,7 +136,7 @@ TkcLine.new(cvs, '1c','7c','1.75c','5.8c','2.5c','7c','3.25c','5.8c','4c','7c',
'tags'=>$tag_item )
TkcText.new(cvs, '15c', '.2c',
- 'text'=>' (餫ˤĤʤľ)', 'anchor'=>'n')
+ 'text'=>'曲線 (滑らかにつないだ直線)', 'anchor'=>'n')
TkcLine.new(cvs, '11c','4c','11.5c','1c','13.5c','1c','14c','4c',
'smooth'=>'on', 'fill'=>blue, 'tags'=>$tag_item )
TkcLine.new(cvs, '15.5c','1c','19.5c','1.5c','15.5c','4.5c','19.5c','4c',
@@ -148,7 +148,7 @@ TkcLine.new(cvs, '12c','6c','13.5c','4.5c','16.5c','7.5c','18c','6c',
'images', 'gray25.xbm'].join(File::Separator),
'fill'=>red, 'tags'=>$tag_item )
-TkcText.new(cvs, '25c', '.2c', 'text'=>'¿ѷ', 'anchor'=>'n')
+TkcText.new(cvs, '25c', '.2c', 'text'=>'多角形', 'anchor'=>'n')
TkcPolygon.new(cvs, '21c','1.0c','22.5c','1.75c','24c','1.0c','23.25c','2.5c',
'24c','4.0c','22.5c','3.25c','21c','4.0c','21.75c','2.5c',
'fill'=>'green', 'outline'=>'black', 'width'=>4,
@@ -163,7 +163,7 @@ TkcPolygon.new(cvs, '22c','4.5c','25c','4.5c','25c','6.75c','28c','6.75c',
'images', 'gray25.xbm'].join(File::Separator),
'outline'=>'black', 'tags'=>$tag_item )
-TkcText.new(cvs, '5c', '8.2c', 'text'=>'', 'anchor'=>'n')
+TkcText.new(cvs, '5c', '8.2c', 'text'=>'矩形', 'anchor'=>'n')
TkcRectangle.new(cvs, '1c','9.5c','4c','12.5c',
'outline'=>red, 'width'=>'3m', 'tags'=>$tag_item)
TkcRectangle.new(cvs, '0.5c','13.5c','4.5c','15.5c',
@@ -173,7 +173,7 @@ TkcRectangle.new(cvs, '6c','10c','9c','15c', 'outline'=>'',
'images','gray25.xbm'].join(File::Separator),
'fill'=>blue, 'tags'=>$tag_item )
-TkcText.new(cvs, '15c', '8.2c', 'text'=>'ʱ', 'anchor'=>'n')
+TkcText.new(cvs, '15c', '8.2c', 'text'=>'楕円', 'anchor'=>'n')
TkcOval.new(cvs, '11c','9.5c','14c','12.5c',
'outline'=>red, 'width'=>'3m', 'tags'=>$tag_item)
TkcOval.new(cvs, '10.5c','13.5c','14.5c','15.5c',
@@ -183,13 +183,13 @@ TkcOval.new(cvs, '16c','10c','19c','15c', 'outline'=>'',
'images','gray25.xbm'].join(File::Separator),
'fill'=>blue, 'tags'=>$tag_item )
-TkcText.new(cvs, '25c', '8.2c', 'text'=>'ƥ', 'anchor'=>'n')
+TkcText.new(cvs, '25c', '8.2c', 'text'=>'テキスト', 'anchor'=>'n')
TkcRectangle.new(cvs, '22.4c','8.9c','22.6c','9.1c')
TkcText.new(cvs, '22.5c', '9c', 'anchor'=>'n', 'font'=>font1, 'width'=>'4c',
- 'text'=>'ûƥȡɥåס·󥫡()ϳƥƥȤΥ󥫡ݥȤ򼨤', 'tags'=>$tag_item )
+ 'text'=>'短いテキスト。ワードラップ、左揃え、アンカーは北(上)。□は各テキストのアンカーポイントを示す。', 'tags'=>$tag_item )
TkcRectangle.new(cvs, '25.4c','10.9c','25.6c','11.1c')
TkcText.new(cvs, '25.5c', '11c', 'anchor'=>'w', 'font'=>font1, 'fill'=>blue,
- 'text'=>"Ĥιԡ\n줾Ω\n·\nƺü󥫡Ƥ롣", 'justify'=>'center', 'tags'=>$tag_item )
+ 'text'=>"いくつかの行。\nそれぞれ独立に\n行揃え。\n全て左端がアンカーされている。", 'justify'=>'center', 'tags'=>$tag_item )
TkcRectangle.new(cvs, '24.9c','13.9c','25.1c','14.1c')
if $tk_version =~ /^4\.[01]/
TkcText.new(cvs, '25c', '14c', 'anchor'=>'c', 'font'=>font2, 'fill'=>red,
@@ -202,7 +202,7 @@ else
'tags'=>$tag_item )
end
-TkcText.new(cvs, '5c', '16.2c', 'text'=>'', 'anchor'=>'n')
+TkcText.new(cvs, '5c', '16.2c', 'text'=>'弧', 'anchor'=>'n')
TkcArc.new(cvs, '0.5c','17c','7c','20c', 'fill'=>green, 'outline'=>'black',
'start'=>45, 'extent'=>270, 'style'=>'pieslice', 'tags'=>$tag_item)
#TkcArc.new(cvs, '6.5c','17c','9.5c','20c', 'width'=>'4m', 'style'=>'arc',
@@ -221,7 +221,7 @@ TkcArc.new(cvs, '5.5c','20.5c','9.5c','23.5c', 'width'=>'4m', 'style'=>'chord',
'fill'=>blue, 'outline'=>'', 'start'=>45, 'extent'=>270,
'tags'=>$tag_item)
-TkcText.new(cvs, '15c', '16.2c', 'text'=>'ӥåȥޥå', 'anchor'=>'n')
+TkcText.new(cvs, '15c', '16.2c', 'text'=>'ビットマップ', 'anchor'=>'n')
#TkcBitmap.new(cvs, '13c','20c',
# 'bitmap'=>'@' + ['images', 'face'].join(File::Separator),
# 'tags'=>$tag_item)
@@ -239,7 +239,7 @@ TkcBitmap.new(cvs, '17c','18.5c',
#TkcBitmap.new(cvs, '17c','21.5c',
# 'bitmap'=>'@' + ['images', 'letters'].join(File::Separator),
# 'tags'=>$tag_item)
-# ηǤǽ
+# ↓の形式でも可能
TkcBitmap.new(cvs, '17c','21.5c') {
bitmap '@' + [$demo_dir, '..', 'images', 'letters.xbm'].join(File::Separator)
tags $tag_item
@@ -249,15 +249,15 @@ TkcBitmap.new(cvs, '17c','21.5c') {
# tags $tag_item
#}
-TkcText.new(cvs, '25c', '16.2c', 'text'=>'ɥ', 'anchor'=>'n')
+TkcText.new(cvs, '25c', '16.2c', 'text'=>'ウィンドウ', 'anchor'=>'n')
TkButton.new(cvs) {|b|
- text 'Ƥ'
+ text '押してね'
command proc{butPress cvs, red}
TkcWindow.new(cvs, '21c','18c',
'window'=>b, 'anchor'=>'nw', 'tags'=>$tag_item)
}
TkEntry.new(cvs, 'width'=>20, 'relief'=>'sunken') {|e|
- insert 'end', 'ԽƤ'
+ insert 'end', '編集してね'
TkcWindow.new(cvs, '21c','21c',
'window'=>e, 'anchor'=>'nw', 'tags'=>$tag_item)
}
@@ -266,9 +266,9 @@ TkScale.new(cvs, 'from'=>0, 'to'=>100, 'length'=>'6c', 'sliderlength'=>'.4c',
TkcWindow.new(cvs, '28.5c','17.5c',
'window'=>scl, 'anchor'=>'n', 'tags'=>$tag_item)
}
-TkcText.new(cvs, '21c', '17.9c', 'text'=>'ܥ:', 'anchor'=>'sw')
-TkcText.new(cvs, '21c', '20.9c', 'text'=>'ȥ:', 'anchor'=>'sw')
-TkcText.new(cvs, '28.5c', '17.4c', 'text'=>':', 'anchor'=>'s')
+TkcText.new(cvs, '21c', '17.9c', 'text'=>'ボタン:', 'anchor'=>'sw')
+TkcText.new(cvs, '21c', '20.9c', 'text'=>'エントリ:', 'anchor'=>'sw')
+TkcText.new(cvs, '28.5c', '17.4c', 'text'=>'スケール:', 'anchor'=>'s')
# Set up event bindings for canvas:
cvs.itembind($tag_item, 'Any-Enter', proc{itemEnter cvs})
@@ -374,6 +374,6 @@ end
def butPress(w,color)
i = TkcText.new(w, '25c', '18.1c',
- 'text'=>'Ƥ!!', 'fill'=>color, 'anchor'=>'n')
+ 'text'=>'いてて!!', 'fill'=>color, 'anchor'=>'n')
Tk.after(500, proc{w.delete i})
end
diff --git a/ext/tk/sample/demos-jp/ixset2 b/ext/tk/sample/demos-jp/ixset2
index 5011dfe..e11ce2a 100644
--- a/ext/tk/sample/demos-jp/ixset2
+++ b/ext/tk/sample/demos-jp/ixset2
@@ -1,5 +1,5 @@
#!/usr/bin/env ruby
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# ixset --
# A nice interface to "xset" to change X server settings
@@ -167,15 +167,15 @@ class Xsettings
btn_frame = TkFrame.new(@root)
buttons = [
@btn_OK = TkButton.new(btn_frame, 'command'=>proc{win.ok},
- 'default'=>'active', 'text'=>'λ'),
+ 'default'=>'active', 'text'=>'了解'),
@btn_APPLY = TkButton.new(btn_frame, 'command'=>proc{win.writesettings},
- 'default'=>'normal', 'text'=>'Ŭ',
+ 'default'=>'normal', 'text'=>'適用',
'state'=>'disabled'),
@btn_CANCEL = TkButton.new(btn_frame, 'command'=>proc{win.cancel},
- 'default'=>'normal', 'text'=>'',
+ 'default'=>'normal', 'text'=>'取消',
'state'=>'disabled'),
@btn_QUIT = TkButton.new(btn_frame, 'command'=>proc{win.quit},
- 'default'=>'normal', 'text'=>'')
+ 'default'=>'normal', 'text'=>'中止')
]
buttons.each{|b| b.pack('side'=>'left', 'expand'=>'yes', 'pady'=>5) }
@@ -202,16 +202,16 @@ class Xsettings
#
# Bell settings
#
- bell = TkLabelframe.new(@root, 'text'=>'٥',
+ bell = TkLabelframe.new(@root, 'text'=>'ベル設定',
'padx'=>'1.5m', 'pady'=>'1.5m')
@w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200,
'tickinterval'=>20, 'orient'=>'horizontal',
- 'label'=>" (%)")
+ 'label'=>"音量 (%)")
f = TkFrame.new(bell)
- @w_bellpit = LabelEntry.new(f, " (Hz)", 6, [25, 20000])
+ @w_bellpit = LabelEntry.new(f, "音程 (Hz)", 6, [25, 20000])
@w_bellpit.pack('side'=>'left', 'padx'=>5)
- @w_belldur = LabelEntry.new(f, "³ (ms)", 6, [1, 10000])
+ @w_belldur = LabelEntry.new(f, "持続時間 (ms)", 6, [1, 10000])
@w_belldur.pack('side'=>'right', 'padx'=>5)
@w_bellvol.pack('side'=>'top', 'expand'=>'yes')
@@ -222,10 +222,10 @@ class Xsettings
#
kbdonoff = nil
kbdcli = nil
- kbd = TkLabelframe.new(@root, 'text'=>'ܡɥԡ',
+ kbd = TkLabelframe.new(@root, 'text'=>'キーボードリピート設定',
'padx'=>'1.5m', 'pady'=>'1.5m')
f = TkFrame.new(kbd)
- @w_kbdonoff = TkCheckButton.new(f, 'text'=>'å',
+ @w_kbdonoff = TkCheckButton.new(f, 'text'=>'クリック音あり',
'relief'=>'flat',
'onvalue'=>'on', 'offvalue'=>'off',
'variable'=>@w_kbdrep ) {
@@ -240,7 +240,7 @@ class Xsettings
}
@w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200,
'tickinterval'=>20, 'orient'=>'horizontal',
- 'label'=>'å (%)')
+ 'label'=>'クリック音量 (%)')
@w_kbdcli.pack('side'=>'left', 'expand'=>'yes',
'fill'=>'x', 'padx'=>['1m', 0])
f.pack('side'=>'top', 'expand'=>'yes', 'pady'=>2, 'fill'=>'x')
@@ -248,21 +248,21 @@ class Xsettings
#
# Mouse settings
#
- mouse = TkLabelframe.new(@root, 'text'=>'ޥ',
+ mouse = TkLabelframe.new(@root, 'text'=>'マウス設定',
'padx'=>'1.5m', 'pady'=>'1.5m')
f = TkFrame.new(mouse)
- @w_mouseacc = LabelEntry.new(f, '®', 5)
+ @w_mouseacc = LabelEntry.new(f, '加速量', 5)
@w_mouseacc.pack('side'=>'left', 'padx'=>[0, '1m'])
- @w_mousethr = LabelEntry.new(f, ' (pixels)', 3, [1, 2000])
+ @w_mousethr = LabelEntry.new(f, '閾値 (pixels)', 3, [1, 2000])
@w_mousethr.pack('side'=>'right', 'padx'=>['1m', 0])
f.pack('side'=>'top', 'expand'=>'yes')
#
# Screen Saver settings
#
- screen = TkLabelframe.new(@root, 'text'=>'꡼󥻡',
+ screen = TkLabelframe.new(@root, 'text'=>'スクリーンセーバ設定',
'padx'=>'1.5m', 'pady'=>'1.5m')
- @w_screenblank = TkRadioButton.new(screen, 'text'=>'֥ɽ',
+ @w_screenblank = TkRadioButton.new(screen, 'text'=>'ブランク表示',
'relief'=>'flat', 'anchor'=>'w',
'variable'=>@w_screenbla,
'value'=>'blank') {
@@ -275,7 +275,7 @@ class Xsettings
end
}
- @w_screenpat = TkRadioButton.new(screen, 'text'=>'ѥɽ',
+ @w_screenpat = TkRadioButton.new(screen, 'text'=>'パターン表示',
'relief'=>'flat', 'anchor'=>'w',
'variable'=>@w_screenbla,
'value'=>'noblank') {
@@ -288,8 +288,8 @@ class Xsettings
end
}
- @w_screentim = LabelEntry.new(screen, 'ॢ (s)', 5, [1, 100000])
- @w_screencyc = LabelEntry.new(screen, ' (s)', 5, [1, 100000])
+ @w_screentim = LabelEntry.new(screen, 'タイムアウト (s)', 5, [1, 100000])
+ @w_screencyc = LabelEntry.new(screen, '周期 (s)', 5, [1, 100000])
Tk.grid(@w_screenblank, @w_screentim, 'sticky'=>'e')
Tk.grid(@w_screenpat, @w_screencyc, 'sticky'=>'e')
diff --git a/ext/tk/sample/demos-jp/knightstour.rb b/ext/tk/sample/demos-jp/knightstour.rb
index ae0f130..835a24c 100644
--- a/ext/tk/sample/demos-jp/knightstour.rb
+++ b/ext/tk/sample/demos-jp/knightstour.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# Based on the widget demo of Tcl/Tk8.5.2
# The following is the original copyright text.
@@ -94,13 +94,13 @@ class Knights_Tour
@start_btn.state :normal
if @visited.length == 64
if @initial == square
- @log.insert :end, 'ͷ(closed tour)'
+ @log.insert :end, '周遊(closed tour)成功!'
else
- @log.insert :end, "\n", {}
+ @log.insert :end, "成功\n", {}
Tk.after(@delay.numeric * 2){tour(rand(64))} if @continuous.bool
end
else
- @log.insert :end, "ԡ\n", {}
+ @log.insert :end, "失敗!\n", {}
end
end
end
@@ -158,10 +158,10 @@ class Knights_Tour
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'knightstour'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$knightstour.destroy
@@ -187,14 +187,14 @@ class Knights_Tour
@continuous = TkVariable.new(false)
tool_f = Ttk::Frame.new($knightstour)
- label = Ttk::Label.new(tool_f, :text=>'¹®')
+ label = Ttk::Label.new(tool_f, :text=>'実行速度')
scale = Ttk::Scale.new(tool_f, :from=>8, :to=>2000, :variable=>@delay,
:command=>proc{|n| set_delay(n)})
- check = Ttk::Checkbutton.new(tool_f, :text=>'ȿ',
+ check = Ttk::Checkbutton.new(tool_f, :text=>'反復',
:variable=>@continuous)
- @start_btn = Ttk::Button.new(tool_f, :text=>'',
+ @start_btn = Ttk::Button.new(tool_f, :text=>'開始',
:command=>proc{tour()})
- @exit_btn = Ttk::Button.new(tool_f, :text=>'λ',
+ @exit_btn = Ttk::Button.new(tool_f, :text=>'終了',
:command=>proc{_exit()})
7.downto(0){|row|
diff --git a/ext/tk/sample/demos-jp/label.rb b/ext/tk/sample/demos-jp/label.rb
index 19105e6..700e6a6 100644
--- a/ext/tk/sample/demos-jp/label.rb
+++ b/ext/tk/sample/demos-jp/label.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# label widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($label_demo) && $label_demo
$label_demo.destroy
$label_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$label_demo = TkToplevel.new {|w|
title("Label Demonstration")
iconname("label")
@@ -18,20 +18,20 @@ $label_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($label_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ˤ5ĤΥ٥뤬ɽƤޤ¦ˤϥƥȥ٥뤬3Ĥꡢ¦ˤϥӥåȥޥåץ٥ȥƥȥ٥뤬ޤ٥ȤΤϤޤ򤤤ΤǤϤޤ󡣤ʤʤįʳǤʤǤ"
+ text "下には5つのラベルが表示されています。左側にはテキストラベルが3つあり、右側にはビットマップラベルとテキストラベルがあります。ラベルというのはあまり面白いものではありません。なぜなら眺める以外何もできないからです。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $label_demo
$label_demo = nil
@@ -40,23 +40,23 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'label'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# label demo ѥե졼
+# label demo 用フレーム生成
f_left = TkFrame.new(base_frame)
f_right = TkFrame.new(base_frame)
[f_left, f_right].each{|w| w.pack('side'=>'left', 'expand'=>'yes',
'padx'=>10, 'pady'=>10, 'fill'=>'both')}
-# label
-[ TkLabel.new(f_left, 'text'=>'ǽΥ٥'),
- TkLabel.new(f_left, 'text'=>'2 ܡä⤭夬餻Ƥߤޤ',
+# label 生成
+[ TkLabel.new(f_left, 'text'=>'最初のラベル'),
+ TkLabel.new(f_left, 'text'=>'2 番目。ちょっと浮き上がらせてみました',
'relief'=>'raised'),
- TkLabel.new(f_left, 'text'=>'3 ܡǤޤ ', 'relief'=>'sunken')
+ TkLabel.new(f_left, 'text'=>'3 番目。沈んでいます ', 'relief'=>'sunken')
].each{|w| w.pack('side'=>'top', 'expand'=>'yes', 'pady'=>2, 'anchor'=>'w')}
# TkLabel.new(f_right) {
@@ -66,4 +66,4 @@ Tk::Label.new(f_right) {
relief 'sunken'
}.pack('side'=>'top')
-TkLabel.new(f_right) { text 'Tcl/Tk ͭ' }.pack('side'=>'top')
+TkLabel.new(f_right) { text 'Tcl/Tk 所有者' }.pack('side'=>'top')
diff --git a/ext/tk/sample/demos-jp/labelframe.rb b/ext/tk/sample/demos-jp/labelframe.rb
index cee504f..80e106c 100644
--- a/ext/tk/sample/demos-jp/labelframe.rb
+++ b/ext/tk/sample/demos-jp/labelframe.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# labelframe.rb
#
@@ -25,28 +25,28 @@ base_frame = TkFrame.new($labelframe_demo).pack(:fill=>:both, :expand=>true)
TkLabel.new(base_frame,
:font=>$font, :wraplength=>'4i', :justify=>:left,
:text=><<EOL).pack(:side=>:top)
-TkLabelFrame åȤϴϢ widget
-ޤȤƼ갷Ѥޤ
-٥̾ʸǤⲿ餫Υå
-Ǥ⤫ޤޤ󡣤⤷ʤȤäƤ
-Ruby ˥󥯤Ƥ Tk 饤֥꤬
-labelframe åȤƤʤ
-硢ΥǥϤޤưʤϤǤ
-ξˤ labelframe åȤ
-Ƥ褦ʤ꿷С Tk
-Ȥ߹碌ƻ褦ˤƤ
+TkLabelFrame ウィジェットは関連する widget
+群をまとめて取り扱うために用いられます。ラ
+ベルは通常の文字列でも何らかのウィジェット
+でもかまいません。もしあなたが使っている
+Ruby にリンクされている Tk ライブラリが
+labelframe ウィジェットを実装していない
+場合、このデモはうまく動かないはずです。
+その場合には labelframe ウィジェットが実装
+されているようなより新しいバージョンの Tk
+を組み合わせて試すようにしてください。
EOL
# The bottom buttons
TkFrame.new(base_frame){|f|
pack(:side=>:bottom, :fill=>:x, :pady=>'2m')
- TkButton.new(f, :text=>'Ĥ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
$labelframe_demo.destroy
$labelframe_demo = nil
}).pack(:side=>:left, :expand=>true)
- TkButton.new(f, :text=>'ɻ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
showCode 'labelframe'
}).pack(:side=>:left, :expand=>true)
}
@@ -56,7 +56,7 @@ w = TkFrame.new(base_frame).pack(:side=>:bottom, :fill=>:both,
:expand=>true)
# A group of radiobuttons in a labelframe
-TkLabelFrame.new(w, :text=>'',
+TkLabelFrame.new(w, :text=>'選択値',
:padx=>2, :pady=>2) {|f|
grid(:row=>0, :column=>0, :pady=>'2m', :padx=>'2m')
@@ -86,13 +86,13 @@ end
TkLabelFrame.new(w, :pady=>2, :padx=>2){|f|
TkCheckButton.new(f, :widgetname=>'cb', :variable=>$lfdummy,
- :text=>"ץ", :padx=>0) {|cb|
+ :text=>"オプションを使用", :padx=>0) {|cb|
command proc{lfEnableButtons(f)}
f.labelwidget(cb)
}
grid(:row=>0, :column=>1, :pady=>'2m', :padx=>'2m')
- %w(ץ1 ץ2 ץ3).each{|str|
+ %w(オプション1 オプション2 オプション3).each{|str|
TkCheckbutton.new(f, :text=>str).pack(:side=>:top, :fill=>:x, :pady=>2)
}
diff --git a/ext/tk/sample/demos-jp/mclist.rb b/ext/tk/sample/demos-jp/mclist.rb
index 37f5dfa..67cec63 100644
--- a/ext/tk/sample/demos-jp/mclist.rb
+++ b/ext/tk/sample/demos-jp/mclist.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# mclist.rb --
#
@@ -24,16 +24,16 @@ base_frame = TkFrame.new($mclist_demo).pack(:fill=>:both, :expand=>true)
Ttk::Label.new(base_frame, :font=>$font, :wraplength=>'4i',
:justify=>:left, :anchor=>'n', :padding=>[10, 2, 10, 6],
:text=><<EOL).pack(:fill=>:x)
-TtkȤϡơ޻ǽʿåȽǤ\
-Ttk::TreeviewåȤ\
-TtkåȥåȤ˴ޤޤ륦åȤΰĤǡ\
-줬ݻڹ¤ΥǡΤΤޤǤɽ뤳Ȥʤ\
-ޥɽ뤳ȤǤޤ
-ΥץϡʣΥäꥹȥܥåñǤ
-ƥΥȥ(heading)򥯥åС\
-Υξ˴ŤƥꥹȤ¤ؤʤϤǤ\
-ޤΥȥ֤ζڤʬɥå뤳Ȥǡ\
-ѹ뤳ȤǽǤ
+Ttkとは,テーマ指定可能な新しいウィジェット集合です.\
+Ttk::Treeviewウィジェットは\
+Ttkウィジェットセットに含まれるウィジェットの一つで,\
+それが保持する木構造のデータそのものまでは表示することなく,\
+示したい情報をマルチカラムで表示させることができます.
+このサンプルは,複数のカラムを持ったリストボックスを作成する簡単な例です.
+各カラムのタイトル(heading)をクリックすれば,\
+そのカラムの情報に基づいてリストの並べ替えがなされるはずです.\
+また,カラムのタイトル間の区切り部分をドラッグすることで,\
+カラムの幅を変更することも可能です.
EOL
## See Code / Dismiss
@@ -41,10 +41,10 @@ Ttk::Frame.new(base_frame) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'mclist'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$mclist_demo.destroy
@@ -74,27 +74,27 @@ container.grid_rowconfigure(0, :weight=>1)
## The data we're going to insert
data = [
- ['를', '֥Υ쥹', 'ARS'],
- ['ȥꥢ', '٥', 'AUD'],
- ['֥饸', '֥饸ꥢ', 'BRL'],
- ['ʥ', '', 'CAD'],
- ['', '̵', 'CNY'],
- ['ե', 'ѥ', 'EUR'],
- ['ɥ', '٥', 'EUR'],
- ['', '˥塼ǥ꡼', 'INR'],
- ['ꥢ', '', 'EUR'],
- ['', '', 'JPY'],
- ['ᥭ', 'ᥭƥ', 'MXN'],
- ['', '⥹', 'RUB'],
- ['եꥫ', 'ץȥꥢ', 'ZAR'],
- ['ѹ', 'ɥ', 'GBP'],
- ['ꥫ', '亮ȥ D.C.', 'USD'],
+ ['アルゼンチン', 'ブエノスアイレス', 'ARS'],
+ ['オーストラリア', 'キャンベラ', 'AUD'],
+ ['ブラジル', 'ブラジリア', 'BRL'],
+ ['カナダ', 'オタワ', 'CAD'],
+ ['中国', '北京', 'CNY'],
+ ['フランス', 'パリ', 'EUR'],
+ ['ドイツ', 'ベルリン', 'EUR'],
+ ['インド', 'ニューデリー', 'INR'],
+ ['イタリア', 'ローマ', 'EUR'],
+ ['日本', '東京', 'JPY'],
+ ['メキシコ', 'メキシコシティ', 'MXN'],
+ ['ロシア', 'モスクワ', 'RUB'],
+ ['南アフリカ', 'プレトリア', 'ZAR'],
+ ['英国', 'ロンドン', 'GBP'],
+ ['アメリカ', 'ワシントン D.C.', 'USD'],
]
## Code to insert the data nicely
font = Ttk::Style.lookup(tree[:style], :font)
cols = %w(country capital currency)
-cols.zip(%w(̾ ̲)).each{|col, name|
+cols.zip(%w(国名 首都 通貨)).each{|col, name|
tree.heading_configure(col, :text=>name,
:command=>proc{sort_by(tree, col, false)})
tree.column_configure(col, :width=>TkFont.measure(font, name))
diff --git a/ext/tk/sample/demos-jp/menu.rb b/ext/tk/sample/demos-jp/menu.rb
index e38a467..05ea7a9 100644
--- a/ext/tk/sample/demos-jp/menu.rb
+++ b/ext/tk/sample/demos-jp/menu.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# menus widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($menu_demo) && $menu_demo
$menu_demo.destroy
$menu_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$menu_demo = TkToplevel.new {|w|
title("File Selection Dialogs")
iconname("menu")
@@ -18,7 +18,7 @@ $menu_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($menu_demo).pack(:fill=>:both, :expand=>true)
-# menu frame
+# menu frame 生成
$menu_frame = TkFrame.new(base_frame, 'relief'=>'raised', 'bd'=>2)
$menu_frame.pack('side'=>'top', 'fill'=>'x')
@@ -28,21 +28,21 @@ rescue
windowingsystem = ""
end
-# label
+# label 生成
TkLabel.new(base_frame,'font'=>$font,'wraplength'=>'4i','justify'=>'left') {
if $tk_platform['platform'] == 'macintosh' ||
windowingsystem == "classic" || windowingsystem == "aqua"
- text("Υɥ͡ʥ˥塼ȥɥ˥塼鹽ƤޤCommand-X ϤȡXޥɥ³ɽƤʸʤС졼ȤäܵưԤȤǤޤ˥塼桢ǸΤΤϡΥ˥塼κǽιܤ򤹤뤳ȤΩ뤳ȤǤޤ")
+ text("このウィンドウは様々なメニューとカスケードメニューから構成されています。Command-X を入力すると、Xがコマンドキー記号に続いて表示されている文字ならば、アクセラレータを使った項目起動を行うことができます。メニュー要素中、最後のものは、そのメニューの最初の項目を選択することで独立させることができます。")
else
- text("Υɥ͡ʥ˥塼ȥɥ˥塼鹽ƤޤAlt-X ϤȡX˥塼˥饤դɽƤʸʤСܡɤλ꤬Ǥޤǥ˥塼ΥȥСǽǤ˥塼ꤵ줿ݤˤϡڡǼ¹Ԥ뤳ȤǤޤ뤤ϡ饤դʸϤ뤳ȤǤ¹ԤǤޤ˥塼Υȥ꤬졼äƤϡΥ졼Ϥ뤳Ȥǥ˥塼ꤹ뤳Ȥʤ˼¹Ԥ뤳ȤǤޤ˥塼桢ǸΤΤϡΥ˥塼κǽιܤ򤹤뤳ȤΩ뤳ȤǤޤ")
+ text("このウィンドウは様々なメニューとカスケードメニューから構成されています。Alt-X を入力すると、Xがメニューにアンダーライン付きで表示されている文字ならば、キーボードからの指定ができます。矢印キーでメニューのトラバースも可能です。メニューが指定された際には、スペースキーで実行することができます。あるいは、アンダーライン付きの文字を入力することでも実行できます。メニューのエントリがアクセラレータを持っている場合は、そのアクセラレータを入力することでメニューを指定することなしに実行することができます。メニュー要素中、最後のものは、そのメニューの最初の項目を選択することで独立させることができます。")
end
}.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $menu_demo
$menu_demo = nil
@@ -51,25 +51,25 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'menu'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# menu
+# menu 生成
TkMenubutton.new($menu_frame, 'text'=>'File', 'underline'=>0) {|m|
pack('side'=>'left')
TkMenu.new(m, 'tearoff'=>false) {|file_menu|
m.configure('menu'=>file_menu)
- add('command', 'label'=>' ...', 'command'=>proc{fail 'ϡǥǤΤ" ..."Ф륢Ƥޤ'})
- add('command', 'label'=>'', 'command'=>proc{fail 'ϡǥǤΤ""Ф륢Ƥޤ'})
- add('command', 'label'=>'¸', 'command'=>proc{fail 'ϡǥǤΤ"¸"Ф륢Ƥޤ'})
- add('command', 'label'=>'¸() ...', 'command'=>proc{fail 'ϡǥǤΤ"¸() ..."Ф륢Ƥޤ'})
+ add('command', 'label'=>'開く ...', 'command'=>proc{fail 'これは、デモですので"開く ..."に対するアクションは定義されていません。'})
+ add('command', 'label'=>'新規', 'command'=>proc{fail 'これは、デモですので"新規"に対するアクションは定義されていません。'})
+ add('command', 'label'=>'保存', 'command'=>proc{fail 'これは、デモですので"保存"に対するアクションは定義されていません。'})
+ add('command', 'label'=>'保存(指定) ...', 'command'=>proc{fail 'これは、デモですので"保存(指定) ..."に対するアクションは定義されていません。'})
add('separator')
- add('command', 'label'=>'ץ ...', 'command'=>proc{fail 'ϡǥǤΤ"ץ ..."Ф륢Ƥޤ'})
- add('command', 'label'=>'ץ ...', 'command'=>proc{fail 'ϡǥǤΤ"ץ ..."Ф륢Ƥޤ'})
+ add('command', 'label'=>'プリント設定 ...', 'command'=>proc{fail 'これは、デモですので"プリント設定 ..."に対するアクションは定義されていません。'})
+ add('command', 'label'=>'プリント ...', 'command'=>proc{fail 'これは、デモですので"プリント ..."に対するアクションは定義されていません。'})
add('separator')
- add('command', 'label'=>'λ', 'command'=>proc{$menu_demo.destroy})
+ add('command', 'label'=>'終了', 'command'=>proc{$menu_demo.destroy})
}
}
@@ -86,10 +86,10 @@ TkMenubutton.new($menu_frame, 'text'=>'Basic', 'underline'=>0) {|m|
pack('side'=>'left')
TkMenu.new(m, 'tearoff'=>false) {|basic_menu|
m.configure('menu'=>basic_menu)
- add('command', 'label'=>'⤷ʤĹȥ')
+ add('command', 'label'=>'何もしない長いエントリ')
['A','B','C','D','E','F','G'].each{|c|
- # add('command', 'label'=>"ʸ \"#{c}\" ", 'underline'=>4,
- add('command', 'label'=>"Print letter \"#{c}\" (ʸ \"#{c}\" )",
+ # add('command', 'label'=>"文字 \"#{c}\" を印字", 'underline'=>4,
+ add('command', 'label'=>"Print letter \"#{c}\" (文字 \"#{c}\" を印字)",
'underline'=>14, 'accelerator'=>"Meta+#{c}",
'command'=>proc{print c,"\n"}, 'accelerator'=>"#{modifier}+#{c}")
$menu_demo.bind("#{modifier}-#{c.downcase}", proc{print c,"\n"})
@@ -101,58 +101,58 @@ TkMenubutton.new($menu_frame, 'text'=>'Cascades', 'underline'=>0) {|m|
pack('side'=>'left')
TkMenu.new(m, 'tearoff'=>false) {|cascade_menu|
m.configure('menu'=>cascade_menu)
- add('command', 'label'=>'Print hello(ˤ)',
- 'command'=>proc{print "Hello(ˤ)\n"},
+ add('command', 'label'=>'Print hello(こんにちは)',
+ 'command'=>proc{print "Hello(こんにちは)\n"},
'accelerator'=>"#{modifier}+H", 'underline'=>6)
- $menu_demo.bind("#{modifier}-h", proc{print "Hello(ˤ)\n"})
- add('command', 'label'=>'Print goodbye(褦ʤ)',
- 'command'=>proc{print "Goodbye(褦ʤ)\n"},
+ $menu_demo.bind("#{modifier}-h", proc{print "Hello(こんにちは)\n"})
+ add('command', 'label'=>'Print goodbye(さようなら)',
+ 'command'=>proc{print "Goodbye(さようなら)\n"},
'accelerator'=>"#{modifier}+G", 'underline'=>6)
- $menu_demo.bind("#{modifier}-g", proc{print "Goodbye(褦ʤ)\n"})
+ $menu_demo.bind("#{modifier}-g", proc{print "Goodbye(さようなら)\n"})
# TkMenu.new(m, 'tearoff'=>false) {|cascade_check|
TkMenu.new(cascade_menu, 'tearoff'=>false) {|cascade_check|
- cascade_menu.add('cascade', 'label'=>'Check buttons(åܥ)',
+ cascade_menu.add('cascade', 'label'=>'Check buttons(チェックボタン)',
'menu'=>cascade_check, 'underline'=>0)
oil = TkVariable.new(0)
- add('check', 'label'=>'', 'variable'=>oil)
+ add('check', 'label'=>'オイル点検', 'variable'=>oil)
trans = TkVariable.new(0)
- add('check', 'label'=>'ȥ󥹥ߥå', 'variable'=>trans)
+ add('check', 'label'=>'トランスミッション点検', 'variable'=>trans)
brakes = TkVariable.new(0)
- add('check', 'label'=>'֥졼', 'variable'=>brakes)
+ add('check', 'label'=>'ブレーキ点検', 'variable'=>brakes)
lights = TkVariable.new(0)
- add('check', 'label'=>'饤', 'variable'=>lights)
+ add('check', 'label'=>'ライト点検', 'variable'=>lights)
add('separator')
- add('command', 'label'=>'ߤͤɽ',
+ add('command', 'label'=>'現在の値を表示',
'command'=>proc{showVars($menu_demo,
- ['', oil],
- ['ȥ󥹥ߥå', trans],
- ['֥졼', brakes],
- ['饤', lights])} )
+ ['オイル点検', oil],
+ ['トランスミッション点検', trans],
+ ['ブレーキ点検', brakes],
+ ['ライト点検', lights])} )
invoke 1
invoke 3
}
#TkMenu.new(m, 'tearoff'=>false) {|cascade_radio|
TkMenu.new(cascade_menu, 'tearoff'=>false) {|cascade_radio|
- cascade_menu.add('cascade', 'label'=>'Radio buttons(饸ܥ)',
+ cascade_menu.add('cascade', 'label'=>'Radio buttons(ラジオボタン)',
'menu'=>cascade_radio, 'underline'=>0)
pointSize = TkVariable.new
- add('radio', 'label'=>'10 ݥ', 'variable'=>pointSize, 'value'=>10)
- add('radio', 'label'=>'14 ݥ', 'variable'=>pointSize, 'value'=>14)
- add('radio', 'label'=>'18 ݥ', 'variable'=>pointSize, 'value'=>18)
- add('radio', 'label'=>'24 ݥ', 'variable'=>pointSize, 'value'=>24)
- add('radio', 'label'=>'32 ݥ', 'variable'=>pointSize, 'value'=>32)
+ add('radio', 'label'=>'10 ポイント', 'variable'=>pointSize, 'value'=>10)
+ add('radio', 'label'=>'14 ポイント', 'variable'=>pointSize, 'value'=>14)
+ add('radio', 'label'=>'18 ポイント', 'variable'=>pointSize, 'value'=>18)
+ add('radio', 'label'=>'24 ポイント', 'variable'=>pointSize, 'value'=>24)
+ add('radio', 'label'=>'32 ポイント', 'variable'=>pointSize, 'value'=>32)
add('separator')
style = TkVariable.new
- add('radio', 'label'=>'ޥ', 'variable'=>style, 'value'=>'roman')
- add('radio', 'label'=>'ܡ', 'variable'=>style, 'value'=>'bold')
- add('radio', 'label'=>'å', 'variable'=>style, 'value'=>'italic')
+ add('radio', 'label'=>'ローマン', 'variable'=>style, 'value'=>'roman')
+ add('radio', 'label'=>'ボールド', 'variable'=>style, 'value'=>'bold')
+ add('radio', 'label'=>'イタリック', 'variable'=>style, 'value'=>'italic')
add('separator')
- add('command', 'label'=>'ߤͤɽ',
+ add('command', 'label'=>'現在の値を表示',
'command'=>proc{showVars($menu_demo,
- ['ݥȥ', pointSize],
- ['', style])} )
+ ['ポイントサイズ', pointSize],
+ ['スタイル', style])} )
invoke 1
invoke 7
}
@@ -167,9 +167,9 @@ TkMenubutton.new($menu_frame, 'text'=>'Icons', 'underline'=>0) {|m|
'bitmap'=>'@'+[$demo_dir,'..',
'images','pattern.xbm'].join(File::Separator),
'command'=>proc{TkDialog.new('title'=>'Bitmap Menu Entry',
- 'text'=>'ʤ򤷤˥塼ιܤϥƥȤǤϤʤӥåȥޥåפɽƤޤʳǤ¾Υ˥塼ܤѤޤ',
+ 'text'=>'今あなたが選択したメニューの項目はテキストではなくビットマップを表示していました。それ以外の点では他のメニュー項目と変わりません。',
'bitmap'=>'', 'default'=>0,
- 'buttons'=>'λ')} )
+ 'buttons'=>'了解')} )
['info', 'questhead', 'error'].each{|icon|
add('command', 'bitmap'=>icon,
'command'=>proc{print "You invoked the #{icon} bitmap\n"})
@@ -181,8 +181,8 @@ TkMenubutton.new($menu_frame, 'text'=>'More', 'underline'=>0) {|m|
pack('side'=>'left')
TkMenu.new(m, 'tearoff'=>false) {|more_menu|
m.configure('menu'=>more_menu)
- [ 'ȥ','̤Υȥ','⤷ʤ','ۤȤɲ⤷ʤ',
- 'յΤ' ].each{|i|
+ [ 'エントリ','別のエントリ','何もしない','ほとんど何もしない',
+ '人生を意義あるものに' ].each{|i|
add('command', 'label'=>i,
'command'=>proc{print "You invoked \"#{i}\"\n"})
}
diff --git a/ext/tk/sample/demos-jp/menu84.rb b/ext/tk/sample/demos-jp/menu84.rb
index 094853a..6a57279 100644
--- a/ext/tk/sample/demos-jp/menu84.rb
+++ b/ext/tk/sample/demos-jp/menu84.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# menus widget demo (called by 'widget')
#
@@ -28,9 +28,9 @@ end
TkLabel.new(base_frame,'font'=>$font,'wraplength'=>'4i','justify'=>'left') {
if $tk_platform['platform'] == 'macintosh' ||
windowingsystem == "classic" || windowingsystem == "aqua"
- text("Υɥˤϥɥ˥塼ĥ˥塼СդƤޤCommand+x ('x'ϥޥɥܥ³ɽƤʸǤ) ȥפ뤳ȤˤäƤܤεǽƤӽФȤǤޤǸΥ˥塼ϡޥǥɥγ˥ɥå뤳ȤˤäơΩѥåȤȤʤ褦ڤȤǽǤ")
+ text("このウィンドウにはカスケードメニューを持つメニューバーが付けられています。Command+x ('x'はコマンドキーシンボルに続けて表示されている文字です) とタイプすることによっても項目の機能を呼び出すことができます。最後のメニューは、マウスでウィンドウの外にドラッグすることによって、独立したパレットとなるように切り放すことが可能です。")
else
- text("Υɥˤϥɥ˥塼ĥ˥塼СդƤޤAlt+x ('x'ϥ˥塼Dz줿ʸǤ) ȥפ뤳ȤˤäƤ˥塼ƤӽФȤǤޤȤäơ˥塼֤ư뤳ȤǽǤ˥塼ɽƤˤϡ֤߰ιܤ򥹥ڡ򤷤ꡢ줿ʸϤ뤳ȤǤιܤ򤷤ꤹ뤳ȤǤޤ⤷ܤ˥졼λ꤬ʤƤʤСλꤵ줿ϤԤȤǡ˥塼ɽ뤳ȤʤľܤιܤεǽƤӽФޤǸΥ˥塼ϡ˥塼κǽιܤ򤹤뤳ȤˤäơΩѥåȤȤʤ褦ڤȤǽǤ")
+ text("このウィンドウにはカスケードメニューを持つメニューバーが付けられています。Alt+x ('x'はメニュー上で下線が引かれた文字です) とタイプすることによってもメニューを呼び出すことができます。矢印キーを使って、メニュー間を移動することも可能です。メニューが表示されている時には、現在位置の項目をスペースキーで選択したり、下線が引かれた文字を入力することでその項目を選択したりすることができます。もし項目にアクセラレータの指定がなされていたならば、その指定されたキー入力を行うことで、メニューを表示させることなく直接その項目の機能を呼び出せます。最後のメニューは、メニューの最初の項目を選択することによって、独立したパレットとなるように切り放すことが可能です。")
end
}.pack('side'=>'top')
@@ -48,8 +48,8 @@ TkFrame.new(base_frame) {|frame|
# frame
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $menu84_demo
$menu84_demo = nil
@@ -58,7 +58,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'menu84'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
@@ -70,13 +70,13 @@ $menu84_frame = TkMenu.new($menu84_demo, 'tearoff'=>false)
# menu
TkMenu.new($menu84_frame, 'tearoff'=>false) {|m|
$menu84_frame.add('cascade', 'label'=>'File', 'menu'=>m, 'underline'=>0)
- add('command', 'label'=>'Open...', 'command'=>proc{fail 'ñʤǥǤ顢"Open..." ܤεǽäƤϤޤ'})
- add('command', 'label'=>'New', 'command'=>proc{fail 'ñʤǥǤ顢"New" ܤεǽäƤϤޤ'})
- add('command', 'label'=>'Save', 'command'=>proc{fail 'ñʤǥǤ顢"Save" ܤεǽäƤϤޤ'})
- add('command', 'label'=>'Save As...', 'command'=>proc{fail 'ñʤǥǤ顢"Save As..." ܤεǽäƤϤޤ'})
+ add('command', 'label'=>'Open...', 'command'=>proc{fail 'これは単なるデモですから、"Open..." 項目の機能は特に定義されてはいません。'})
+ add('command', 'label'=>'New', 'command'=>proc{fail 'これは単なるデモですから、"New" 項目の機能は特に定義されてはいません。'})
+ add('command', 'label'=>'Save', 'command'=>proc{fail 'これは単なるデモですから、"Save" 項目の機能は特に定義されてはいません。'})
+ add('command', 'label'=>'Save As...', 'command'=>proc{fail 'これは単なるデモですから、"Save As..." 項目の機能は特に定義されてはいません。'})
add('separator')
- add('command', 'label'=>'Print Setup...', 'command'=>proc{fail 'ñʤǥǤ顢"Print Setup..." ܤεǽäƤϤޤ'})
- add('command', 'label'=>'Print...', 'command'=>proc{fail 'ñʤǥǤ顢"Print..." ܤεǽäƤϤޤ'})
+ add('command', 'label'=>'Print Setup...', 'command'=>proc{fail 'これは単なるデモですから、"Print Setup..." 項目の機能は特に定義されてはいません。'})
+ add('command', 'label'=>'Print...', 'command'=>proc{fail 'これは単なるデモですから、"Print..." 項目の機能は特に定義されてはいません。'})
add('separator')
add('command', 'label'=>'Dismiss Menus Demo', 'command'=>proc{$menu84_demo.destroy})
}
@@ -116,20 +116,20 @@ TkMenu.new($menu84_frame, 'tearoff'=>false) {|m|
m.add('cascade', 'label'=>'Check button',
'menu'=>cascade_check, 'underline'=>0)
oil = TkVariable.new(0)
- add('check', 'label'=>'븡', 'variable'=>oil)
+ add('check', 'label'=>'オイル検査', 'variable'=>oil)
trans = TkVariable.new(0)
- add('check', 'label'=>'ȥ󥹥ߥå󸡺', 'variable'=>trans)
+ add('check', 'label'=>'トランスミッション検査', 'variable'=>trans)
brakes = TkVariable.new(0)
- add('check', 'label'=>'֥졼', 'variable'=>brakes)
+ add('check', 'label'=>'ブレーキ検査', 'variable'=>brakes)
lights = TkVariable.new(0)
- add('check', 'label'=>'饤ȸ', 'variable'=>lights)
+ add('check', 'label'=>'ライト検査', 'variable'=>lights)
add('separator')
add('command', 'label'=>'Show current values',
'command'=>proc{showVars($menu84_demo,
- ['', oil],
- ['ȥ󥹥ߥå', trans],
- ['֥졼', brakes],
- ['饤', lights])} )
+ ['オイル', oil],
+ ['トランスミッション', trans],
+ ['ブレーキ', brakes],
+ ['ライト', lights])} )
invoke 1
invoke 3
}
@@ -149,7 +149,7 @@ TkMenu.new($menu84_frame, 'tearoff'=>false) {|m|
add('radio', 'label'=>'Bold', 'variable'=>style, 'value'=>'bold')
add('radio', 'label'=>'Italic', 'variable'=>style, 'value'=>'italic')
add('separator')
- add('command', 'label'=>'ͤɽ',
+ add('command', 'label'=>'現在値の表示',
'command'=>proc{showVars($menu84_demo,
['pointSize', pointSize],
['style', style])} )
@@ -164,9 +164,9 @@ TkMenu.new($menu84_frame, 'tearoff'=>false) {|m|
'bitmap'=>'@'+[$demo_dir,'..',
'images','pattern.xbm'].join(File::Separator),
'command'=>proc{TkDialog.new('title'=>'Bitmap Menu Entry',
- 'text'=>'ʤ򤷤˥塼ܤϡʸ˥ӥåȥޥåץ᡼ǹܤɽΤǤʳǤϡۤΥ˥塼ܤȤδ֤ä˰㤤櫓ǤϤޤ',
+ 'text'=>'あなたが選択したメニュー項目は、文字列の代わりにビットマップイメージで項目を表示したものです。それ以外の点では、ほかのメニュー項目との間で特に違いがあるわけではありません。',
'bitmap'=>'', 'default'=>0,
- 'buttons'=>'Ĥ')} )
+ 'buttons'=>'閉じる')} )
['info', 'questhead', 'error'].each{|icon|
add('command', 'bitmap'=>icon, 'hidemargin'=>1,
'command'=>proc{print "You invoked the #{icon} bitmap\n"})
@@ -187,8 +187,8 @@ TkMenu.new($menu84_frame, 'tearoff'=>false) {|m|
'bitmap'=>'questhead', 'compound'=>'left',
'command'=>proc{
TkDialog.new('title'=>'Compound Menu Entry',
- 'message'=>'ʤ򤷤˥塼ܤϡӥåȥޥåץ᡼ʸȤƱ˰Ĥιܤɽ褦ˤΤǤʳǤϡۤΥ˥塼ܤȤδ֤ä˰㤤櫓ǤϤޤ',
- 'buttons'=>['λ'], 'bitmap'=>'')
+ 'message'=>'あなたが選択したメニュー項目は、ビットマップイメージと文字列とを同時に一つの項目に表示するようにしたものです。それ以外の点では、ほかのメニュー項目との間で特に違いがあるわけではありません。',
+ 'buttons'=>['了解'], 'bitmap'=>'')
})
}
diff --git a/ext/tk/sample/demos-jp/menu8x.rb b/ext/tk/sample/demos-jp/menu8x.rb
index 49aca67..77ecb5b 100644
--- a/ext/tk/sample/demos-jp/menu8x.rb
+++ b/ext/tk/sample/demos-jp/menu8x.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# menus widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($menu8x_demo) && $menu8x_demo
$menu8x_demo.destroy
$menu8x_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$menu8x_demo = TkToplevel.new {|w|
title("Menu Demonstration (Tk8.x)")
iconname("menu")
@@ -21,16 +21,16 @@ base_frame = TkFrame.new($menu8x_demo).pack(:fill=>:both, :expand=>true)
# version check
if $tk_version.to_f < 8.0
-# label
+# label 生成
TkLabel.new(base_frame,'font'=>$font,'wraplength'=>'4i','justify'=>'left') {
- text("¹Ԥ褦ȤץȤ Tk8.0 ʾѤǤ뵡ǽѤƤ뤿ᡢʤ Ruby#{VERSION}/Tk#{$tk_version}#{(Tk::JAPANIZED_TK)? 'jp': ''} Ǥ˼¹ԤǤޤ󡣤äƥǥμ¹ԤߤޤΥɻȥܥ򲡤Ȥǡ¹Ԥߤ줿ץȤΥ򻲾Ȥ뤳ȤϲǽǤ")
+ text("実行しようとしたスクリプトは Tk8.0 以上で利用できる機能を利用しているため、あなたの Ruby#{VERSION}/Tk#{$tk_version}#{(Tk::JAPANIZED_TK)? 'jp': ''} では正常に実行できません。よってデモの実行を中止しました。ただし、下のコード参照ボタンを押すことで、実行が中止されたスクリプトのソースを参照することは可能です。")
}.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $menu8x_demo
$menu8x_demo = nil
@@ -39,7 +39,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'menu8x'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
@@ -52,17 +52,17 @@ rescue
windowingsystem = ""
end
-# label
+# label 生成
TkLabel.new(base_frame,'font'=>$font,'wraplength'=>'4i','justify'=>'left') {
if $tk_platform['platform'] == 'macintosh' ||
windowingsystem == "classic" || windowingsystem == "aqua"
- text("Υɥ͡ʥ˥塼ȥɥ˥塼鹽ƤޤCommand-X ϤȡXޥɥ³ɽƤʸʤС졼ȤäܵưԤȤǤޤ˥塼桢ǸΤΤϡΥ˥塼κǽιܤ򤹤뤳ȤΩ뤳ȤǤޤ")
+ text("このウィンドウは様々なメニューとカスケードメニューから構成されています。Command-X を入力すると、Xがコマンドキー記号に続いて表示されている文字ならば、アクセラレータを使った項目起動を行うことができます。メニュー要素中、最後のものは、そのメニューの最初の項目を選択することで独立させることができます。")
else
- text("Υɥ͡ʥ˥塼ȥɥ˥塼鹽ƤޤAlt-X ϤȡX˥塼˥饤դɽƤʸʤСܡɤλ꤬Ǥޤǥ˥塼ΥȥСǽǤ˥塼ꤵ줿ݤˤϡڡǼ¹Ԥ뤳ȤǤޤ뤤ϡ饤դʸϤ뤳ȤǤ¹ԤǤޤ˥塼Υȥ꤬졼äƤϡΥ졼Ϥ뤳Ȥǥ˥塼ꤹ뤳Ȥʤ˼¹Ԥ뤳ȤǤޤ˥塼桢ǸΤΤϡΥ˥塼κǽιܤ򤹤뤳ȤΩ뤳ȤǤޤ")
+ text("このウィンドウは様々なメニューとカスケードメニューから構成されています。Alt-X を入力すると、Xがメニューにアンダーライン付きで表示されている文字ならば、キーボードからの指定ができます。矢印キーでメニューのトラバースも可能です。メニューが指定された際には、スペースキーで実行することができます。あるいは、アンダーライン付きの文字を入力することでも実行できます。メニューのエントリがアクセラレータを持っている場合は、そのアクセラレータを入力することでメニューを指定することなしに実行することができます。メニュー要素中、最後のものは、そのメニューの最初の項目を選択することで独立させることができます。")
end
}.pack('side'=>'top')
-# ɽ
+# 状態表示の生成
$menu8xstatus = TkVariable.new(" ")
TkFrame.new(base_frame) {|frame|
TkLabel.new(frame, 'textvariable'=>$menu8xstatus, 'relief'=>'sunken',
@@ -70,11 +70,11 @@ TkFrame.new(base_frame) {|frame|
.pack('side'=>'left', 'padx'=>2, 'expand'=>'yes', 'fill'=>'both')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>2)
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $menu8x_demo
$menu8x_demo = nil
@@ -83,24 +83,24 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'menu8x'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# menu
+# menu 生成
TkMenu.new($menu8x_demo, 'tearoff'=>false) {|m|
TkMenu.new(m, 'tearoff'=>false) {|file_menu|
m.add('cascade', 'label'=>'File', 'menu'=>file_menu, 'underline'=>0)
- add('command', 'label'=>' ...', 'command'=>proc{fail 'ϡǥǤΤ" ..."Ф륢Ƥޤ'})
- add('command', 'label'=>'', 'command'=>proc{fail 'ϡǥǤΤ""Ф륢Ƥޤ'})
- add('command', 'label'=>'¸', 'command'=>proc{fail 'ϡǥǤΤ"¸"Ф륢Ƥޤ'})
- add('command', 'label'=>'¸() ...', 'command'=>proc{fail 'ϡǥǤΤ"¸() ..."Ф륢Ƥޤ'})
+ add('command', 'label'=>'開く ...', 'command'=>proc{fail 'これは、デモですので"開く ..."に対するアクションは定義されていません。'})
+ add('command', 'label'=>'新規', 'command'=>proc{fail 'これは、デモですので"新規"に対するアクションは定義されていません。'})
+ add('command', 'label'=>'保存', 'command'=>proc{fail 'これは、デモですので"保存"に対するアクションは定義されていません。'})
+ add('command', 'label'=>'保存(指定) ...', 'command'=>proc{fail 'これは、デモですので"保存(指定) ..."に対するアクションは定義されていません。'})
add('separator')
- add('command', 'label'=>'ץ ...', 'command'=>proc{fail 'ϡǥǤΤ"ץ ..."Ф륢Ƥޤ'})
- add('command', 'label'=>'ץ ...', 'command'=>proc{fail 'ϡǥǤΤ"ץ ..."Ф륢Ƥޤ'})
+ add('command', 'label'=>'プリント設定 ...', 'command'=>proc{fail 'これは、デモですので"プリント設定 ..."に対するアクションは定義されていません。'})
+ add('command', 'label'=>'プリント ...', 'command'=>proc{fail 'これは、デモですので"プリント ..."に対するアクションは定義されていません。'})
add('separator')
- add('command', 'label'=>'λ', 'command'=>proc{$menu8x_demo.destroy})
+ add('command', 'label'=>'終了', 'command'=>proc{$menu8x_demo.destroy})
}
if $tk_platform['platform'] == 'macintosh' ||
@@ -114,10 +114,10 @@ TkMenu.new($menu8x_demo, 'tearoff'=>false) {|m|
TkMenu.new(m, 'tearoff'=>false) {|basic_menu|
m.add('cascade', 'label'=>'Basic', 'menu'=>basic_menu, 'underline'=>0)
- add('command', 'label'=>'⤷ʤĹȥ')
+ add('command', 'label'=>'何もしない長いエントリ')
['A','B','C','D','E','F','G'].each{|c|
- # add('command', 'label'=>"ʸ \"#{c}\" ", 'underline'=>4,
- add('command', 'label'=>"Print letter \"#{c}\" (ʸ \"#{c}\" )",
+ # add('command', 'label'=>"文字 \"#{c}\" を印字", 'underline'=>4,
+ add('command', 'label'=>"Print letter \"#{c}\" (文字 \"#{c}\" を印字)",
'underline'=>14, 'accelerator'=>"Meta+#{c}",
'command'=>proc{print c,"\n"}, 'accelerator'=>"#{modifier}+#{c}")
$menu8x_demo.bind("#{modifier}-#{c.downcase}", proc{print c,"\n"})
@@ -126,56 +126,56 @@ TkMenu.new($menu8x_demo, 'tearoff'=>false) {|m|
TkMenu.new(m, 'tearoff'=>false) {|cascade_menu|
m.add('cascade', 'label'=>'Cascades', 'menu'=>cascade_menu, 'underline'=>0)
- add('command', 'label'=>'Print hello(ˤ)',
- 'command'=>proc{print "Hello(ˤ)\n"},
+ add('command', 'label'=>'Print hello(こんにちは)',
+ 'command'=>proc{print "Hello(こんにちは)\n"},
'accelerator'=>"#{modifier}+H", 'underline'=>6)
- $menu8x_demo.bind("#{modifier}-h", proc{print "Hello(ˤ)\n"})
- add('command', 'label'=>'Print goodbye(褦ʤ)',
- 'command'=>proc{print "Goodbye(褦ʤ)\n"},
+ $menu8x_demo.bind("#{modifier}-h", proc{print "Hello(こんにちは)\n"})
+ add('command', 'label'=>'Print goodbye(さようなら)',
+ 'command'=>proc{print "Goodbye(さようなら)\n"},
'accelerator'=>"#{modifier}+G", 'underline'=>6)
- $menu8x_demo.bind("#{modifier}-g", proc{print "Goodbye(褦ʤ)\n"})
+ $menu8x_demo.bind("#{modifier}-g", proc{print "Goodbye(さようなら)\n"})
TkMenu.new(m, 'tearoff'=>false) {|cascade_check|
- cascade_menu.add('cascade', 'label'=>'Check buttons(åܥ)',
+ cascade_menu.add('cascade', 'label'=>'Check buttons(チェックボタン)',
'menu'=>cascade_check, 'underline'=>0)
oil = TkVariable.new(0)
- add('check', 'label'=>'', 'variable'=>oil)
+ add('check', 'label'=>'オイル点検', 'variable'=>oil)
trans = TkVariable.new(0)
- add('check', 'label'=>'ȥ󥹥ߥå', 'variable'=>trans)
+ add('check', 'label'=>'トランスミッション点検', 'variable'=>trans)
brakes = TkVariable.new(0)
- add('check', 'label'=>'֥졼', 'variable'=>brakes)
+ add('check', 'label'=>'ブレーキ点検', 'variable'=>brakes)
lights = TkVariable.new(0)
- add('check', 'label'=>'饤', 'variable'=>lights)
+ add('check', 'label'=>'ライト点検', 'variable'=>lights)
add('separator')
- add('command', 'label'=>'ߤͤɽ',
+ add('command', 'label'=>'現在の値を表示',
'command'=>proc{showVars($menu8x_demo,
- ['', oil],
- ['ȥ󥹥ߥå', trans],
- ['֥졼', brakes],
- ['饤', lights])} )
+ ['オイル点検', oil],
+ ['トランスミッション点検', trans],
+ ['ブレーキ点検', brakes],
+ ['ライト点検', lights])} )
invoke 1
invoke 3
}
TkMenu.new(m, 'tearoff'=>false) {|cascade_radio|
- cascade_menu.add('cascade', 'label'=>'Radio buttons(饸ܥ)',
+ cascade_menu.add('cascade', 'label'=>'Radio buttons(ラジオボタン)',
'menu'=>cascade_radio, 'underline'=>0)
pointSize = TkVariable.new
- add('radio', 'label'=>'10 ݥ', 'variable'=>pointSize, 'value'=>10)
- add('radio', 'label'=>'14 ݥ', 'variable'=>pointSize, 'value'=>14)
- add('radio', 'label'=>'18 ݥ', 'variable'=>pointSize, 'value'=>18)
- add('radio', 'label'=>'24 ݥ', 'variable'=>pointSize, 'value'=>24)
- add('radio', 'label'=>'32 ݥ', 'variable'=>pointSize, 'value'=>32)
+ add('radio', 'label'=>'10 ポイント', 'variable'=>pointSize, 'value'=>10)
+ add('radio', 'label'=>'14 ポイント', 'variable'=>pointSize, 'value'=>14)
+ add('radio', 'label'=>'18 ポイント', 'variable'=>pointSize, 'value'=>18)
+ add('radio', 'label'=>'24 ポイント', 'variable'=>pointSize, 'value'=>24)
+ add('radio', 'label'=>'32 ポイント', 'variable'=>pointSize, 'value'=>32)
add('separator')
style = TkVariable.new
- add('radio', 'label'=>'ޥ', 'variable'=>style, 'value'=>'roman')
- add('radio', 'label'=>'ܡ', 'variable'=>style, 'value'=>'bold')
- add('radio', 'label'=>'å', 'variable'=>style, 'value'=>'italic')
+ add('radio', 'label'=>'ローマン', 'variable'=>style, 'value'=>'roman')
+ add('radio', 'label'=>'ボールド', 'variable'=>style, 'value'=>'bold')
+ add('radio', 'label'=>'イタリック', 'variable'=>style, 'value'=>'italic')
add('separator')
- add('command', 'label'=>'ߤͤɽ',
+ add('command', 'label'=>'現在の値を表示',
'command'=>proc{showVars($menu8x_demo,
- ['ݥȥ', pointSize],
- ['', style])} )
+ ['ポイントサイズ', pointSize],
+ ['スタイル', style])} )
invoke 1
invoke 7
}
@@ -188,9 +188,9 @@ TkMenu.new($menu8x_demo, 'tearoff'=>false) {|m|
'images','pattern.xbm'].join(File::Separator),
'hidemargin'=>1,
'command'=>proc{TkDialog.new('title'=>'Bitmap Menu Entry',
- 'text'=>'ʤ򤷤˥塼ιܤϥƥȤǤϤʤӥåȥޥåפɽƤޤʳǤ¾Υ˥塼ܤѤޤ',
+ 'text'=>'今あなたが選択したメニューの項目はテキストではなくビットマップを表示していました。それ以外の点では他のメニュー項目と変わりません。',
'bitmap'=>'', 'default'=>0,
- 'buttons'=>'λ')} )
+ 'buttons'=>'了解')} )
['info', 'questhead', 'error'].each{|icon|
add('command', 'bitmap'=>icon, 'hidemargin'=>1,
'command'=>proc{print "You invoked the #{icon} bitmap\n"})
@@ -201,8 +201,8 @@ TkMenu.new($menu8x_demo, 'tearoff'=>false) {|m|
TkMenu.new(m, 'tearoff'=>false) {|more_menu|
m.add('cascade', 'label'=>'More', 'menu'=>more_menu, 'underline'=>0)
- [ 'ȥ','̤Υȥ','⤷ʤ','ۤȤɲ⤷ʤ',
- 'յΤ' ].each{|i|
+ [ 'エントリ','別のエントリ','何もしない','ほとんど何もしない',
+ '人生を意義あるものに' ].each{|i|
add('command', 'label'=>i,
'command'=>proc{print "You invoked \"#{i}\"\n"})
}
diff --git a/ext/tk/sample/demos-jp/menubu.rb b/ext/tk/sample/demos-jp/menubu.rb
index 78418ce..06f9eb8 100644
--- a/ext/tk/sample/demos-jp/menubu.rb
+++ b/ext/tk/sample/demos-jp/menubu.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
require "tkcanvas"
def optionMenu(menubutton, varName, firstValue, *rest)
@@ -38,16 +38,16 @@ base_frame = TkFrame.new($menubu_demo).pack(:fill=>:both, :expand=>true)
# version check
if $tk_version.to_f < 8.0
-# label
+# label 生成
TkLabel.new(base_frame,'font'=>$font,'wraplength'=>'4i','justify'=>'left') {
- text("¹Ԥ褦ȤץȤ Tk8.0 ʾѤǤ뵡ǽѤƤ뤿ᡢʤ Ruby#{VERSION}/Tk#{$tk_version}#{(Tk::JAPANIZED_TK)? 'jp': ''} Ǥ˼¹ԤǤޤ󡣤äƥǥμ¹ԤߤޤΥɻȥܥ򲡤Ȥǡ¹Ԥߤ줿ץȤΥ򻲾Ȥ뤳ȤϲǽǤ")
+ text("実行しようとしたスクリプトは Tk8.0 以上で利用できる機能を利用しているため、あなたの Ruby#{VERSION}/Tk#{$tk_version}#{(Tk::JAPANIZED_TK)? 'jp': ''} では正常に実行できません。よってデモの実行を中止しました。ただし、下のコード参照ボタンを押すことで、実行が中止されたスクリプトのソースを参照することは可能です。")
}.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $menubu_demo
$menubu_demo = nil
@@ -56,7 +56,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'menubu'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
@@ -160,8 +160,8 @@ center = TkFrame.new(body) {
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc {
tmppath = $menubu_demo
$menubu_demo = nil
@@ -170,7 +170,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc { showCode 'menubu' }
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'expand'=>'yes', 'fill'=>'x', 'pady'=>'2m')
@@ -179,10 +179,10 @@ msg = TkLabel.new(center) {
# font $font
wraplength '4i'
justify 'left'
- text "ϥ˥塼ܥΥǥǤ\"Below\"Υܥ\
-˥˥塼Ф\"Right\"Υܥϱ˥˥塼Фơ\
-ġĤȤʤޤʸϤβˤ2ĤΥץ˥塼ޤ\
-1Ĥ̤Υ˥塼ǡ⤦1Ĥ16ΥѥåȤǤ"
+ text "これはメニューボタンのデモです。\"Below\"のボタンは\
+下にメニューを出し、\"Right\"のボタンは右にメニューを出して、\
+……となります。この文章の下には2つのオプションメニューがあります。\
+1つは普通のメニューで、もう1つは16色のパレットです。"
}
msg.pack('side'=>'top', 'padx'=>25, 'pady'=>25)
diff --git a/ext/tk/sample/demos-jp/msgbox.rb b/ext/tk/sample/demos-jp/msgbox.rb
index ed5d012..ec7b4f2 100644
--- a/ext/tk/sample/demos-jp/msgbox.rb
+++ b/ext/tk/sample/demos-jp/msgbox.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# message boxes widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($msgbox_demo) && $msgbox_demo
$msgbox_demo.destroy
$msgbox_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$msgbox_demo = TkToplevel.new {|w|
title("Message Box Demonstration")
iconname("messagebox")
@@ -18,15 +18,15 @@ $msgbox_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($msgbox_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'4i', 'justify'=>'left',
- 'text'=>"ޤɽ륢ȥåܥåμDzθ\"åܥå\"ܥ򲡤ȡꤷåܥåɽޤ").pack('side'=>'top')
+ 'text'=>"まず表示するアイコンとメッセージボックスの種類を選んで下さい。その後に\"メッセージボックス\"ボタンを押すと、指定したメッセージボックスが表示されます。").pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $msgbox_demo
$msgbox_demo = nil
@@ -35,17 +35,17 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'msgbox'}
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'åܥå'
+ text 'メッセージボックス'
command proc{showMessageBox $msgbox_demo}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
$msgbox_leftframe = TkFrame.new(base_frame)
$msgbox_rightframe = TkFrame.new(base_frame)
$msgbox_leftframe .pack('side'=>'left', 'expand'=>'yes', 'fill'=>'y',
@@ -53,7 +53,7 @@ $msgbox_leftframe .pack('side'=>'left', 'expand'=>'yes', 'fill'=>'y',
$msgbox_rightframe.pack('side'=>'left', 'expand'=>'yes', 'fill'=>'y',
'pady'=>'.5c', 'padx'=>'.5c')
-TkLabel.new($msgbox_leftframe, 'text'=>'').pack('side'=>'top')
+TkLabel.new($msgbox_leftframe, 'text'=>'アイコン').pack('side'=>'top')
TkFrame.new($msgbox_leftframe, 'relief'=>'ridge', 'bd'=>1, 'height'=>2)\
.pack('side'=>'top', 'fill'=>'x', 'expand'=>'no')
@@ -65,7 +65,7 @@ $msgboxIcon = TkVariable.new('info')
'anchor'=>'w', 'fill'=>'x')
}
-TkLabel.new($msgbox_rightframe, 'text'=>'').pack('side'=>'top')
+TkLabel.new($msgbox_rightframe, 'text'=>'種類').pack('side'=>'top')
TkFrame.new($msgbox_rightframe, 'relief'=>'ridge', 'bd'=>1, 'height'=>2)\
.pack('side'=>'top', 'fill'=>'x', 'expand'=>'no')
@@ -81,9 +81,9 @@ $msgboxType = TkVariable.new('ok')
def showMessageBox(w)
button = Tk.messageBox('icon'=>$msgboxIcon.value, 'type'=>$msgboxType.value,
'title'=>'Message', 'parent'=>w,
- 'message'=>"\"#{$msgboxType.value}\"ȤΥåܥåǡ\"#{$msgboxIcon.value}\"ΥɽƤޤ")
+ 'message'=>"これは\"#{$msgboxType.value}\"という種類のメッセージボックスで、\"#{$msgboxIcon.value}\"のアイコンが表示されています。")
Tk.messageBox('icon'=>'info', 'type'=>'ok', 'parent'=>w,
- 'message'=>"ʤ \"#{button}\" 򲡤ޤ͡")
+ 'message'=>"あなたは \"#{button}\" を押しましたね。")
end
diff --git a/ext/tk/sample/demos-jp/msgbox2.rb b/ext/tk/sample/demos-jp/msgbox2.rb
index 8c80e08..ad6d936 100644
--- a/ext/tk/sample/demos-jp/msgbox2.rb
+++ b/ext/tk/sample/demos-jp/msgbox2.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# message boxes widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($msgbox2_demo) && $msgbox2_demo
$msgbox2_demo.destroy
$msgbox2_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$msgbox2_demo = TkToplevel.new {|w|
title("Message Box Demonstration")
iconname("messagebox")
@@ -18,15 +18,15 @@ $msgbox2_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($msgbox2_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'4i', 'justify'=>'left',
- 'text'=>"ޤɽ륢ȥåܥåμDzθ\"åܥå\"ܥ򲡤ȡꤵ줿ǡåȾܺ٥ƥȤȤäåܥåɽޤ").pack('side'=>'top')
+ 'text'=>"まず表示するアイコンとメッセージボックスの種類を選んで下さい。その後に\"メッセージボックス\"ボタンを押すと、指定された形式で、メッセージと詳細テキストとを持ったメッセージボックスが表示されます。").pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $msgbox2_demo
$msgbox2_demo = nil
@@ -35,17 +35,17 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'msgbox2'}
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'åܥå'
+ text 'メッセージボックス'
command proc{showMessageBox2 $msgbox2_demo}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
$msgbox_leftframe = TkFrame.new(base_frame)
$msgbox_rightframe = TkFrame.new(base_frame)
$msgbox_leftframe .pack('side'=>'left', 'expand'=>'yes', 'fill'=>'y',
@@ -53,7 +53,7 @@ $msgbox_leftframe .pack('side'=>'left', 'expand'=>'yes', 'fill'=>'y',
$msgbox_rightframe.pack('side'=>'left', 'expand'=>'yes', 'fill'=>'y',
'pady'=>'.5c', 'padx'=>'.5c')
-TkLabel.new($msgbox_leftframe, 'text'=>'').pack('side'=>'top')
+TkLabel.new($msgbox_leftframe, 'text'=>'アイコン').pack('side'=>'top')
TkFrame.new($msgbox_leftframe, 'relief'=>'ridge', 'bd'=>1, 'height'=>2)\
.pack('side'=>'top', 'fill'=>'x', 'expand'=>'no')
@@ -65,7 +65,7 @@ $msgboxIcon = TkVariable.new('info')
'anchor'=>'w', 'fill'=>'x')
}
-TkLabel.new($msgbox_rightframe, 'text'=>'').pack('side'=>'top')
+TkLabel.new($msgbox_rightframe, 'text'=>'種類').pack('side'=>'top')
TkFrame.new($msgbox_rightframe, 'relief'=>'ridge', 'bd'=>1, 'height'=>2)\
.pack('side'=>'top', 'fill'=>'x', 'expand'=>'no')
@@ -81,10 +81,10 @@ $msgboxType = TkVariable.new('ok')
def showMessageBox2(w)
button = Tk.messageBox('icon'=>$msgboxIcon.value, 'type'=>$msgboxType.value,
'title'=>'Message', 'parent'=>w,
- 'message'=>"\"#{$msgboxType.value}\"פΥåܥå",
- 'detail'=>"\"#{$msgboxType.value}\"ȤΥåܥåǡ\"#{$msgboxIcon.value}\"ΥɽƤޤΥܥΤ줫򤷤ƥåƤ")
+ 'message'=>"\"#{$msgboxType.value}\"タイプのメッセージボックス",
+ 'detail'=>"これは\"#{$msgboxType.value}\"という種類のメッセージボックスで、\"#{$msgboxIcon.value}\"のアイコンが表示されています。下のボタンのいずれかを選択してクリックしてください。")
Tk.messageBox('icon'=>'info', 'type'=>'ok', 'parent'=>w,
- 'message'=>"ʤ \"#{button}\" 򲡤ޤ͡")
+ 'message'=>"あなたは \"#{button}\" を押しましたね。")
end
diff --git a/ext/tk/sample/demos-jp/paned1.rb b/ext/tk/sample/demos-jp/paned1.rb
index 987a073..53d2e71 100644
--- a/ext/tk/sample/demos-jp/paned1.rb
+++ b/ext/tk/sample/demos-jp/paned1.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# paned1.rb
#
@@ -23,23 +23,23 @@ base_frame = TkFrame.new($paned1_demo).pack(:fill=>:both, :expand=>true)
TkLabel.new(base_frame,
:font=>$font, :wraplength=>'4i', :justify=>:left,
:text=><<EOL).pack(:side=>:top)
-οդ줿ĤΥɥδ֤λڤȤϡĤΰ򤽤줾ΥɥΤʬ䤹뤿ΤΤǤܥǻڤȡʬ䥵ѹǤϺɽϤʤ줺ꤵȤɽޤޥˤڤɿ路ƥѹɽʤ褦ˤϡޥܥȤäƤ
-⤷ʤȤäƤ Ruby ˥󥯤Ƥ Tk 饤֥꤬ panedwindow Ƥʤ
-硢ΥǥϤޤưʤϤǤξˤ panedwindow Ƥ褦
-꿷С Tk Ȥ߹碌ƻ
-褦ˤƤ
+下の色付けされた二つのウィンドウの間の仕切り枠は、一つの領域をそれぞれのウィンドウのために分割するためのものです。左ボタンで仕切りを操作すると、分割サイズ変更の操作途中では再表示はなされず、確定させたときに表示が更新されます。マウスによる仕切りの操作に追随してサイズを変更した表示がなわれるようにしたい場合は、マウスの中央ボタンを使ってください。
+もしあなたが使っている Ruby にリンクされている Tk ライブラリが panedwindow を実装していない
+場合、このデモはうまく動かないはずです。その場合には panedwindow が実装されているような
+より新しいバージョンの Tk を組み合わせて試す
+ようにしてください。
EOL
# The bottom buttons
TkFrame.new(base_frame){|f|
pack(:side=>:bottom, :fill=>:x, :pady=>'2m')
- TkButton.new(f, :text=>'Ĥ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
$paned1_demo.destroy
$paned1_demo = nil
}).pack(:side=>:left, :expand=>true)
- TkButton.new(f, :text=>'ɻ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
showCode 'paned1'
}).pack(:side=>:left, :expand=>true)
}
diff --git a/ext/tk/sample/demos-jp/paned2.rb b/ext/tk/sample/demos-jp/paned2.rb
index a1aee81..65bd41c 100644
--- a/ext/tk/sample/demos-jp/paned2.rb
+++ b/ext/tk/sample/demos-jp/paned2.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# paned2.rb --
#
@@ -23,30 +23,30 @@ base_frame = TkFrame.new($paned2_demo).pack(:fill=>:both, :expand=>true)
TkLabel.new(base_frame,
:font=>$font, :wraplength=>'4i', :justify=>:left,
:text=><<EOL).pack(:side=>:top)
-ΥСդΥåȤ֤줿ĤΥɥδ֤λڤȤϡĤΰ򤽤줾ΥɥΤʬ䤹뤿ΤΤǤܥǻڤȡʬ䥵ѹǤϺɽϤʤ줺ꤵȤɽޤޥˤڤɿ路ƥѹɽʤ褦ˤϡޥܥȤäƤ
-⤷ʤȤäƤ Ruby ˥󥯤Ƥ Tk 饤֥꤬ panedwindow Ƥʤ
-硢ΥǥϤޤưʤϤǤξˤ panedwindow Ƥ褦
-꿷С Tk Ȥ߹碌ƻ
-褦ˤƤ
+下のスクロールバー付きのウィジェットが置かれた二つのウィンドウの間の仕切り枠は、一つの領域をそれぞれのウィンドウのために分割するためのものです。左ボタンで仕切りを操作すると、分割サイズ変更の操作途中では再表示はなされず、確定させたときに表示が更新されます。マウスによる仕切りの操作に追随してサイズを変更した表示がなわれるようにしたい場合は、マウスの中央ボタンを使ってください。
+もしあなたが使っている Ruby にリンクされている Tk ライブラリが panedwindow を実装していない
+場合、このデモはうまく動かないはずです。その場合には panedwindow が実装されているような
+より新しいバージョンの Tk を組み合わせて試す
+ようにしてください。
EOL
# The bottom buttons
TkFrame.new(base_frame){|f|
pack(:side=>:bottom, :fill=>:x, :pady=>'2m')
- TkButton.new(f, :text=>'Ĥ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
$paned2_demo.destroy
$paned2_demo = nil
}).pack(:side=>:left, :expand=>true)
- TkButton.new(f, :text=>'ɻ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
showCode 'paned2'
}).pack(:side=>:left, :expand=>true)
}
paneList = TkVariable.new # define as normal variable (not array)
paneList.value = [ # ruby's array --> tcl's list
- 'Ruby/Tk ΥåȰ',
+ 'Ruby/Tk のウィジェット一覧',
'TkButton',
'TkCanvas',
'TkCheckbutton',
@@ -87,8 +87,8 @@ TkPanedwindow.new(base_frame, :orient=>:vertical){|f|
paned2_xscr = TkScrollbar.new(paned2_bottom)
paned2_yscr = TkScrollbar.new(paned2_bottom)
paned2_text = TkText.new(paned2_bottom, :width=>30, :wrap=>:non) {
- insert('1.0', '֤ƤΤϡ' +
- '̤ΥƥȥåȤǤ')
+ insert('1.0', 'ここに配置されているのは、' +
+ 'ごく普通のテキストウィジェットです。')
xscrollbar(paned2_xscr)
yscrollbar(paned2_yscr)
}
diff --git a/ext/tk/sample/demos-jp/pendulum.rb b/ext/tk/sample/demos-jp/pendulum.rb
index 48839aa..60556fd 100644
--- a/ext/tk/sample/demos-jp/pendulum.rb
+++ b/ext/tk/sample/demos-jp/pendulum.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# This demonstration illustrates how Tcl/Tk can be used to construct
# simulations of physical systems.
@@ -26,15 +26,15 @@ msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text 'ΥǥϡʪϤΥߥ졼˴ؤ褦ʥ˥᡼¹Ԥ뤿 Ruby/Tk ɤΤ褦Ѥ뤳ȤǤ뤫򼨤Ƥޤ¦ΥХñʿҤǤʪϼΤΥեɽǤΤФ¦ΥХϷϤΰ֤Υաʳ®٤ȳ٤ȤץåȤΡˤˤʤäƤޤ¦ΥХǥåӥɥåԤäƿҤνŤΰ֤ѤƤߤƤ'
+ text 'このデモは、物理系のシミュレーションに関わるようなアニメーション実行するために Ruby/Tk をどのように用いることができるかを示しています。左側のキャンバスは単純な振り子である物理系自体のグラフィカル表現であるのに対し、右側のキャンバスは系の位相空間のグラフ(角速度と角度とをプロットしたもの)になっています。左側のキャンバス上でクリックおよびドラッグを行って振り子の重りの位置を変えてみてください。'
}
msg.pack('side'=>'top')
# create frame
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $pendulum_demo
$pendulum_demo = nil
@@ -43,7 +43,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'pendulum'}
}.pack('side'=>'left', 'expand'=>'yes')
diff --git a/ext/tk/sample/demos-jp/plot.rb b/ext/tk/sample/demos-jp/plot.rb
index a49ed00..4147b35 100644
--- a/ext/tk/sample/demos-jp/plot.rb
+++ b/ext/tk/sample/demos-jp/plot.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# 2-D plot widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($plot_demo) && $plot_demo
$plot_demo.destroy
$plot_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$plot_demo = TkToplevel.new {|w|
title("Plot Demonstration")
iconname("Plot")
@@ -18,17 +18,17 @@ $plot_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($plot_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'4i', 'justify'=>'left',
- 'text'=>"Υɥϴñ2ΥץåȤޤХ widgetǤɽ줿ޥܥ1ǥɥåƥǡ򤤤뤳ȤǤޤ"){
+ 'text'=>"このウィンドウは簡単な2次元のプロットを含んだキャンバス widgetです。表示された点をマウスボタン1でドラッグしてデータをいじることができます。"){
pack('side'=>'top')
}
-# frame
+# frame 生成
$plot_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $plot_demo
$plot_demo = nil
@@ -37,28 +37,28 @@ $plot_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'plot'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$plot_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# font
+# font 設定
if $tk_version =~ /^4.*/
plotFont = '-*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*'
else
font = 'Helvetica 18'
end
-# canvas
+# canvas 設定
$plot_canvas = TkCanvas.new(base_frame,'relief'=>'raised','width'=>450,'height'=>300)
$plot_canvas.pack('side'=>'top', 'fill'=>'x')
-# plot
+# plot 生成
TkcLine.new($plot_canvas, 100, 250, 400, 250, 'width'=>2)
TkcLine.new($plot_canvas, 100, 250, 100, 50, 'width'=>2)
TkcText.new($plot_canvas, 225, 20,
- 'text'=>"ñʥץå", 'font'=>plotFont, 'fill'=>'brown')
+ 'text'=>"簡単なプロット", 'font'=>plotFont, 'fill'=>'brown')
(0..10).each {|i|
x = 100 + (i * 30)
diff --git a/ext/tk/sample/demos-jp/puzzle.rb b/ext/tk/sample/demos-jp/puzzle.rb
index 16d7ce4..dbcb423 100644
--- a/ext/tk/sample/demos-jp/puzzle.rb
+++ b/ext/tk/sample/demos-jp/puzzle.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# widet demo 'puzzle' (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($puzzle_demo) && $puzzle_demo
$puzzle_demo.destroy
$puzzle_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$puzzle_demo = TkToplevel.new {|w|
title("15-Puzzle Demonstration")
iconname("15-Puzzle")
@@ -18,20 +18,20 @@ $puzzle_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($puzzle_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "15-ѥϥܥ򽸤ƤǤƤޤƤ٤Υԡ򥯥åȡΥԡζƤ˥饤ɤޤ³ԡον˾夫鲼鱦¤֤褦ˤƤ"
+ text "下の15-パズルはボタンを集めてできています。空いている所の隣のピースをクリックすると、そのピースがその空いている場所にスライドします。この操作を続け、ピースがその数の順に上から下、左から右に並ぶようにしてください。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $puzzle_demo
$puzzle_demo = nil
@@ -40,16 +40,16 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'puzzle'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
#
-# Special trick: scrollbar widget Ƥ trough color Ѥ뤳Ȥ
-# ʬΤΰſ򤷡ꤹ
+# Special trick: scrollbar widget を生成してその trough color を用いることで
+# 空白部分のための暗色を選択し,設定する
#
begin
if Tk.windowingsystem() == 'aqua'
@@ -81,9 +81,9 @@ base = TkFrame.new(base_frame) {
s.destroy
base.pack('side'=>'top', 'padx'=>'1c', 'pady'=>'1c')
-# proc ΥפĤ뤿ᡤproc ᥽åɤѰ
-# ƤͤС롼ͤѲ num αƶ
-# puzzleSwitch 2 ѲƤޤ̤ˤϤʤʤ
+# proc のスコープを閉じるため,proc 生成メソッドを用意
+# こうしておかねば,ループ中で値が変化する num の影響を受けて
+# puzzleSwitch の第 2 引数が変化してしまい,期待通りにはならない.
def def_puzzleswitch_proc(w, num)
proc{puzzleSwitch w, num}
end
diff --git a/ext/tk/sample/demos-jp/radio.rb b/ext/tk/sample/demos-jp/radio.rb
index 3355f25..efb6135 100644
--- a/ext/tk/sample/demos-jp/radio.rb
+++ b/ext/tk/sample/demos-jp/radio.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# radiobutton widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($radio_demo) && $radio_demo
$radio_demo.destroy
$radio_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$radio_demo = TkToplevel.new {|w|
title("Radiobutton Demonstration")
iconname("radio")
@@ -18,24 +18,24 @@ $radio_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($radio_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ˤ2ĤΥ饸ܥ󥰥롼פɽƤޤܥ򥯥åȡΥܥΥ롼פ򤵤ޤƥ롼פФƤΥ롼פΤɤΥܥ򤵤Ƥ뤫򼨤ѿƤƤޤߤѿͤ򸫤ˤϡѿȡץܥ򥯥åƤ"
+ text "下には2つのラジオボタングループが表示されています。ボタンをクリックすると、そのボタンだけがそのグループの中で選択されます。各グループに対してそのグループの中のどのボタンが選択されているかを示す変数が割り当てられています。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。"
}
msg.pack('side'=>'top')
-# ѿ
+# 変数生成
size = TkVariable.new
color = TkVariable.new
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $radio_demo
$radio_demo = nil
@@ -45,35 +45,35 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'radio'}
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ѿ'
+ text '変数参照'
command proc{
showVars(base_frame, ['size', size], ['color', color])
}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
f_left = TkFrame.new(base_frame)
f_right = TkFrame.new(base_frame)
f_left.pack('side'=>'left', 'expand'=>'yes', 'padx'=>'.5c', 'pady'=>'.5c')
f_right.pack('side'=>'left', 'expand'=>'yes', 'padx'=>'.5c', 'pady'=>'.5c')
-# radiobutton
+# radiobutton 生成
[10, 12, 18, 24].each {|sz|
TkRadioButton.new(f_left) {
- text "ݥȥ #{sz}"
+ text "ポイントサイズ #{sz}"
variable size
relief 'flat'
value sz
}.pack('side'=>'top', 'pady'=>2, 'anchor'=>'w')
}
-['', '', '', '', '', ''].each {|col|
+['赤', '緑', '青', '黄', '橙', '紫'].each {|col|
TkRadioButton.new(f_right) {
text col
variable color
diff --git a/ext/tk/sample/demos-jp/radio2.rb b/ext/tk/sample/demos-jp/radio2.rb
index 91496be..0633a8d 100644
--- a/ext/tk/sample/demos-jp/radio2.rb
+++ b/ext/tk/sample/demos-jp/radio2.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# radio2.rb
#
@@ -28,7 +28,7 @@ msg = TkLabel.new(base_frame) {
font $font
wraplength '5i'
justify 'left'
- text "ˤ3ĤΥ饸ܥ󥰥롼פɽƤޤܥ򥯥åȡΥܥΥ롼פ򤵤ޤƥ롼פФƤΥ롼פΤɤΥܥ򤵤Ƥ뤫򼨤ѿƤƤޤߤѿͤ򸫤ˤϡѿȡץܥ򥯥åƤ"
+ text "下には3つのラジオボタングループが表示されています。ボタンをクリックすると、そのボタンだけがそのグループの中で選択されます。各グループに対してそのグループの中のどのボタンが選択されているかを示す変数が割り当てられています。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。"
}
msg.pack('side'=>'top')
@@ -40,8 +40,8 @@ align = TkVariable.new
# frame
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $radio2_demo
$radio2_demo = nil
@@ -51,12 +51,12 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'radio2'}
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ѿ'
+ text '変数参照'
command proc{
showVars(base_frame,
['size', size], ['color', color], ['compound', align])
@@ -65,11 +65,11 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
# frame
-f_left = TkLabelFrame.new(base_frame, 'text'=>'ʸ',
+f_left = TkLabelFrame.new(base_frame, 'text'=>'文字サイズ',
'pady'=>2, 'padx'=>2)
-f_mid = TkLabelFrame.new(base_frame, 'text'=>'',
+f_mid = TkLabelFrame.new(base_frame, 'text'=>'色',
'pady'=>2, 'padx'=>2)
-f_right = TkLabelFrame.new(base_frame, 'text'=>'ӥåȥޥå',
+f_right = TkLabelFrame.new(base_frame, 'text'=>'ビットマップ配置',
'pady'=>2, 'padx'=>2)
f_left.pack('side'=>'left', 'expand'=>'yes', 'padx'=>'.5c', 'pady'=>'.5c')
f_mid.pack('side'=>'left', 'expand'=>'yes', 'padx'=>'.5c', 'pady'=>'.5c')
@@ -78,14 +78,14 @@ f_right.pack('side'=>'left', 'expand'=>'yes', 'padx'=>'.5c', 'pady'=>'.5c')
# radiobutton
[10, 12, 18, 24].each {|sz|
TkRadioButton.new(f_left) {
- text "ݥȥ #{sz}"
+ text "ポイントサイズ #{sz}"
variable size
relief 'flat'
value sz
}.pack('side'=>'top', 'pady'=>2, 'anchor'=>'w', 'fill'=>'x')
}
-['', '', '', '', '', ''].each {|col|
+['赤', '緑', '青', '黄', '橙', '紫'].each {|col|
TkRadioButton.new(f_mid) {
text col
variable color
@@ -95,8 +95,8 @@ f_right.pack('side'=>'left', 'expand'=>'yes', 'padx'=>'.5c', 'pady'=>'.5c')
}.pack('side'=>'top', 'pady'=>2, 'fill'=>'x')
}
-# label = TkLabel.new(f_right, 'text'=>'٥', 'bitmap'=>'questhead',
-label = Tk::Label.new(f_right, 'text'=>'٥', 'bitmap'=>'questhead',
+# label = TkLabel.new(f_right, 'text'=>'ラベル', 'bitmap'=>'questhead',
+label = Tk::Label.new(f_right, 'text'=>'ラベル', 'bitmap'=>'questhead',
'compound'=>'left')
label.configure('width'=>TkWinfo.reqwidth(label), 'compound'=>'top')
label.height(TkWinfo.reqheight(label))
diff --git a/ext/tk/sample/demos-jp/radio3.rb b/ext/tk/sample/demos-jp/radio3.rb
index 763c522..3356b69 100644
--- a/ext/tk/sample/demos-jp/radio3.rb
+++ b/ext/tk/sample/demos-jp/radio3.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# radio3.rb
#
@@ -28,7 +28,7 @@ msg = TkLabel.new(base_frame) {
font $font
wraplength '5i'
justify 'left'
- text 'ˤ3ĤΥ饸ܥ󥰥롼פɽƤޤܥ򥯥åȡΥ롼פ°뤹٤ƤΥܥǥåܥ򤵤줿֤ˤʤޤƥ롼פˤϡΥ롼פΤɤΥܥ򤵤Ƥ뤫򼨤ѿƤƤޤ֥ȥ饤ơȡץܥ󤬲줿Ȥˤϡ饸ܥɽȥ饤ơȥ⡼ɤˤʤޤ줫Υܥ򤹤Сܥξ֤ϸΤ褦˸ġΥܥon/off֤򼨤褦ˤʤޤߤѿͤ򸫤ˤϡѿȡץܥ򥯥åƤ'
+ text '下には3つのラジオボタングループが表示されています。ボタンをクリックすると、そのグループに属するすべてのボタンの中でクリックしたボタンだけが選択された状態になります。各グループには、そのグループの中のどのボタンが選択されているかを示す変数が割り当てられています。「トライステート」ボタンが押されたときには、ラジオボタンの表示がトライステートモードになります。いずれかのボタンを選択すれば、ボタンの状態は元のように個々のボタンのon/off状態を示すようになります。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。'
}
msg.grid(:row=>0, :column=>0, :columnspan=>3, :sticky=>'nsew')
@@ -42,16 +42,16 @@ TkFrame.new(base_frame) {|frame|
TkGrid(TkFrame.new(frame, :height=>2, :relief=>:sunken, :bd=>2),
:columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- TkButton.new(frame, :text=>'ѿ',
+ TkButton.new(frame, :text=>'変数参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{
showVars(base_frame, ['size', size],
['color', color], ['compound', align])
}),
- TkButton.new(frame, :text=>'ɻ',
+ TkButton.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'radio3'}),
- TkButton.new(frame, :text=>'Ĥ',
+ TkButton.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
tmppath = $radio3_demo
@@ -65,17 +65,17 @@ TkFrame.new(base_frame) {|frame|
}
# frame
-f_left = TkLabelFrame.new(base_frame, 'text'=>'ʸ',
+f_left = TkLabelFrame.new(base_frame, 'text'=>'文字サイズ',
'pady'=>2, 'padx'=>2)
-f_mid = TkLabelFrame.new(base_frame, 'text'=>'',
+f_mid = TkLabelFrame.new(base_frame, 'text'=>'色',
'pady'=>2, 'padx'=>2)
-f_right = TkLabelFrame.new(base_frame, 'text'=>'ӥåȥޥå',
+f_right = TkLabelFrame.new(base_frame, 'text'=>'ビットマップ配置',
'pady'=>2, 'padx'=>2)
f_left .grid('column'=>0, 'row'=>1, 'pady'=>'.5c', 'padx'=>'.5c', 'rowspan'=>2)
f_mid .grid('column'=>1, 'row'=>1, 'pady'=>'.5c', 'padx'=>'.5c', 'rowspan'=>2)
f_right.grid('column'=>2, 'row'=>1, 'pady'=>'.5c', 'padx'=>'.5c')
-TkButton.new(base_frame, 'text'=>'ȥ饤ơ',
+TkButton.new(base_frame, 'text'=>'トライステート',
'command'=>proc{size.value = 'multi'; color.value = 'multi'}){
grid('column'=>2, 'row'=>2, 'pady'=>'.5c', 'padx'=>'.5c')
}
@@ -83,7 +83,7 @@ TkButton.new(base_frame, 'text'=>'ȥ饤ơ',
# radiobutton
[10, 12, 14, 18, 24].each {|sz|
TkRadioButton.new(f_left) {
- text "ݥȥ #{sz}"
+ text "ポイントサイズ #{sz}"
variable size
relief 'flat'
value sz
@@ -103,8 +103,8 @@ TkButton.new(base_frame, 'text'=>'ȥ饤ơ',
}.pack('side'=>'top', 'pady'=>2, 'fill'=>'x')
}
-# label = TkLabel.new(f_right, 'text'=>'٥', 'bitmap'=>'questhead',
-label = Tk::Label.new(f_right, 'text'=>'٥', 'bitmap'=>'questhead',
+# label = TkLabel.new(f_right, 'text'=>'ラベル', 'bitmap'=>'questhead',
+label = Tk::Label.new(f_right, 'text'=>'ラベル', 'bitmap'=>'questhead',
'compound'=>'left')
label.configure('width'=>TkWinfo.reqwidth(label), 'compound'=>'top')
label.height(TkWinfo.reqheight(label))
diff --git a/ext/tk/sample/demos-jp/rolodex-j b/ext/tk/sample/demos-jp/rolodex-j
index ee8dd11..f6e3afd 100644
--- a/ext/tk/sample/demos-jp/rolodex-j
+++ b/ext/tk/sample/demos-jp/rolodex-j
@@ -1,15 +1,15 @@
#!/usr/bin/env ruby
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# rolodex --
-# ΥץȤ Tom LaStrange rolodex ΰǤ
+# このスクリプトは Tom LaStrange の rolodex の一部です。
#
# Copyright (C) 1998 by Takaaki Tateishi <ttate@jaist.ac.jp>
# Time-stamp: "04/04/09 00:32:12 nagai"
#
require "tk"
-Tk.encoding = "euc-jp"
+Tk.encoding = "utf-8"
def show_help(topic,x=0,y=0)
if( topic.is_a?(TkWindow) )
@@ -24,20 +24,20 @@ def show_help(topic,x=0,y=0)
if( $helpTopics.include?(topic) )
msg = $helpTopics[topic]
else
- msg = "ΥȥԥåˤĤƤΥإפϤޤѤǤޤ"
+ msg = "このトピックについてのヘルプはまだ使用できません"
end
TkDialog.new("title"=>"Rolodex Help",
- "message"=>"#{topic}\n\n#{msg}",
+ "message"=>"「#{topic}」\n\n#{msg}",
"default_button"=>0,
"buttons"=>["OK"])
end
def fillCard
clearAction
- $root.frame.entry[1].insert(0, "Ω ")
- $root.frame.entry[2].insert(0, "923-1292 ")
- $root.frame.entry[3].insert(0, "äĮ 1-1")
- $root.frame.entry[4].insert(0, "Φüʳصر")
+ $root.frame.entry[1].insert(0, "立石 孝彰")
+ $root.frame.entry[2].insert(0, "923-1292 石川県")
+ $root.frame.entry[3].insert(0, "辰口町 旭台 1-1")
+ $root.frame.entry[4].insert(0, "北陸先端科学技術大学院大学")
$root.frame.entry[5].insert(0,"private")
$root.frame.entry[6].insert(0,"***-***-****")
$root.frame.entry[7].insert(0,"***-***-****")
@@ -59,7 +59,7 @@ end
def fileAction
TkDialog.new("title"=>"File Selection",
- "message"=>"ϥեΥߡǤ\n",
+ "message"=>"これはファイル選択ダイアログのダミーです。\n",
"default_button"=>0,
"buttons"=>["OK"])
STDERR.print "dummy file name\n"
@@ -67,9 +67,9 @@ end
def deleteAction
result = TkDialog.new("title"=>"Confirm Action",
- "message"=>"Ǥ",
+ "message"=>"よろしいですか?",
"default_button"=>0,
- "buttons"=>["󥻥"])
+ "buttons"=>["キャンセル"])
if( result.value == 0 )
clearAction
end
@@ -79,7 +79,7 @@ end
class RolodexFrame < TkFrame
attr_reader :entry, :label
- LABEL = ["","̾:","","","","():","():","Fax:"]
+ LABEL = ["","名前:","住所","","","電話(自宅):","電話(会社):","Fax:"]
def initialize(parent=nil,keys=nil)
super(parent,keys)
@@ -109,10 +109,10 @@ class RolodexButtons < TkFrame
def initialize(parent,keys=nil)
super(parent,keys)
- @clear = TkButton.new(self,"text" => "ꥢ")
- @add = TkButton.new(self, "text" => "ɲ")
- @search = TkButton.new(self, "text" => "")
- @delete = TkButton.new(self, "text" => "õ")
+ @clear = TkButton.new(self,"text" => "クリアー")
+ @add = TkButton.new(self, "text" => "追加")
+ @search = TkButton.new(self, "text" => "検索")
+ @delete = TkButton.new(self, "text" => "消去")
for w in [@clear,@add,@search,@delete]
w.pack("side"=>"left", "padx"=>2)
end
@@ -128,43 +128,43 @@ class RolodexMenuFrame < TkFrame
"borderwidth"=>1)
@file = TkMenubutton.new(self,
- "text"=> "ե",
+ "text"=> "ファイル",
"underline"=>0)
@file_menu = TkMenu.new(@file)
@file_menu.add("command",
- "label" => "ɤ߹ ...",
+ "label" => "読み込み ...",
"command" => proc{fileAction},
"underline" => 0)
@file_menu.add("command",
- "label" => "λ",
+ "label" => "終了",
"command" => proc{$root.destroy},
"underline" => 0)
@file.menu(@file_menu)
@file.pack("side"=>"left")
@help = TkMenubutton.new(self,
- "text"=> "إ",
+ "text"=> "ヘルプ",
"underline"=>0)
@help_menu = TkMenu.new(@help)
@help_menu.add("command",
- "label"=> "ƥȤˤĤ",
- "command"=>proc{show_help("ƥ")},
+ "label"=> "コンテキストについて",
+ "command"=>proc{show_help("コンテキスト")},
"underline"=>3)
@help_menu.add("command",
- "label"=> "إפˤĤ",
- "command"=>proc{show_help("إ")},
+ "label"=> "ヘルプについて",
+ "command"=>proc{show_help("ヘルプ")},
"underline"=>3)
@help_menu.add("command",
- "label"=> "ɥˤĤ",
- "command"=>proc{show_help("ɥ")},
+ "label"=> "ウィンドウについて",
+ "command"=>proc{show_help("ウィンドウ")},
"underline"=>3)
@help_menu.add("command",
- "label"=> "ˤĤ",
- "command"=>proc{show_help("")},
+ "label"=> "キー操作について",
+ "command"=>proc{show_help("キー操作")},
"underline"=>3)
@help_menu.add("command",
- "label"=> "С",
- "command"=>proc{show_help("С")},
+ "label"=> "バージョン情報",
+ "command"=>proc{show_help("バージョン情報")},
"underline"=>3)
@help.menu(@help_menu)
@help.pack("side"=>"right")
@@ -198,16 +198,16 @@ $root.buttons.add.configure("command"=>proc{addAction})
$root.buttons.clear.configure("command"=>proc{clearAction})
$root.buttons.search.configure("command"=>proc{addAction; fillCard})
-$root.buttons.clear.configure("text"=> "ꥢ Ctrl+C")
+$root.buttons.clear.configure("text"=> "クリアー Ctrl+C")
$root.bind("Control-c",proc{clearAction})
-$root.buttons.add.configure("text"=> "ɲ Ctrl+A")
+$root.buttons.add.configure("text"=> "追加 Ctrl+A")
$root.bind("Control-a",proc{addAction})
-$root.buttons.search.configure("text"=> " Ctrl+S")
+$root.buttons.search.configure("text"=> "検索 Ctrl+S")
$root.bind("Control-s",proc{addAction; fillCard})
-$root.buttons.delete.configure("text"=> "õ Ctrl+D")
+$root.buttons.delete.configure("text"=> "消去 Ctrl+D")
$root.bind("Control-d",proc{deleteAction})
$root.menu.file_menu.entryconfigure(1, "accel"=>"Ctrl+F")
@@ -227,74 +227,74 @@ $root.bind("Any-Help",
$helpTopics = {}
$helpTopics[$root.menu.file] = <<EOF
-ϡ֥եץ˥塼Ǥɤ߹ߡפֽλפʤɤ
-ԤʤȤǤޤ
+これは「ファイル」メニューです。「読み込み」や「終了」などを
+行なうことができます。
EOF
$helpTopics[$root.menu.file_menu.index(0)] = <<EOF
-եɤ߹ߤԤʤȤ˻Ȥޤ
+ファイルの読み込みを行なうときに使います。
EOF
$helpTopics[$root.menu.file_menu.index(1)] = <<EOF
-ץꥱλȤ˻Ȥޤ
+アプリケーションを終了するときに使います。
EOF
$helpTopics[$root.frame.entry[1]] = <<EOF
-̾륨ȥǤ
+名前を記入するエントリです。
EOF
$helpTopics[$root.frame.entry[2]] = <<EOF
-륨ȥǤ
+住所を記入するエントリです。
EOF
$helpTopics[$root.frame.entry[3]] = <<EOF
-륨ȥǤ
+住所を記入するエントリです。
EOF
$helpTopics[$root.frame.entry[4]] = <<EOF
-륨ȥǤ
+住所を記入するエントリです。
EOF
$helpTopics[$root.frame.entry[5]] = <<EOF
-ֹ륨ȥǤ\
-ʤȤ private ȵޤ
+自宅の電話番号を記入するエントリです。公開\
+したくないときは private と記入します。
EOF
$helpTopics[$root.frame.entry[6]] = <<EOF
-Ҥֹ륨ȥǤ
+会社の電話番号を記入するエントリです。
EOF
$helpTopics[$root.frame.entry[7]] = <<EOF
-FAXֹ륨ȥǤ
+FAX番号を記入するエントリです。
EOF
-$helpTopics["ƥ"] = <<EOF
-Ruby/TkǤgrabεʤᤳΥץꥱǤ\
-ƥȥإפϥݡȤƤޤ
-Ʊ褦ʸ̤bindȥޥΰ֤WedgetΤ\
-Ȥ뤳ȤǤޤ
+$helpTopics["コンテキスト"] = <<EOF
+Ruby/Tkではgrabの機構がないためこのアプリケーションでは\
+コンテキストヘルプはサポートされていません。
+しかし同じような効果をbindとマウスの位置のWedgetを知る\
+ことで得ることができます。
EOF
-$helpTopics["إ"] = <<EOF
-ޥ򥦥ɥˤ碌F1򲡤Ȥˤä\
-Υإפ򸫤뤳ȤǤޤ
+$helpTopics["ヘルプ"] = <<EOF
+マウスをウィンドウにあわせてF1キーを押すことによって\
+そのヘルプを見ることができます。
EOF
-$helpTopics["ɥ"] = <<EOF
-ΥɥϥߡǤ
+$helpTopics["ウィンドウ"] = <<EOF
+このウィンドウはダミーです。
EOF
-$helpTopics[""] = <<EOF
-Ctrl+A: ɲ
-Ctrl+C: ꥢ
-Ctrl+D: õ
-Ctrl+F: ե
-Ctrl+Q: λ
-Ctrl+S:
+$helpTopics["キー操作"] = <<EOF
+Ctrl+A: 追加
+Ctrl+C: クリアー
+Ctrl+D: 消去
+Ctrl+F: ファイル選択
+Ctrl+Q: 終了
+Ctrl+S: 検索
EOF
-$helpTopics["С"] = <<EOF
-С 1.0.1j Ǥ
+$helpTopics["バージョン情報"] = <<EOF
+バージョンは 1.0.1j です。
EOF
Tk.mainloop
diff --git a/ext/tk/sample/demos-jp/ruler.rb b/ext/tk/sample/demos-jp/ruler.rb
index a721b95..5c34a5a 100644
--- a/ext/tk/sample/demos-jp/ruler.rb
+++ b/ext/tk/sample/demos-jp/ruler.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# ruler widget demo (called by 'widget')
#
@@ -16,13 +16,13 @@ def rulerMkTab(c,x,y)
TkcPolygon.new(c, x, y, x+v.size, y+v.size, x-v.size, y+v.size)
end
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($ruler_demo) && $ruler_demo
$ruler_demo.destroy
$ruler_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$ruler_demo = TkToplevel.new {|w|
title("Ruler Demonstration")
iconname("ruler")
@@ -31,17 +31,17 @@ $ruler_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($ruler_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
TkLabel.new(base_frame, 'font'=>$font, 'wraplength'=>'5i', 'justify'=>'left',
- 'text'=>"ΥХwidgetϥ롼顼ϷǤ롼顼αˤΤϥ֥ȥåפΰͤǡĥäƤ뤳Ȥˤäƥ֥ȥåפ뤳ȤǤޤޤǤˤ륿֥ȥåפưȤǤޤ֥ȥåפޤϲˤɽޤǥɥåȡޥܥΥˤΥ֥ȥåפϾäޤ"){
+ 'text'=>"このキャンバスwidgetはルーラーの模型です。ルーラーの右にあるのはタブストップの井戸で、ここから引っ張ってくることによってタブストップを作ることができます。また、すでにあるタブストップを動かすこともできます。タブストップを上方または下方にかすれて表示されるまでドラッグすると、マウスボタンを離した時にそのタブストップは消えます。"){
pack('side'=>'top')
}
-# frame
+# frame 生成
$ruler_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $ruler_demo
$ruler_demo = nil
@@ -50,17 +50,17 @@ $ruler_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'ruler'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$ruler_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# canvas
+# canvas 設定
$ruler_canvas = TkCanvas.new(base_frame, 'width'=>'14.8c', 'height'=>'2.5c')
$ruler_canvas.pack('side'=>'top', 'fill'=>'x')
-#
+# 値設定
unless Struct.const_defined?("RulerInfo")
$demo_rulerInfo = Struct.new("RulerInfo", :grid, :left, :right, :x, :y,
:top, :bottom, :size, :normalStyle,
diff --git a/ext/tk/sample/demos-jp/sayings.rb b/ext/tk/sample/demos-jp/sayings.rb
index b3bdbe0..cf4fe7b 100644
--- a/ext/tk/sample/demos-jp/sayings.rb
+++ b/ext/tk/sample/demos-jp/sayings.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# listbox widget demo 'sayings' (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($sayings_demo) && $sayings_demo
$sayings_demo.destroy
$sayings_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$sayings_demo = TkToplevel.new {|w|
title("Listbox Demonstration (well-known sayings)")
iconname("sayings")
@@ -18,20 +18,20 @@ $sayings_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($sayings_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ΥꥹȥܥåˤϤʳʸäƤޤꥹȤ򥹥뤵ΤϥСǤǤޤꥹȥܥåǥޥΥܥ2(ܥ)򲡤ޤޥɥåƤǤޤ"
+ text "下のリストボックスにはいろいろな格言が入っています。リストをスクロールさせるのはスクロールバーでもできますし、リストボックスの中でマウスのボタン2(中ボタン)を押したままドラッグしてもできます。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $sayings_demo
$sayings_demo = nil
@@ -40,13 +40,13 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'sayings'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
sayings_lbox = nil
TkFrame.new(base_frame, 'borderwidth'=>10) {|w|
sv = TkScrollbar.new(w)
diff --git a/ext/tk/sample/demos-jp/search.rb b/ext/tk/sample/demos-jp/search.rb
index 293ae83..238450a 100644
--- a/ext/tk/sample/demos-jp/search.rb
+++ b/ext/tk/sample/demos-jp/search.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# Text Search widget demo (called by 'widget')
#
@@ -62,13 +62,13 @@ def textToggle(cmd1,sleep1,cmd2,sleep2)
-1, cmd1, cmd2).start(sleep1)
end
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($search_demo) && $search_demo
$search_demo.destroy
$search_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$search_demo = TkToplevel.new {|w|
title("Text Demonstration - Search and Highlight")
iconname("search")
@@ -77,11 +77,11 @@ $search_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($search_demo).pack(:fill=>:both, :expand=>true)
-# frame
+# frame 生成
$search_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $search_demo
$search_demo = nil
@@ -90,15 +90,15 @@ $search_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'search'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$search_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|f|
- TkLabel.new(f, 'text'=>'ե̾:',
+ TkLabel.new(f, 'text'=>'ファイル名:',
'width'=>13, 'anchor'=>'w').pack('side'=>'left')
$search_fileName = TkVariable.new
TkEntry.new(f, 'width'=>40,
@@ -108,14 +108,14 @@ TkFrame.new(base_frame) {|f|
$search_string_entry.focus})
focus
}
- TkButton.new(f, 'text'=>'ɤ߹',
+ TkButton.new(f, 'text'=>'読み込み',
'command'=>proc{textLoadFile($search_text,
$search_fileName.value)})\
.pack('side'=>'left', 'pady'=>5, 'padx'=>10)
}.pack('side'=>'top', 'fill'=>'x')
TkFrame.new(base_frame) {|f|
- TkLabel.new(f, 'text'=>'ʸ:',
+ TkLabel.new(f, 'text'=>'検索文字列:',
'width'=>13, 'anchor'=>'w').pack('side'=>'left')
$search_searchString = TkVariable.new
$search_string_entry = TkEntry.new(f, 'width'=>40,
@@ -124,7 +124,7 @@ TkFrame.new(base_frame) {|f|
bind('Return', proc{textSearch($search_text, $search_searchString.value,
$search_Tag)})
}
- TkButton.new(f, 'text'=>'ȿž',
+ TkButton.new(f, 'text'=>'反転',
'command'=>proc{textSearch($search_text,
$search_searchString.value,
$search_Tag)}) {
@@ -165,15 +165,15 @@ else
200 )
end
$search_text.insert('1.0', "\
-Υɥϸ¸Τ˥ƥ widget Υǽɤ \
-褦˻ȤΤǥ⤹ΤǤޤΥȥ˥ե̾ \
-졢<꥿> 򲡤֥ɡץܥ򲡤Ƥˤβ \
-ȥʸϤ<꥿> 򲡤ȿžץܥ򲡤Ƥ \
-ȥեΡʸȰפʬ \"search_Tag\" \
-ȤĤ졢ɽ°ȤƤʸǤ褦 \
-ꤵޤ\n")
+このウィンドウは検索機構を実現するのにテキスト widget のタグ機能がどの \
+ように使われるのかをデモするものです。まず上のエントリにファイル名を入 \
+れ、<リターン> を押すか「ロード」ボタンを押してください。次にその下の \
+エントリに文字列を入力し、<リターン> を押すか「反転」ボタンを押してく \
+ださい。するとファイル中の、検索文字列と一致する部分に全て \"search_Tag\" \
+というタグがつけられ、タグの表示属性としてその文字列が点滅するように \
+設定されます。\n")
$search_text.insert('end', "\
-եɤ߹ߤΥȥǥ쥯ȥ \"#{Dir.pwd}\" Ǥ\
+ファイル読み込みのカレントディレクトリは \"#{Dir.pwd}\" です。\
")
$search_text.set_insert '0.0'
diff --git a/ext/tk/sample/demos-jp/spin.rb b/ext/tk/sample/demos-jp/spin.rb
index 2bcc321..fd51a3f 100644
--- a/ext/tk/sample/demos-jp/spin.rb
+++ b/ext/tk/sample/demos-jp/spin.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# spin.rb --
#
@@ -22,35 +22,35 @@ base_frame = TkFrame.new($spin_demo).pack(:fill=>:both, :expand=>true)
TkLabel.new(base_frame,
:font=>$font, :wraplength=>'5i', :justify=>:left,
:text=><<EOL).pack(:side=>:top)
-ˤϣΥԥܥåɽƤޤ
-줾졢ޥ򤷤ʸϤ뤳ȤǤޤ
-ԽȤƤϡEmacs ¿˲äơŪ
-Motif ΥݡȤƤޤȤС
-Backspace Control-h Ȥϥκ¦ʸ
-Delete Control-d Ȥϱ¦ʸޤ
-ȤĹۤ褦ĹʸϤˤϡ
-ޥΥܥ󣲤򲡤ƥɥå뤳Ȥǡʸ
-򥹥󤹤뤳ȤǽǤ
-ʤǽΥԥܥåϡͤȤߤʤ褦
-ʸ󤷤ϤʤȤդƤޤ
-ܤΥԥܥå˸Τϥȥ
-ꥢԻ̾ΥꥹȤȤʤäƤޤ
-⤷ʤȤäƤ Ruby ˥󥯤Ƥ Tk 饤
-֥꤬ spinbox åȤƤʤ硢
-ǥϤޤưʤϤǤξˤ spinbox
-åȤƤ褦ʤ꿷С Tk
-Ȥ߹碌ƻ褦ˤƤ
+下には3種類のスピンボックスが表示されています。
+それぞれ、マウスで選択して文字を入力することができます。
+編集操作としては、Emacs 形式の多くに加えて、一般的な
+Motif 形式のキー操作がサポートされています。たとえば、
+Backspace と Control-h とは入力カーソルの左側の文字を
+削除し、Delete と Control-d とは右側の文字を削除します。
+入力枠の長さを越えるような長い文字列を入力した場合には、
+マウスのボタン2を押してドラッグすることで、入力文字列
+をスキャンすることが可能です。
+なお、最初のスピンボックスは、整数値とみなされるような
+文字列しか入力が許されないことに注意してください。また、
+3番目のスピンボックスで選択候補に現れるのはオーストラ
+リアの都市名のリストとなっています。
+もしあなたが使っている Ruby にリンクされている Tk ライ
+ブラリが spinbox ウィジェットを実装していない場合、この
+デモはうまく動かないはずです。その場合には spinbox ウィ
+ジェットが実装されているようなより新しいバージョンの Tk
+を組み合わせて試すようにしてください。
EOL
TkFrame.new(base_frame){|f|
pack(:side=>:bottom, :fill=>:x, :pady=>'2m')
- TkButton.new(f, :text=>'Ĥ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
$spin_demo.destroy
$spin_demo = nil
}).pack(:side=>:left, :expand=>true)
- TkButton.new(f, :text=>'ɻ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
showCode 'spin'
}).pack(:side=>:left, :expand=>true)
}
diff --git a/ext/tk/sample/demos-jp/states.rb b/ext/tk/sample/demos-jp/states.rb
index f354d28..2966e6d 100644
--- a/ext/tk/sample/demos-jp/states.rb
+++ b/ext/tk/sample/demos-jp/states.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# listbox widget demo 'states' (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($states_demo) && $states_demo
$states_demo.destroy
$states_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$states_demo = TkToplevel.new {|w|
title("Listbox Demonstration (states)")
iconname("states")
@@ -18,20 +18,20 @@ $states_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($states_demo).pack(:fill=>:both, :expand=>true)
-# label
+# label 生成
msg = TkLabel.new(base_frame) {
font $font
wraplength '4i'
justify 'left'
- text "ˤΤƻܸ̾äСդΥꥹȥܥåǤꥹȤ򥹥뤵ΤϥСǤǤޤꥹȥܥåǥޥΥܥ2(ܥ)򲡤ޤޥɥåƤǤޤ"
+ text "下にあるのは都道府県名が入ったスクロールバー付のリストボックスです。リストをスクロールさせるのはスクロールバーでもできますし、リストボックスの中でマウスのボタン2(中ボタン)を押したままドラッグしてもできます。"
}
msg.pack('side'=>'top')
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $states_demo
$states_demo = nil
@@ -40,13 +40,13 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'states'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
states_lbox = nil
TkFrame.new(base_frame, 'borderwidth'=>'.5c') {|w|
s = TkScrollbar.new(w)
@@ -61,13 +61,13 @@ TkFrame.new(base_frame, 'borderwidth'=>'.5c') {|w|
}.pack('side'=>'top', 'expand'=>'yes', 'fill'=>'y')
ins_data = [
- '','Ŀ','','','','','ɲ',
- 'ʬ','','','','','','',
- '','','','','','','',
- '','Ų','纬','','','','',
- 'Ļ','ٻ','Ĺ','Ĺ','','','ʼ',
- '','ʡ','ʡ','ʡ','̳ƻ','','ܾ',
- 'ܺ','','','','²λ'
+ '愛知','青森','秋田','石川','茨城','岩手','愛媛',
+ '大分','大阪','岡山','沖縄','香川','鹿児島','神奈川',
+ '岐阜','京都','熊本','群馬','高知','埼玉','佐賀',
+ '滋賀','静岡','島根','千葉','東京','徳島','栃木',
+ '鳥取','富山','長崎','長野','奈良','新潟','兵庫',
+ '広島','福井','福岡','福島','北海道','三重','宮城',
+ '宮崎','山形','山口','山梨','和歌山'
]
states_lbox.insert(0, *ins_data)
diff --git a/ext/tk/sample/demos-jp/style.rb b/ext/tk/sample/demos-jp/style.rb
index 3189e1f..813fde7 100644
--- a/ext/tk/sample/demos-jp/style.rb
+++ b/ext/tk/sample/demos-jp/style.rb
@@ -1,16 +1,16 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# text (display styles) widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($style_demo) && $style_demo
$style_demo.destroy
$style_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$style_demo = TkToplevel.new {|w|
title("Text Demonstration - Display Styles")
iconname("style")
@@ -19,11 +19,11 @@ $style_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($style_demo).pack(:fill=>:both, :expand=>true)
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $style_demo
$style_demo = nil
@@ -32,15 +32,15 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'style'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# text
+# text 生成
txt = TkText.new(base_frame){|t|
- #
+ # 生成
setgrid 'true'
#width 70
#height 32
@@ -53,7 +53,7 @@ txt = TkText.new(base_frame){|t|
}
pack('expand'=>'yes', 'fill'=>'both')
- # ƥȥ (եȴϢ)
+ # テキストタグ設定 (フォント関連)
family = 'Courier'
if $tk_version =~ /^4.*/
@@ -89,7 +89,7 @@ txt = TkText.new(base_frame){|t|
# style_tag_small = TkTextTag.new(t, 'font'=>'@cSmallFont')
# end
- # ƥȥ (꡼մϢ)
+ # テキストタグ設定 (色,レリーフ関連)
if TkWinfo.depth($root).to_i > 1
style_tag_color1 = TkTextTag.new(t, 'background'=>'#a0b7ce')
style_tag_color2 = TkTextTag.new(t, 'foreground'=>'red')
@@ -106,7 +106,7 @@ txt = TkText.new(base_frame){|t|
'relief'=>'sunken', 'borderwidth'=>1)
end
- # ƥȥ (¾)
+ # テキストタグ設定 (その他)
if $tk_version =~ /^4\.[01]/
style_tag_bgstipple = TkTextTag.new(t, 'background'=>'black',
'borderwidth'=>0,
@@ -134,134 +134,134 @@ txt = TkText.new(base_frame){|t|
'lmargin1'=>'12m', 'lmargin2'=>'6m',
'rmargin'=>'10m')
- # ƥ
- insert('end', 'Τ褦˥ƥ widget Ͼ͡ʥɽ뤳
-Ǥޤ')
- insert('end', '', style_tag_big)
- insert('end', 'Ȥᥫ˥ǥȥ뤵ޤ
-Ȥϥƥ widget Τʸ (ϰ)ФŬѤǤ
-ñʤ̾ΤȤǤ͡ɽǤޤ
-ꤹȡΥΤĤʸϻꤷɽ
-褦ˤʤޤѤǤɽϼ̤Ǥ
+ # テキスト挿入
+ insert('end', 'このようにテキスト widget は情報を様々なスタイルで表示すること
+ができます。')
+ insert('end', 'タグ', style_tag_big)
+ insert('end', 'というメカニズムでコントロールされます。
+タグとはテキスト widget 内のある文字 (の範囲)に対して適用できる
+単なる名前のことです。タグは様々な表示スタイルに設定できます。
+設定すると、そのタグのついた文字は指定したスタイルで表示される
+ようになります。使用できる表示スタイルは次の通りです。
')
insert('end', '
-1. ե', style_tag_big)
- insert('end', ' ɤ X ΥեȤǤȤޤ')
+1. フォント', style_tag_big)
+ insert('end', ' どんな X のフォントでも使えます。')
insert('end', 'large', style_tag_verybig)
insert('end', '
-Ȥ')
-# insert('end', '', style_tag_small)
+とか')
+# insert('end', '小さい', style_tag_small)
insert('end', 'small', style_tag_small)
- insert('end', 'Ȥ
+ insert('end', 'とか。
')
insert('end', '
-2. ', style_tag_big)
+2. 色', style_tag_big)
insert('end', ' ')
- insert('end', 'طʿ', style_tag_color1)
- insert('end', '')
- insert('end', 'ʿ', style_tag_color2)
- insert('end', '')
- insert('end', 'ξ', style_tag_color1, style_tag_color2)
- insert('end', 'ȤѤ뤳ȤǤޤ
+ insert('end', '背景色', style_tag_color1)
+ insert('end', 'も')
+ insert('end', '前景色', style_tag_color2)
+ insert('end', 'も')
+ insert('end', '両方', style_tag_color1, style_tag_color2)
+ insert('end', 'とも変えることができます。
')
insert('end', '
-3. ֤', style_tag_big)
- insert('end', ' Τ褦κݤ')
- insert('end', 'طʤ', style_tag_bgstipple)
- insert('end', 'ʸ', style_tag_fgstipple)
- insert('end', 'ñʤɤĤ֤
-Ǥʤ֤ȤȤǤޤ
+3. 網かけ', style_tag_big)
+ insert('end', ' このように描画の際に')
+ insert('end', '背景も', style_tag_bgstipple)
+ insert('end', '文字も', style_tag_fgstipple)
+ insert('end', '単なる塗りつぶし
+でなく、網かけを使うことができます。
')
insert('end', '
-4. ', style_tag_big)
- insert('end', ' Τ褦')
- insert('end', 'ʸ˲', style_tag_underline)
- insert('end', 'ȤǤޤ
+4. 下線', style_tag_big)
+ insert('end', ' このように')
+ insert('end', '文字に下線を引く', style_tag_underline)
+ insert('end', 'ことができます。
')
insert('end', '
-5. Ǥä', style_tag_big)
- insert('end', ' Τ褦')
- insert('end', 'ʸ˽Ťͤ', style_tag_overstrike)
- insert('end', 'ȤǤޤ
+5. 打ち消し線', style_tag_big)
+ insert('end', ' このように')
+ insert('end', '文字に重ねて線を引く', style_tag_overstrike)
+ insert('end', 'ことができます。
')
insert('end', '
-6. 3D ', style_tag_big)
- insert('end', ' طʤȤĤơʸ')
- insert('end', 'ӽФ', style_tag_raised)
- insert('end', '褦ˤ')
- insert('end', '', style_tag_sunken)
+6. 3D 効果', style_tag_big)
+ insert('end', ' 背景に枠をつけて、文字を')
+ insert('end', '飛び出す', style_tag_raised)
+ insert('end', 'ようにしたり')
+ insert('end', '沈む', style_tag_sunken)
insert('end', '
-褦ˤǤޤ
+ようにできます。
')
insert('end', '
-7. ·', style_tag_big)
- insert('end', ' Τ褦˹Ԥ
+7. 行揃え', style_tag_big)
+ insert('end', ' このように行を
')
- insert('end', '·
+ insert('end', '左に揃えたり
')
- insert('end', '·
+ insert('end', '右に揃えたり
', style_tag_right)
- insert('end', '·Ǥޤ
+ insert('end', '真中に揃えたりできます。
', style_tag_center)
insert('end', '
-8. դʸź', style_tag_big)
+8. 肩付き文字と添字', style_tag_big)
insert('end', ' 10')
insert('end', 'n', style_tag_super)
- insert('end', ' Τ褦˸դʸθ̤䡢')
+ insert('end', ' のように肩付き文字の効果や、')
insert('end', '
X')
insert('end', 'i', style_tag_sub)
- insert('end', 'Τ褦źθ̤ФȤǤޤ
+ insert('end', 'のように添字の効果を出すことができます。
')
insert('end', '
-9. ޡ', style_tag_big)
- insert('end', 'ƥȤκ¦;ʬʶ֤ȤǤޤ:
+9. マージン', style_tag_big)
+ insert('end', 'テキストの左側に余分な空白を置くことができます:
')
- insert('end', 'ϥޡλǤ꡼',
+ insert('end', 'この段落はマージンの使用例です。スクリーン',
style_tag_margins)
- insert('end', 'ޤ֤ɽƤ1ԤΥƥȤǤ',
+ insert('end', '上で折り返されて表示されている1行のテキストです。',
style_tag_margins)
- insert('end', '¦ˤ2Υޡޤ', style_tag_margins)
- insert('end', '1ܤФΤȡ', style_tag_margins)
- insert('end', '2ܰʹߤϢ³ޡ', style_tag_margins)
- insert('end', 'Ǥޤ¦ˤޡ󤬤ޤ', style_tag_margins)
- insert('end', 'Ԥޤ֤֤뤿˻Ѥ뤳ȤǤޤ
+ insert('end', '左側には2種類のマージンを持ちます。', style_tag_margins)
+ insert('end', '1行目に対するものと、', style_tag_margins)
+ insert('end', '2行目以降の連続したマージン', style_tag_margins)
+ insert('end', 'です。また右側にもマージンがあります。', style_tag_margins)
+ insert('end', '行の折り返し位置を決めるために使用することができます。
', style_tag_margins)
insert('end', '
-10. ڡ', style_tag_big)
- insert('end', '3ĤΥѥ᡼ǹԤΥڡ󥰤')
- insert('end', '椹
-뤳ȤǤޤSpacing1ǡԤ')
- insert('end', 'ˤɤΤ餤ζ֤֤
+10. スペーシング', style_tag_big)
+ insert('end', '3つのパラメータで行のスペーシングを')
+ insert('end', '制御す
+ることができます。Spacing1で、行の')
+ insert('end', '上にどのくらいの空間を置くか、
spacing3')
- insert('end', 'ǹԤβˤɤΤ餤ζ֤֤')
- insert('end', 'Ԥޤ֤Ƥʤ
-Сspacing2ǡ')
- insert('end', 'ƥȹԤƤԤδ֤ˤɤΤ餤')
- insert('end', 'ζ֤
-򼨤ޤ
+ insert('end', 'で行の下にどのくらいの空間を置くか、')
+ insert('end', '行が折り返されているなら
+ば、spacing2で、')
+ insert('end', 'テキスト行を生成している行の間にどのくらい')
+ insert('end', 'の空間を置
+くかを示します。
')
- insert('end', 'ΥǥȤ줿ϤɤΤ褦',
+ insert('end', 'これらのインデントされた段落はどのように',
style_tag_spacing)
- insert('end', 'ڡ󥰤ԤΤ򼨤ޤ',
+ insert('end', 'スペーシングがが行われるのかを示します。',
style_tag_spacing)
- insert('end', 'ϼºݤϥƥwidget', style_tag_spacing)
- insert('end', '1ԤǡwidgetˤäޤޤƤޤ
+ insert('end', '各段落は実際はテキストwidget', style_tag_spacing)
+ insert('end', 'の1行で、widgetによって折り畳まれています。
', style_tag_spacing)
- insert('end', 'Spacing1ϤΥƥȤǤ10point', style_tag_spacing)
- insert('end', 'ꤵƤޤ', style_tag_spacing)
- insert('end', 'ˤꡢδ֤礭ʴֳ֤', style_tag_spacing)
- insert('end', '¸ߤƤޤ', style_tag_spacing)
- insert('end', 'Spacing22pointꤵƤޤ', style_tag_spacing)
- insert('end', 'ˤۤξֳ֤¸ߤƤޤ',
+ insert('end', 'Spacing1はこのテキストでは10pointに', style_tag_spacing)
+ insert('end', '設定されています。', style_tag_spacing)
+ insert('end', 'これにより、段落の間に大きな間隔が', style_tag_spacing)
+ insert('end', '存在しています。', style_tag_spacing)
+ insert('end', 'Spacing2は2pointに設定されています。', style_tag_spacing)
+ insert('end', 'これで段落の中にほんの少し間隔が存在しています。',
style_tag_spacing)
- insert('end', 'Spacing3ϤǤϻѤƤޤ
+ insert('end', 'Spacing3はこの例では使用されていません。
', style_tag_spacing)
- insert('end', 'ֳ֤ɤˤ뤫򸫤С',
+ insert('end', '間隔がどこにあるかを見たければ、これらの段落の',
style_tag_spacing)
- insert('end', 'ʤǥƥȤ򤷤Ƥ', style_tag_spacing)
- insert('end', 'ȿžʬˤ;ʬˤȤ줿ֳ֤', style_tag_spacing)
- insert('end', 'ޤޤƤޤ
+ insert('end', 'なかでテキストを選択してください。選択の', style_tag_spacing)
+ insert('end', '反転した部分には余分にとられた間隔が', style_tag_spacing)
+ insert('end', '含まれています。
', style_tag_spacing)
}
diff --git a/ext/tk/sample/demos-jp/tcolor b/ext/tk/sample/demos-jp/tcolor
index 1c83a4b..f2d5458 100644
--- a/ext/tk/sample/demos-jp/tcolor
+++ b/ext/tk/sample/demos-jp/tcolor
@@ -1,20 +1,20 @@
#!/usr/bin/env ruby
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# tcolor --
-# ΥץȤRGB,HSB,CYM򥵥ݡȤ
-# ʰץ顼ǥǤ
+# このスクリプトはRGB,HSB,CYM形式をサポートする
+# 簡易カラーエディタです。
#
# Copyright (C) 1998 Takaaki Tateishi(ttate@jaist.ac.jp)
# last update: Thu Jun 18 06:32:35 JST 1998
#
-# ޤtk.rbɤ߹ࡣ
+# まずはtk.rbを読み込む。
require "tk"
-# TkˤäѹѿTkVariableΥ󥹥󥹤Ȥ
+# Tkによって変更される変数はTkVariableのインスタンスを使う。
$colorSpace = TkVariable.new(:rgb)
$master = nil
@@ -32,13 +32,13 @@ $label2 = TkVariable.new("label2")
$label3 = TkVariable.new("label3")
-# ꥽ǡ١
+# リソースデータベースの設定
if (TkVarAccess.new('tcl_platform')['platform'] == 'unix')
TkOptionDB.add('*Entry.background', 'white')
end
-# ƥ٥ѤΥ᥽å
+# 各イベント用のメソッド
def rgbToHsv(red,green,blue)
@@ -277,7 +277,7 @@ end
-# tcolorѤΥ˥塼
+# tcolor用のメニュー
class TkColorMenuFrame<TkFrame
def initialize(parent)
@@ -285,10 +285,10 @@ class TkColorMenuFrame<TkFrame
"relief"=>"raised",
"borderwidth"=>"2")
- # File˥塼ܥ
+ # Fileメニューボタンの生成
@file = TkMenubutton.new(self){|button|
- # File˥塼κ
+ # Fileメニューの作成
@file_menu = TkMenu.new(button){
add "radio",
"label" => "RGB color space",
@@ -326,7 +326,7 @@ class TkColorMenuFrame<TkFrame
"command" => proc{exit}
}
- # File˥塼FileܥϢդ
+ # FileメニューとFileボタンを関連付ける
menu @file_menu
text "File"
@@ -338,7 +338,7 @@ class TkColorMenuFrame<TkFrame
end
-# Υե졼ΤΥ饹
+# 下部のフレームのためのクラス
class TkColorBotFrame<TkFrame
def initialize(parent)
super(parent,
@@ -364,7 +364,7 @@ class TkColorBotFrame<TkFrame
end
-# ʺΥե졼
+# 中段左のフレーム
class TkColorMiddleLeftFrame<TkFrame
def initialize(parent)
super(parent)
@@ -408,9 +408,9 @@ class TkColorMiddleLeftFrame<TkFrame
end
-# Υե졼
+# 中段中央のフレーム
class TkColorMiddleMiddleFrame<TkFrame
- # @scale1,@scale2,@scale3黲ȤΤߵĤ롣(ѹԲ)
+ # @scale1,@scale2,@scale3を外部から参照のみ許可する。(変更不可)
attr_reader :scale1, :scale2, :scale3
def initialize(parent)
@@ -485,7 +485,7 @@ end
-# ʤΥե졼
+# 中段のフレーム
class TkColorMiddleFrame<TkFrame
attr_reader :left, :middle, :right
@@ -529,6 +529,6 @@ end
$root = TkColor.new
-# ٥ȤԤİ٤˥롼פ롣
+# イベントを待つ為にループに入る。
changeColorSpace :rgb
Tk.mainloop
diff --git a/ext/tk/sample/demos-jp/text.rb b/ext/tk/sample/demos-jp/text.rb
index ea15064..e698a79 100644
--- a/ext/tk/sample/demos-jp/text.rb
+++ b/ext/tk/sample/demos-jp/text.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# text (basic facilities) widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($text_demo) && $text_demo
$text_demo.destroy
$text_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$text_demo = TkToplevel.new {|w|
title("Text Demonstration - Basic Facilities")
iconname("text")
@@ -25,11 +25,11 @@ else
undo_support = true
end
-# frame
+# frame 生成
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $text_demo
$text_demo = nil
@@ -38,14 +38,14 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'text'}
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# text
+# text 生成
TkText.new(base_frame){|t|
- #
+ # 生成
relief 'sunken'
bd 2
setgrid 1
@@ -57,62 +57,62 @@ TkText.new(base_frame){|t|
}
pack('expand'=>'yes', 'fill'=>'both')
- # ƥ
+ # テキスト挿入
insert('0.0', <<EOT)
-Υɥϥƥ widget Ǥ1ԤޤϤʾΥƥȤɽ
-Խ뤳ȤǤޤʲϥƥ widget ǤǤˤĤ
-ޤȤ᤿ΤǤ
-
-1. 롣СǥƥȤɽʬưȤǤޤ
-
-2. ˥󥰡ƥȤΥɥǥޥܥ2 (ܥ)
-ƾ岼˥ɥåƤȥƥȤ®ǥɥå졢
-Ƥ򤶤äį뤳ȤǤޤ
-
-3. ƥȤޥܥ1 (ܥ) 򲡤򥻥
-ȤƤƥȤϤƤϤΤ widget ޤ
-
-4. 򡣤ϰϤʸ򤹤ˤϥޥܥ1 򲡤ɥå
-Ƥ٥ܥΥ顢եȥ򲡤ʤܥ1 򲡤
-ȤϰϤĴǤޤϰϤκǸޥ
-Ǥᤤ֤˥ꥻåȤܥΥ˥ޥɥå뤳ȤǤ
-ϰϤĴǤޤ֥륯åǥɤ򡢤ޤȥץ륯
-ǹΤ򤹤뤳ȤǤޤ
-
-5. õִƥȤõˤϡõʸ򤷤ƥХå
-ڡǥ꡼ȥϤƤ뤤ϡƥȤ
-Ϥ򤵤줿ƥȤִޤ
-
-6. ʬΥԡʬ򤳤ΥɥΤɤ˥ԡ
-ˤϡޤԡ(ǡ뤤̤Υץꥱ)
-ܥ 2 򥯥åơΰ֤˥ԡƤ
-
-7. Խƥ widget Emacs ΥХɤ˲äɸŪʤ Motif
-Խǽ򥵥ݡȤƤޤХåڡȥȥ-H
-κ¦ʸޤǥ꡼ȥȥȥ-D
-α¦ʸޤMeta-Хåڡ
-¦ñMeta-D κ¦ñޤ
-ȥ-K 뤫ޤǤΰ֤˲
-ʤäϡԤޤ#{
+このウィンドウはテキスト widget です。1行またはそれ以上のテキストを表
+示・編集することができます。以下はテキスト widget でできる操作について
+まとめたものです。
+
+1. スクロール。スクロールバーでテキストの表示部分を動かすことができます。
+
+2. スキャニング。テキストのウィンドウでマウスボタン2 (中ボタンを) を押
+して上下にドラッグしてください。そうするとテキストが高速でドラッグされ、
+内容をざっと眺めることができます。
+
+3. テキストの挿入。マウスボタン1 (左ボタン) を押し、挿入カーソルをセッ
+トしてからテキストを入力してください。入力したものが widget に入ります。
+
+4. 選択。ある範囲の文字を選択するにはマウスボタン1 を押し、ドラッグし
+てください。一度ボタンを離したら、シフトキーを押しながらボタン1 を押す
+ことで選択範囲の調整ができます。これは選択範囲の最後をマウスカーソルに
+最も近い位置にリセットし、ボタンを離す前にマウスをドラッグすることでさ
+らに選択範囲を調整できます。ダブルクリックでワードを、またトリプルクリッ
+クで行全体を選択することができます。
+
+5. 消去と置換。テキストを消去するには、消去したい文字を選択してバック
+スペースかデリートキーを入力してください。あるいは、新しいテキストを
+入力すると選択されたテキストと置換されます。
+
+6. 選択部分のコピー。選択部分をこのウィンドウの中のどこかにコピーする
+には、まずコピーしたい所を選択(ここで、あるいは別のアプリケーションで)
+し、ボタン 2 をクリックして、挿入カーソルの位置にコピーしてください。
+
+7. 編集。テキスト widget は Emacs のキーバインドに加えて標準的なの Motif
+の編集機能をサポートしています。バックスペースとコントロール-H は挿入
+カーソルの左側の文字を削除します。デリートキーとコントロール-D は挿入
+カーソルの右側の文字を削除します。Meta-バックスペースは挿入カーソルの
+右側の単語を削除し、Meta-D は挿入カーソルの左側の単語を削除します。
+コントロール-K は挿入カーソルから行末までを削除し、その位置に改行
+しかなかった場合は、改行を削除します。#{
if undo_support
- undo_text = "Control-z ϺǸ˹Ԥäѹμä(undo)Ԥ"
+ undo_text = "Control-z は最後に行った変更の取り消し(undo)を行い、"
case $tk_platform['platform']
when "unix", "macintosh"
undo_text << "Control-Shift-z"
else # 'windows'
undo_text << "Control-y"
end
- undo_text << "undoѹκŬ(redo)Ԥޤ"
+ undo_text << "はundoした変更の再適用(redo)を行います。"
else
""
end
}
-8. ɥΥꥵ widget "setGrid" ץ򥪥ˤ
-ƤޤΤǡɥꥵˤϹ⤵Ͼʸʸ
-ܤˤʤޤޤɥ򶹤ˤĹԤư
-Ūޤ֤졢ƤƤ褦ˤʤäƤޤ
+8. ウィンドウのリサイズ。この widget は "setGrid" オプションをオンにし
+てありますので、ウィンドウをリサイズする時には高さと幅は常に文字高と文
+字幅の整数倍になります。また、ウィンドウを狭くした場合には長い行が自動
+的に折り返され、常に全ての内容が見えるようになっています。
EOT
set_insert('0.0')
diff --git a/ext/tk/sample/demos-jp/textpeer.rb b/ext/tk/sample/demos-jp/textpeer.rb
index de604f1..4d896d2 100644
--- a/ext/tk/sample/demos-jp/textpeer.rb
+++ b/ext/tk/sample/demos-jp/textpeer.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# text widget peering demo (called by 'widget')
#
@@ -22,17 +22,17 @@ count = [0]
## Define a widget that we peer from; it won't ever actually be shown though
first = TkText.new(base_frame, :widgetname=>"text#{count[0] += 1}")
-first.insert :end,"ΥǥϰĤȤƥȥåȤ򼨤ޤ"
-first.insert :end,"ΥƥȥåȤ(ԥ;peer)δط"
-first.insert :end,"ʤäƤޤ"
-first.insert :end,"ϡפȤʤǡǥ϶̤ΤΤޤ"
-first.insert :end,"ɽ֡Խ֡ϰ(selection)ˤĤƤ"
-first.insert :end,"Ω˻ĤȤǤޤ"
-first.insert :end,"ƥƥȥåȤƤˤ"
-first.insert :end,"֥ԥ(peer)κץܥȤС"
-first.insert :end,"ʥԥɲä뤳ȤǽǤ"
-first.insert :end,"ޤ֥ԥ(peer)ξõץܥȤС"
-first.insert :end,"ΥԥåȤõ뤳ȤǤޤ"
+first.insert :end,"このデモは一つの組を成したテキストウィジェットを示します。"
+first.insert :end,"それらのテキストウィジェットは対等(ピア;peer)の関係に"
+first.insert :end,"なっています。"
+first.insert :end,"それらは、基盤となるデータモデルは共通のものを持ちますが、"
+first.insert :end,"画面表示位置、編集位置、選択範囲(selection)については"
+first.insert :end,"独立に持つことができます。"
+first.insert :end,"各テキストウィジェットの脇にある"
+first.insert :end,"「ピア(peer)の作成」ボタンを使えば、"
+first.insert :end,"新たなピアを追加することが可能です。"
+first.insert :end,"また「ピア(peer)の消去」ボタンを使えば、"
+first.insert :end,"特定のピアウィジェットを消去することもできます。"
Tk.update_idletasks ## for 'first' widget
@@ -44,10 +44,10 @@ def makeClone(count, win, txt)
sbar = TkScrollbar.new(win, :widgetname=>"sb#{cnt}")
peer.yscrollbar sbar
b1 = TkButton.new(win, :widgetname=>"clone#{cnt}",
- :text=>'ԥ(peer)κ',
+ :text=>'ピア(peer)の作成',
:command=>proc{makeClone(count, win, peer)})
b2 = TkButton.new(win, :widgetname=>"kill#{cnt}",
- :text=>'ԥ(peer)ξõ',
+ :text=>'ピア(peer)の消去',
:command=>proc{killClone(win, cnt)})
row = cnt * 2
TkGrid.configure(peer, sbar, b1, :sticky=>'nsew', :row=>row)
@@ -68,12 +68,12 @@ first.destroy
## See Code / Dismiss buttons
TkFrame.new(base_frame){|f|
- TkButton.new(f, :text=>'Ĥ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
$textpeer_demo.destroy
$textpeer_demo = nil
}).pack(:side=>:left, :expand=>true)
- TkButton.new(f, :text=>'ɻ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
showCode 'textpeer'
}).pack(:side=>:left, :expand=>true)
diff --git a/ext/tk/sample/demos-jp/toolbar.rb b/ext/tk/sample/demos-jp/toolbar.rb
index 570d527..3ee7a5f 100644
--- a/ext/tk/sample/demos-jp/toolbar.rb
+++ b/ext/tk/sample/demos-jp/toolbar.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# toolbar.rb --
#
@@ -21,32 +21,32 @@ base_frame = Ttk::Frame.new($toolbar_demo).pack(:fill=>:both, :expand=>true)
if Tk.windowingsystem != 'aqua'
msg = Ttk::Label.new(base_frame, :wraplength=>'4i', :text=><<EOL)
-ΥǥǤϡġСɤΤ褦ˤŬڤ˥ơб뤫\
-ޤɤΤ褦ˤڤΥǽˤ뤫򼨤Ƥޤ\
-ʤġСڤΥˤTcl/Tk8.5ʾεǽɬפǤˡ\
-ġСΥܥϡ'Toolbutton'Ѥ褦뤳Ȥǡ\
-"toolbar style"ܥȤʤ褦°ꤵƤޤ\
-ġСκüˤϴñʥޡ֤Ƥޤ\
-ޡ˥ޥ뤬Ȱư˥뤬Ѳޤ\
-ǥġСư褦˥ɥåȡ\
-ġСΤڤΥΩȥåץ٥륦åȤ\
-뤳ȤǤޤ\
-ڤΥġСפȤʤäˤϡ\
-Ūʥȥåץ٥륦åȤƱͤñĤ뤳Ȥǡ
-ƤӸΥɥĥդǤ礦
+このデモでは,ツールバーをどのようにして適切にテーマ対応させるか,\
+また,どのようにして切り離し可能にするかを示しています\
+(ただし,ツールバーの切り離しにはTcl/Tk8.5以上の機能が必要です).\
+ツールバーのボタンは,'Toolbutton'スタイルを使用するように明示することで,\
+"toolbar style"ボタンとなるように属性設定されています.\
+ツールバーの左端には簡単なマーカーが置かれています.\
+マーカー上にマウスカーソルが来ると移動アイコンにカーソルが変化します.\
+そこでツールバーを動かすようにドラッグすると,\
+ツールバー全体を切り離して独立したトップレベルウィジェットに\
+することができます.\
+切り離したツールバーが不要となった時には,\
+一般的なトップレベルウィジェットと同様に単純に閉じることで,
+再び元のウィンドウに張り付けられるでしょう.
EOL
else
msg = Ttk::Label.new(base_frame, :wraplength=>'4i', :text=><<EOL)
-ΥǥǤϡġСɤΤ褦ˤŬڤ˥ơб뤫\
-Ƥޤ\
-ġСΥܥϡ'Toolbutton'Ѥ褦뤳Ȥǡ\
-"toolbar style"ܥȤʤ褦°ꤵƤޤ
+このデモでは,ツールバーをどのようにして適切にテーマ対応させるかを\
+示しています.\
+ツールバーのボタンは,'Toolbutton'スタイルを使用するように明示することで,\
+"toolbar style"ボタンとなるように属性設定されています.
EOL
end
## Set up the toolbar hull
-tbar_base = Tk::Frame.new(base_frame, # Tk ɸ frame ǤʤФʤޤ
- :widgetname=>'toolbar') # ɥȥʸȤ뤿ˡå̾Ƥޤ
+tbar_base = Tk::Frame.new(base_frame, # Tk 標準の frame でなければなりません.
+ :widgetname=>'toolbar') # ウィンドウタイトル文字列とするために,ウィジェット名を明示しています.
sep = Ttk::Separator.new(base_frame)
to_base = Ttk::Frame.new(tbar_base, :cursor=>'fleur')
if Tk.windowingsystem != 'aqua'
@@ -72,7 +72,7 @@ if Tk.windowingsystem != 'aqua'
self.grid_remove
w.grid_remove
self.wm_manage
- # self.wm_title('Toolbar') # ⤷å̾򥦥ɥȥˤʤʤ顤ꤷƤ
+ # self.wm_title('Toolbar') # もしウィジェット名をウィンドウタイトルにしたくないなら,ここで設定してください
self.wm_protocol('WM_DELETE_WINDOW'){ self.untearoff(w) }
end
def tbar_base.untearoff(w)
@@ -86,17 +86,17 @@ end
text = TkText.new(base_frame, :width=>40, :height=>10)
## Toolbar contents
-tb_btn = Ttk::Button.new(tbar_base, :text=>'ܥ', :style=>'Toolbutton',
+tb_btn = Ttk::Button.new(tbar_base, :text=>'ボタン', :style=>'Toolbutton',
:command=>proc{
- text.insert(:end, "ܥ󤬲ޤ\n")
+ text.insert(:end, "ボタンが押されました.\n")
})
-tb_chk = Ttk::Checkbutton.new(tbar_base, :text=>'åܥ',
+tb_chk = Ttk::Checkbutton.new(tbar_base, :text=>'チェックボタン',
:style=>'Toolbutton',
:variable=>(check = TkVariable.new),
:command=>proc{
- text.insert(:end, "åܥͤ#{check.value}Ǥ\n")
+ text.insert(:end, "チェックボタンの値は#{check.value}です.\n")
})
-tb_mbtn = Ttk::Menubutton.new(tbar_base, :text=>'˥塼')
+tb_mbtn = Ttk::Menubutton.new(tbar_base, :text=>'メニュー')
tb_combo = Ttk::Combobox.new(tbar_base, :value=>TkFont.families,
:state=>:readonly)
tb_mbtn.menu(menu = Tk::Menu.new(tb_mbtn))
@@ -121,10 +121,10 @@ Ttk::Frame.new(base_frame) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'toolbar'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$toolbar_demo.destroy
diff --git a/ext/tk/sample/demos-jp/tree.rb b/ext/tk/sample/demos-jp/tree.rb
index 00d7152..1c77939 100644
--- a/ext/tk/sample/demos-jp/tree.rb
+++ b/ext/tk/sample/demos-jp/tree.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# tree.rb --
#
@@ -24,14 +24,14 @@ base_frame = TkFrame.new($tree_demo).pack(:fill=>:both, :expand=>true)
Ttk::Label.new(base_frame, :font=>$font, :wraplength=>'4i',
:justify=>:left, :anchor=>'n', :padding=>[10, 2, 10, 6],
:text=><<EOL).pack(:fill=>:x)
-TtkȤϡơ޻ǽʿåȽǤ\
-Υץϡե륷ƥΤ褦ʳŪʥǡ\
-ȤǤ褦ˤTtk::TreeviewåȤޤǤޤ\
-Ttk::TreeviewåȤϡڹ¤ΤɽǽˤǤʤ\
-ɲþ(Υץξϥե륵)ɽ뤿\
-ǤդθĿɲåⰷȤǤޤ\
-ޤΥȥ֤ζڤʬɥå뤳Ȥǡ\
-ѹ뤳ȤǽǤ
+Ttkとは,テーマ指定可能な新しいウィジェット集合です.\
+このサンプルは,ファイルシステムのような階層的なデータ集合を\
+参照できるようにしたTtk::Treeviewウィジェットを含んでいます.\
+Ttk::Treeviewウィジェットは,木構造自体の表示を可能にするだけでなく,\
+追加情報(このサンプルの場合はファイルサイズ)を表示するために\
+任意の個数の追加カラムも扱うこともできます.\
+また,カラムのタイトル間の区切り部分をドラッグすることで,\
+カラムの幅を変更することも可能です.
EOL
## See Code / Dismiss
@@ -39,10 +39,10 @@ Ttk::Frame.new(base_frame) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'tree'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$tree_demo.destroy
diff --git a/ext/tk/sample/demos-jp/ttkbut.rb b/ext/tk/sample/demos-jp/ttkbut.rb
index 90ec3fc..ccde541 100644
--- a/ext/tk/sample/demos-jp/ttkbut.rb
+++ b/ext/tk/sample/demos-jp/ttkbut.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# ttkbut.rb
#
@@ -23,22 +23,22 @@ base_frame = TkFrame.new($ttkbut_demo).pack(:fill=>:both, :expand=>true)
Ttk::Label.new(base_frame, :font=>$font, :wraplength=>'4i', :justify=>:left,
:text=><<EOL).pack(:side=>:top, :fill=>:x)
-TtkȤϡơ޻ǽʿåȽǤ\
-ʤܤˤƤΤTtkΥơ޲٥ǡ\
-ˤTtkΥ٥ե졼˻ĤΥ롼פTtkåȤ\
-ɽƤޤ
-ǽΥ롼פƥܥǤꡤ\
-줾쥯åиߤΥץꥱΥơޤꤵޤ
-ܤΥ롼פϻĤΥåܥ󽸹Ǥ\
-ƽδ֤ˤϡѥ졼åȤ֤Ƥޤ\
-ʤͭץܥϡΥȥåץ٥륦å\
-¾Τ٤ƤΥơ޲åȤξ(state)"disabled"ɤ\
-ȥ뤹뤳ȤդƤ
-ܤΥ롼פϴϢդ줿饸ܥ󽸹ȤʤäƤޤ
+Ttkとは,テーマ指定可能な新しいウィジェット集合です.\
+今,あなたが目にしているのはTtkのテーマ化ラベルで,\
+下にはTtkのラベルフレームの中に三つのグループのTtkウィジェットが\
+表示されています.
+最初のグループは全てボタンであり,\
+それぞれクリックすれば現在のアプリケーションのテーマが設定されます.
+2番目のグループは三つのチェックボタン集合です.\
+各集合の間には,セパレータウィジェットが置かれています.\
+なお「有効化」ボタンは,このトップレベルウィジェット内の\
+他のすべてのテーマ化ウィジェットの状態(state)が"disabled"かどうかを\
+コントロールすることに注意してください.
+3番目のグループは関連付けられたラジオボタン集合となっています.
EOL
## Add buttons for setting the theme
-buttons = Ttk::Labelframe.new(base_frame, :text=>'ܥ')
+buttons = Ttk::Labelframe.new(base_frame, :text=>'ボタン')
# Ttk::Style.theme_names.each{|theme|
# Ttk::Button.new(buttons, :text=>theme,
# :command=>proc{Ttk::Style.theme_use theme}).pack(:pady=>2)
@@ -66,9 +66,9 @@ def setState(root, value, *excepts)
end
## Set up the checkbutton group
-checks = Ttk::Labelframe.new(base_frame, :text=>'åܥ')
+checks = Ttk::Labelframe.new(base_frame, :text=>'チェックボタン')
enabled = TkVariable.new(true)
-e = Ttk::Checkbutton.new(checks, :text=>'ͭ', :variable=>enabled,
+e = Ttk::Checkbutton.new(checks, :text=>'有効化', :variable=>enabled,
:command=>proc{
setState($ttkbut_demo,
((enabled.bool)? "!disabled" : "disabled"),
@@ -84,15 +84,15 @@ tomato = TkVariable.new
basil = TkVariable.new
oregano = TkVariable.new
-c1 = Ttk::Checkbutton.new(checks, :text=>'', :variable=>cheese)
-c2 = Ttk::Checkbutton.new(checks, :text=>'ȥޥ', :variable=>tomato)
-c3 = Ttk::Checkbutton.new(checks, :text=>'Х', :variable=>basil)
-c4 = Ttk::Checkbutton.new(checks, :text=>'쥬', :variable=>oregano)
+c1 = Ttk::Checkbutton.new(checks, :text=>'チーズ', :variable=>cheese)
+c2 = Ttk::Checkbutton.new(checks, :text=>'トマト', :variable=>tomato)
+c3 = Ttk::Checkbutton.new(checks, :text=>'バジル', :variable=>basil)
+c4 = Ttk::Checkbutton.new(checks, :text=>'オレガノ', :variable=>oregano)
Tk.pack(e, sep1, c1, c2, sep2, c3, c4, :fill=>:x, :pady=>2)
## Set up the radiobutton group
-radios = Ttk::Labelframe.new(base_frame, :text=>'饸ܥ')
+radios = Ttk::Labelframe.new(base_frame, :text=>'ラジオボタン')
happyness = TkVariable.new
@@ -114,18 +114,18 @@ Ttk::Frame.new(base_frame) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ѿ',
+ Ttk::Button.new(frame, :text=>'変数参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{
- showVars(base_frame, ['ͭ', enabled],
- ['', cheese], ['ȥޥ', tomato],
- ['Х', basil], ['쥬', oregano],
- ['ʡ', happyness])
+ showVars(base_frame, ['有効化', enabled],
+ ['チーズ', cheese], ['トマト', tomato],
+ ['バジル', basil], ['オレガノ', oregano],
+ ['幸福度', happyness])
}),
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'ttkbut'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
tmppath = $ttkbut_demo
diff --git a/ext/tk/sample/demos-jp/ttkmenu.rb b/ext/tk/sample/demos-jp/ttkmenu.rb
index 9e78678..aa9db50 100644
--- a/ext/tk/sample/demos-jp/ttkmenu.rb
+++ b/ext/tk/sample/demos-jp/ttkmenu.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# ttkmenu.rb --
#
@@ -22,21 +22,21 @@ base_frame = Ttk::Frame.new($ttkmenu_demo).pack(:fill=>:both, :expand=>true)
Ttk::Label.new(base_frame, :font=>$font, :wraplength=>'4i', :justify=>:left,
:text=><<EOL).pack(:side=>:top, :fill=>:x)
-TtkȤϡơ޻ǽʿåȽǤ\
-ˤơޤб뤳ȤǤ褦ˤʤäåȤΤҤȤĤ\
-˥塼ܥ󤬤ޤ\
-ʲǤϡơޤб˥塼ܥ󤬤ĤɽƤޤ\
-Ȥäơ߻Υơޤѹ뤳ȤǽǤ\
-ơޤ򤬥˥塼ܥ󼫿ȤθݤѲͻҤ䡤\
-Υ˥塼ܥۤʤ륹\
-(ġСǤΰŪɽŬ)ɽƤͻҤ\
-ܤƤ\
-ʤ˥塼ܥˤĤƤϥơޤбåȤޤ\
-˥塼ˤĤƤϥơޤбåȤϴޤޤƤޤ\
-ͳϡɸTkΥ˥塼åȤ\
-٤ƤΥץåȥۡǽʬɹʸݤäƤ롤\
-äˡ¿δĶǤδĶηϤȤʤ褦˼Ƥ\
-ȽǤ줿Ȥˤޤ
+Ttkとは,テーマ指定可能な新しいウィジェット集合です.\
+これによりテーマに対応することができるようになったウィジェットのひとつに\
+メニューボタンがあります.\
+以下では,テーマに対応したメニューボタンがいくつか表示されています.\
+それらを使って,現在使用中のテーマを変更することが可能です.\
+テーマの選択がメニューボタン自身の見掛けを変化させる様子や,\
+中央のメニューボタンだけが異なるスタイル\
+(ツールバーでの一般的な表示に適したもの)で表示されている様子に\
+注目してください.\
+なお,メニューボタンについてはテーマに対応したウィジェットがありますが,\
+メニューについてはテーマに対応したウィジェットは含まれていません.\
+その理由は,標準のTkのメニューウィジェットが\
+すべてのプラットホームで十分に良好な見掛けと操作性を持っている,\
+特に,多くの環境でその環境本来の操作体系となるように実装されていると\
+判断されたことによります.
EOL
Ttk::Separator.new(base_frame).pack(:side=>:top, :fill=>:x)
@@ -46,10 +46,10 @@ Ttk::Frame.new($ttkmenu_demo) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'ttkmenu'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$ttkmenu_demo.destroy
@@ -60,12 +60,12 @@ Ttk::Frame.new($ttkmenu_demo) {|frame|
pack(:side=>:bottom, :fill=>:x)
}
-b1 = Ttk::Menubutton.new(base_frame,:text=>'ơޤ',:direction=>:above)
-b2 = Ttk::Menubutton.new(base_frame,:text=>'ơޤ',:direction=>:left)
-b3 = Ttk::Menubutton.new(base_frame,:text=>'ơޤ',:direction=>:right)
-b4 = Ttk::Menubutton.new(base_frame,:text=>'ơޤ',:direction=>:flush,
+b1 = Ttk::Menubutton.new(base_frame,:text=>'テーマを選択',:direction=>:above)
+b2 = Ttk::Menubutton.new(base_frame,:text=>'テーマを選択',:direction=>:left)
+b3 = Ttk::Menubutton.new(base_frame,:text=>'テーマを選択',:direction=>:right)
+b4 = Ttk::Menubutton.new(base_frame,:text=>'テーマを選択',:direction=>:flush,
:style=>Ttk::Menubutton.style('Toolbutton'))
-b5 = Ttk::Menubutton.new(base_frame,:text=>'ơޤ',:direction=>:below)
+b5 = Ttk::Menubutton.new(base_frame,:text=>'テーマを選択',:direction=>:below)
b1.menu(m1 = Tk::Menu.new(b1, :tearoff=>false))
b2.menu(m2 = Tk::Menu.new(b2, :tearoff=>false))
diff --git a/ext/tk/sample/demos-jp/ttknote.rb b/ext/tk/sample/demos-jp/ttknote.rb
index f0cd258..f3b2fa5 100644
--- a/ext/tk/sample/demos-jp/ttknote.rb
+++ b/ext/tk/sample/demos-jp/ttknote.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# ttknote.rb --
#
@@ -23,10 +23,10 @@ Ttk::Frame.new($ttknote_demo) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'ttknote'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$ttknote_demo.destroy
@@ -48,31 +48,31 @@ notebook.enable_traversal
f_msg = Ttk::Frame.new(notebook)
msg_m = Ttk::Label.new(f_msg, :font=>$font, :wraplength=>'5i',
:justify=>:left, :anchor=>'n', :text=><<EOL)
-TtkȤϡơ޻ǽʿåȽǤ\
-˴ޤޤ륦åȤΤҤȤĤ˥Ρȥ֥ååȤޤ\
-Ρȥ֥ååȤϡ\
-̤Ƥäѥͥ뤫ǽˤ褦\
-֤νʥ֥åȡˤޤ\
-֥åȤϺǶ¿Υ桼󥿡եǸ뵡ǽǤ\
-֤ϡޥˤǤʤ\
-Ρȥ֥ååȤΥڡθФ򤵤ƤǤ\
-Ctrl+TabϤˤäƤԤȤǤޤ\
-ΥǥǤϡФDzդʸΥAltȤȤ߹碌뤳Ȥ\
-ڡ򤹤뤳ȤǤ褦ˤꤷƤޤ\
-ܤΥ̵֤Ǥʤ褦ˤʤäƤ뤳Ȥˤ\
-դƤ
+Ttkとは,テーマ指定可能な新しいウィジェット集合です.\
+その中に含まれるウィジェットのひとつにノートブックウィジェットがあります.\
+ノートブックウィジェットは,\
+個別の内容を持ったパネルからの選択を可能にするような\
+タブの集合(タブセット)を定めます.\
+タブセットは最近の多くのユーザインターフェースで見られる機能です.\
+タブの選択は,マウスによるだけでなく,\
+ノートブックウィジェットのページの見出しが選択されている時であれば\
+Ctrl+Tabキーの入力によっても行うことができます.\
+このデモでは,見出しで下線付きの文字のキーとAltキーとを組み合わせることで\
+ページを選択することができるようにも設定しています.\
+ただし,2番目のタブは無効化されて選択できないようになっていることには\
+注意してください.
EOL
neat = TkVariable.new
after_id = nil
-msg_b = Ttk::Button.new(f_msg, :text=>'Ƥ(Neat!)', :underline=>6,
+msg_b = Ttk::Button.new(f_msg, :text=>'すてきだ!(Neat!)', :underline=>6,
:command=>proc{
- neat.value = 'ΤȤꤵ'
+ neat.value = 'あぁ,そのとおりさ...'
Tk.after_cancel(after_id) if after_id
after_id = Tk.after(500){neat.value = ''}
})
msg_b.winfo_toplevel.bind('Alt-n'){ msg_b.focus; msg_b.invoke }
msg_l = Ttk::Label.new(f_msg, :textvariable=>neat)
-notebook.add(f_msg, :text=>'(Description)', :underline=>3, :padding=>2)
+notebook.add(f_msg, :text=>'説明(Description)', :underline=>3, :padding=>2)
Tk.grid(msg_m, '-', :sticky=>'new', :pady=>2)
Tk.grid(msg_b, msg_l, :pady=>[2, 4], :padx=>20)
msg_b.grid_configure(:sticky=>'e')
@@ -82,11 +82,11 @@ f_msg.grid_columnconfigure([0, 1], :weight=>1, :uniform=>1)
## Populate the second pane. Note that the content doesn't really matter
f_disabled = Ttk::Frame.new(notebook)
-notebook.add(f_disabled, :text=>'̵줿', :state=>:disabled)
+notebook.add(f_disabled, :text=>'無効化されたタブ', :state=>:disabled)
## Popuplate the third pane
f_editor = Ttk::Frame.new(notebook)
-notebook.add(f_editor, :text=>'ƥȥǥ(Text Editor)', :underline=>9)
+notebook.add(f_editor, :text=>'テキストエディタ(Text Editor)', :underline=>9)
editor_t = Tk::Text.new(f_editor, :width=>40, :height=>10, :wrap=>:char)
if Tk.windowingsystem != 'aqua'
editor_s = editor_t.yscrollbar(Ttk::Scrollbar.new(f_editor))
diff --git a/ext/tk/sample/demos-jp/ttkpane.rb b/ext/tk/sample/demos-jp/ttkpane.rb
index a7b458a..a5c1a08 100644
--- a/ext/tk/sample/demos-jp/ttkpane.rb
+++ b/ext/tk/sample/demos-jp/ttkpane.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# ttkpane.rb --
#
@@ -21,9 +21,9 @@ base_frame = TkFrame.new($ttkpane_demo).pack(:fill=>:both, :expand=>true)
Ttk::Label.new(base_frame, :font=>$font, :wraplength=>'4i', :justify=>:left,
:text=><<EOL).pack(:side=>:top, :fill=>:x)
-Υǥϡߴطˤơդڥɥɥ򼨤Ƥޤ\
-줾礭ϡޤޤƤڥδ֤ˤ륨ꥢĤ\
-ɥå뤳ȤѹǤޤ
+このデモは,埋め込み関係にあるテーマ付きペインドウィンドウを示しています.\
+それぞれの大きさは,含まれているペインの間にあるエリアをつかんで\
+境界をドラッグすることで変更できます.
EOL
Ttk::Separator.new(base_frame).pack(:side=>:top, :fill=>:x)
@@ -33,10 +33,10 @@ Ttk::Frame.new(base_frame) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'ttkpane'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$ttkpane_demo.destroy
@@ -52,19 +52,19 @@ frame = Ttk::Frame.new(base_frame).pack(:fill=>:both, :expand=>true)
outer = Ttk::Panedwindow.new(frame, :orient=>:horizontal)
outer.add(in_left = Ttk::Panedwindow.new(outer, :orient=>:vertical))
outer.add(in_right = Ttk::Panedwindow.new(outer, :orient=>:vertical))
-in_left.add(left_top = Ttk::Labelframe.new(in_left, :text=>'ܥ'))
-in_left.add(left_bot = Ttk::Labelframe.new(in_left, :text=>''))
-in_right.add(right_top = Ttk::Labelframe.new(in_right, :text=>'ץ쥹'))
-in_right.add(right_bot = Ttk::Labelframe.new(in_right, :text=>'ƥ'))
+in_left.add(left_top = Ttk::Labelframe.new(in_left, :text=>'ボタン'))
+in_left.add(left_bot = Ttk::Labelframe.new(in_left, :text=>'時計'))
+in_right.add(right_top = Ttk::Labelframe.new(in_right, :text=>'プログレス'))
+in_right.add(right_bot = Ttk::Labelframe.new(in_right, :text=>'テキスト'))
if Tk.windowingsystem == 'aqua'
[left_top, left_bot, right_top, right_bot].each{|w| w.padding(3) }
end
# Fill the button pane
-Ttk::Button.new(left_top, :text=>'Ƥ',
+Ttk::Button.new(left_top, :text=>'押してね',
:command=>proc{
Tk.messageBox(:type=>'ok', :icon=>'info',
- :message=>'Ƥơ',
+ :message=>'いてて!',
:detail=>'That hurt...', :parent=>base_frame,
:title=>'Button Pressed')
}).pack(:padx=>2, :pady=>5)
diff --git a/ext/tk/sample/demos-jp/ttkprogress.rb b/ext/tk/sample/demos-jp/ttkprogress.rb
index 82898bf..ec28253 100644
--- a/ext/tk/sample/demos-jp/ttkprogress.rb
+++ b/ext/tk/sample/demos-jp/ttkprogress.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# ttkprogress.rb --
#
@@ -21,16 +21,16 @@ base_frame = TkFrame.new($ttkprogress_demo).pack(:fill=>:both, :expand=>true)
Ttk::Label.new(base_frame, :font=>$font, :wraplength=>'4i', :justify=>:left,
:text=><<EOL).pack(:side=>:top, :fill=>:x)
-ˤΤĤΥץ쥹СǤ\
-ΤΤ"determinate"פΥץ쥹Сǡ\
-㤨ХץबͿ줿λޤǤˤɤΤ餤뤫\
-ȤʤɤѤޤ\
-ΤΤ"indeterminate"פΥץ쥹Сǡ\
-㤨Хץब¹(busy)ǤΤ\
-λޤǤˤɤ줯餤뤫ʬʤȤ֤\
-ȤʤɤѤޤ\
-Υץ쥹С⡤ˤܥȤȤ\
-ư˥᡼⡼ɤON/OFFؤ뤳ȤǤޤ
+下にあるのは二つのプログレスバーです.\
+上のものは"determinate"タイプのプログレスバーで,\
+例えばプログラムが与えられたタスクを終了するまでにどのくらいかかるかを\
+示すときなどに用いられます.\
+下のものは"indeterminate"タイプのプログレスバーで,\
+例えばプログラムが実行中(busy)であるものの\
+終了までにどれくらいかかるかは分からないという状態を\
+示すときなどに用いられます.\
+いずれのプログレスバーも,すぐ下にあるボタンを使うことで\
+自動アニメーションモードのON/OFFを切替えることができます.
EOL
## See Code / Dismiss buttons
@@ -38,10 +38,10 @@ Ttk::Frame.new(base_frame) {|frame|
sep = Ttk::Separator.new(frame)
Tk.grid(sep, :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- Ttk::Button.new(frame, :text=>'ɻ',
+ Ttk::Button.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'ttkprogress'}),
- Ttk::Button.new(frame, :text=>'Ĥ',
+ Ttk::Button.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
$ttkprogress_demo.destroy
diff --git a/ext/tk/sample/demos-jp/twind.rb b/ext/tk/sample/demos-jp/twind.rb
index bd0b060..f13a137 100644
--- a/ext/tk/sample/demos-jp/twind.rb
+++ b/ext/tk/sample/demos-jp/twind.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# text (embedded windows) widget demo (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($twind_demo) && $twind_demo
$twind_demo.destroy
$twind_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$twind_demo = TkToplevel.new {|w|
title("Text Demonstration - Embedded Windows")
iconname("Embedded Windows")
@@ -18,11 +18,11 @@ $twind_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($twind_demo).pack(:fill=>:both, :expand=>true)
-# frame
+# frame 生成
$twind_buttons = TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc{
tmppath = $twind_demo
$twind_demo = nil
@@ -31,13 +31,13 @@ $twind_buttons = TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc{showCode 'twind'}
}.pack('side'=>'left', 'expand'=>'yes')
}
$twind_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
$twind_text = nil
TkFrame.new(base_frame, 'highlightthickness'=>2, 'borderwidth'=>2,
'relief'=>'sunken') {|f|
@@ -51,7 +51,7 @@ TkFrame.new(base_frame, 'highlightthickness'=>2, 'borderwidth'=>2,
}.pack('expand'=>'yes', 'fill'=>'both')
}.pack('expand'=>'yes', 'fill'=>'both')
-#
+# タグ生成
$tag_center = TkTextTag.new($twind_text,
'justify' =>'center',
'spacing1'=>'5m',
@@ -64,70 +64,70 @@ $tag_buttons = TkTextTag.new($twind_text,
'spacing2'=>0,
'spacing3'=>0 )
-# ƥȤ
+# テキストの生成
$twind_text.insert('end',
- 'ƥwidget¾widgetȤ߹ळȤǤޤ')
+ 'テキストwidget上に他のwidgetを組み込むことができます。')
$twind_text.insert('end',
- 'Ȥ߹ߥɥȸƤФ졢ǤդwidgetǽǤ')
+ '組み込みウィンドウと呼ばれ、任意のwidgetが可能です。')
$twind_text.insert('end',
- '㤨С2ĤΥܥwidgetȤ߹ޤƤޤ')
-$twind_text.insert('end', 'ǽΥܥ򥯥åȿʿΥ')
+ '例えば、ここに2つのボタンwidgetが組み込まれています。')
+$twind_text.insert('end', '最初のボタンをクリックすと水平方向のスクロールを')
TkTextWindow.new($twind_text, 'end',
'window'=>TkButton.new($twind_text) {
#text 'ON'
- text ''
+ text 'オン'
command proc{textWindOn $twind_text,$twind_buttons}
cursor 'top_left_arrow'
})
-$twind_text.insert('end', "ˤޤޤ2ĤΥܥ򥯥å\n")
-$twind_text.insert('end', 'ʿΥ')
+$twind_text.insert('end', "にします。また2つめのボタンをクリックすると\n")
+$twind_text.insert('end', '水平方向のスクロールを')
TkTextWindow.new($twind_text, 'end',
'window'=>TkButton.new($twind_text) {
#text 'OFF'
- text ''
+ text 'オフ'
command proc{textWindOff $twind_text}
cursor 'top_left_arrow'
})
-$twind_text.insert('end', 'ˤޤ')
+$twind_text.insert('end', 'にします。')
-$twind_text.insert('end', '⤦ҤȤĤǤ')
+$twind_text.insert('end', 'もうひとつの例です。')
TkTextWindow.new($twind_text, 'end',
'window'=>TkButton.new($twind_text) {
- text '򥯥å'
+ text 'ここをクリック'
command proc{textWindPlot $twind_text}
cursor 'top_left_arrow'
})
-$twind_text.insert('end', 'ȡx-yץåȤ˸ޤ')
+$twind_text.insert('end', 'すると、x-yプロットがここに現れます。')
$mark_plot = TkTextMark.new($twind_text, 'insert')
$mark_plot.gravity='left'
-$twind_text.insert('end', 'ޥǥǡ褹뤳ȤǤޤ')
+$twind_text.insert('end', 'マウスでデータを描画することができます。')
TkTextWindow.new($twind_text, 'end',
'window'=>TkButton.new($twind_text) {
- text 'õ'
+ text '消去'
command proc{textWindDel $twind_text}
cursor 'top_left_arrow'
})
-$twind_text.insert('end', '򥯥åȸޤ
+$twind_text.insert('end', 'をクリックすると元に戻ります。
')
-$twind_text.insert('end', 'Ȥ߹ߥɥƥwidgetˡºݤ')
-$twind_text.insert('end', 'ƥȤϤʤȤ߹ळȤǤ')
-$twind_text.insert('end', 'ξϡƥwidgetϥɥޥ͡')
-$twind_text.insert('end', '褦ưޤ㤨Сˤϥƥwidget')
-$twind_text.insert('end', 'äƥܥ󤬤줤¤٤Ƥޤ')
-$twind_text.insert('end', 'ΥܥطʿѤ뤳ȤǤޤ')
-$twind_text.insert('end', '("Default"Ǹο᤹ȤǤޤ)')
-$twind_text.insert('end', '"Short"Ȥܥ򥯥åʸĹ')
-$twind_text.insert('end', 'ѤޤȼưŪ˥ƥwidget')
-$twind_text.insert('end', '쥤ȤƤޤ')
-$twind_text.insert('end', '⤦Ʊܥ򲡤ȸޤ
+$twind_text.insert('end', '組み込みウィンドウだけをテキストwidget上に、実際の')
+$twind_text.insert('end', 'テキストはなしで組み込むことは便利です。')
+$twind_text.insert('end', 'この場合は、テキストwidgetはウィンドウマネージャの')
+$twind_text.insert('end', 'ように動作します。例えば、ここにはテキストwidgetに')
+$twind_text.insert('end', 'よってボタンがきれいに並べられています。')
+$twind_text.insert('end', 'これらのボタンで背景色を変えることができます')
+$twind_text.insert('end', '("Default"で元の色に戻すことができます)。')
+$twind_text.insert('end', '"Short"というボタンをクリックすると文字列の長さが')
+$twind_text.insert('end', '変わります。すると自動的にテキストwidgetが')
+$twind_text.insert('end', 'レイアウトを整えてくれます。')
+$twind_text.insert('end', 'もう一度同じボタンを押すと元に戻ります。
')
TkTextWindow.new($twind_text, 'end',
'window'=>TkButton.new($twind_text) {|b|
- text 'ǥե'
+ text 'デフォルト'
command proc{embDefBg $twind_text}
cursor 'top_left_arrow'
$tag_buttons.add('end')
@@ -163,7 +163,7 @@ TkTextWindow.new($twind_text, 'end',
'pady'=>2 )
}
-# ᥽å
+# メソッド定義
def textWindOn (w,f)
if defined? $twind_scroll
begin
diff --git a/ext/tk/sample/demos-jp/twind2.rb b/ext/tk/sample/demos-jp/twind2.rb
index 96000b0..a783ba4 100644
--- a/ext/tk/sample/demos-jp/twind2.rb
+++ b/ext/tk/sample/demos-jp/twind2.rb
@@ -1,15 +1,15 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# text (embedded windows) widget demo 2 (called by 'widget')
#
-# toplevel widget ¸ߤк
+# toplevel widget が存在すれば削除する
if defined?($twind2_demo) && $twind2_demo
$twind2_demo.destroy
$twind2_demo = nil
end
-# demo Ѥ toplevel widget
+# demo 用の toplevel widget を生成
$twind2_demo = TkToplevel.new {|w|
title("Text Demonstration - Embedded Windows 2")
iconname("Embedded Windows")
@@ -18,15 +18,15 @@ $twind2_demo = TkToplevel.new {|w|
base_frame = TkFrame.new($twind2_demo).pack(:fill=>:both, :expand=>true)
-# frame
+# frame 生成
$twind2_buttons = TkFrame.new(base_frame) {|frame|
TkGrid(TkFrame.new(frame, :height=>2, :relief=>:sunken, :bd=>2),
:columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2)
TkGrid('x',
- TkButton.new(frame, :text=>'ɻ',
+ TkButton.new(frame, :text=>'コード参照',
:image=>$image['view'], :compound=>:left,
:command=>proc{showCode 'twind2'}),
- TkButton.new(frame, :text=>'Ĥ',
+ TkButton.new(frame, :text=>'閉じる',
:image=>$image['delete'], :compound=>:left,
:command=>proc{
tmppath = $twind2_demo
@@ -39,7 +39,7 @@ $twind2_buttons = TkFrame.new(base_frame) {|frame|
}
$twind2_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
-# frame
+# frame 生成
$twind2_text = nil
TkFrame.new(base_frame, 'highlightthickness'=>2, 'borderwidth'=>2,
'relief'=>'sunken') {|f|
@@ -54,7 +54,7 @@ TkFrame.new(base_frame, 'highlightthickness'=>2, 'borderwidth'=>2,
}.pack('expand'=>'yes', 'fill'=>'both')
}.pack('expand'=>'yes', 'fill'=>'both')
-#
+# タグ生成
$tag2_center = TkTextTag.new($twind2_text,
'justify' =>'center',
'spacing1'=>'5m',
@@ -67,82 +67,82 @@ $tag2_buttons = TkTextTag.new($twind2_text,
'spacing2'=>0,
'spacing3'=>0 )
-# ƥȤ
-$twind2_text.insert('end', 'ƥȥåȤˤϿʼΥƥ')
-$twind2_text.insert('end', 'ưŪʤΤŪʤΤξޤˤ')
-$twind2_text.insert('end', '¿ޤ뤳ȤǤޤƥ')
-$twind2_text.insert('end', 'ؤ֡·ʤɤ͡ˡ')
-$twind2_text.insert('end', '֤뤳ȤǤޤ')
-$twind2_text.insert('end', 'äơƥȥåȤʪ')
-$twind2_text.insert('end', 'ɥ٤礭Ǥ')
-$twind2_text.insert('end', '٤Ƥ˥ࡼ˥뤵')
-$twind2_text.insert('end', 'ǧ뤳ȤǽǤ')
+# テキストの生成
+$twind2_text.insert('end', 'テキストウィジェットには色々な種類のアイテム')
+$twind2_text.insert('end', '(動的なものや静的なものの両方があります)を')
+$twind2_text.insert('end', '数多く含めることができます。そうしたアイテムは')
+$twind2_text.insert('end', '行替え、タブ、中央揃えなどの様々な方法で')
+$twind2_text.insert('end', '配置することができます。')
+$twind2_text.insert('end', '加えて、テキストウィジェットの内容物が')
+$twind2_text.insert('end', 'ウィンドウサイズに比べて大きすぎる場合でも')
+$twind2_text.insert('end', 'すべての方向にスムーズにスクロールさせて')
+$twind2_text.insert('end', '確認することが可能です。')
$twind2_text.insert('end', "\n\n")
-$twind2_text.insert('end', 'ƥȥåȾˤ¾ΥåȤ')
-$twind2_text.insert('end', 'ޤ뤳ȤǤޤΤ')
-$twind2_text.insert('end', 'ߥɥפȸƤФ졢')
-$twind2_text.insert('end', 'ʤ륦åȤǤͤळȤǤޤ')
-$twind2_text.insert('end', '㤨СˤϣĤ')
-$twind2_text.insert('end', 'ܥ󥦥åȤޤƤޤ')
-$twind2_text.insert('end', 'ǽΥܥ򥯥åȡ')
-$twind2_text.insert('end', 'ʿΥ ')
+$twind2_text.insert('end', 'テキストウィジェット上には他のウィジェットを')
+$twind2_text.insert('end', '含めることもできます。こうしたものは')
+$twind2_text.insert('end', '「埋め込みウィンドウ」と呼ばれ、その中に')
+$twind2_text.insert('end', 'いかなるウィジェットでも詰め込むことができます。')
+$twind2_text.insert('end', '例えば,ここには2つの')
+$twind2_text.insert('end', 'ボタンウィジェットが埋め込まれています。')
+$twind2_text.insert('end', '最初のボタンをクリックすると、')
+$twind2_text.insert('end', '水平方向のスクロールを ')
TkTextWindow.new($twind2_text, 'end',
'window'=>TkButton.new($twind2_text) {
#text 'ON'
- text ''
+ text 'オン'
command proc{textWindOn2 $twind2_text,$twind2_buttons}
cursor 'top_left_arrow'
})
-$twind2_text.insert('end', "ˤޤޤĤΥܥ򥯥å\n")
-$twind2_text.insert('end', 'ʿΥ')
+$twind2_text.insert('end', "にします。また、2つめのボタンをクリックすると\n")
+$twind2_text.insert('end', '水平方向のスクロールを')
TkTextWindow.new($twind2_text, 'end',
'window'=>TkButton.new($twind2_text) {
#text 'OFF'
- text ''
+ text 'オフ'
command proc{textWindOff2 $twind2_text}
cursor 'top_left_arrow'
})
-$twind2_text.insert('end', "ˤޤ\n\n")
+$twind2_text.insert('end', "にします。\n\n")
-$twind2_text.insert('end', 'Ϥ⤦ҤȤĤǤ')
+$twind2_text.insert('end', '次はもうひとつの例です。')
TkTextWindow.new($twind2_text, 'end',
'window'=>TkButton.new($twind2_text) {
- text '򥯥å'
+ text 'ここをクリック'
command proc{textWindPlot2 $twind2_text}
cursor 'top_left_arrow'
})
-$twind2_text.insert('end', 'ȡx-yץåȤ˸ޤ')
+$twind2_text.insert('end', 'すると、x-yプロットがここに現れます。')
$mark2_plot = TkTextMark.new($twind2_text, 'insert')
$mark2_plot.gravity='left'
-$twind2_text.insert('end', 'ޥǥɥå뤳Ȥǡ')
-$twind2_text.insert('end', 'ץåȾΥǡư뤳ȤǤޤ')
+$twind2_text.insert('end', 'マウスでドラッグすることで、')
+$twind2_text.insert('end', 'プロット上のデータ点を移動することができます。')
TkTextWindow.new($twind2_text, 'end',
'window'=>TkButton.new($twind2_text) {
- text 'õ'
+ text '消去'
command proc{textWindDel2 $twind2_text}
cursor 'top_left_arrow'
})
-$twind2_text.insert('end', '򥯥åȸޤ')
+$twind2_text.insert('end', 'をクリックすると元に戻ります。')
$twind2_text.insert('end', "\n\n")
-$twind2_text.insert('end', 'ɽƥȤʤߥɥ')
-$twind2_text.insert('end', 'ƥȥåȤ˴ޤ뤳ȤͭѤǤ礦')
-$twind2_text.insert('end', 'ξ硢ƥȥåȤ')
-$twind2_text.insert('end', 'ȥޥ͡Τ褦Ưޤ')
-$twind2_text.insert('end', '㤨СˤϥƥȥåȤ')
-$twind2_text.insert('end', 'äƥܥ󤬤줤󤷤֤Ƥޤ')
-$twind2_text.insert('end', 'Υܥ򥯥å뤳Ȥǡ')
-$twind2_text.insert('end', 'ΥƥȥåȤطʿ')
-$twind2_text.insert('end', 'Ѥ뤳ȤǤޤ("ǥե"ܥ')
-$twind2_text.insert('end', 'ο᤹ȤǤޤ)')
-$twind2_text.insert('end', '"Short"Ȥܥ򥯥åʸĹ')
-$twind2_text.insert('end', 'ѤꡢƥȥåȤưŪ')
-$twind2_text.insert('end', '쥤ȤͻҤ򸫤뤳ȤǤޤ')
-$twind2_text.insert('end', '⤦Ʊܥ򲡤ȸޤ')
+$twind2_text.insert('end', '表示するテキストなしに埋め込みウィンドウだけを')
+$twind2_text.insert('end', 'テキストウィジェットに含めることも有用でしょう。')
+$twind2_text.insert('end', 'この場合、テキストウィジェットは')
+$twind2_text.insert('end', 'ジオメトリマネージャのように働きます。')
+$twind2_text.insert('end', '例えば、ここにはテキストウィジェットに')
+$twind2_text.insert('end', 'よってボタンがきれいに整列して配置されています。')
+$twind2_text.insert('end', 'これらのボタンをクリックすることで、')
+$twind2_text.insert('end', 'このテキストウィジェットの背景色を')
+$twind2_text.insert('end', '変えることができます("デフォルト"ボタンで')
+$twind2_text.insert('end', '元の色に戻すことができます)。')
+$twind2_text.insert('end', '"Short"というボタンをクリックすると文字列の長さが')
+$twind2_text.insert('end', '変わり、テキストウィジェットが自動的に')
+$twind2_text.insert('end', 'レイアウトを整える様子を見ることができます。')
+$twind2_text.insert('end', 'もう一度同じボタンを押すと元に戻ります。')
$twind2_text.insert('end', "\n")
btn_default = TkButton.new($twind2_text) {|b|
- text 'ǥե'
+ text 'デフォルト'
command proc{embDefBg2 $twind2_text}
cursor 'top_left_arrow'
}
@@ -184,8 +184,8 @@ $text_normal2['border'] = $twind2_text.cget('borderwidth')
$text_normal2['highlight'] = $twind2_text.cget('highlightthickness')
$text_normal2['pad'] = $twind2_text.cget('padx')
-$twind2_text.insert('end', "\nborder width highlightthickness, ")
-$twind2_text.insert('end', "padding ̾ͤѹ뤳ȤǽǤ\n")
+$twind2_text.insert('end', "\nborder width や highlightthickness, ")
+$twind2_text.insert('end', "padding を通常の値から変更することも可能です。\n")
TkTextWindow.new($twind2_text, 'end',
'window'=>TkButton.new($twind2_text, :text=>"Big borders",
@@ -229,8 +229,8 @@ TkTextWindow.new($twind2_text, 'end',
textWinSmallP2 $twind2_text
}))
-$twind2_text.insert('end', "\n\n˥᡼ƥȥåȤ")
-$twind2_text.insert('end', "ޤ֤Ǥޤ")
+$twind2_text.insert('end', "\n\n更にイメージもテキストウィジェットに")
+$twind2_text.insert('end', "うまく配置できます:")
TkTextImage.new($twind2_text, 'end',
'image'=>TkBitmapImage.new(:file=>[
@@ -238,7 +238,7 @@ TkTextImage.new($twind2_text, 'end',
'images', 'face.xbm'
].join(File::Separator)))
-# ᥽å
+# メソッド定義
def textWinBigB2(w)
w.borderwidth 15
end
diff --git a/ext/tk/sample/demos-jp/unicodeout.rb b/ext/tk/sample/demos-jp/unicodeout.rb
index 4857cd1..31596cf 100644
--- a/ext/tk/sample/demos-jp/unicodeout.rb
+++ b/ext/tk/sample/demos-jp/unicodeout.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
#
# unicodeout.rb --
#
@@ -23,41 +23,41 @@ base_frame = TkFrame.new($unicodeout_demo).pack(:fill=>:both, :expand=>true)
TkLabel.new(base_frame,
:font=>$font, :wraplength=>'5.4i', :justify=>:left,
:text=><<EOL).pack(:side=>:top)
-ϡTkˤʸѤФ륵ݡȤˤĤƤ\
-ץǤɽˤƤʤºݤˤɤΤ褦ɽ\
-ܤˤ뤫ϡʤδĶˤɤΤ褦ʸ礬󥹥ȡ뤵Ƥ뤫\
-礭¸ޤޤоݤȤʤʸ礬󥹥ȡ뤵Ƥʤ\
-ɤΤ褦ɽʤ뤫⤢ʤδĶǤ\
-֥ɻȡץܥ򲡤ƥɽ\
-Unicodeout_SampleFrame饹@@font񤭴\
-(եƤѹޤ)\
-ֺƼ¹ԡץܥΥåƤߤƤ
-ץȤĤ褦ˡʸ\\uXXXXȤ\
-TclΥɽѤUNICODEʸǽ񤫤Ƥޤ\
-ʸϡTk::UTF8_String᥽åɤˤäơ\
-UTF8ʸǤפȤ\
-󥳡ɾդʸ󥪥֥\
-(TclΥɽѴѤ)Ѵ\
-٥륦åȤϤƤդƤ
+これは,Tkにおける非欧米文字集合を用いる言語に対するサポートについての\
+サンプルです.ただし,下の表示においてあなたが実際にどのような表示を\
+目にするかは,あなたの環境にどのような文字集合がインストールされているかに\
+大きく依存します.また,対象となる文字集合がインストールされていない場合に\
+どのような表示がなされるかもあなたの環境次第です.\
+「コード参照」ボタンを押してソースを表示し,\
+Unicodeout_SampleFrameクラスの@@fontの定義を書き換えて\
+(ファイルの内容は変更されません)\
+「再実行」ボタンのクリックを試してみてください.
+スクリプトが可搬性を持つように,文字列は\\uXXXXという\
+Tclのエスケープ表現を用いたUNICODE文字列で書かれています.\
+文字列は,Tk::UTF8_Stringメソッドによって,\
+「UTF8形式の文字列である」という\
+エンコード情報付きの文字列オブジェクト\
+(Tclのエスケープ表現の変換済み)に変換して\
+ラベルウィジェットに渡している点に注意してください.
EOL
#'
TkFrame.new(base_frame){|f|
pack(:side=>:bottom, :fill=>:x, :pady=>'2m')
- TkButton.new(f, :text=>'Ĥ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
$unicodeout_demo.destroy
$unicodeout_demo = nil
}).pack(:side=>:left, :expand=>true)
- TkButton.new(f, :text=>'ɻ', :width=>15, :command=>proc{
+ TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
showCode 'unicodeout'
}).pack(:side=>:left, :expand=>true)
}
wait_msg = TkLabel.new(base_frame,
- :text=>"եɤ߹ߤδλޤ" +
- "Ф餯Ԥ",
+ :text=>"フォント読み込みの完了まで" +
+ "しばらくお待ち下さい...",
:font=>"Helvetica 12 italic").pack
class Unicodeout_SampleFrame < TkFrame
diff --git a/ext/tk/sample/demos-jp/vscale.rb b/ext/tk/sample/demos-jp/vscale.rb
index a1097fd..6ae513b 100644
--- a/ext/tk/sample/demos-jp/vscale.rb
+++ b/ext/tk/sample/demos-jp/vscale.rb
@@ -1,4 +1,4 @@
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
require "tkcanvas"
if defined?($vscale_demo) && $vscale_demo
@@ -18,17 +18,17 @@ msg = TkLabel.new(base_frame) {
font $font
wraplength '3.5i'
justify 'left'
-# text "ˤ1ĤȾľʥ뤬ɽƤޤ\
-#ǥޥܥ1򥯥åޤϥɥå\
-#ĹѤ뤳ȤǤޤ"
- text "ˤϥСȽķΥ뤬ɽƤޤǥޥΥܥ1 򥯥å뤫ɥåƥСι⤵Ѥ뤳ȤǤޤäλץܥ򲡤Ƥ"
+# text "下には矢印が1つと乗直なスケールが表示されています。\
+#スケール上でマウスボタン1をクリック、またはドラッグすると\
+#矢印の長さを変えることができます。"
+ text "にはバーと縦型のスケールが表示されています。スケールでマウスのボタン1 をクリックするかドラッグしてバーの高さを変えることができます。終ったら「了解」ボタンを押してください。"
}
msg.pack('side'=>'top', 'padx'=>'.5c')
TkFrame.new(base_frame) {|frame|
TkButton.new(frame) {
- #text 'λ'
- text 'Ĥ'
+ #text '了解'
+ text '閉じる'
command proc {
tmppath = $vscale_demo
$vscale_demo = nil
@@ -37,7 +37,7 @@ TkFrame.new(base_frame) {|frame|
}.pack('side'=>'left', 'expand'=>'yes')
TkButton.new(frame) {
- text 'ɻ'
+ text 'コード参照'
command proc { showCode 'vscale' }
}.pack('side'=>'left', 'expand'=>'yes')
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
diff --git a/ext/tk/sample/demos-jp/widget b/ext/tk/sample/demos-jp/widget
index fc3c084..193c15a 100644
--- a/ext/tk/sample/demos-jp/widget
+++ b/ext/tk/sample/demos-jp/widget
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
-# -*- coding: euc-jp -*-
+# -*- coding: utf-8 -*-
-# ( tk.rb Υɻ encoding /˻Ȥ )
+# 漢字コード設定 ( tk.rb のロード時の encoding 推定/設定に使われる )
#if RUBY_VERSION < '1.9.0' ### !!!!!!!!!!!!!!
unless defined?(::Encoding.default_external)
$KCODE = 'euc'
@@ -9,28 +9,28 @@ else
DEFAULT_TK_ENCODING = 'EUC-JP'
end
-# tk ط饤֥ɤ߹
+# tk 関係ライブラリの読み込み
require 'tk'
# require 'tkafter'
$RubyTk_WidgetDemo = true
-# widget demo directory ֤γ
+# widget demo directory 位置の獲得
# $demo_dir = File.dirname($0)
$demo_dir = File.dirname(__FILE__)
-# root
+# root の生成
$root = TkRoot.new{title "Ruby/Tk Widget Demonstration"}
-# tk Сμ
+# tk バージョンの取得
$tk_version = Tk::TK_VERSION
$tk_major_ver, $tk_minor_ver = $tk_version.split('.').map{|n| n.to_i}
$tk_patchlevel = Tk::TK_PATCHLEVEL
-# tcl_platform ؤΥ֥
+# tcl_platform 情報へのアクセスオブジェクト
$tk_platform = TkVarAccess.new('tcl_platform')
-# ե
+# フォント設定
#######
case($tk_version)
when /^4.*/
@@ -64,7 +64,7 @@ else
end
#######
-# ᡼
+# イメージ設定
$image = {}
if $tk_major_ver >= 8
@@ -123,7 +123,7 @@ $image['print'] = TkPhotoImage.new(:height=>19, :format=>'GIF', :data=><<EOD)
EOD
end
-# ˥塼
+# メニュー設定
if $tk_major_ver >= 8
$root.add_menubar([[['File', 0],
['About ... ', proc{aboutBox}, 0, '<F1>'],
@@ -154,7 +154,7 @@ TkFrame.new($root){|frame|
}.pack('side'=>'top', 'fill'=>'x')
=end
-# ƥȥܥå
+# テキストボックスの生成
if $tk_version =~ /^4\.[01]/
scr = TkScrollbar.new($root, 'orient'=>'vertical')
txt = TkText.new($root) {
@@ -215,7 +215,7 @@ else
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>2)
end
-# ƥȥ
+# テキストタグ設定
if $tk_version =~ /^4.*/
tag_title = TkTextTag.new(txt, 'font'=>'-*-Helvetica-Bold-R-Normal--*-180-*-*-*-*-*-*')
else
@@ -277,267 +277,267 @@ tag_demo.bind('Motion', proc{|x, y|
},
'%x %y')
-# ƥ
+# テキスト生成
txt.insert('end', 'Ruby/Tk : Widget', tag_title)
-#txt.insert('end', " ǥ󥹥ȥ졼\n", tag_middle)
-txt.insert('end', " ǥ󥹥ȥ졼\n", tag_kanji_title)
+#txt.insert('end', " デモンストレーション\n", tag_middle)
+txt.insert('end', " デモンストレーション\n", tag_kanji_title)
txt.insert('end', <<"EOT")
-ΥץꥱϡTk Widget ѤƤɤΤ褦ʤȤǤ뤫\
-򼨤ΡĤξʥץȤФեȥɤ\
-Ƥޤʲ˽֤˵󤲤Ƥǥ󥹥ȥ졼¹\
-ˤϥޥǥåƤǥ󥹥ȥ졼Υ\
-ɥȡǥ󥹥ȥ졼 Ruby/Tk Υɤ\
-뤿ˡ"ɻ"ܥ򥯥å뤳ȤǤޤʤ\
-˾ʤ顢Υɤ뤳ȤǤޤɤǥǥ\
-󥹥ȥ졼Ƽ¹Ԥ뤿ˤϡɤ񤫤줿ɥ\
-"ǥƼ¹" ܥ򥯥åƤ\
-ɤƤ⥪ꥸʥΥե뤬񤭴뤳Ȥ\
-ޤ󤫤顢ۤ˿ѹƤߤƤ
-
-ΥǥǤϡŪǶΥС Tk ǤʤХݡȤ\
-ʤǽȤäƼƤޤ(㤨 Tk8.4 ʾʤ)Τᡢ\
-ǽʤ Tk 饤֥ȤäƤˤϡ\
-ǥưޤ󡣤Τ褦ʵǽɬפǤС򥵥ݡ\
-Ƥ Tk 饤֥Ȥ褦 tcltklib 򥳥ѥ뤷ʤ\
-
-
-⤷ʤ Tk (ǽ餫ޤफ󥹥ȡ뤷ˤ) \
-Ttk (Tile) ĥѤǤ֤Ǥʤ顢\
-Ttk ĥΥǥ (sample/tkextlib/tile/demo.rb) ⤼һƤߤƤ
-( ¿ʬߤΤʤδĶˤ Ttk ĥ\
+このアプリケーションは、Tk Widget を用いてどのようなことができるか\
+を示すための、いくつかの小さなスクリプトに対するフロントエンドを提\
+供しています。以下に順番に挙げられているデモンストレーションを実行\
+するにはマウスでクリックしてください。デモンストレーションのウィン\
+ドウが現れると、デモンストレーションを生成した Ruby/Tk のコードを見\
+るために、"コード参照"ボタンをクリックすることができます。あなたが\
+望むなら、そのコードを修正することができます。修正したコードでデモ\
+ンストレーションを再実行するためには、コードが書かれたウィンドウに\
+ある"デモ再実行" ボタンをクリックしてください。\
+コードを修正してもオリジナルのファイルが書き換えられることは\
+ありませんから、心配せずに色々な変更を試してみてください。
+
+一部のデモでは、比較的最近のバージョンの Tk でなければサポートして\
+いない機能を使って実装しています(例えば Tk8.4 以上など)。そのため、\
+そうした機能を持たない Tk ライブラリを使っている場合には、そうした\
+デモは正しく動きません。そのような機能が必要であれば、それをサポート\
+している Tk ライブラリを使うように tcltklib をコンパイルしなおして\
+ください。
+
+もしあなたの Tk が (最初から含むかインストールしたかにより) \
+Ttk (Tile) 拡張を利用できる状態であるなら、\
+Ttk 拡張のデモ (sample/tkextlib/tile/demo.rb) もぜひ試してみてください。
+( 多分,現在のあなたの環境には Ttk 拡張は\
#{
begin
require 'tkextlib/tile'
- "ǤƳƤޤ"
+ "すでに導入されています"
rescue
- "ޤ󥹥ȡ뤵Ƥޤ"
+ "まだインストールされていません"
end
}\
-)
-Ttk ĥϡTk8.5 ʾǤɸεǽȤȤ߹ޤƤޤ
+。)
+Ttk 拡張は、Tk8.5 以上では標準の機能として組み込まれています。
EOT
-#txt.insert('end',"٥, ܥ, åܥ, 饸ܥ\n",tag_middle)
-txt.insert('end', "٥, ܥ, åܥ, 饸ܥ\n",
+#txt.insert('end',"ラベル, ボタン, チェックボタン, ラジオボタン\n",tag_middle)
+txt.insert('end', "ラベル, ボタン, チェックボタン, ラジオボタン\n",
tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. ٥ (ƥ, ӥåȥޥå)\n",
+txt.insert('end', "1. ラベル (テキスト, ビットマップ)\n",
tag_demo, "demo-label")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. ٥UNICODEƥ (ǽбСTkɬ)\n", tag_demo, "demo-unicodeout")
+txt.insert('end', "2. ラベルとUNICODEテキスト (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-unicodeout")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ܥ \n", tag_demo, "demo-button")
+txt.insert('end', "3. ボタン \n", tag_demo, "demo-button")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. åܥ (ʣǽ)\n",
+txt.insert('end', "4. チェックボタン (複数を選択可能)\n",
tag_demo, "demo-check")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "5. ֥åܥ (ǽбСTkɬ)\n",
+txt.insert('end', "5. 3状態チェックボタン (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-check2")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "6. 饸ܥ (ǤդΰĤǽ)\n",
+txt.insert('end', "6. ラジオボタン (任意の一つを選択可能)\n",
tag_demo, "demo-radio")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "7. 饸ܥ (ǽбСTkɬ)\n",
+txt.insert('end', "7. ラジオボタン (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-radio2")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "8. ֥饸ܥ (ǽбСTkɬ)\n",
+txt.insert('end', "8. 3状態ラジオボタン (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-radio3")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "9. ܥǺ줿15-ѥ륲\n",
+txt.insert('end', "9. ボタンで作られた15-パズルゲーム\n",
tag_demo, "demo-puzzle")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "10. ӥåȥޥåפѤܥ\n",
+txt.insert('end', "10. ビットマップを使用したアイコンボタン\n",
tag_demo, "demo-icon")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "11. ɽĤΥ٥\n",
+txt.insert('end', "11. 画像を表示する二つのラベル\n",
tag_demo, "demo-image1")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "12. 򸫤뤿δñʥ桼󥿡ե\n",
+txt.insert('end', "12. 画像を見るための簡単なユーザインターフェース\n",
tag_demo, "demo-image2")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "13. 򸫤뤿δñʥ桼󥿡ե (ǽбСTkɬ)\n",
+txt.insert('end', "13. 画像を見るための簡単なユーザインターフェース (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-image3")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "14. ٥դե졼 (ǽбСTkɬ)\n",
+txt.insert('end', "14. ラベル付きフレーム (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-labelframe")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "15. ơޤбåȤδñ (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "15. テーマに対応したウィジェットの簡単な例 (Tile/Ttk拡張への対応が必要)\n",
tag_demo, "demo-ttkbut")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-#txt.insert('end', "ꥹȥܥå\n", tag_middle)
-txt.insert('end', "ꥹȥܥå\n", tag_kanji_title)
+#txt.insert('end', "リストボックス\n", tag_middle)
+txt.insert('end', "リストボックス\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. ƻܸ.\n", tag_demo, "demo-states")
+txt.insert('end', "1. 都道府県.\n", tag_demo, "demo-states")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. : ץꥱΤۿѤ\n",
+txt.insert('end', "2. 色: アプリケーションのための配色を変える\n",
"#{tag_demo.id} demo-colors")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ʸ\n", tag_demo, "demo-sayings")
+txt.insert('end', "3. 格言集\n", tag_demo, "demo-sayings")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. ˤĤƤΥޥꥹ (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "4. 国についてのマルチカラムリスト (Tile/Ttk拡張への対応が必要)\n",
tag_demo, "demo-mclist")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "5. ǥ쥯ȥ֥饦 (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "5. ディレクトリブラウザ (Tile/Ttk拡張への対応が必要)\n",
tag_demo, "demo-tree")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-#txt.insert('end', "ȥȥԥܥå\n", tag_middle)
-txt.insert('end', "ȥ\n", tag_kanji_title)
+#txt.insert('end', "エントリとスピンボックス\n", tag_middle)
+txt.insert('end', "エントリ\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. Сʤ\n", tag_demo, "demo-entry1")
+txt.insert('end', "1. スクロールバーなし\n", tag_demo, "demo-entry1")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. С\n", tag_demo, "demo-entry2")
+txt.insert('end', "2. スクロールバーあり\n", tag_demo, "demo-entry2")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ǧڽդΥȥܥåȥѥɥե (ǽбСTkɬ)\n",
+txt.insert('end', "3. 認証処理付きのエントリボックスとパスワードフィールド (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-entry3")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. ԥܥå (ǽбСTkɬ)\n",
+txt.insert('end', "4. スピンボックス (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-spin")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "5. ܥܥå (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "5. コンボボックス (Tile/Ttk拡張への対応が必要)\n",
tag_demo, "demo-combo")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "6. ñʥե\n", tag_demo, "demo-form")
+txt.insert('end', "6. 簡単なフォーム\n", tag_demo, "demo-form")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-#txt.insert('end', "ƥ\n", tag_middle)
-txt.insert('end', "ƥ\n", tag_kanji_title)
+#txt.insert('end', "テキスト\n", tag_middle)
+txt.insert('end', "テキスト\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. Ūʥƥ\n", tag_demo, "demo-text")
+txt.insert('end', "1. 基本的なテキスト\n", tag_demo, "demo-text")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. ɽ.\n", tag_demo, "demo-style")
+txt.insert('end', "2. 表示スタイル.\n", tag_demo, "demo-style")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ϥѡƥ(Х).\n",
+txt.insert('end', "3. ハイパーテキスト(タグバインド).\n",
tag_demo, "demo-bind")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. ɥƥ\n",
+txt.insert('end', "4. ウィンドウを埋め込んだテキスト\n",
tag_demo, "demo-twind")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "5. ɥƥ (ǽбСTkɬ)\n",
+txt.insert('end', "5. ウィンドウを埋め込んだテキスト (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-twind2")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "6. \n", tag_demo, "demo-search")
+txt.insert('end', "6. 検索\n", tag_demo, "demo-search")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "7. ƥȥåȤ(peering) (ǽбСTkɬ)\n", tag_demo, "demo-textpeer")
+txt.insert('end', "7. テキストウィジェットの対等化(peering) (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-textpeer")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-#txt.insert('end', "Х\n", tag_middle)
-txt.insert('end', "Х\n", tag_kanji_title)
+#txt.insert('end', "キャンバス\n", tag_middle)
+txt.insert('end', "キャンバス\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. ƥη\n", tag_demo, "demo-items")
+txt.insert('end', "1. アイテムの型\n", tag_demo, "demo-items")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. 2 Υץå\n", tag_demo, "demo-plot")
+txt.insert('end', "2. 2 次元のプロット\n", tag_demo, "demo-plot")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ƥ\n", tag_demo, "demo-ctext")
+txt.insert('end', "3. テキスト\n", tag_demo, "demo-ctext")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. η\n", tag_demo, "demo-arrow")
+txt.insert('end', "4. 矢印の形\n", tag_demo, "demo-arrow")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "5. 롼顼\n", tag_demo, "demo-ruler")
+txt.insert('end', "5. ルーラー\n", tag_demo, "demo-ruler")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "6. եץ\n", tag_demo, "demo-floor")
+txt.insert('end', "6. フロアプラン\n", tag_demo, "demo-floor")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "7. եץ (ۤʤ륭Хƥˡ)\n", tag_demo, "demo-floor2")
+txt.insert('end', "7. フロアプラン (異なるキャンバスアイテム作成方法を使用)\n", tag_demo, "demo-floor2")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "8. ǽʥХ\n",
+txt.insert('end', "8. スクロール可能なキャンバス\n",
tag_demo, "demo-cscroll")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "9. ܡɾεΤν (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "9. チェスボード上の騎士の巡回 (Tile/Ttk拡張への対応が必要)\n",
tag_demo, "demo-knightstour")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-#txt.insert('end', "ȥץ쥹С\n", tag_middle)
-txt.insert('end', "ȥץ쥹С\n", tag_kanji_title)
+#txt.insert('end', "スケールとプログレスバー\n", tag_middle)
+txt.insert('end', "スケールとプログレスバー\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. ľ\n", tag_demo.id, "demo-vscale")
+txt.insert('end', "1. 垂直スケール\n", tag_demo.id, "demo-vscale")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. ʿ\n", tag_demo.id, "demo-hscale")
+txt.insert('end', "2. 水平スケール\n", tag_demo.id, "demo-hscale")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ץ쥹С (Tile/Ttkĥؤбɬ)\n", tag_demo.id, "demo-ttkprogress")
+txt.insert('end', "3. プログレスバー (Tile/Ttk拡張への対応が必要)\n", tag_demo.id, "demo-ttkprogress")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-txt.insert('end', "ڥɥɥȥΡȥ֥å\n", tag_kanji_title)
+txt.insert('end', "ペインドウィンドウとノートブック\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. ʿ (ǽбСTkɬ)\n",
+txt.insert('end', "1. 水平方向 (機能に対応したバージョンのTkが必要)\n",
tag_demo.id, "demo-paned1")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. ľ (ǽбСTkɬ)\n",
+txt.insert('end', "2. 垂直方向 (機能に対応したバージョンのTkが必要)\n",
tag_demo.id, "demo-paned2")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ơޤбߥڥ (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "3. テーマに対応した埋め込みペイン (Tile/Ttk拡張への対応が必要)\n",
tag_demo.id, "demo-ttkpane")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. Ρȥ֥åå (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "4. ノートブックウィジェット (Tile/Ttk拡張への対応が必要)\n",
tag_demo.id, "demo-ttknote")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-#txt.insert('end', "˥塼ȥġС\n", tag_middle)
-txt.insert('end', "˥塼ȥġС\n", tag_kanji_title)
+#txt.insert('end', "メニューとツールバー\n", tag_middle)
+txt.insert('end', "メニューとツールバー\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. ˥塼ȥɤޤɥ\n",
+txt.insert('end', "1. メニューとカスケードを含んだウィンドウ\n",
tag_demo, "demo-menu")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. ˥塼ȥɤޤɥ (Tk8.x )\n",
+txt.insert('end', "2. メニューとカスケードを含んだウィンドウ (Tk8.x 専用)\n",
tag_demo, "demo-menu8x")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. (ǽбСTkɬ)\n",
+txt.insert('end', "3. 〃 (機能に対応したバージョンのTkが必要)\n",
tag_demo, "demo-menu84")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. ˥塼ܥ (Tk8.x )\n",
+txt.insert('end', "4. メニューボタン (Tk8.x 専用)\n",
tag_demo, "demo-menubu")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "5. ơޤб˥塼ܥ (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "5. テーマに対応したメニューボタン (Tile/Ttk拡張への対応が必要)\n",
tag_demo.id, "demo-ttkmenu")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "6. ơޤбġС (Tile/Ttkĥؤбɬ)\n",
+txt.insert('end', "6. テーマに対応したツールバー (Tile/Ttk拡張への対応が必要)\n",
tag_demo.id, "demo-toolbar")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-#txt.insert('end', "ɥ\n", tag_middle)
-txt.insert('end', "ɥ\n", tag_kanji_title)
+#txt.insert('end', "ダイアログウィンドウ\n", tag_middle)
+txt.insert('end', "ダイアログウィンドウ\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. åܥå\n", tag_demo, "demo-msgbox")
+txt.insert('end', "1. メッセージボックス\n", tag_demo, "demo-msgbox")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. ܺ٥ƥդΥåܥå (ǽбСTkɬ)\n", tag_demo, "demo-msgbox2")
+txt.insert('end', "2. 詳細テキスト付きのメッセージボックス (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-msgbox2")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ե\n", tag_demo, "demo-filebox")
+txt.insert('end', "3. ファイル選択ダイアログ\n", tag_demo, "demo-filebox")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. \n", tag_demo, "demo-clrpick")
+txt.insert('end', "4. 色選択ダイアログ\n", tag_demo, "demo-clrpick")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
-#txt.insert('end', "˥᡼\n", tag_middle)
-txt.insert('end', "˥᡼\n", tag_kanji_title)
+#txt.insert('end', "アニメーション\n", tag_middle)
+txt.insert('end', "アニメーション\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. ˥᡼٥ (ǽбСTkɬ)\n", tag_demo, "demo-anilabel")
+txt.insert('end', "1. アニメーションラベル (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-anilabel")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. ȷΥ˥᡼ (ǽбСTkɬ)\n", tag_demo, "demo-aniwave")
+txt.insert('end', "2. 波形のアニメーション (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-aniwave")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ҤΥߥ졼 (ǽбСTkɬ)\n", tag_demo, "demo-pendulum")
+txt.insert('end', "3. 振り子のシミュレーション (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-pendulum")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "4. A celebration of Rube Goldberg (ǽбСTkɬ)\n", tag_demo, "demo-goldberg")
+txt.insert('end', "4. A celebration of Rube Goldberg (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-goldberg")
txt.insert('end', "\n")
-#txt.insert('end', "¾\n", tag_middle)
-txt.insert('end', "¾\n", tag_kanji_title)
+#txt.insert('end', "その他\n", tag_middle)
+txt.insert('end', "その他\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "1. Ȥ߹ߤΥӥåȥޥå\n", tag_demo, "demo-bitmap")
+txt.insert('end', "1. 組み込みのビットマップ\n", tag_demo, "demo-bitmap")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "2. ⡼(륰)\n",
+txt.insert('end', "2. モーダルダイアログ(ローカルグラブ)\n",
tag_demo, "demo-dialog1")
txt.insert('end', " \n ", tag_demospace)
-txt.insert('end', "3. ⡼(Х륰)\n",
+txt.insert('end', "3. モーダルダイアログ(グローバルグラブ)\n",
tag_demo, "demo-dialog2")
txt.insert('end', " \n ", tag_demospace)
@@ -545,13 +545,13 @@ txt.state('disabled')
scr.focus
################################
-# method
+# method 定義
################################
def positionWindow(w)
w.geometry('+300+300')
end
-# ƥåȤȡѿ̾ TkVariable Ȥ()¤ӤϤ
+# 親ウィジェットと,変数名と TkVariable との組(配列)の並びを渡す
$showVarsWin = {}
def showVars1(parent, *args)
if $showVarsWin[parent.path]
@@ -564,7 +564,7 @@ def showVars1(parent, *args)
title "Variable values"
base = TkFrame.new(w).pack(:fill=>:both, :expand=>true)
TkLabel.new(base) {
- text "ѿ:"
+ text "変数値:"
width 20
anchor 'center'
if $tk_version =~ /^4.*/
@@ -586,7 +586,7 @@ def showVars1(parent, *args)
}.pack('side'=>'top', 'anchor'=>'w', 'fill'=>'x')
}
TkButton.new(base) {
- text "λ"
+ text "了解"
command proc{w.destroy}
}.pack('side'=>'bottom', 'pady'=>2)
}
@@ -605,7 +605,7 @@ def showVars2(parent, *args)
base = TkFrame.new(top).pack(:fill=>:both, :expand=>true)
- TkLabelFrame.new(base, :text=>"ѿ:",
+ TkLabelFrame.new(base, :text=>"変数値:",
:font=>{:family=>'Helvetica', :size=>14}){|f|
args.each{|vnam,vbody|
TkGrid(TkLabel.new(f, :text=>"#{vnam}: ", :anchor=>'w'),
@@ -617,7 +617,7 @@ def showVars2(parent, *args)
f.grid_columnconfig(1, :weight=>1)
f.grid_rowconfig(100, :weight=>1)
}
- TkButton.new(base, :text=>"λ", :width=>8, :default=>:active,
+ TkButton.new(base, :text=>"了解", :width=>8, :default=>:active,
:command=>proc{top.destroy}){|b|
top.bind('Return', proc{b.invoke})
top.bind('Escape', proc{b.invoke})
@@ -637,7 +637,7 @@ else # ver >= 8.4
alias showVars showVars2
end
-# ȥåץ٥륵ݡ
+# 疑似トップレベルサポート
module PseudoToplevel_Evaluable
def pseudo_toplevel_eval(body = Proc.new)
Thread.current[:TOPLEVEL] = self
@@ -743,7 +743,7 @@ def eval_samplecode(code, file=nil)
Tk.update
end
-# ƥȾǤ click Фư
+# テキスト上での click に対する動作
def invoke(txt, idx)
tag = txt.tag_names(idx).find{|t| t.kind_of?(String) && t =~ /^demo-/}
return unless tag
@@ -776,7 +776,7 @@ def invoke (txt, idx)
end
=end
-# ɽ
+# 状態表示
def showStatus (txt, index)
tag = txt.tag_names(index).find{|t| t.kind_of?(String) && t =~ /^demo-/}
cursor = txt.cget('cursor')
@@ -786,13 +786,13 @@ def showStatus (txt, index)
else
demoname = tag[5..-1]
$statusBarLabel.configure('text',
- "ץץ \"#{demoname}\" μ¹ ")
+ "サンプルプログラム \"#{demoname}\" の実行 ")
newcursor = 'hand2'
end
txt.configure('cursor'=>newcursor) if cursor != newcursor
end
-# ɤɽ
+# ソースコードの表示
def showCode1(demo)
file = "#{demo}.rb"
$code_window = nil unless defined? $code_window
@@ -801,15 +801,15 @@ def showCode1(demo)
f = TkFrame.new($code_window)
TkButton.new(f) {
- #text "λ"
- text "Ĥ"
+ #text "了解"
+ text "閉じる"
command proc{
$code_window.destroy
$code_window = nil
}
}.pack('side'=>'right', 'expand'=>'false', 'pady'=>2)
TkButton.new(f) {
- text "Ƽ¹"
+ text "再実行"
# command proc{eval($code_text.get('1.0','end'), _null_binding)}
command proc{eval_samplecode($code_text.get('1.0','end'), '<viewer>')}
}.pack('side'=>'right', 'expand'=>'false', 'pady'=>2)
@@ -924,17 +924,17 @@ def showCode2(demo)
posnum.text = pos
}
- #b_dis = TkButton.new(bf, :text=>'λ', :default=>:active,
- b_dis = TkButton.new(bf, :text=>'Ĥ', :default=>:active,
+ #b_dis = TkButton.new(bf, :text=>'了解', :default=>:active,
+ b_dis = TkButton.new(bf, :text=>'閉じる', :default=>:active,
:command=>proc{
$code_window.destroy
$code_window = nil
},
:image=>$image['delete'], :compound=>:left)
- b_prn = TkButton.new(bf, :text=>'',
+ b_prn = TkButton.new(bf, :text=>'印刷',
:command=>proc{printCode($code_text, file)},
:image=>$image['print'], :compound=>:left)
- b_run = TkButton.new(bf, :text=>'Ƽ¹',
+ b_run = TkButton.new(bf, :text=>'再実行',
:command=>proc{
# eval($code_text.get('1.0','end'), _null_binding)
eval_samplecode($code_text.get('1.0','end'), '<viewer>')
@@ -1012,27 +1012,27 @@ def printCode(txt, file)
msg = `lp -c #{fname}`
unless $?.exitstatus == 0
Tk.messageBox(:title=>'Print spooling failure',
- :message=>'顼ȯޤ' +
- '˼ԤΤȻפޤ : ' + msg)
+ :message=>'エラーが発生しました.' +
+ '印刷に失敗したものと思われます : ' + msg)
end
when 'windows'
begin
printTextWin32(fname)
rescue => e
Tk.messageBox(:title=>'Print spooling failure',
- :message=>'顼ȯޤ' +
- '˼ԤΤȻפޤ : ' +
+ :message=>'エラーが発生しました.' +
+ '印刷に失敗したものと思われます : ' +
e.message)
end
when 'macintosh'
Tk.messageBox(:title=>'Operation not Implemented',
- :message=>'ǽϤޤƤޤ')
+ :message=>'印刷機能はまだ実装されていません')
else
Tk.messageBox(:title=>'Operation not Implemented',
- :message=>'Ф줿Ķ ' +
+ :message=>'検出された環境 ' +
Tk::TCL_PLATFORM('platform') +
- ' ̤ΤδĶǤ뤿ᡤ' +
- 'ǽϼƤޤ: ')
+ ' は未知の環境であるため,' +
+ '印刷機能は実装されていません: ')
end
ensure
File.delete(fname)
@@ -1074,7 +1074,7 @@ end
#
def aboutBox
Tk.messageBox('icon'=>'info', 'type'=>'ok', 'title'=>'About Widget Demo',
- 'message'=>"Ruby/Tk åȥǥ Ver.1.7.1-jp\n\n" +
+ 'message'=>"Ruby/Tk ウィジェットデモ Ver.1.7.1-jp\n\n" +
"based on demos of Tk8.1 -- 8.5 " +
"( Copyright of Tcl/Tk demos:: " +
"(c) 1996-1997 Sun Microsystems, Inc. / " +
@@ -1087,7 +1087,7 @@ def aboutBox
end
####################################
-# ǻꤵ줿ǥư
+# 引数で指定されたデモを起動する
no_launcher = false
if ARGV[0] == '-n'
ARGV.shift
@@ -1118,5 +1118,5 @@ if no_launcher
end
################################
-# ٥Ԥ
+# イベント待ちに入る
Tk.mainloop
diff --git a/ext/tk/sample/msgs_rb2/ja.msg b/ext/tk/sample/msgs_rb2/ja.msg
index 84e89aa..54a105b 100644
--- a/ext/tk/sample/msgs_rb2/ja.msg
+++ b/ext/tk/sample/msgs_rb2/ja.msg
@@ -1,85 +1,85 @@
TkMsgCatalog.new('::tkmsgcat_demo') {
- ja 'Application Error', 'ץꥱ󥨥顼', 'euc-jp'
- ja 'Blue', '', 'euc-jp'
- ja 'Color', '', 'euc-jp'
- ja 'Delete', 'õ', 'euc-jp'
- ja 'Error', '顼', 'euc-jp'
- ja 'Exit', 'λ', 'euc-jp'
- ja 'Green', '', 'euc-jp'
- ja 'Red', '', 'euc-jp'
- ja 'blue', '', 'euc-jp'
- ja 'green', '', 'euc-jp'
- ja 'red', '', 'euc-jp'
+ ja 'Application Error', 'アプリケーションエラー', 'utf-8'
+ ja 'Blue', '青', 'utf-8'
+ ja 'Color', '色選択', 'utf-8'
+ ja 'Delete', '消去', 'utf-8'
+ ja 'Error', 'エラー', 'utf-8'
+ ja 'Exit', '終了', 'utf-8'
+ ja 'Green', '緑', 'utf-8'
+ ja 'Red', '赤', 'utf-8'
+ ja 'blue', '青', 'utf-8'
+ ja 'green', '緑', 'utf-8'
+ ja 'red', '赤', 'utf-8'
}
TkMsgCatalog.new('::tk') {
- ja "&Abort", '', 'euc-jp'
+ ja "&Abort", '中止', 'utf-8'
ja "About..."
- ja "All Files", '٤ƤΥե', 'euc-jp'
- ja "Application Error", 'ץꥱ󥨥顼', 'euc-jp'
- ja "&Blue", '', 'euc-jp'
- ja "&Cancel", 'ä', 'euc-jp'
- ja "Cannot change to the directory \"%1\$s\".\nPermission denied.", "ǥ쥯ȥ \"%1\$s\" ѹǤޤ\nĤޤ", 'euc-jp'
- ja "Choose Directory", 'ǥ쥯ȥ', 'euc-jp'
- ja "Clear", 'õ', 'euc-jp'
- ja "Color", '', 'euc-jp'
- ja "Console", '󥽡', 'euc-jp'
- ja "Copy", 'ԡ', 'euc-jp'
- ja "Cut", 'ڤ', 'euc-jp'
- ja "Delete", 'õ', 'euc-jp'
- ja "Details >>", 'ܺ >>', 'euc-jp'
- ja "Directory \"%1\$s\" does not exist.", '"%1$s" Ȥǥ쥯ȥ¸ߤޤ', 'euc-jp'
- ja "&Directory:", 'ǥ쥯ȥ', 'euc-jp'
+ ja "All Files", 'すべてのファイル', 'utf-8'
+ ja "Application Error", 'アプリケーションエラー', 'utf-8'
+ ja "&Blue", '青', 'utf-8'
+ ja "&Cancel", '取り消し', 'utf-8'
+ ja "Cannot change to the directory \"%1\$s\".\nPermission denied.", "ディレクトリ \"%1\$s\" に変更できません.\n許可がありません.", 'utf-8'
+ ja "Choose Directory", 'ディレクトリを選択', 'utf-8'
+ ja "Clear", '消去', 'utf-8'
+ ja "Color", '色', 'utf-8'
+ ja "Console", 'コンソール', 'utf-8'
+ ja "Copy", 'コピー', 'utf-8'
+ ja "Cut", '切り取り', 'utf-8'
+ ja "Delete", '消去', 'utf-8'
+ ja "Details >>", '詳細 >>', 'utf-8'
+ ja "Directory \"%1\$s\" does not exist.", '"%1$s" というディレクトリは存在しません.', 'utf-8'
+ ja "&Directory:", 'ディレクトリ', 'utf-8'
ja "Error: %1\$s"
- ja "Exit", 'λ', 'euc-jp'
- ja "File \"%1\$s\" already exists.\nDo you want to overwrite it?", "\"%1\$s\" Ȥեϴ¸ߤƤޤ\n񤭴ޤ", 'euc-jp'
- ja "File \"%1\$s\" already exists.\n\n", "\"%1\$s\" Ȥեϴ¸ߤƤޤ\n\n", 'euc-jp'
- ja "File \"%1\$s\" does not exist.", '"%1$s" Ȥե¸ߤޤ', 'euc-jp'
- ja "File &name:", 'ե̾', 'euc-jp'
- ja "File &names:", 'ե̾', 'euc-jp'
- ja "Files of &type:", 'ե', 'euc-jp'
- ja "Fi&les:", 'ե', 'euc-jp'
- ja "&Filter", 'ե륿', 'euc-jp'
- ja "Fil&ter:", 'ե륿', 'euc-jp'
- ja "&Green", '', 'euc-jp'
- ja "Hi", 'ˤ', 'euc-jp'
- ja "Hide Console", '󥽡򱣤', 'euc-jp'
- ja "&Ignore", '̵', 'euc-jp'
- ja "Invalid file name \"%1\$s\".", '"%1$s" ʥե̾Ǥ', 'euc-jp'
- ja "Log Files", 'ե', 'euc-jp'
- ja "&No", '', 'euc-jp'
- ja "&OK", 'λ', 'euc-jp'
- ja "OK", 'λ', 'euc-jp'
- ja "Ok", 'λ', 'euc-jp'
- ja "Open", '', 'euc-jp'
- ja "&Open", '', 'euc-jp'
- ja "Open Multiple Files", 'ʣΥե򳫤', 'euc-jp'
- ja "Paste", 'Žդ', 'euc-jp'
- ja "Quit", 'λ', 'euc-jp'
- ja "&Red", '', 'euc-jp'
- ja "Replace existing file?", '¸Υե֤ޤ', 'euc-jp'
- ja "&Retry", 'Ƽ¹', 'euc-jp'
- ja "&Save", '¸', 'euc-jp'
- ja "Save As", '̾դ¸', 'euc-jp'
- ja "Save To Log", '¸', 'euc-jp'
- ja "Select Log File", 'ե', 'euc-jp'
- ja "Select a file to source", 'ե', 'euc-jp'
- ja "&Selection:", '', 'euc-jp'
- ja "Skip Messages", 'åȤФ', 'euc-jp'
- ja "Source...", '...', 'euc-jp'
- ja "Tcl Scripts", 'Tcl ץ', 'euc-jp'
+ ja "Exit", '終了', 'utf-8'
+ ja "File \"%1\$s\" already exists.\nDo you want to overwrite it?", "\"%1\$s\" というファイルは既に存在しています.\n書き換えますか?", 'utf-8'
+ ja "File \"%1\$s\" already exists.\n\n", "\"%1\$s\" というファイルは既に存在しています.\n\n", 'utf-8'
+ ja "File \"%1\$s\" does not exist.", '"%1$s" というファイルは存在しません.', 'utf-8'
+ ja "File &name:", 'ファイル名', 'utf-8'
+ ja "File &names:", 'ファイル名', 'utf-8'
+ ja "Files of &type:", 'ファイル形式', 'utf-8'
+ ja "Fi&les:", 'ファイル', 'utf-8'
+ ja "&Filter", 'フィルター', 'utf-8'
+ ja "Fil&ter:", 'フィルター', 'utf-8'
+ ja "&Green", '緑', 'utf-8'
+ ja "Hi", 'こんにちは', 'utf-8'
+ ja "Hide Console", 'コンソールを隠す', 'utf-8'
+ ja "&Ignore", '無視', 'utf-8'
+ ja "Invalid file name \"%1\$s\".", '"%1$s" は不正なファイル名です.', 'utf-8'
+ ja "Log Files", 'ログファイル', 'utf-8'
+ ja "&No", 'いいえ', 'utf-8'
+ ja "&OK", '了解', 'utf-8'
+ ja "OK", '了解', 'utf-8'
+ ja "Ok", '了解', 'utf-8'
+ ja "Open", '開く', 'utf-8'
+ ja "&Open", '開く', 'utf-8'
+ ja "Open Multiple Files", '複数のファイルを開く', 'utf-8'
+ ja "Paste", '貼り付け', 'utf-8'
+ ja "Quit", '終了', 'utf-8'
+ ja "&Red", '赤', 'utf-8'
+ ja "Replace existing file?", '既存のファイルを置き換えますか?', 'utf-8'
+ ja "&Retry", '再実行', 'utf-8'
+ ja "&Save", '保存', 'utf-8'
+ ja "Save As", '名前を付けて保存', 'utf-8'
+ ja "Save To Log", 'ログを保存', 'utf-8'
+ ja "Select Log File", 'ログファイルを選択', 'utf-8'
+ ja "Select a file to source", 'ソースファイルを選択', 'utf-8'
+ ja "&Selection:", '選択', 'utf-8'
+ ja "Skip Messages", 'メッセージをとばす', 'utf-8'
+ ja "Source...", 'ソース...', 'utf-8'
+ ja "Tcl Scripts", 'Tcl スクリプト', 'utf-8'
ja "Tcl for Windows"
- ja "Text Files", 'ƥȥե', 'euc-jp'
- ja "&Yes", 'Ϥ', 'euc-jp'
- ja "abort", '', 'euc-jp'
- ja "blue", '', 'euc-jp'
- ja "cancel", 'ä', 'euc-jp'
- ja "extension", 'ĥ', 'euc-jp'
- ja "extensions", 'ĥ', 'euc-jp'
- ja "green", '', 'euc-jp'
- ja "ignore", '̵', 'euc-jp'
- ja "ok", 'λ', 'euc-jp'
- ja "red", '', 'euc-jp'
- ja "retry", 'Ƽ¹', 'euc-jp'
- ja "yes", 'Ϥ', 'euc-jp'
+ ja "Text Files", 'テキストファイル', 'utf-8'
+ ja "&Yes", 'はい', 'utf-8'
+ ja "abort", '中止', 'utf-8'
+ ja "blue", '青', 'utf-8'
+ ja "cancel", '取り消し', 'utf-8'
+ ja "extension", '拡張子', 'utf-8'
+ ja "extensions", '拡張子', 'utf-8'
+ ja "green", '緑', 'utf-8'
+ ja "ignore", '無視', 'utf-8'
+ ja "ok", '了解', 'utf-8'
+ ja "red", '赤', 'utf-8'
+ ja "retry", '再実行', 'utf-8'
+ ja "yes", 'はい', 'utf-8'
}
diff --git a/ext/tk/sample/tcltklib/sample0.rb b/ext/tk/sample/tcltklib/sample0.rb
index cd4c806..0ac303a 100644
--- a/ext/tk/sample/tcltklib/sample0.rb
+++ b/ext/tk/sample/tcltklib/sample0.rb
@@ -1,18 +1,18 @@
#! /usr/local/bin/ruby -vd
-# tcltklib 饤֥Υƥ
+# tcltklib ライブラリのテスト
require "tcltklib"
def test
- # 󥿥ץ꥿
+ # インタプリタを生成する
ip1 = TclTkIp.new()
- # ɾƤߤ
+ # 評価してみる
print ip1._return_value().inspect, "\n"
print ip1._eval("puts {abc}").inspect, "\n"
- # ܥäƤߤ
+ # ボタンを作ってみる
print ip1._return_value().inspect, "\n"
print ip1._eval("button .lab -text exit -command \"destroy .\"").inspect,
"\n"
@@ -20,12 +20,12 @@ def test
print ip1._eval("pack .lab").inspect, "\n"
print ip1._return_value().inspect, "\n"
- # 󥿥ץ꥿ ruby ޥɤɾƤߤ
+ # インタプリタから ruby コマンドを評価してみる
# print ip1._eval(%q/ruby {print "print by ruby\n"}/).inspect, "\n"
print ip1._eval(%q+puts [ruby {print "print by ruby\n"; "puts by tcl/tk"}]+).inspect, "\n"
print ip1._return_value().inspect, "\n"
- # ⤦ĥ󥿥ץ꥿Ƥߤ
+ # もう一つインタプリタを生成してみる
ip2 = TclTkIp.new()
ip2._eval("button .lab -text test -command \"puts test ; destroy .\"")
ip2._eval("pack .lab")
diff --git a/ext/tk/sample/tcltklib/sample1.rb b/ext/tk/sample/tcltklib/sample1.rb
index 1965781..3235edf 100644
--- a/ext/tk/sample/tcltklib/sample1.rb
+++ b/ext/tk/sample/tcltklib/sample1.rb
@@ -1,131 +1,131 @@
#! /usr/local/bin/ruby -d
-# -*- encoding: euc-jp -*-
-# -d ץդ, ǥХåɽ.
+# -*- encoding: utf-8 -*-
+# -d オプションを付けると, デバッグ情報を表示する.
-# tcltk 饤֥Υץ
+# tcltk ライブラリのサンプル
-# ޤ, 饤֥ require .
+# まず, ライブラリを require する.
require "tcltk"
-# ʲ, Test1 Υ󥹥󥹤 initialize() ,
-# tcl/tk ˴ؤԤǤ.
-# ɬ⤽Τ褦ˤɬפ̵,
-# (⤷, ) class γ tcl/tk ˴ؤԤäƤɤ.
+# 以下は, Test1 のインスタンスの initialize() で,
+# tcl/tk に関する処理を行う例である.
+# 必ずしもそのようにする必要は無く,
+# (もし, そうしたければ) class の外で tcl/tk に関する処理を行っても良い.
class Test1
- # (󥿥ץ꥿ƥåȤ).
+ # 初期化(インタプリタを生成してウィジェットを生成する).
def initialize()
- #### ȤΤޤʤ
+ #### 使う前のおまじない
- # 󥿥ץ꥿.
+ # インタプリタの生成.
ip = TclTkInterpreter.new()
- # ޥɤб륪֥Ȥ c ꤷƤ.
+ # コマンドに対応するオブジェクトを c に設定しておく.
c = ip.commands()
- # Ѥ륳ޥɤб륪֥ȤѿƤ.
+ # 使用するコマンドに対応するオブジェクトは変数に入れておく.
append, bind, button, destroy, incr, info, label, place, set, wm =
c.values_at(
"append", "bind", "button", "destroy", "incr", "info", "label", "place",
"set", "wm")
- #### tcl/tk Υޥɤб륪֥(TclTkCommand)
+ #### tcl/tk のコマンドに対応するオブジェクト(TclTkCommand)の操作
- # ¹Ԥ, e() ᥽åɤȤ.
- # (ʲ, tcl/tk ˤ info command r* ¹.)
+ # 実行する時は, e() メソッドを使う.
+ # (以下は, tcl/tk における info command r* を実行.)
print info.e("command", "r*"), "\n"
- # , ޤȤ᤿ʸˤƤƱ.
+ # 引数は, まとめた文字列にしても同じ.
print info.e("command r*"), "\n"
- # ѿѤʤȤ¹ԤǤ뤬, ᤬.
+ # 変数を用いなくとも実行できるが, 見ためが悪い.
print c["info"].e("command", "r*"), "\n"
- # 󥿥ץ꥿Υ᥽åɤȤƤ¹ԤǤ뤬, Ψ.
+ # インタプリタのメソッドとしても実行できるが, 効率が悪い.
print ip.info("command", "r*"), "\n"
####
- # ʲ, ֥ȤѿƤʤ
- # GC оݤˤʤäƤޤ.
+ # 以下, 生成したオブジェクトは変数に代入しておかないと
+ # GC の対象になってしまう.
- #### tcl/tk ѿб륪֥(TclTkVariable)
+ #### tcl/tk の変数に対応するオブジェクト(TclTkVariable)の操作
- # Ʊͤꤹ.
+ # 生成と同時に値を設定する.
v1 = TclTkVariable.new(ip, "20")
- # ɤ߽Ф get ᥽åɤȤ.
+ # 読み出しは get メソッドを使う.
print v1.get(), "\n"
- # set ᥽åɤȤ.
+ # 設定は set メソッドを使う.
v1.set(40)
print v1.get(), "\n"
- # set ޥɤȤäɤ߽Ф, ϲǽ᤬.
- # e() ᥽åΰľ TclTkObject ͤ񤤤Ƥɤ.
+ # set コマンドを使って読み出し, 設定は可能だが見ためが悪い.
+ # e() メソッド等の引数に直接 TclTkObject や数値を書いても良い.
set.e(v1, 30)
print set.e(v1), "\n"
- # tcl/tk ΥޥɤѿǤ.
+ # tcl/tk のコマンドで変数を操作できる.
incr.e(v1)
print v1.get(), "\n"
append.e(v1, 10)
print v1.get(), "\n"
- #### tcl/tk ΥåȤб륪֥(TclTkWidget)
+ #### tcl/tk のウィジェットに対応するオブジェクト(TclTkWidget)の操作
- # 롼ȥåȤФ.
+ # ルートウィジェットを取り出す.
root = ip.rootwidget()
- # åȤ.
+ # ウィジェットの操作.
root.e("configure -height 300 -width 300")
- # ȥդȤ wm Ȥ.
+ # タイトルを付けるときは wm を使う.
wm.e("title", root, $0)
- # ƥåȤȥޥɤꤷ, åȤ.
+ # 親ウィジェットとコマンドを指定して, ウィジェットを作る.
l1 = TclTkWidget.new(ip, root, label, "-text {type `x' to print}")
- # place ɽ.
+ # place すると表示される.
place.e(l1, "-x 0 -rely 0.0 -relwidth 1 -relheight 0.1")
- # ޥ̾ʸǻꤷƤɤ, ᤬.
- # (ޥ̾ΩǤʤФʤʤ.)
+ # コマンド名は文字列で指定しても良いが, 見ためが悪い.
+ # (コマンド名は独立した引数でなければならない.)
l2 = TclTkWidget.new(ip, root, "label")
- # åȤ.
+ # ウィジェットの操作.
l2.e("configure -text {type `q' to exit}")
place.e(l2, "-x 0 -rely 0.1 -relwidth 1 -relheight 0.1")
- #### tcl/tk ΥХåб륪֥(TclTkCallback)
+ #### tcl/tk のコールバックに対応するオブジェクト(TclTkCallback)の操作
- # Хå.
+ # コールバックを生成する.
c1 = TclTkCallback.new(ip, proc{sample(ip, root)})
- # ХåĥåȤ.
+ # コールバックを持つウィジェットを生成する.
b1 = TclTkWidget.new(ip, root, button, "-text sample -command", c1)
place.e(b1, "-x 0 -rely 0.2 -relwidth 1 -relheight 0.1")
- # ٥ȥ롼פȴˤ destroy.e(root) .
+ # イベントループを抜けるには destroy.e(root) する.
c2 = TclTkCallback.new(ip, proc{destroy.e(root)})
b2 = TclTkWidget.new(ip, root, button, "-text exit -command", c2)
place.e(b2, "-x 0 -rely 0.3 -relwidth 1 -relheight 0.1")
- #### ٥ȤΥХ
- # script ɲ (bind tag sequence +script) ϺΤȤǤʤ.
- # (ƥ졼ѿ꤬ޤʤ.)
+ #### イベントのバインド
+ # script の追加 (bind tag sequence +script) は今のところできない.
+ # (イテレータ変数の設定がうまくいかない.)
- # ŪˤϥåȤФ륳ХåƱ.
+ # 基本的にはウィジェットに対するコールバックと同じ.
c3 = TclTkCallback.new(ip, proc{print("q pressed\n"); destroy.e(root)})
bind.e(root, "q", c3)
- # bind ޥɤ % ִˤѥ᡼ꤿȤ,
- # proc{} θʸǻꤹ,
- # ִ̤򥤥ƥ졼ѿ̤Ƽ뤳ȤǤ.
- # proc{} θʸ,
- # bind ޥɤͿ륳ХåʳǻꤷƤϤʤ.
+ # bind コマンドで % 置換によりパラメータを受け取りたいときは,
+ # proc{} の後ろに文字列で指定すると,
+ # 置換結果をイテレータ変数を通して受け取ることができる.
+ # ただし proc{} の後ろの文字列は,
+ # bind コマンドに与えるコールバック以外で指定してはいけない.
c4 = TclTkCallback.new(ip, proc{|i| print("#{i} pressed\n")}, "%A")
bind.e(root, "x", c4)
- # TclTkCallback GC оݤˤ,
- # dcb() (ޤ deletecallbackkeys()) ɬפ.
+ # TclTkCallback を GC の対象にしたければ,
+ # dcb() (または deletecallbackkeys()) する必要がある.
cb = [c1, c2, c3, c4]
c5 = TclTkCallback.new(ip, proc{|w| TclTk.dcb(cb, root, w)}, "%W")
bind.e(root, "<Destroy>", c5)
cb.push(c5)
- #### tcl/tk Υ᡼б륪֥(TclTkImage)
+ #### tcl/tk のイメージに対応するオブジェクト(TclTkImage)の操作
- # ǡꤷ.
+ # データを指定して生成する.
i1 = TclTkImage.new(ip, "photo", "-file maru.gif")
- # ٥ĥդƤߤ.
+ # ラベルに張り付けてみる.
l3 = TclTkWidget.new(ip, root, label, "-relief raised -image", i1)
place.e(l3, "-x 0 -rely 0.4 -relwidth 0.2 -relheight 0.2")
- # Υ᡼Ƹ.
+ # 空のイメージを生成して後で操作する.
i2 = TclTkImage.new(ip, "photo")
- # ᡼.
+ # イメージを操作する.
i2.e("copy", i1)
i2.e("configure -gamma 0.5")
l4 = TclTkWidget.new(ip, root, label, "-relief raised -image", i2)
@@ -134,26 +134,26 @@ class Test1
####
end
- # ץΤΥåȤ.
+ # サンプルのためのウィジェットを生成する.
def sample(ip, parent)
bind, button, destroy, grid, toplevel, wm = ip.commands().values_at(
"bind", "button", "destroy", "grid", "toplevel", "wm")
## toplevel
- # ɥ򳫤ˤ, toplevel Ȥ.
+ # 新しいウインドウを開くには, toplevel を使う.
t1 = TclTkWidget.new(ip, parent, toplevel)
- # ȥդƤ
+ # タイトルを付けておく
wm.e("title", t1, "sample")
- # åȤ˲줿Ȥ, Хå GC оݤˤʤ褦ˤ.
+ # ウィジェットが破壊されたとき, コールバックが GC の対象になるようにする.
cb = []
cb.push(c = TclTkCallback.new(ip, proc{|w| TclTk.dcb(cb, t1, w)}, "%W"))
bind.e(t1, "<Destroy>", c)
- # ܥ.
+ # ボタンの生成.
wid = []
- # toplevel åȤ˲ˤ destroy .
+ # toplevel ウィジェットを破壊するには destroy する.
cb.push(c = TclTkCallback.new(ip, proc{destroy.e(t1)}))
wid.push(TclTkWidget.new(ip, t1, button, "-text close -command", c))
cb.push(c = TclTkCallback.new(ip, proc{test_label(ip, t1)}))
@@ -183,7 +183,7 @@ class Test1
cb.push(c = TclTkCallback.new(ip, proc{test_canvas(ip, t1)}))
wid.push(TclTkWidget.new(ip, t1, button, "-text canvas -command", c))
- # grid ɽ.
+ # grid で表示する.
ro = co = 0
wid.each{|w|
grid.e(w, "-row", ro, "-column", co, "-sticky news")
@@ -196,38 +196,38 @@ class Test1
end
# inittoplevel(ip, parent, title)
- # ʲνޤȤƹԤ.
- # 1. toplevel åȤ.
- # 2. ХåϿѰդ, toplevel åȤ
- # <Destroy> ٥Ȥ˥Хå³Ͽ.
- # 3. ܥ.
- # toplevel å, ܥ, ХåϿѿ
- # ֤.
- # ip: 󥿥ץ꥿
- # parent: ƥå
- # title: toplevel åȤΥɥΥȥ
+ # 以下の処理をまとめて行う.
+ # 1. toplevel ウィジェットを作成する.
+ # 2. コールバックを登録する配列を用意し, toplevel ウィジェットの
+ # <Destroy> イベントにコールバックを削除する手続きを登録する.
+ # 3. クローズボタンを作る.
+ # 作成した toplevel ウィジェット, クローズボタン, コールバック登録用変数
+ # を返す.
+ # ip: インタプリタ
+ # parent: 親ウィジェット
+ # title: toplevel ウィジェットのウインドウのタイトル
def inittoplevel(ip, parent, title)
bind, button, destroy, toplevel, wm = ip.commands().values_at(
"bind", "button", "destroy", "toplevel", "wm")
- # ɥ򳫤ˤ, toplevel Ȥ.
+ # 新しいウインドウを開くには, toplevel を使う.
t1 = TclTkWidget.new(ip, parent, toplevel)
- # ȥդƤ
+ # タイトルを付けておく
wm.e("title", t1, title)
- # åȤ˲줿Ȥ, Хå GC оݤˤʤ褦ˤ.
+ # ウィジェットが破壊されたとき, コールバックが GC の対象になるようにする.
cb = []
cb.push(c = TclTkCallback.new(ip, proc{|w| TclTk.dcb(cb, t1, w)}, "%W"))
bind.e(t1, "<Destroy>", c)
- # close ܥäƤ.
- # toplevel åȤ˲ˤ destroy .
+ # close ボタンを作っておく.
+ # toplevel ウィジェットを破壊するには destroy する.
cb.push(c = TclTkCallback.new(ip, proc{destroy.e(t1)}))
b1 = TclTkWidget.new(ip, t1, button, "-text close -command", c)
return t1, b1, cb
end
- # label Υץ.
+ # label のサンプル.
def test_label(ip, parent)
button, global, label, pack = ip.commands().values_at(
"button", "global", "label", "pack")
@@ -235,7 +235,7 @@ class Test1
## label
- # ʷΥ٥.
+ # いろいろな形のラベル.
l1 = TclTkWidget.new(ip, t1, label, "-text {default(flat)}")
l2 = TclTkWidget.new(ip, t1, label, "-text raised -relief raised")
l3 = TclTkWidget.new(ip, t1, label, "-text sunken -relief sunken")
@@ -244,23 +244,23 @@ class Test1
l6 = TclTkWidget.new(ip, t1, label, "-bitmap error")
l7 = TclTkWidget.new(ip, t1, label, "-bitmap questhead")
- # pack Ƥɽ.
+ # pack しても表示される.
pack.e(b1, l1, l2, l3, l4, l5, l6, l7, "-pady 3")
## -textvariable
- # tcltk 饤֥μǤ, Хå tcl/tk ``³''̤
- # ƤФ. ä, Хå()ѿ˥Ȥ,
- # global ɬפ.
- # global ѿͤꤷƤޤȥ顼ˤʤΤ,
- # tcl/tk ˤɽ, ºݤͤꤷʤ褦,
- # 2 ܤΰˤ nil Ϳ.
+ # tcltk ライブラリの実装では, コールバックは tcl/tk の``手続き''を通して
+ # 呼ばれる. したがって, コールバックの中で(大域)変数にアクセスするときは,
+ # global する必要がある.
+ # global する前に変数に値を設定してしまうとエラーになるので,
+ # tcl/tk における表現形だけ生成して, 実際に値を設定しないように,
+ # 2 番目の引数には nil を与える.
v1 = TclTkVariable.new(ip, nil)
global.e(v1)
v1.set(100)
- # -textvariable ѿꤹ.
+ # -textvariable で変数を設定する.
l6 = TclTkWidget.new(ip, t1, label, "-textvariable", v1)
- # Хå椫ѿ.
+ # コールバックの中から変数を操作する.
cb.push(c = TclTkCallback.new(ip, proc{
global.e(v1); v1.set(v1.get().to_i + 10)}))
b2 = TclTkWidget.new(ip, t1, button, "-text +10 -command", c)
@@ -270,14 +270,14 @@ class Test1
pack.e(l6, b2, b3)
end
- # button Υץ.
+ # button のサンプル.
def test_button(ip, parent)
button, pack = ip.commands().values_at("button", "pack")
t1, b1, cb = inittoplevel(ip, parent, "button")
## button
- # ХåǻȤѿƤʤФʤʤ.
+ # コールバック内で参照する変数は先に宣言しておかなければならない.
b3 = b4 = nil
cb.push(c = TclTkCallback.new(ip, proc{b3.e("flash"); b4.e("flash")}))
b2 = TclTkWidget.new(ip, t1, button, "-text flash -command", c)
@@ -288,7 +288,7 @@ class Test1
pack.e(b1, b2, b3, b4)
end
- # checkbutton Υץ.
+ # checkbutton のサンプル.
def test_checkbutton(ip, parent)
checkbutton, global, pack = ip.commands().values_at(
"checkbutton", "global", "pack")
@@ -298,13 +298,13 @@ class Test1
v1 = TclTkVariable.new(ip, nil)
global.e(v1)
- # -variable ѿꤹ.
+ # -variable で変数を設定する.
ch1 = TclTkWidget.new(ip, t1, checkbutton, "-onvalue on -offvalue off",
"-textvariable", v1, "-variable", v1)
pack.e(b1, ch1)
end
- # radiobutton Υץ.
+ # radiobutton のサンプル.
def test_radiobutton(ip, parent)
global, label, pack, radiobutton = ip.commands().values_at(
"global", "label", "pack", "radiobutton")
@@ -314,10 +314,10 @@ class Test1
v1 = TclTkVariable.new(ip, nil)
global.e(v1)
- # ̥륹ȥ󥰤 "{}" ǻꤹ.
+ # ヌルストリングは "{}" で指定する.
v1.set("{}")
l1 = TclTkWidget.new(ip, t1, label, "-textvariable", v1)
- # -variable ƱѿꤹƱ롼פˤʤ.
+ # -variable で同じ変数を指定すると同じグループになる.
ra1 = TclTkWidget.new(ip, t1, radiobutton,
"-text radio1 -value r1 -variable", v1)
ra2 = TclTkWidget.new(ip, t1, radiobutton,
@@ -328,7 +328,7 @@ class Test1
pack.e(b1, l1, ra1, ra2, ra3)
end
- # scale Υץ.
+ # scale のサンプル.
def test_scale(ip, parent)
global, pack, scale = ip.commands().values_at(
"global", "pack", "scale")
@@ -339,7 +339,7 @@ class Test1
v1 = TclTkVariable.new(ip, nil)
global.e(v1)
v1.set(219)
- # ХåǻȤѿƤʤФʤʤ.
+ # コールバック内で参照する変数は先に宣言しておかなければならない.
sca1 = nil
cb.push(c = TclTkCallback.new(ip, proc{global.e(v1); v = v1.get();
sca1.e("configure -background", format("#%02x%02x%02x", v, v, v))}))
@@ -348,7 +348,7 @@ class Test1
pack.e(b1, sca1)
end
- # entry Υץ.
+ # entry のサンプル.
def test_entry(ip, parent)
button, entry, global, pack = ip.commands().values_at(
"button", "entry", "global", "pack")
@@ -358,7 +358,7 @@ class Test1
v1 = TclTkVariable.new(ip, nil)
global.e(v1)
- # ̥륹ȥ󥰤 "{}" ǻꤹ.
+ # ヌルストリングは "{}" で指定する.
v1.set("{}")
en1 = TclTkWidget.new(ip, t1, entry, "-textvariable", v1)
cb.push(c = TclTkCallback.new(ip, proc{
@@ -367,7 +367,7 @@ class Test1
pack.e(b1, en1, b2)
end
- # text Υץ.
+ # text のサンプル.
def test_text(ip, parent)
button, pack, text = ip.commands().values_at(
"button", "pack", "text")
@@ -377,13 +377,13 @@ class Test1
te1 = TclTkWidget.new(ip, t1, text)
cb.push(c = TclTkCallback.new(ip, proc{
- # 1 ܤ 0 ʸܤǸޤǤɽ, .
+ # 1 行目の 0 文字目から最後までを表示し, 削除する.
print(te1.e("get 1.0 end")); te1.e("delete 1.0 end")}))
b2 = TclTkWidget.new(ip, t1, button, "-text print -command", c)
pack.e(b1, te1, b2)
end
- # raise/lower Υץ.
+ # raise/lower のサンプル.
def test_raise(ip, parent)
button, frame, lower, pack, raise = ip.commands().values_at(
"button", "frame", "lower", "pack", "raise")
@@ -391,9 +391,9 @@ class Test1
## raise/lower
- # button 򱣤ƥȤΤ, frame Ȥ.
+ # button を隠すテストのために, frame を使う.
f1 = TclTkWidget.new(ip, t1, frame)
- # ХåǻȤѿƤʤФʤʤ.
+ # コールバック内で参照する変数は先に宣言しておかなければならない.
b2 = nil
cb.push(c = TclTkCallback.new(ip, proc{raise.e(f1, b2)}))
b2 = TclTkWidget.new(ip, t1, button, "-text raise -command", c)
@@ -405,21 +405,21 @@ class Test1
pack.e(b1, f1)
end
- # modal ʥåȤΥץ.
+ # modal なウィジェットのサンプル.
def test_modal(ip, parent)
button, frame, message, pack, tk_chooseColor, tk_getOpenFile,
tk_messageBox = ip.commands().values_at(
"button", "frame", "message", "pack", "tk_chooseColor",
"tk_getOpenFile", "tk_messageBox")
- # ǽ load Ƥʤ饤֥ ip.commands() ¸ߤʤΤ,
- # TclTkLibCommand ɬפ.
+ # 最初に load されていないライブラリは ip.commands() に存在しないので,
+ # TclTkLibCommand を生成する必要がある.
tk_dialog = TclTkLibCommand.new(ip, "tk_dialog")
t1, b1, cb = inittoplevel(ip, parent, "message/modal")
## message
- mes = " message åȤΥƥȤǤ."
- mes += "ʲ modal ʥåȤΥƥȤǤ."
+ mes = "これは message ウィジェットのテストです."
+ mes += "以下は modal なウィジェットのテストです."
me1 = TclTkWidget.new(ip, t1, message, "-text {#{mes}}")
## modal
@@ -431,7 +431,7 @@ class Test1
b2 = TclTkWidget.new(ip, t1, button, "-text messageBox -command", c)
# tk_dialog
cb.push(c = TclTkCallback.new(ip, proc{
- # å̾뤿˥ߡ frame .
+ # ウィジェット名を生成するためにダミーの frame を生成.
print tk_dialog.e(TclTkWidget.new(ip, t1, frame),
"dialog dialog error 2 yes no cancel"), "\n"}))
b3 = TclTkWidget.new(ip, t1, button, "-text dialog -command", c)
@@ -449,7 +449,7 @@ class Test1
pack.e(b1, me1, b2, b3, b4, b5)
end
- # menu Υץ.
+ # menu のサンプル.
def test_menu(ip, parent)
global, menu, menubutton, pack = ip.commands().values_at(
"global", "menu", "menubutton", "pack")
@@ -458,29 +458,29 @@ class Test1
## menu
- # menubutton .
+ # menubutton を生成する.
mb1 = TclTkWidget.new(ip, t1, menubutton, "-text menu")
- # menu .
+ # menu を生成する.
me1 = TclTkWidget.new(ip, mb1, menu)
- # mb1 me1 ư褦ˤ.
+ # mb1 から me1 が起動されるようにする.
mb1.e("configure -menu", me1)
- # cascade ǵư menu .
+ # cascade で起動される menu を生成する.
me11 = TclTkWidget.new(ip, me1, menu)
- # radiobutton Υץ.
+ # radiobutton のサンプル.
v1 = TclTkVariable.new(ip, nil); global.e(v1); v1.set("r1")
me11.e("add radiobutton -label radio1 -value r1 -variable", v1)
me11.e("add radiobutton -label radio2 -value r2 -variable", v1)
me11.e("add radiobutton -label radio3 -value r3 -variable", v1)
- # cascade ˤ mb11 ư褦ˤ.
+ # cascade により mb11 が起動されるようにする.
me1.e("add cascade -label cascade -menu", me11)
- # checkbutton Υץ.
+ # checkbutton のサンプル.
v2 = TclTkVariable.new(ip, nil); global.e(v2); v2.set("none")
me1.e("add checkbutton -label check -variable", v2)
- # separator Υץ.
+ # separator のサンプル.
me1.e("add separator")
- # command Υץ.
+ # command のサンプル.
v3 = nil
cb.push(c = TclTkCallback.new(ip, proc{
global.e(v1, v2, v3); print "v1: ", v1.get(), ", v2: ", v2.get(),
@@ -495,7 +495,7 @@ class Test1
pack.e(b1, mb1, om1, "-side left")
end
- # listbox Υץ.
+ # listbox のサンプル.
def test_listbox(ip, parent)
clipboard, frame, grid, listbox, lower, menu, menubutton, pack, scrollbar,
selection = ip.commands().values_at(
@@ -506,11 +506,11 @@ class Test1
## listbox/scrollbar
f1 = TclTkWidget.new(ip, t1, frame)
- # ХåǻȤѿƤʤФʤʤ.
+ # コールバック内で参照する変数は先に宣言しておかなければならない.
li1 = sc1 = sc2 = nil
- # ¹Ի, ˥ѥ᡼ĤХå,
- # ƥ졼ѿǤΥѥ᡼뤳ȤǤ.
- # (ʣΥѥ᡼ϤҤȤĤʸˤޤȤ.)
+ # 実行時に, 後ろにパラメータがつくコールバックは,
+ # イテレータ変数でそのパラメータを受け取ることができる.
+ # (複数のパラメータはひとつの文字列にまとめられる.)
cb.push(c1 = TclTkCallback.new(ip, proc{|i| li1.e("xview", i)}))
cb.push(c2 = TclTkCallback.new(ip, proc{|i| li1.e("yview", i)}))
cb.push(c3 = TclTkCallback.new(ip, proc{|i| sc1.e("set", i)}))
@@ -532,17 +532,17 @@ class Test1
me1 = TclTkWidget.new(ip, mb1, menu)
mb1.e("configure -menu", me1)
cb.push(c = TclTkCallback.new(ip, proc{
- # clipboard 򥯥ꥢ.
+ # clipboard をクリア.
clipboard.e("clear")
- # selection ʸɤ߹ clipboard ɲä.
+ # selection から文字列を読み込み clipboard に追加する.
clipboard.e("append {#{selection.e('get')}}")}))
me1.e("add command -label {selection -> clipboard} -command",c)
cb.push(c = TclTkCallback.new(ip, proc{
- # li1 򥯥ꥢ.
+ # li1 をクリア.
li1.e("delete 0 end")
- # clipboard ʸФ, 1 Ԥ
+ # clipboard から文字列を取り出し, 1 行ずつ
selection.e("get -selection CLIPBOARD").split(/\n/).each{|line|
- # li1 .
+ # li1 に挿入する.
li1.e("insert end {#{line}}")}}))
me1.e("add command -label {clipboard -> listbox} -command",c)
@@ -557,7 +557,7 @@ class Test1
pack.e(f2, f1)
end
- # canvas Υץ.
+ # canvas のサンプル.
def test_canvas(ip, parent)
canvas, lower, pack = ip.commands().values_at("canvas", "lower", "pack")
t1, b1, cb = inittoplevel(ip, parent, "canvas")
@@ -566,36 +566,36 @@ class Test1
ca1 = TclTkWidget.new(ip, t1, canvas, "-width 400 -height 300")
lower.e(ca1, b1)
- # rectangle .
+ # rectangle を作る.
idr = ca1.e("create rectangle 10 10 20 20")
- # oval .
+ # oval を作る.
ca1.e("create oval 60 10 100 50")
- # polygon .
+ # polygon を作る.
ca1.e("create polygon 110 10 110 30 140 10")
- # line .
+ # line を作る.
ca1.e("create line 150 10 150 30 190 10")
- # arc .
+ # arc を作る.
ca1.e("create arc 200 10 250 50 -start 0 -extent 90 -style pieslice")
- # i1 , ɤ˲ʤФʤʤ, ݤʤΤäƤ.
+ # i1 は本当は, どこかで破壊しなければならないが, 面倒なので放ってある.
i1 = TclTkImage.new(ip, "photo", "-file maru.gif")
- # image .
+ # image を作る.
ca1.e("create image 100 100 -image", i1)
- # bitmap .
+ # bitmap を作る.
ca1.e("create bitmap 260 50 -bitmap questhead")
- # text .
+ # text を作る.
ca1.e("create text 320 50 -text {drag rectangle}")
- # window (ܥ).
+ # window を作る(クローズボタン).
ca1.e("create window 200 200 -window", b1)
- # bind ˤ rectangle drag Ǥ褦ˤ.
+ # bind により rectangle を drag できるようにする.
cb.push(c = TclTkCallback.new(ip, proc{|i|
- # i x y Τ, Ф.
+ # i に x と y を受け取るので, 取り出す.
x, y = i.split(/ /); x = x.to_f; y = y.to_f
- # ɸѹ.
+ # 座標を変更する.
ca1.e("coords current #{x - 5} #{y - 5} #{x + 5} #{y + 5}")},
- # x, y ɸǶڤäΤ򥤥ƥ졼ѿϤ褦˻.
+ # x, y 座標を空白で区切ったものをイテレータ変数へ渡すように指定.
"%x %y"))
- # rectangle bind .
+ # rectangle に bind する.
ca1.e("bind", idr, "<B1-Motion>", c)
pack.e(ca1)
@@ -605,7 +605,7 @@ end
# test driver
if ARGV.size == 0
- print "#{$0} n , n ĤΥ󥿥ץ꥿ưޤ.\n"
+ print "#{$0} n で, n 個のインタプリタを起動します.\n"
n = 1
else
n = ARGV[0].to_i
@@ -614,16 +614,16 @@ end
print "start\n"
ip = []
-# 󥿥ץ꥿, å.
+# インタプリタ, ウィジェット等の生成.
for i in 1 .. n
ip.push(Test1.new())
end
-# ѰդǤ饤٥ȥ롼פ.
+# 用意ができたらイベントループに入る.
TclTk.mainloop()
print "exit from mainloop\n"
-# 󥿥ץ꥿ GC 뤫Υƥ.
+# インタプリタが GC されるかのテスト.
ip = []
print "GC.start\n" if $DEBUG
GC.start() if $DEBUG
diff --git a/ext/tk/sample/tcltklib/sample2.rb b/ext/tk/sample/tcltklib/sample2.rb
index f187d6c..1acc180 100644
--- a/ext/tk/sample/tcltklib/sample2.rb
+++ b/ext/tk/sample/tcltklib/sample2.rb
@@ -7,12 +7,12 @@
#---------------------------------------------------------------------------
# Sep. 17, 1997 modified by Y. Shigehiro for tcltk library
-# maeda shugo (shugo@po.aianet.ne.jp) ˤ
-# (ruby/tk ǽ񤫤Ƥ) ruby Υץץ
+# maeda shugo (shugo@po.aianet.ne.jp) 氏による
+# (ruby/tk で書かれていた) ruby のサンプルプログラム
# http://www.aianet.or.jp/~shugo/ruby/othello.rb.gz
-# tcltk 饤֥Ȥ褦, ŪѹƤߤޤ.
+# を tcltk ライブラリを使うように, 機械的に変更してみました.
#
-# ʤ٤ꥸʥƱˤʤ褦ˤƤޤ.
+# なるべくオリジナルと同じになるようにしてあります.
require "observer"
require "tcltk"
@@ -343,14 +343,14 @@ class Othello
@board = Board.new(self)
@board_view = BoardView.new(self, @board)
#### added by Y. Shigehiro
- ## board_view 礭ꤹ.
+ ## board_view の大きさを設定する.
x1, y1, x2, y2 = @board_view.e("bbox all").split(/ /).collect{|i| i.to_f}
@board_view.e("configure -width", x2 - x1)
@board_view.e("configure -height", y2 - y1)
- ## scrollregion ꤹ.
+ ## scrollregion を設定する.
@board_view.e("configure -scrollregion {", @board_view.e("bbox all"),
"}")
- #### ޤ
+ #### ここまで
$pack.e(@board_view, "-fill both -expand true")
panel = TclTkWidget.new($ip, $root, $frame)
diff --git a/ext/tk/sample/tkextlib/tkHTML/page1/index.html b/ext/tk/sample/tkextlib/tkHTML/page1/index.html
index 9efac7f..af87289 100644
--- a/ext/tk/sample/tkextlib/tkHTML/page1/index.html
+++ b/ext/tk/sample/tkextlib/tkHTML/page1/index.html
@@ -90,7 +90,7 @@ everything and the Wirth of nothing?
All trademarks and copyrights on this
page are owned by their respective owners. Comments
are owned by the Poster.
- The Rest 1997-2000 <A href="http://Andover.Net">Andover.Net</A>.
+ The Rest 1997-2000 <A href="http://Andover.Net">Andover.Net</A>.
</FONT></CENTER>
</TD>
</TR>
diff --git a/ext/tk/sample/tkoptdb-safeTk.rb b/ext/tk/sample/tkoptdb-safeTk.rb
index 3972577..7502e30 100644
--- a/ext/tk/sample/tkoptdb-safeTk.rb
+++ b/ext/tk/sample/tkoptdb-safeTk.rb
@@ -20,7 +20,7 @@ if ENV['LANG'] =~ /^ja/
# read Japanese resource
ent = TkOptionDB.read_entries(File.expand_path('resource.ja',
File.dirname(__FILE__)),
- 'euc-jp')
+ 'utf-8')
else
# read English resource
ent = TkOptionDB.read_entries(File.expand_path('resource.en',
diff --git a/ext/tk/sample/tkoptdb.rb b/ext/tk/sample/tkoptdb.rb
index 75c21e7..0171e46 100644
--- a/ext/tk/sample/tkoptdb.rb
+++ b/ext/tk/sample/tkoptdb.rb
@@ -13,7 +13,7 @@ if __FILE__ == $0 || !TkCore::INTERP.safe?
# read Japanese resource
TkOptionDB.read_with_encoding(File.expand_path('resource.ja',
File.dirname(__FILE__)),
- 'euc-jp')
+ 'utf-8')
else
# read English resource
TkOptionDB.readfile(File.expand_path('resource.en',