自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

July 17, 2002

[tDiary] calendar3

ごめんなさい、表現が曖昧でした。

popupのtitle属性ではなく、<a>...</a>の間の部分のことでした(もしかしたらtitle属性の方も必要なのかも...)。

一応、自分で改造して使わせてもらうことにしました。

#パッチはMLの方に投げときますね。

[Misc] 画面にkがいっぱい

私の場合、よくワークステーションに向かいながら居眠りしていたのですが、あるとき、けたたましいビープ音に気づいて画面に目をやると3時間くらいかけて作ったソースコードが消えていました。

viのコマンドモードでdキーを押し続けてたんですね....。一瞬で目が覚めましたよ、ハハハハ......(T_T)。

#dキーってなんとなく押しやすいポジションなんだよなぁ。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

むとぽん [さすがにボーゼンとしました(^^;)。 まぁ、これは自分のせいなんでしょうがないですが、MS Wordが固まると悲し..]

なかだ [いちいち固まった程度で悲しんでたらMS Wordは使えません:)]

むとぽん [そうなんですけどねぇ。集中しているときとか、つい保存し忘れるんですよね...。]


July 17, 2006

[Ruby] Ruby-GetText-Package-1.7.0

出しました。前回はRuby-GetText本体の改修がメインだったのに対し、今回はRuby on Railsのサポートがメインになっています。どうぞお試しくださいませ。

  1. ActionView::Helpers::DateHelper.distance_of_time_in_words, ActionView::Helpers::ActiveRecordHelper.error_message_onがローカライズされるようになりました。
  2. ActiveRecord::Base.untranslate, .untranslate_allを追加しました。
  3. テーブルの"ID"はデフォルトで翻訳対象に含まれなくなりました。
  4. 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を使う

久しぶりにアップデートしました。現時点では英語版とほぼ同等になっています。ぜひご一読くださいませ。