2009-04-29 11 views
4

Visual Studio 2008ASP.NET MVCのローカリゼーション

ASP.NET MVCサイトにローカリゼーションを導入したいと思います。

誰かが「うまく動作し、私は、ファイルを追加するために進めた私は

<title><%= Strings.MyView_Title %></title> 

を書くことができます公に強く型付けされたリソースとしてStrings.da.resxを「Strings.resxを」リソースファイルを作成する提案しました"このファイルは、最初のもののすぐ隣に作成され、デフォルトは「アクセス修飾子:コンパイルなし」ですが、最初のもの(言語修飾子なしのもの)はデフォルトで「インターラル」になります。

私はbinディレクトリにresource.dllでディレクトリが作成されていることを確認できますが、自分のサイトで翻訳されたテキストは表示されません。

唯一の優先言語がデンマーク語(da-DK)だとブラウザで確認しましたが、英語のテキストしか表示されません。

質問: 1)web.configで何かを有効にする必要がありますか? 2)適切な種類の正しいファイルを作成していますか(#2は「No compilation」ですか)?

答えて

6

あなたの意見では、ページの指示がありますか? もしそうなら、あなたはUICulture = "Auto"とCulture = "Auto"を持っていますか?例えば

...

<%@ Page Language="C#" Inherits="..." 
    culture="auto" uiculture="auto" %> 

これはリクエストでブラウザによって渡されたAccept-Languageヘッダは、スレッドの文化を設定するために使用されることを保証します。どのリソースファイルを選択するかはUICultureに影響します。

ASP.NETの国際化の詳細については、この本は非常に良いです...

http://www.amazon.co.uk/NET-Internationalization-Developers-Guide-Building/dp/0321341384/ref=sr_1_1?ie=UTF8&s=books&qid=1241010151&sr=8-1

それはMVCをカバーするが、そのような、多くのものがあり続けるよう、ASP.NETをカバーしていません関連性があります。

+0

ありがとう、それはトリックでした。 – Soraz

+0

実際には、私は web.configファイルのセクションに を設定することができました。 – Soraz

+0

はい、これも可能です。私はページレベルでそれを行う傾向があるので、新しい開発者がプロ​​ジェクトに期待していない「特別な魔法」はありません。 –

2

まず、リクエストスレッドのカルチャを切り替えるアクションフィルタを作成する必要があります。 OR UICultureにごglobalization要素=「自動」と文化=「オート」

チェックこのscreencastを設定し、それがロシア語であるが、コードサンプルは理解しています。

関連する問題