Create  Edit  Diff  FrontPage  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

日程調整アプリを作ろう-8-

今回分実装済みのサンプル:adjuster.zip*注意!!日程調整アプリを拡張しよう-1-も実装済です。

実装 -6-

作業手順

今回はRuby-GetTextを使って国際化を行います。

  1. カラム名を修正する
  2. カラム名の修正に併せて、モデル、ビューを修正する
  3. Glade/GTK+ for WindowsのDevelopment Environmentをインストール
  4. gemからRuby-GetTextをインストールする
  5. モデルを翻訳
  6. コントローラを翻訳

カラム名を修正する

早速国際化を進めたい所ですが、進める前に一点まずい所を修正します。EventとUserにnameというカラムがありますが、Eventは件名、Userは名前の意味です。

これを翻訳しますとEventも名前と翻訳されてしまいます。 Eventの方がネーミングミスですのでカラム名をtitleに修正します。

"ruby script/generate migration rename_column_to_events"と入力して実行します。

08-0001.gif

作成された007_rename_column_to_events.rbを以下のように編集します。

08-0002.gif

"rake db:migrate"と入力、実行します。ところで、config.breakpoint_server..って邪魔ですね。config/environments/development.rbにありますので、コメントするなり削除するなりして下さい。

08-0003.gif

カラム名の修正に併せて、モデル、ビューを修正する

app/views/event/list.rhtmlを以下のように修正します。

08-0004.gif

app/views/event/_form.rhtmlを以下のように修正します。

08-0005.gif

app/views/event/show.rhtmlを以下のように修正します。

08-0006.gif

app/views/schedule/list.rhtmlを以下のように修正します

08-0007.gif

app/views/user_schedule/list.rhtmlを以下のように修正します

08-0008.gif

app/models/event.rbのvalidates_presence_ofを以下のように修正します。

08-0009.gif

Glade/GTK+ for WindowsのDevelopment Environmentをインストール

Windowsの場合(not cygwin)、翻訳ファイルをマージ出来るようにGlade/GTK+ for WindowsのDevelopment Environmentをインストールします。

http://gladewin32.sourceforge.net/

こちらからダウンロードして、インストーラに従いインストールして下さい。

gemからRuby-GetTextをインストールし、プロジェクトを国際化する

"gem install gettext"と入力し、実行します。それからプロジェクト直下にpoというフォルダとその下にjaというサブフォルダを作成しておきましょう。

08-001.gif

config/environment.rbに以下のように追加します。

08-002.gif

app/controllers/application.rbに以下のように追加します。

08-003.gif

翻訳対象を抽出するRakeを準備します。lib/tasks/gettext.rakeを作成し、以下のように記述します。このgettext.rakeのupdate_pofilesとapplication.rbのinit_gettextの第一引数名は必ずあわせて下さい。今回の場合はadjuster。

08-005.gif

ここで一旦確認してみましょう。サーバを起動し、試しにユーザを名前やメールが空のまま新規に登録を試みて下さい。

08-004.gif

既にエラーメッセージが日本語化されてますね。

モデルを翻訳

モデルのカラムを翻訳してみましょう。 "rake updatepo"と入力して実行します。

08-005-002.gif

"msginit -i po/adjuster.pot -o po/ja/adjuster.po"と入力して実行します。

08-005-1.gif

po/ja/adjuster.poを開くと、各モデルのカラムが抽出されています。以下のような感じに記述していきます。

08-007.gif

"rake makemo"と入力し、実行します。

08-007-1.gif

確認してみましょう。カラム名が日本語化されましたね。

08-009.gif

ビューを翻訳

次はビューを翻訳します。app/views/以下の各ファイルを適宜修正します。_()で抽出対象を括って下さい。なお、元々静的な文字列(この例ではListning Users)は新たに<%= %>で囲った上で_()で括って下さい。

08-008.gif

抽出します。"rake updatepo"と入力し、実行します。

08-006.gif

再びpo/ja/adjuster.poを開き、日本語を記述していきます。

08-010.gif

"rake makemo"を実行し、確認してみましょう。

08-011.gif

コントローラを翻訳

最後コントローラを翻訳します。app/controllers/以下のファイルを適宜修正します。

08-013.gif

"rake updatepo"を実行し、po/ja/adjuster.poを編集。

08-016.gif

"rake makemo"を実行し、確認。

08-014.gif

次は?

次回はメール配信、テストのいずれかを行います。

目次前ページへ次ページへ?
Last modified:2008/06/11 13:36:51
Keyword(s):
References:[日程調整アプリを作ろう] [日程調整アプリを作ろう-7-]