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

Rails' Wiki - AdjusterTutorial-0008 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}

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

!実装 -6-
!!作業手順
今回はRuby-GetTextを使って国際化を行います。

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

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

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

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

{{attach_view(08-0001.gif)}}

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

{{attach_view(08-0002.gif)}}

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

{{attach_view(08-0003.gif)}}


!!カラム名の修正に併せて、モデル、ビューを修正する
app/views/event/list.rhtmlを以下のように修正します。

{{attach_view(08-0004.gif)}}

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

{{attach_view(08-0005.gif)}}

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

{{attach_view(08-0006.gif)}}


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

{{attach_view(08-0007.gif)}}

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

{{attach_view(08-0008.gif)}}

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

{{attach_view(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というサブフォルダを作成しておきましょう。

{{attach_view(08-001.gif)}}

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

{{attach_view(08-002.gif)}}

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


{{attach_view(08-003.gif)}}

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

{{attach_view(08-005.gif)}}

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

{{attach_view(08-004.gif)}}

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


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

{{attach_view(08-005-002.gif)}}

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


{{attach_view(08-005-1.gif)}}

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

{{attach_view(08-007.gif)}}

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

{{attach_view(08-007-1.gif)}}

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

{{attach_view(08-009.gif)}}

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

{{attach_view(08-008.gif)}}

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

{{attach_view(08-006.gif)}}

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

{{attach_view(08-010.gif)}}

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

{{attach_view(08-011.gif)}}

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

{{attach_view(08-013.gif)}}

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

{{attach_view(08-016.gif)}}

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

{{attach_view(08-014.gif)}}

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

||[[目次|AdjusterTutorial]]||[[前ページへ|AdjusterTutorial-0007]]||[[次ページへ|AdjusterTutorial-0009]]||