I have a problem of understanding with localization, hope you can help.
I create a winform app:
- add a button
- set the form
Localizable
property to True - set the form
Language
to Spanish - change the button's
Text
to "Vamos" andBackColor
to "Green". - set the form
Language
to English - change the button's
Text
to "Go" andBackColor
to "Yellow".
When I swap between Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("es");
and Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");
the button Text
DOES change from "Vamos" to “Go” but the BackColor
is always set to “Yellow”.
My deduction is that Localizable = True
tracks [control].Text property changes, and other changes such as [control].Location and [control].Size, but it does NOT track [control].BackColor or many other control property changes in the respective resx files.
Is this a bug? Is there a reference document to understand what IS and ISN'T being tracked? I can understand that BackColor is not something that is typically related to a language change but on that basis, size and location shouldn’t be either...so I am not clear on the rationale applied here...
Because of this limitation I am having to make certain localization changes via resx files and others manually via my on logic, feels a bit messy.
Thanks for your help. [tested in VS 2012 and 2017 with equal behaviour]