createとすればよい。このsqlコマンドにはcreateなどのサブコマンドがあり、それを知るには、次のヘルプを入力すればよい。いままでは次のような答えが返ってきた。record)ところが、最新バージョンでは次のようになってしまう。--egg新バージョンのバグと思う。(月)TurboGearsをバージョンアップした。以前はバージョン1.0.1.1と、大分古いバージョン。新プロジェクトにTurboGearsを使用することにしたためのバージョンアップだ。新バージョンは1.0.8だ。この新バージョンでテストのため新プロジェクトを作成し、動かしたところ、動かない。WEBアクセス用のポートが既に使用されている、というエラーだ。そこで、ポートをいろいろ変更してみた。すべて同じエラーで起動できない。何かTurboGearsにバグがあるようだ。ネットでいろいろ調べた。この記事(ML)では、(予想されたとおり)「そのポートが使用済みなのでは」という回答が延々続くが、最後にやっと回答があった。それは、TurboGearsではなく、Cherrypyのソースを修正しなければならない、というもの。port)”行をコメントにすることで、無事に正常動作させることができるようになった。これはCherrypyのバグだったが、TurboGears1.0.8にはちょっとしたバグが残っているようだ。機会があれば報告する。(水)WEBアプリケーションにはValidatorの機能は必須だ。Validatorとは、WEBアプリケーションの画面で入力された各フィールドの値の正当性チェック機能だ。フィールドの入力有無チェック、整数フィールドの整数チェックや値の範囲チェックなどである。このValidator機能はJava/Servletなら自作しなければならないが、WEBアプリケーションフレームワークであればその機能はそのフレームワークに存在している。Java/Strutsの場合には各フィールドのチェック機能をXMLファイルに設定するValidatorが付いている。Python/TurboGearsにももちろんValidator機能は存在する。それはFormEncodeパッケージのValidator機能をTurboGearsが利用したものだ。このTurblGearsによるValidator機能は、ドキュメントや解説書どおりにプログラミングしても、エラーメッセージは英語である。value’というメッセージを出力する。英語のメッセージでは日本語アプリケーションには使えない。そこでこのValidatorメッセージの日本語化が必須なのだが、これがなかなか難物。そこでこの日本語化の過程を数回に分けて報告する。(結論としては、最上位のレベルでの日本語メッセージ化には成功していない。)最初にやるべきことは、TurboGearsのValidator機能の大元であるFormEncodeのエラーメッセージファイルの日本語化だ。これは、FormEncodeドキュメントによれば次の手順でやるように書いてある。<lang>/LC_MESSAGES/FormEncode.po最初の行のsvnコマンドは、既にインストール済みなので無視。<lang>は日本語なので”ja”とする。emacsの行は、エディターでメッセージファイルを日本語で記述するの意。このファイルの文字コードはutf-8でなければならない。結論を先に言うと、FormEncode.poファイル先頭部分の2行も次のように設定する必要がある。\python\tools下に存在する。Files”下にインストール)では次のようになる。ja/LC_MESSAGES/FormEncode.poこの結果、FormEncode.poと同じディレクトリにバイナリメッセージファイルのFormEncode.moファイルが生成される。次のステップは、日本語FormEncode.moファイルが正しく表示されるかどうかのテストだ。下のgettextレベルでテストした。value")...(localedirパラメータは1行。)ここで重要なことは、translation()メソッドのlocaledirパラメータだ。このパラメータにはFormEncodeのi18nディレクトリを指定するが、Windows環境ではファイルのロング名を指定してはならないのだ。Files\\Python25\\...では駄目。完全なショート名でなければならない。この周辺の話題はこのブログの記事Pythonは空白がお嫌いにある。value”に対応する日本語メッセージが正しく格納されていることを確認した。ここまでは割りと順調。