[gettext-u-ja] GetText 標準添付に向けて

Masao Mutoh mutoh at highway.ne.jp
Wed Sep 14 12:38:53 EDT 2005


むとうです。

#必要なところだけ。

On Tue, 13 Sep 2005 19:30:25 +0900 (JST)
speakillof <speakillof at yahoo.co.jp> wrote:

> speakillofです。

> > ModelでL10nなんて要望はあるのかなぁ。できるに越したことは無い
> > でしょうが、通常ではなくて特殊な場合はbindtextdomain呼ぶ、
> > というのは現実的ではありますね。
> 
> http://wota.jp/ac/?date=20050802#p01
> 
> こっちに具体例がかかれていますけど、
> ActiveRecord::Base のサブクラスにエラーメッセージを
> 書いたりしています。
> これが Rails の流儀なのかな?

これはあるでしょうね。
 
> > えっと、案1だとどうして両者を解消できるんでしたっけ?
> > トップレベルでbindtextdomainを呼んでしまう?
> 
> module Foo
>   
>   GetText.bindtextdomain( ... ) 
> 
>   # いわゆる Model 
>   class Hoge < ActiveRecord::Base
>   end
> 
>   # いわゆる Controller 
>   class FooController < ApplicationController
>   end
> 
> end
> 
> とすれば Hoge と FooController で textdomain を共有できます。
> これくらいは妥協できるでしょう。多分。

どうなんでしょうか。こうなると、

class Hoge < ActiveRecord::Base
  textdomain "foo"
end

でいいんじゃないかなぁ。DRYに反するとは言っても、module Foo;endは
毎回書くんだったら、こっちの方が簡単な気がします。
#必要なModelだけに書けばいいので。

それから、試してないからよくわからないのですが、
Foo::HogeってRailsで読み込める形態なのかもちょっと心配です。
ファイル名はfoo_hoge.rb?

他のどこかでActiveRecord::Baseを上書きできる場所があるといいのですが。
#controllerのapplication.rbみたく。

> > あとは、やっぱりselfを引数に渡すのには抵抗ありですね。
> > やはり、これがどうにかなると良いのですが。
> これは binding(n) が実装されるか、
> Module.bindtextdomain を定義してしまうか、
> のいずれかになるかと思います。

だとすればModule.bindtextdomainを定義してしまう案でしょうね。
他によい案があるといいのですが。

-- 
.:% Masao Mutoh<mutoh at highway.ne.jp>


More information about the gettext-users-ja mailing list