Radiant GettextでRadiant CMSを日本語化する

Update: Radiant CMSのバージョン0.6.2への対応版から、Radiant CMSのExtension形式にパッケージを変更していますので、以下の情報はもうすぐ古くなります(2007-06-29)。

加藤です。

Ruby on Railsで作られたCMSツールの Radiant CMS をGettextで国際化するプロジェクトを立ち上げました。

ドキュメントが全然できていないのとインストール手順を改善したいので、それまでパッケージとしてはリリースしませんが、アプリケーションの日本語化がほぼ完了したソースを以下の手順で利用できます。まだ検証段階なので試験的にお試しください。なお、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がリリースされました。少し様子を見て、新しいバージョンへの対応も検討していきたいと思います。

Bookmark and Share