[Hiki-dev:00685] Re: 国際化

Back to archive index

Masao Mutoh mutoh****@highw*****
2005年 3月 5日 (土) 02:17:27 JST


むとうです。

On Fri, 04 Mar 2005 21:06:03 +0900
Kazuhiko <kazuh****@fdiar*****> wrote:

> かずひこです。
> 
> At Fri, 04 Mar 2005 20:53:06 +0900,
> Kazuhiko wrote:
> 
> > > def label_hoge
> > >   'デフォルトのラベル'
> > > end unless methods.include?('label_hoge')
> > > 
> > > とかやればできますが、いくらなんでもですよね。
> > 
> > tdiary のプラグインを眺めていたら、以下のように書けることに気づきました。
> > 
> > def label_hoge
> >   'デフォルトのラベル'
> > end unless @resource_loaded
> > 
> > これなら許せる範囲じゃないでしょうか?
> 
> ああ、よく考えたら
> 
>   @conf.lang (デフォルトは 'ja') のリソースをロード
>>   なければ 'en' のリソースをロード
>>   それもなければ 'ja' のリソースをロード
>>   それはそれとして最後にプラグイン本体をロード
> 
> という仕組みになっているために、上記の手はどっちも無理でした ('fr' リソー
> スだけあるとかでない限り) 。
> 
> すみませんが、やっぱり多言語対応するプラグインのリソースは分けてください。

まぁ、今までのやり方(メソッドのオーバーライド)を
踏襲するとそうなりますね。
いっそ、違うアプローチも考えるのも手かもしれません。

例えば、変数を使う方法とか。

en/foo.rb
@label_hoge = "English"

fr/foo.rb
@label_hoge = "French"

foo.rb(本体)
@label_hoge ||= "日本語"


-- 
.:% Masao Mutoh<mutoh****@highw*****>



Hiki-dev メーリングリストの案内
Back to archive index