ћного€зычное приложение на C# Windows Forms - часть 1

06:02:2013 –≥.

 ¬ этом руководстве из трех частей описано как создать приложение на C# Windows Forms, которое было бы много€зычным. » вместе с поддержкой нескольких €зыков было бы достаточно гибким дл€ того, чтобы в последствии было просто добавить или удалить новый €зык.  

–ассматрива€ заметки и манаулы по поддержке мульти€зычности в сети стоит отметить, что большинство из них рассматривают только способ изменени€ параметра Language формы. ƒа, это работает, но этого недостаточно, необходимы дополнительные механизмы дл€ управлени€ возможностью динамически измен€ть €зык приложени€.

„асть 1 - настраиваем форму

—начала нужно настроить нашу форму дл€ возможности поддержки много€зычности.

”становите в свойствах формы параметр:

Localizable - true

 

localization_1.jpg

 —войство должно выгл€деть так, как это изображено на рисунке вверху. ќбратите внимение, что свойство Language установлено в значение по умолючанию на данный момент. ћы его изменим немного дальше.

 огда форма поддерживает локализацию, при изменении свойства Language можно устанавливать различные €зыки/культуры при которых содержимое формы будет примен€тьс€ только дл€ этого €зыка. “ем не менее, нельз€ рисовать форму сразу с установленным каким-либо €зыком. 

¬ажно! Ќужно рисовать форму и все ее элементы с установкой Language по умолчанию.

—ама иде€ локализации предусматривает то, что ваше приложение работает одинаково и его логика не мен€етс€ дл€ различных €зыков. ѕоэтому саму форму мы рисуем в €зыке по умолчанию.  огда форма готова - приступаем к локализации.

localization_2.jpg

 ”становив свойство Language в необходимый нам €зык мы мен€ем текстовые свойства на нашей форме на необходимый €зык вручную. “.е. локализируем нашу форму и делаем ее такой, какой она будет выгл€деть дл€ пользовател€, использующего выбранный €зык в программе. ¬ыше отображена форма с установленным английским €зыком, примен€емым в —Ўј (забега€ вперед, это может быть выражено в классе CultureInfo("en-US").

—оответственно, добавл€€ новый €зык, мы мен€ем свойство Language на новый €зык, который мы хотим добавить, и устанавливаем нужный нам текст на желаемом €зыке на элементах формы. Ќиже изображена русска€ форма дл€ того же приложени€:

localization_3.jpg

„то же происходит при установке нового €зыка и где хран€тьс€ настройки?

ѕосле того как были добавлены эти 2 €зыковых варианта реализации одной формы можно открыть ќбозреватель решений и увидеть:

 

localization_4.jpg

  ак видно на картинке, Visual Studio создает дл€ нас по новому файлу ресурсов дл€ каждой локализации, которую мы добавл€ем дл€ приложени€.

≈сли мы откроем какую-то из локализаций - мы увидим следующее: 

localization_5.jpg

  ак видно, дл€ каждого свойства элемента управлени€ в ресурсе хранитс€ строковое значение на том значении €зыка, которое установлено.

ѕродолжение о том, как использовать созданные сейчас локализированные ресурсы читайте во второй части.

 

ƒобавить комментарий


«ащитный код
ќбновить

« ћульти€зычное приложение на C# Windows Forms - „асть 2

‘отоальбом

fotic.jpg

ќблако “егов