Update: Radiant CMSのバージョン0.6.2への対応版から、Radiant CMSのExtension形式にパッケージを変更していますので、以下の情報はもうすぐ古くなります(2007-06-29)。
加藤です。
Ruby on Railsで作られたCMSツールの Radiant CMS をGettextで国際化するプロジェクトを立ち上げました。
- Radiant Gettext (エアーズラボ)
- Radiant Gettext (RubyForge)
ドキュメントが全然できていないのとインストール手順を改善したいので、それまでパッケージとしてはリリースしませんが、アプリケーションの日本語化がほぼ完了したソースを以下の手順で利用できます。まだ検証段階なので試験的にお試しください。なお、Radiant CMSは0.6.1、Ruby-Gettextは1.9.0のバージョン限定です。いまのところWindows環境では動かないと思います。僕はmacとlinuxでしか確認していませんが、windows環境のcygwinでも動かせるそうです。
インストール手順
はじめにRadiant CMSがインストールされていない場合は、そちらをRuby Gemsでインストールしてください。
% sudo gem install --include-dependencies radiant
また、Ruby-GetText-Packageも必要です。こちらも入っていない場合はRuby Gemsでインストールしておきましょう。
% sudo gem install gettext
次にインストールされたRadiant CMSのコマンドで新しいプロジェクトを作成してください。コマンドでは使用するデータベースのタイプ(MySQL | PostgreSQL | SQLite)とプロジェクト名を指定します。以下はMySQLでexampleという名前のプロジェクトを作成する例です。
% radiant --database mysql example
上記のコマンドでMySQL用のconfig/database.ymlが作成されているので、それに合わせてデータベースを作成します。以下はMySQLでdevelopment環境用のデータベースを作成する例です。
% mysqladmin -u root create example_development
次にプロジェクトのルートディレクトリに移動してRadiant CMSのrakeタスクを利用してバージョンを固定します。Radiant GettextではRadiant CMSにパッチをあてるかたちで国際化するため、この手順でそれに必要なアプリケーションのコードをダウンロードしてきます。
% cd example % rake radiant:freeze:edge TAG=rel_0-6-1 % rake radiant:update
データベースの初期化をおこないます。途中で管理者ユーザーの作成やテンプレートの作成を求められますので、必要事項を入力してください。
% rake db:bootstrap
RubyForgeのリポジトリからRadiant Gettextのソースを取得します。Radiant GettextはRuby on Railsのプラグインになっていますのでvendor/plugins以下に配置するようにします。バージョン0.6.2がリリースされましたので、エクスポート元をtrunkから0.6.1用のリリースブランチに変更しました(2007-06-27)。
% svn export svn://rubyforge.org/var/svn/radiantgettext/branches/rb_0-6-1/radiant_gettext vendor/plugins/radiant_gettext
Radiant Gettextの初期化を以下のrakeタスクでおこないます。これによりGettext化するパッチの適用とローカライズファイルのコピー、moファイルの生成などがおこなわれます。
% rake radiant:gettext:bootstrap
以上でインストールは完了です。サーバーを起動します。
% ./script/server
http://localhost:3000/admin/loginにアクセスすると日本語化された管理画面にアクセスできます。

管理画面の翻訳が気にくわない、日本語や英語以外の管理画面が欲しいといった場合はpoファイルを編集して、以下のrakeタスクを実行することで新しいローカライズファイルを利用することができます。
% rake radiant:gettext:make_mo
Radiant GettextではRadiant CMS本体に手を入れる必要があったので、パッチを含むRailsプラグインという形式で開発をすすめていますが、Radiant CMSにはExtentionという拡張の仕組みがあるので、通常の機能拡張であればExtensionとして作成するのがおすすめです。
Extensionの作成方法が本家サイトでチュートリアルとして公開されているので、ぜひそちらも参考にしてみてください。
最後に、このエントリーを書いているときにRadiant CMSの0.6.2がリリースされました。少し様子を見て、新しいバージョンへの対応も検討していきたいと思います。