トップ «前の日記(2006-04-30) 最新 次の日記(2006-05-02)» 編集

日々の破片

著作一覧

2006-05-01

_ RailsでRuby-GetText使ってみる

どうも面倒くさそうに思うのは、いろいろ書いてあるけどgettextそのものが必要なんじゃないかな、とかそのあたり。MSWin32は外部のライブラリを用意するのが面倒だ。

でも、実際にやってみたら拍子抜けするほどあっさりできた(追記:つまりGNU gettextそのもののインストールは不要ということ。gemでgettextをinstallする以外にインストールする必要があるものはなかった)。すばらしい。

でも、「Ruby on RailsでRuby-GetText-Packageを使う」のページなんだけど、ちょっと引っかかった箇所がある。

Wikiなんだけど、なんとなくむとぽんさんのところは書いて良いのかどうか、そもそも外部の人間が編集できるのか、わからない(わかりにくい、が正確かな?)。それに、参照情報なだけに、もし間違ったことを書いてしまうとすごくまずい。

というわけで、ここに書いておくのだが。環境はOne-Click InstallerによるMswin32 1.8.4(ASRしか使わないわけではない)。iconvは同梱されているバージョン。

1. makepoタスクのglobの引数。

GetText.update_pofiles("blog", Dir.glob("{lib,bin}/**/*.{rb,rhtml}"), "blog 1.0.0")

となっているけど

GetText.update_pofiles("blog", Dir.glob("{app,vendor}/**/*.{rb,rhtml}"), "blog 1.0.0")

が正しいと思う(Railsのバージョンに依存しているのかも)。

マイグレーションに文字列を使っている場合は、さらに、{app,vendor}の部分を{app,vendor,db}にする必要があると思う。Rakeのスクリプトにも使っていれば、{rb,rhtml}の部分を{rb,rhtml,rake}にする必要もある。なんか、全部、当たり前のことのように今は思うが、最初は書いてある通りにやったから引っかかったのであった。

2.これは常識なのかも知れない(僕がちゃんと読んだのはRailsのページだけだし)けど、poファイルはUTF-8で書く必要がある。なんとなくネイティブな文字コードで良いのかと思ってWindows-31Jで書いたら何も起きなくて(makemoもエラーとかにはならなかったし)ちょっと困惑した(というか、トライエラーしたのだが、第2候補くらいに試したのですぐ解決した)。あと、メモ帳のBOM付きUTF-8でもちゃんと処理してくれたので、これは良いと思った。

以上。

追記:2点目について。「Ruby-GetText-Package開発手順」の「ローカライズする」の箇所にContent-Typeに指定した文字コードを使えと明記してあった。ドキュメントは全部読めということで。

本日のツッコミ(全2件) [ツッコミを入れる]
_ むとう (2006-05-02 02:35)

ドキュメントは、私の方で直しておきます。<br><br>それから、GNU GetTextですが、rake updatepoを使う場合はそこに含まれるmsgmerge.exeを使う関係で必要になります。<br><br>もちろん、ランタイムはGNU GetTextはインストール不要です。

_ arton (2006-05-02 03:32)

どうもありがとうございます。よろしくお願いいたします。<br>updatepoは、最初いちいちpoを消して試していたのでmsgmergeの必要性に気づきませんでした。確かに入れておくほうがよさそうですね。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

ジェズイットを見習え