2

フランス系カナダ人の顧客に英語またはフランス語を表示するためにローカリゼーションを使用するWebアプリケーションがあります。

ユーザーの地域設定に基づいて、問題なく機能しています。ただし、地域の設定がフランス語に設定されている場合は、ユーザーが英語に戻れるようにする必要があります。

必要に応じて、ユーザーの地域設定を上書きすることはできますか?もしそうなら...これをどのようにコーディングしますか?(たとえば、レイアウトページに英語というリンクがある場合、これをクリックすると、英語またはフランス語に戻ります)

また、リソースファイルを使用してテキスト文字列を保存し、同じビューのセットを使用しています。

4

2 に答える 2

1

ボタンをクリックして言語を選択した後のコードのどこか:

Session["customLocalization"] = "de-DE"; //Or whatever language

Global.asaxで

protected void Application_BeginRequest(object sender, EventArgs e)
{   
    String sessionOverrideLocale;    
    if (HttpContext.Current != null && HttpContext.Current.Session != null) 
    {
        sessionOverrideLocal = (String) HttpContext.Current.Session["customLocalization"];
    } 
    if (sessionOverrideLocale != null) 
    {
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(sessionOverrideLocale);
        Thread.CurrentThread.CurrentCulture = new CultureInfo(sessionOverrideLocale);
    }
}
于 2012-11-14T17:35:22.283 に答える
0

はい、可能ですが、現在、ユーザーが現在レンダリングされている領域を変更できるようにした、最近作業したコードにアクセスできません。

これを行うことに関して非常に詳細に入るブログ投稿があります。彼はMVC3を使用していると私が信じている古い投稿を持っていて、この新しい投稿はMVC4の観点から書かれているので、これでカバーする必要があります。

お役に立てば幸いです。

http://geekswithblogs.net/shaunxu/archive/2012/09/04/localization-in-asp.net-mvc-ndash-upgraded.aspx

于 2012-11-14T17:36:04.077 に答える