2012-08-27 9 views
5

ウェブサイトで検索した後、私はこの質問を投稿します。私は、既定のアセンブリは "文化中立"であり、カルチャー固有の情報を持つリソース(コードなし)のみで衛星アセンブリを作成し、カルチャ名(つまりen-us)と同じフォルダの中に配置できるという事実を認識しています。 。しかし、問題は、文化は何ですか?特定の現実的な例が役立ちます。.NETアセンブリ文化とは何ですか?

答えて

4

MSDNによれば、これにはthe names for the culture, the writing system, the calendar used, and formatting for dates and sort stringsなどが含まれます。

翻訳の場合、最も重要な側面は言語と方言の組み合わせです。ここには良いlist of examplesがあります。

たとえば、英国英語(en-GB)とアメリカ英語(en-US)とカナダ英語(en-CA)とオーストラリア英語(en-AU)を比較すると、 (私はあなたがいない/リンクされたリストを参照してください)存在する方言。それから、ロシア語(ru-RU)で話されているように、それらを比較して対照してください。言語の違いに加えて、基数表示、数字のグループ化、日付(MDYとDMY)などに使用される異なる記号もあります。

+0

しかし、内部にコードが含まれていないと、サテライトアセンブリ内にはどのような情報が入りますか?私の理解に基づいて、サテライトアセンブリではいくつかのカルチャーニュートラルアセンブリを使用することをお勧めします。 – IntelligentBinary

+0

確かに、文化の言葉のフレーズを各文化のサテライトアセンブリに入れることができます。 –

+0

翻訳のような大きな問題があります。だからあなたの課金ソフトウェアでは、ドイツ市場に売却する際に、英国の市場インボイスは、フランス語であり、クラスと呼ばれる事実にもかかわらず、現実的なものを示すことができます。Facture –

2

mm/ddの代わりに dd/mm/yyyy/YYY

EUR1.500,00代わりに$ 1,500.00

のそれは注文が右、または左へ、左から右に並べ替えます。

基本的文化は、これらすべてのは本当に刺激性の問題を抽象化する方法があるので、あなたはそれが 例えば何であるかを知らなくても、私たちは

使用インストール文化に対処する必要が二つの主要な問題が残っていますDateTime.Now.ToString("d");

何を問わずこの特定の文化を使用してください。

DateTime.Now.ToString("d",_currentUser.Culture); 

.netの最も重要な部分の1つです。トータルな悪夢であった

+0

ありがとうございました。それは役に立ちます。ですから、どこで文化情報を指定できますか? AssemblyInfo.csファイルにありますか?私がそれをやろうとすると、カルチャー固有のアセンブリにはコードが含まれてはならないというルールに違反しています(リソースのみが許可されています)。私はここに何かを逃していると確信しています:) – IntelligentBinary

+0

すでにトニーの主要なキツネの足がありますか? MS勧告のためにこれをお読みくださいhttp://msdn.microsoft.com/en-us/library/w7x1y988.aspx –

関連する問題