私はローカライズされたプログラミングにはかなり新しく、(アプリケーション内から)新しく起動されたアンマネージドC++アプリケーションの適切な初期ロケールを設定する方法を理解しようとしています。WindowsでC++プログラムの適切な初期ロケールを設定するにはどうすればよいですか?
私の知る限り、新しいアプリケーションは適切な地域ロケール(英語、ドイツ語など)ではなく、Cロケールから始まります。だから私がする必要があるのはsetlocale(LC_ALL, "???")
ですが、2番目の引数に正しい値を取得する方法がわかりません。 「英語」や「ドイツ語:ドイツ」のようになります。基本的には、地域および言語オプションのコントロールパネルでユーザーが設定したロケールです。私はではありません。は、ロケール文字列をどのようにフォーマットするかを探しています。アプリが動作しているコンピュータの正しいロケール文字列を探しています。
私には、これ、またはおそらく適切な値を含むレジストリキーを与えるWin32 APIがあると思います。誰が私が何をすべきか知っていますか?
グレートを、これは私がまさに必要です。与えられたC++ロケールのname()をsetlocale()に渡して、Cロケールを設定することもできるようです。 – Charlie