У меня проблема с локализацией, надеюсь, вы поможете.
Я создаю приложение winform:
- добавляем кнопку
- , устанавливаем для свойства формы
Localizable
значение True - устанавливаем форму
Language
на испанский - измените
Text
кнопки на "Vamos" и BackColor
на "Green". - установите форму
Language
на английский - измените
Text
кнопки на «Go» и BackColor
на «Yellow».
Когда япоменяйте местами между Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("es");
и Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");
, кнопка Text
ИЗМЕНИТСЯ с «Vamos» на «Go», но BackColor
всегда установлен на «Yellow».
Мой вывод заключается в том, что Localizable = True
отслеживает изменения свойства [control] .Text и другие изменения, такие как [control] .Location и [control] .Size, но он НЕ отслеживает [control] .BackColor илимножество других изменений свойств элемента управления в соответствующих файлах resx.
Это ошибка?Существует ли справочный документ, чтобы понять, что отслеживается, а что нет?Я могу понять, что BackColor не является чем-то, что обычно связано с изменением языка, но на этом основании размер и местоположение не должны быть одинаковыми ... поэтому я не совсем понимаю обоснование, применяемое здесь ...
Из-за этого ограничения мне приходится вносить определенные изменения в локализацию с помощью файлов resx и других вручную с помощью моей логики on, немного грязно.
Спасибо за вашу помощь.[протестировано в VS 2012 и 2017 годах с одинаковым поведением]