当然作るアプリは最初、日本語が使えれば良いということで、viewなどはガリガリ日本語で直接書いてしまうのが、手っ取り早くて良いような気がした。
しかし性格的に全体がカッチリしてないと次に進めないのか、多言語対応するための仕組みを調べ始めてしまう。めっちゃ参考にしているライド・オン・Railsでは、Special-GenerationとRuby-GetText-Packageが紹介されている。
Supecial-Generationはscaffoldジェネレータの拡張で、多言語対応というより、Ruby on Railsの中の日本語に対応しているミニフレームワークと言った雰囲気。ちょっと私の趣味に合わない気がしたのでスルーの方向で。
Ruby-GetText-Packageはスタンダードっぽい。こっちを採用し、ごにょごにょ始めることに。
躓いたのは、InstantRailsでpoファイルのマージが出来ないというところ。ライド・オン・RailsではRakefileを拡張し、rakeタスクとしてpoファイルを作成できるようにしているが、内部でmsgmergeというコマンドが使われており、それが見つからないらしい。msgmergeはGnu GetTextのコマンドの様だ。
InstantRailsのRubyのインストールセットの中にrmsgmergeというコマンドがあり、これをGnu GetTextの代わりに使えるという情報をゲットした。やり方は<InstantRails install path>\use_ruby.cmdファイルに
という行を追加するというもの。これではInstantRailsのruby用コマンドプロンプトからしか実行できないが、radrailsでPATHを指定する方法が分らず妥協するとする。
あと、use_ruby.cmdファイルの冒頭のコメント部に、「このファイルはInstantRailsによって生成されるので、テンプレートな<InstantRails install path>\conf_files\use_ruby.cmdファイルを編集するように」といった、お達しがあるのだが、言われるままに変更してもいっこうに、コマンドプロンプトの環境が変わらなかったため、仕方なく直接書き換えました。