3

アプリケーションで複数の言語をサポートしようとしています。いくつかのサテライト アセンブリを作成したので、たとえば、フランスのコンピューターで実行したときにアプリがどのように見えるかをテストしたいと考えています。

[コントロール パネル -> 地域と言語のオプション] の [地域のオプション] タブでフランス語 (フランス) を選択し、[詳細設定] タブでフランス語 (フランス) を選択できます。

しかし、これは私のアプリケーションにフランス語だと思わせるには十分ではありません。

このコードをメイン関数の先頭に追加すると、

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    CultureInfo^ ci1 = Thread::CurrentThread->CurrentCulture;
    CultureInfo^ ci2 = Thread::CurrentThread->CurrentUICulture;

ci1->Name は ですfr-FRが、ci2->Name はen-USです。

残念なことに、フランスのサテライト アセンブリを使用するには、CurrentUICulture をfr-FR.

コードで CurrentUICulture を CurrentCulture と同じものに設定したくない - コントロール パネルなどを使用してデフォルトのものを変更したい。

CurrentUICulture が変更されたときにイベントを検出する方法について、インターネットで多くの投稿を見てきましたが、変更方法を教えてくれるものは何もありません!

4

3 に答える 3

2

これは、Windows のインストール状況に応じて、可能である場合と不可能である場合があります。詳細については、http://msdn.microsoft.com/en-us/library/441487wx(v=vs.100).aspx の「CurrentUICulture プロパティの暗黙的な設定」セクションを参照してください。さまざまな Windows バージョンでの動作に関する追加情報については、 http://msdn.microsoft.com/en-us/library/dd374098( VS.85 ).aspx を参照してください。

于 2009-09-29T14:56:34.727 に答える
2

MUI でメニューとダイアログの表示に使用する言語を変更する方法を参照してください。

Windows MUI を使用すると、ユーザー インターフェイス (メニューとダイアログ) を自分に最適な言語に簡単に変更できます。管理者 (管理者権限を持つ任意のユーザー) は、muisetup.exe プログラムを使用して、最大 33 の異なる言語をマシンにインストールできます。

.NETCurrentUICultureにはこの設定が反映されます。

于 2009-09-29T14:58:26.510 に答える