ここでは、国際化されたコマンドの一例を紹介します。
set 今日は こんにちは =>こんにちは puts $今日は =>こんにちは |
string length "abc" =>3 string length "みかん" =>3 |
# UNICODEのEscapeシーケンス set code "\u306F" =>は # 日本語文字列の置換 regsub {日.} {今日わ良い天気だわ} {日は} var =>1 puts $var =>今日は良い天気だわ # 正規表現で日本語の比較 switch -regexp {にっぽん} { に?[ほぽ]ん|日本 {puts 日本} default {puts 外国} } =>日本 |
font families =>System @System FixedSys @FixedSys Terminal @Terminal {MS Serif} {MS Sans Serif} Courier Symbol {Small Fonts} Roman Script Modern 8514oem fixed {HM Phonetic} Marlett Arial {Courier New} {Times New Roman} Wingdings Symbol {MS 明朝} {MS P明朝} {@MS 明朝} {@MS P明朝} ... |
デフォルトのフォントを手っ取り早く設定する方法です。
Windows版のデフォルトは、{{MS Sans Serif} 8}になっています。
option add *Font {{MS 明朝} 10} |
encoding names =>cp860 cp861 cp862 cp863 cp864 cp865 cp866 gb12345 cp949 cp950 cp869 dingbats ksc5601 macCentEuro cp874 macUkraine jis0201 gb2312 euc-cn euc-jp macThai jis0208 iso2022-jp macIceland iso2022 jis0212 cp737 big5 euc-kr macRomania macTurkish iso2022-kr gb1988 macGreek ascii cp437 macRoman iso8859-1 iso8859-2 iso8859-3 macCroatian koi8-r iso8859-4 cp1250 iso8859-5 cp1251 macCyrillic iso8859-6 cp1252 macDingbats iso8859-7 cp1253 iso8859-8 cp1254 iso8859-9 cp1255 cp850 cp1256 cp932 cp1257 cp852 identity cp1258 macJapan shiftjis utf-8 cp855 cp936 cp775 symbol cp857 unicode |
encodingを指定してコード変換をする。
# 日本語EUCコードをUNICODEに変換する。 encoding convertfrom euc-jp "\xA4\xCF" =>は # UNICODEを日本語EUCコードに変換する。 encoding convertto euc-jp "\u306F" =>■ |
# 日本語SJISコードのファイルを読み込んで日本語EUCコードのファイルを書き込む set fd1 [open "foo.txt" r] set fd2 [open "bar.txt" w] fconfigure $fd1 -translation crlf -encoding shiftjis fconfigure $fd2 -translation lf -encoding euc-jp while {[gets $fd1 line] > 0} { puts $fd2 $line } close $fd1 close $fd2 |
# 英語のメッセージ format "We produced %1\$d units in location %2\$s" $num $city # 日本語のメッセージ format "私達は、%2\$s で %1\$d 組のユニットを演出しました。" $num $city |
# sample.tcl package require msgcat 1.0 namespace import msgcat::* msgcat::mcload [file join [file dirname [info script]] msg] set env(LANG) ja_JP pack [button .b -text [mc "Push Me"]] |
# msg/ja_JP.msg mcset ja_JP "Push Me" "押してください" |