[Seasar-user:16670] Re: [Teeda]cooldeploy でラベルの言語切替ができない

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 1月 14日 (水) 11:30:03 JST


海野です。

ごめんなさい!
こちらのミスでした。

>> Seasar-user:13080 の方式で、
>> 英語と日本語の切替ができるようにしています。

ユーザが選択した言語をcookieに保存して、
そのcookieから判断して言語切替しているのですが、
cookieが存在しない場合はラッパーの中でLocaleをnewしていて、
その際のデフォルトLocaleがjaになっていました。

newした後に
    Locale.setDefault(new Locale("en"));
したら解決しました。

お騒がせしてすみませんでした。



> 海野です。
>
> その後、分かったことをお知らせします。
>
> javax.faces.internal.LabelUtil#getLabelValueメソッドで
>
>     MessageResourceBundle bundle = MessageResourceBundleChainFactory
>             .createChain(propertiesName, locale);
>
> と取得しているbundleが、coolでは locale=en の場合でも
> 内容が日本語になっていたので、さらに追ってみたところ
>
> javax.faces.internal.MessageResourceBundleChainFactory#createSimpleMessageRe
> sourceBundleメソッド
>
>     if (HotdeployUtil.isHotdeploy()) {
>         return MessageResourceBundleFactory.getNullableBundle(bundleName,
>                 locale);
>     } else {
>         return new JavaMessageResourceBundle(bundleName, locale);
>     }
>
> でcoolの場合にnewしているJavaMessageResourceBundleが、
> locale=en にもかかわらず日本語のラベルが取得されてしまいます。
> hotの場合の
>
>         return MessageResourceBundleFactory.getNullableBundle(bundleName,
>                 locale);
>
> では、localeに応じたMessageResourceBundleが返されます。
> ここまで分かりましたが、どうすれば解決するのかが分かっていません。。
>
> 宜しくお願い致します。
>
>
>> 海野です。
>> お世話になっております。
>>
>> Seasar-user:13080 の方式で、
>> 英語と日本語の切替ができるようにしています。
>>
>> しかし、hotdeployでは切替が有効なのですが
>> cooldeployでは常に日本語が表示されてしまいます。
>> (常に英語なら少しは納得もいくのですが)
>>
>> Seasar-user:9026
>> も読みましたが、cooldeployでのコンポーネント登録時に
>> toomany..の例外は発生していません。
>>
>> またRequestDumpFilterで出力したログを
>> hotとcoolで日本語、英語それぞれ見比べたところ
>> hotとcoolとも日本語選択時には
>>   [request]javax.servlet.jsp.jstl.fmt.locale.request=ja
>> と出力され、英語選択時には
>>   [request]javax.servlet.jsp.jstl.fmt.locale.request=en
>> と出力され、差がありませんでした。
>>
>> デバッガで追ってみても、HttpServletRequestのラッパーに実装した
>> getLocales()は、選択された言語を返しています。
>>
>> どこを調査すればよいか、教えていただけませんでしょうか。
>>
>> 環境は次の通りです。
>> Seasar2.4.32
>> Teeda1.0.13-sp4
>>
>> 宜しくお願い致します。
>>
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>




Seasar-user メーリングリストの案内