0

プロジェクトに Resource.fr-FR.resx を追加し、次のように web.config でグローバリゼーション設定を行いました。

<system.web>
    <globalization culture="fr-FR" uiCulture="fr"/>
</system.web>

http://msdn.microsoft.com/en-us/library/bz9tc508%28v=vs.80%29.aspxによると、これで十分です。

しかし、アプリを実行すると、まだ英語です

Application_Start() で「Thread.CurrentThread.CurrentUICulture」を確認したところ、FR と表示されています。

私は何が欠けていますか?同じことが MVC 3に投稿されています uiCultureの設定が機能しません

しかし、答えはありません。

4

1 に答える 1

0

文化は言語と同じではありません。「カルチャ」とは、日付/時刻、通貨、カレンダー、およびその他のいくつか (テキストのタイトルの大文字と小文字の規則など) の書式設定規則のセットです。

カルチャを設定しても、アプリケーションは自動的にローカライズされません (ローカライズとは、人間が読めるすべての文字列がフランス語などの別の言語に翻訳されることです)。ローカリゼーションと UI の翻訳は、時間と手間がかかり、費用のかかるプロセスです。ASP.NET はそれを行いません。

アプリケーションをローカライズする場合は、人間が判読できるすべての文字列がリソース ファイル (.NET では .resx) に格納されていることを確認する必要があります。また、他の言語に翻訳された文字列を含む "サテライト アセンブリ" を作成しておく必要があります。次に、アプリケーションでユーザーに表示される文字列がリソース API (または IDE で生成されたヘルパー クラス) を使用するようにする必要があります。これは、* .aspx ファイルでこれから移動することを意味するため、苦痛です...

<p>Hello, welcome. This is in English.</p>

...これに:

<p><%= Resources.WelcomeMessage %></p>

...またはこれ (Resources ヘルパー クラスで管理するには文字列が多すぎる場合):

<p><%= ResourceManager.GetString("HomePage_WelcomeMessage") %></p>

...もちろん、これを行うと、たとえば、Web サイトのビジュアル デザイナーが機能しなくなります。

于 2013-02-16T09:49:27.733 に答える