fc2ブログ

2023.08 «  - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 » 2023.10
TOP > Ruby-GetText初体験その6【po ファイルと mo ファイル】

 ← タイトルをリニューアルしました! | TOP | Ruby-GetText初体験その5【ファイルをUTF-8で日本語書き換え】

Ruby-GetText初体験その6【po ファイルと mo ファイル】 

2007年09月25日 ()

その1【インストールしてみる】
その2【英語のアプリをまず作成】
その3【日本語を使うぞ宣言】
その4【require 'gettext/rails' と init_gettext】
その5【ファイルをUTF-8で日本語書き換え】
その6【po ファイルと mo ファイル】



いよいよ、Ruby-GetText の醍醐味の po ファイルと mo ファイルの作成といきますか!

例によって、本家のサイト様を参考に、必要と思われる箇所だけを抜粋して実行します。

■Rakefile を編集して、新たな rake コマンドを付け加える。
↓の行を Rakefile の末尾に追加して、rake updatepo コマンドと rake updatemo コマンドを追加します。
なお、book_mng_textdomain と指定してあるのは、rails_root/app/controllers/application.rb ファイルの中で、init_gettext の値として book_mng_textdomain を指定したからです。

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

desc "Create mo-files"
task :makemo do
  require 'gettext/utils'
  GetText.create_mofiles(true, "po", "locale")
end



■rake updateo コマンドを実行して、po/book_mng_textdomain.pot ファイルを生成
この book_mng_textdomain.pot ファイルが、翻訳ファイルの元になります。ただし、このファイルは直接編集しませんが。

# rake updatepo



■po/ja ディレクトリを新規作成
book_mng_textdomain.pot をコピーする先のディレクトリを作ってあげます。ja という名前のディレクトリは、日本語だから ja になります。おフランス語だったら fr になるそうです。

# mkdir po/ja



■po/ja ディレクトリに、po/book_mng_textdomain.pot ファイルを名前を変えてコピー
拡張子が pot から po に変わることに注意しながら、po/ja ディレクトリへファイルをコピーします。

# cp po/book_mng_textdomain.pot po/ja/book_mng_textdomain.po



■po/ja/book_mng_textdomain.pot ファイルを編集
さていよいよ翻訳です。
と言ってもちょこっとだけですね、今回翻訳するのは。
po/ja/book_mng_textdomain.pot の中の以下の箇所を翻訳して差し上げます。

po/ja/book_mng_textdomain.pot
BEFORE

#: app/models/book.rb:-
msgid "book"
msgstr ""

#: app/models/book.rb:-
msgid "Book|Title"
msgstr ""

#: app/models/book.rb:-
msgid "Book|Author name"
msgstr ""

#: app/models/book.rb:-
msgid "Book|Author gender"
msgstr ""

#: app/models/book.rb:-
msgid "Book|Isbn"
msgstr ""

#: app/models/book.rb:-
msgid "Book|Price"
msgstr ""



↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

po/ja/book_mng_textdomain.pot
AFTER

#: app/models/book.rb:-
msgid "book"
msgstr ""

#: app/models/book.rb:-
msgid "Book|Title"
msgstr "タイトル"

#: app/models/book.rb:-
msgid "Book|Author name"
msgstr "著者名"

#: app/models/book.rb:-
msgid "Book|Author gender"
msgstr "著者の性別"

#: app/models/book.rb:-
msgid "Book|Isbn"
msgstr "Isbn"

#: app/models/book.rb:-
msgid "Book|Price"
msgstr "価格"



■mo ファイルを生成
以下のコマンドを実行するだけで、locale/ja/LC_MESSAGES/book_mng_textdomain.mo というファイルが勝手に作成されて完了です!

# rake makemo



■Web サーバ再起動

# script/server


(※再起動しないと、一番最初の"book"がうまく訳されて表示されない・・・ということが起きたため。)


じゃじゃじゃじゃーん。以上で po ファイルと mo ファイルの巻が終わりました。

実は、もっともっと Ruby-GetText で出来ることがあるのですが、あとはマニュアル任せということにいたします。

ではさようならぁ。

[追記 07/11/23 勤労感謝の日]
ディレクトリを作る UNIX コマンドが makedir となっていました。正しくは、mkdir なので書き直しました。orz

【広告】

[2007.09.25(Tue) 00:44] 日本語化Trackback(0) | Comments(0)
↑TOPへ

 ← タイトルをリニューアルしました! | TOP | Ruby-GetText初体験その5【ファイルをUTF-8で日本語書き換え】

COMMENT

COMMENT POST















管理者にだけ表示

 ← タイトルをリニューアルしました! | TOP | Ruby-GetText初体験その5【ファイルをUTF-8で日本語書き換え】