GetTextによる日本語化の手順

通常の日本語化(プラグインを除く)

rakeファイル
lib/tasks/gettext.rake
以下のrakeファイルを追加する。
desc "Update pot/po files."
task :updatepo do
  require 'gettext/utils'
  GetText.update_pofiles(
    "softwarebook",  #テキストドメイン名(init_gettextで使用した名前) 
    Dir.glob("{app,config,components,lib}/**/*.{rb,rhtml}"),  #ターゲットとなるファイル
    "softwarebook 1.0.0")  #アプリケーションのバージョン
end

desc "Create mo-files"
task :makemo do
  require 'gettext/utils'
  GetText.create_mofiles(true, "po", "locale")
end
初めての翻訳
  • 翻訳対象を_()dで囲む。
  • RadRailsの「Rake タスク」タブで、updatepoを選択して、実行ボタン。
    • po/softwarebook.potファイルが作成される。
  • poフォルダの中にjaフォルダを作成する。
  • ターミナルで以下のコマンドを実行する。
cd ~/railsapp/softwarebook/po
msginit -i softwarebook.pot -o ja/softwarebook.po
    • po/ja/softwarebook.poファイルが作成される。
  • softwarebook.poファイルを翻訳する。
  • RadRailsの「Rake タスク」タブで、makemoを選択して、実行ボタン。
以降、翻訳ファイルを更新する場合は、以下の手順を繰り返し。
  • 翻訳対象を_()dで囲む。
  • RadRailsの「Rake タスク」タブで、updatepoを選択して、実行ボタン。
    • softwarebook.potファイルとsoftwarebook.poファイルが更新される。
  • softwarebook.poファイルを翻訳する。
  • RadRailsの「Rake タスク」タブで、makemoを選択して、実行ボタン。

LoginEngine、UserEngineを日本語化する場合

rakeファイル
vendor/plugins/user_engine/Rakefile
以下のrakeファイルを追加する。(UserEngineの場合)
desc "Create mo-files for L10n"
task :makemo do
  require 'gettext/utils'
  GetText.create_mofiles(true, "po", "locale")
end

$: << "../../../"
desc "Update pot/po files to match new version."
task :updatepo do
  require 'gettext/utils'
  GetText::ActiveRecordParser.init(:db_yml => "../../../config/database.yml")
  GetText.update_pofiles("user_engine", 
                         Dir.glob("{app,lib}/**/*.{rb,rhtml}"),
                         "user_engine 1.0.0")
end
vendor/plugins/user_engine/app/controllers/*_controller.rbへの追記

下記のように、init_gettext "user_engine"を追記する。(user、role、permissionのコントローラーすべてに追記する。)

class UserController < ApplicationController
  init_gettext "user_engine"
...(以下省略)...
初めての翻訳
  • 翻訳対象を_()で囲む。
  • ターミナルで以下のコマンドを実行する。
cd ~/railsapp/softwarebook/vendor/plugins/user_engine
updatepo
    • vendor/plugins/user_engine/po/user_engine.potファイルが作成される。
  • poフォルダの中にjaフォルダを作成する。
  • ターミナルで以下のコマンドを実行する。
cd ~/railsapp/softwarebook/vendor/plugins/user_engine/po
msginit -i user_engine.pot -o ja/user_engine.po
    • vendor/plugins/user_engine/po/ja/user_engine.poファイルが作成される。
  • user_engine.poファイルを翻訳する。
  • ターミナルで以下のコマンドを実行して完了。
cd ~/railsapp/softwarebook/vendor/plugins/user_engine
makemo
以降、翻訳ファイルを更新する場合は、以下の手順を繰り返し。
  • 翻訳対象を_()で囲む。
  • ターミナルで以下のコマンドを実行する。
cd ~/railsapp/softwarebook/vendor/plugins/user_engine
updatepo
    • user_engine.potファイルとuser_engine.poファイルが更新される。
  • user_engine.poファイルを翻訳する。
  • ターミナルで以下のコマンドを実行して完了。
cd ~/railsapp/softwarebook/vendor/plugins/user_engine
makemo