2010-12-12 106 views
0

1-我設計的應用程序有兩個接口(英語,阿拉伯語),用戶可以在運行時選擇UI語言,並且應用程序重新啓動後可以看到更改。我將選定的語言存儲在app.config中。調試編譯.net應用程序

2-從表單構造i。由該代碼改變的CurrentUICulture到所選擇的郎:

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-當我測試在另一臺機器上的應用,只有一個用戶界面的工作(英文),如果我檢查其他語言,並重新啓動應用程序沒有發生的界面保持英語雖然阿拉伯本地安裝。

我使用兩個單選按鈕:一個用於阿拉伯樹膠和其他爲英語,和點擊事件內我改變的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

你對'使用'指令有一些哲學反對嗎?他們會讓你的代碼*更容易閱讀...... – 2010-12-12 08:14:41

+0

爲任何動作編寫日誌通常有助於在這種情況下 – ASpirin 2010-12-12 08:37:55

+2

「我將所選語言存儲在app.config中。」請注意,這需要對應用程序目錄進行寫入訪問,當程序安裝在程序目錄中並且在受限用戶(或受UAC保護的帳戶)上運行時通常不可用 – CodesInChaos 2010-12-12 13:15:50

回答

0

爲什麼你不能在你的測試機器上使用VS進行調試?如果測試機沒有安裝VS,則使用Remote Debugger tools

另一種替代方法是使用Reflector。 Reflector Pro將允許您在沒有源代碼訪問權的情況下遍歷代碼。

0

感謝我的朋友對你的幫助

我在測試機上安裝VS和我發現我忘了包括VS創建的調試目錄本地化DLL。

當我包含此目錄具有本地化的DLL阿拉伯語言問題已解決。

感謝每一個回覆我的問題