Ruby言語やLinuxのネタが多いです。
July 17, 2002
■ [tDiary] calendar3
ごめんなさい、表現が曖昧でした。
popupのtitle属性ではなく、<a>...</a>の間の部分のことでした(もしかしたらtitle属性の方も必要なのかも...)。
一応、自分で改造して使わせてもらうことにしました。
#パッチはMLの方に投げときますね。
■ [Misc] 画面にkがいっぱい
私の場合、よくワークステーションに向かいながら居眠りしていたのですが、あるとき、けたたましいビープ音に気づいて画面に目をやると3時間くらいかけて作ったソースコードが消えていました。
viのコマンドモードでdキーを押し続けてたんですね....。一瞬で目が覚めましたよ、ハハハハ......(T_T)。
#dキーってなんとなく押しやすいポジションなんだよなぁ。
July 17, 2006
■ [Ruby] Ruby-GetText-Package-1.7.0
出しました。前回はRuby-GetText本体の改修がメインだったのに対し、今回はRuby on Railsのサポートがメインになっています。どうぞお試しくださいませ。
- ActionView::Helpers::DateHelper.distance_of_time_in_words, ActionView::Helpers::ActiveRecordHelper.error_message_onがローカライズされるようになりました。
- ActiveRecord::Base.untranslate, .untranslate_allを追加しました。
- テーブルの"ID"はデフォルトで翻訳対象に含まれなくなりました。
- gettext/rails.rbの内部構成を見直しました。
2つめのuntranslate(_all)ですが、これは以下のようにmodelに対して使います。
class Article < ActiveRecord::Base untranslate :title, :description end class Article < ActiveRecord::Base untranslate_all end
上のパターンでは、title, descriptionフィールドが翻訳対象としてpoファイルに出力されなくなります。下のパターンではArticleテーブルの情報が全てpoファイルに出力されなくなります。翻訳者に訳す必要の無い項目まで提示するのはあまりよろしくないでしょうから、その場合はこまめにこの機能を使うと良いと思います。なお、この見直しの際、"ID"はフツーつかわねーだろ、ということで翻訳対象から外しました。テーブルに関係なく翻訳対象外、としたい場合はGetText::ActiveRecordParser.init(config)の:untranslate_columnsオプションを使います。
■ [Rails] validateのローカライズ
validates_* だけではなく、validateメソッドのerrors.addするメッセージもローカライズできます。ライド・オン・Rails Ruby on Railsを徹底攻略のisbnの例を使うと、こんな感じ。
class Book < ActiveRecord::Base
protected
def validate
errors.add("isbn", _("%{fn} has invalid format: %{isbn}") % {:isbn => isbn}) unless isbn =~ /\A[0-9X]+\z/
end
end
N_()ではなく_()を使っているところに注意してください。n_()も使えます。実はN_()でもいけるんですけど、このタイミングで_()を使うようにすると、上記の例のように%{isbn}として後から情報を埋め込むことができます。
#ここの場合のN_()はクラスメソッドとして使うためのものです。
■ [Rails] Ruby on RailsでRuby-GetText-Packageを使う
久しぶりにアップデートしました。現時点では英語版とほぼ同等になっています。ぜひご一読くださいませ。

Before...
▲ むとぽん [さすがにボーゼンとしました(^^;)。 まぁ、これは自分のせいなんでしょうがないですが、MS Wordが固まると悲し..]
▲ なかだ [いちいち固まった程度で悲しんでたらMS Wordは使えません:)]
▲ むとぽん [そうなんですけどねぇ。集中しているときとか、つい保存し忘れるんですよね...。]