2010-12-12 4 views
0

1- i приложение, которое имеет два интерфейса (английский, арабский), пользователь может выбрать язык пользовательского интерфейса во время выполнения, и это изменение будет видно после перезапуска приложения. Я сохраняю выбранный langauge в app.config.отладка скомпилированного приложения .net

2- из вида конструктора я изменить 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

У вас есть философское возражение против 'использования' директив? Они сделают ваш код * намного проще читать ... –

+0

Запись журналов для любого действия обычно помогает в таких ситуациях – ASpirin

+2

«Я сохраняю выбранный язык в app.config». Обратите внимание, что для этого требуется доступ для записи в каталог приложения, который обычно недоступен, если ваша программа установлена ​​в каталоге программ и работает на ограниченном пользователе (или в защищенной учетной записи UAC). – CodesInChaos

ответ

0

Почему вы не можете использовать VS для отладки на тестовой машине? Используйте Remote Debugger tools, если на тестовом компьютере не установлено VS.

Другой альтернативой является использование Reflector. Reflector Pro позволит вам выполнить свой код, если у вас нет доступа к исходному коду.

0

благодарю мой друг за помощь

я установил VS в тестовой машине и я обнаружил, что я забыл включить локализованной DLL, которые VS Created в каталоге отладки.

, когда я включил этот каталог, у которого есть локализованная DLL для арабского языка, проблема была решена.

спасибо за каждый ответ на мой вопрос

Смежные вопросы