2010-12-12 12 views
0

1つは、英語、アラビア語の2つのインターフェイスを備えたアプリケーションです。ユーザーは実行時にUI言語を選択でき、アプリケーションの再起動後に変更が表示されます。選択した言語をapp.configに格納します。私はこのコードによって選択されたラングにCurrentUICultureのを変更フォームコンストラクタからデバッグコンパイル済み.netアプリケーション

2-:私の開発マシンで問題なく

Public.ArabicView = UmAlQuraCalender.Properties.Settings.Default.ArabicView; 

if (Public.ArabicView == true) 
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ar-SA"); 
else 
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); 

3-アプリケーションワーク。

4-私は別のマシンでアプリケーションをテストするときに、1つのユーザーインターフェイスだけが動作しています(英語)。他の言語をチェックしてアプリケーションを再起動すると、アラビア語のローカルがインストールされてもインターフェイスは英語になりません。

は、私は2つのラジオボタンを使用します。アラビア語と英語のために他のための1つを、クリックイベント内で、私はこのコード内で選択した言語にCurrentUICultureのを変更します(私はデバッグすることができますどのようにも

private void rbArabic_Click(object sender, EventArgs e) 
{ 
    Public.ArabicView = rbArabic.Checked; 

    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ar-SA"); 

    UmAlQuraCalender.Properties.Settings.Default.ArabicView = Public.ArabicView; 
    UmAlQuraCalender.Properties.Settings.Default.Save(); 

    MessageBox.Show("UI Language will be changed after application resart"); 

} 

private void rbEnglish_Click(object sender, EventArgs e) 
{ 
    Public.ArabicView = rbArabic.Checked; 
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); 
    UmAlQuraCalender.Properties.Settings.Default.ArabicView = Public.ArabicView; 
    UmAlQuraCalender.Properties.Settings.Default.Save(); 

    MessageBox.Show("UI Language will be changed after application resart"); 
} 

、5-ソースコードをトレースしてください)問題を解明するためにテストマシンで?

私がお手伝いできる場合は、感謝します。

+3

あなたは 'using'ディレクティブにはいくつかの哲学的異議を持っていますか?彼らはあなたのコードをもっと簡単に読むことができます。 –

+0

このような状況では、通常どんなアクションのログを作成しても役に立ちます。 – ASpirin

+2

"app.configに選択した言語を保存します。"これには、アプリケーションディレクトリへの書き込みアクセスが必要であることに注意してください。プログラムディレクトリにインストールされ、制限されたユーザ(またはUACで保護されたアカウント)で実行されている場合、通常は利用できません。 – CodesInChaos

答えて

0

テストマシンでVSを使用してデバッグすることができないのはなぜですか?テストマシンにVSがインストールされていない場合は、Remote Debugger toolsを使用してください。

もう1つの方法はReflectorです。 Reflector Proでは、ソースコードにアクセスしていないときにコードをステップ実行することができます。あなたの助け

ため

0

おかげで私の友人は、私がテストマシンにVSをインストールし、私はVSは、debugディレクトリに作成されたローカライズされたDLLを含めることを忘れていることを発見しました。

アラビア語のローカライズされたDLLを含むこのディレクトリが含まれていると、問題は解決されました。私の質問に一つ一つの応答を

おかげで