Понимание того, какие изменения свойств делает Localization = True track в файлах resx - PullRequest
0 голосов
/ 29 декабря 2018

У меня проблема с локализацией, надеюсь, вы поможете.

Я создаю приложение winform:

  1. добавляем кнопку
  2. , устанавливаем для свойства формы Localizable значение True
  3. устанавливаем форму Language на испанский
  4. измените Text кнопки на "Vamos" и BackColor на "Green".
  5. установите форму Language на английский
  6. измените 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 годах с одинаковым поведением]

1 Ответ

0 голосов
/ 29 декабря 2018

Свойство считается локализуемым, если оно украшено атрибутом Localizable(true).Например, свойство BackColor не локализуемо, но свойство Text локализуемо.

Когда дизайнер создает код для вашей формы, когда вы включили локализациюдля формы свойства, которые отмечены Localizable(true), будут сериализованы в файл ресурсов формы.Для остальных свойств их значения будут сериализованы в коде.

Для получения дополнительной информации и ссылок на то, как создать многоязычное приложение Windows Forma, взгляните на:

...