2016-11-24 38 views
1

Windowsの言語をフランス語(Fr-ca)に設定し、GetUserDefaultUILanguage APIを使用してユーザーのデフォルト言語を取得しますが、値1036 Fr-fr)が正しくない場合は、3084(Fr-ca)にする必要があります。そして、ウィンドウ10に正しい値(3084)を返します。Fr-caのWindow 8.1で正しい値を取得する方法を知っていますか?GetUserDefaultUILanguage APIは、フランス語カナダのWin8.1で不適切な言語を返します

答えて

0

私はあなたが言及同じシステムから同じ結果実験: のWindows 8.1に戻り、 "FR-FR"(!OSは唯一の "フランス語" とにかくを選択することができます)

のWindows 7に戻り、 "FR-FRを"言語設定で「français(カナダ)」が選択されていても、 Windows 10では、「fr-CA」が返され、UI表示用に「français(カナダ)」が有効になっています。

MSDNのAPIドキュメントは、備考のためにこれを言及:

この機能は、言語識別子を返します。アプリケーションは、 GetUserPreferredUILanguages 関数を使用して言語名を取得できます。

それは、このGetUserPreferredUILanguages方法使用しているときあなたが得る結果はおそらく正しいことをより明確になります。Windows 7の場合は

を、リストが返されます。

FR-FR

Windows 8.1の場合、リストは以下を返します。

FR-FR、EN-US

のWindows 10、リストを返すの場合:

FR-CA、FR-FR、EN-US

したがって、私はAPIがUIリソースのシステム優先度リストを返すと解釈します。 Windows 8.1の場合、フランス語のカナダのUIリソースの専門化はない可能性があります。どのような場合でも、フランス語に翻訳されています。最後の手段は、インストールディスク(私の場合はen-US)から "インストール言語"が必要です。

関連する問題