Многоязычная форма окон

Я разрабатываю приложение для Windows, которое поддерживает два языка: арабский и английский. Я хочу изменить пользовательский интерфейс (метки) форм во время выполнения. Какой бы язык ни был выбран пользователем изначально, он должен отображаться на этом языке. Для этого я установил следующий ключ

Если пользователь выбирает английский

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-GB");"

Если пользователь выбирает арабский

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-Ar");

Это отлично работает, когда я запускаю приложение в Visual Studio. Все формы соответствуют выбранной культуре пользовательского интерфейса.

Но после установки MSI этого приложения на компьютере значения меток формы не отображаются в соответствии с файлом ресурсов CurrentUICulture. Он всегда показывает ярлыки только на английском языке, даже если выбран арабский язык.


person yalinhahs    schedule 17.11.2011    source источник
comment
Возможно, вам нужно будет опубликовать код.   -  person N_A    schedule 17.11.2011
comment
Ваш msi правильно устанавливает сателлитные сборки? Если ваше приложение называется test.exe, у вас должен быть каталог en-GB / test.resources.dll и каталог en-Ar / test.resource.dll.   -  person Francis    schedule 17.11.2011
comment
Когда вы говорите, что выбран арабский язык, как он был выбран? Через Региональные настройки или Языковую панель или каким-либо другим способом?   -  person Mamta D    schedule 17.11.2011
comment
Спасибо за ваше ценное предложение. Я нашел решение этого запроса, выполнив следующие шаги. - Фактически, при создании установщика приложения он сопоставляет папку ресурсов dll, поэтому только добавления project.resources.dll в проект развертывания недостаточно. изначально я делаю только это. - Решение: добавьте папку (с именем, совпадающим с именем папки, которая содержит resource.dll в bin- ›dubug) в папке Application, затем добавьте в нее файл project.resources.dll. - это решает проблему для меня - ›все ярлыки теперь переводятся на арабский, если выбран арабский язык.   -  person yalinhahs    schedule 18.11.2011


Ответы (1)


Я нашел решение этого запроса, выполнив следующие шаги. - Фактически, при создании установщика приложения он сопоставляет папку ресурсов dll, поэтому только добавления «project.resources.dll» в проект развертывания недостаточно. - Добавьте папку (с именем, совпадающим с именем папки, которая содержит resource.dll в bin-> dubug) в папке Application, затем добавьте в нее «project.resources.dll». - это решит проблему -> все надписи будут на арабском, если выбранный язык - арабский

person yalinhahs    schedule 18.11.2011