Я использовал файлы ресурсов для локализации в поддержке времени разработки. Локализованная строка будет извлечена для элементов элементов дизайна, которые будут добавлены в конструктор элемента управления. Вот код, который я использовал для получения текущей культуры у менеджера ресурсов в режиме разработки.CultureInfo не меняется во время разработки
if (resourceManager != null)
{
CultureInfo currentUICulture = CultureInfo.CurrentUICulture;
if (resourceManager.GetResourceSet(currentUICulture, true, true) != null)
{
ResourceManager result = resourceManager;
return result;
}
}
и я изменил текущую культуру, используя приведенный ниже код на уровне формы.
public Form1()
{
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
CultureInfo.CurrentCulture = new CultureInfo("fr-FR");
CultureInfo.CurrentUICulture = new CultureInfo("fr-FR");
InitializeComponent();
}
Мой выпуск - Изменена культура для французского языка не извлекается во время разработки. Культура постоянно растет.
Кто-нибудь знает, как изменить культуру, чтобы отразить во время выполнения для того, чтобы решить вышеупомянутую проблему?
С уважением, Амаль Радж
Тогда CurrentCulture не может быть изменен на время проектирования? – Amal
Его можно изменить, но в правильном месте. Конструктор вашей формы не в правильном месте. Прочтите [этот пост] (http://stackoverflow.com/a/32299687/3110834), чтобы лучше узнать, как работает дизайнер. –
Также не пытайтесь изменить текущую культуру потока, если вы правильно написали свой конструктор управления, чтобы проверить его, возможно, достаточно изменить язык отображения Windows, чтобы увидеть результат. –