Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Получение и установка текущей культуры пользовательского интерфейса
8 февраля 2009

Культура, назначенная пользовательскому интерфейсу, также представлена экзем-
пляром класса Culturefnfo, и может отличаться от культуры, заданной свойством
Culturefnfo.CurrentCulture. Свойство CurrentCulture определяет правила форматиро-
вания данных, а свойства CurrentVICulture — версию ресурсов, загружаемых в лока-
лизованные формы в период выполнения. Получить значение свойства CurrentUICuhure
можно так:
Visual Basic .NET
' Этот пример предполагает наличие оператора Imports System.Globalization
Dim myCurrentCiJlture As Culturelnfo
myCurrentCulture = Culturelnfo.CurrentUICulture
Visual C#
// Этот поимер предполагает наличие оператора using System.Globalization
Culturelnfo myCurreritCulture;
nyCurrentCuIture = Culturelnfo.CurrentUICulture;
Пользовательскому интерфейсу назначают текущую культуру так же, как и при-
ложению, — через объект Thread, представляющий текущий поток. Например,
именно так можно назначить интерфейсу Тайскую культуру:
Visual Basic .NET
System.Threading.Thread.CurrentThread.CurrentUICulture - New
System.Globalization.CultureInfo("th-TH")
Visual C#
System.Threading.Thread.CurrentThread.CurrentUICulture - new
System. Globalization.CultureInfo("th-TH");
После установки текущей культуры ОС загружает соответствующие ресурсы, а
если они недоступны — загружаются ресурсы для культуры по умолчанию.
Примечание Назначать культуру пользовательскому интерфейсу следует до загруз-
ки формы, отображающей локализованные ресурсы. Чтобы сделать это програм-
мно, надо установить культуру в конструкторе главной формы или методе Main при-
ложения по крайней мере до отображения ключевых элементов пользовательского
интерфейса.
Создание локализованных форм
.NET Framework позволяет создавать локализованные формы с затратой минималь-
ных усилий. Все формы поддерживают свойство Localizable, которое определяет,
является ли форма локализуемой. Установив это свойство в true, вы сделаете форму
локализуемой.
Если свойство Localizahle установлено в true, Visual Studio .NET автоматически
создает для нее соответствующие файлы ресурсов. Установив это свойство в (Defa
и/г), вы зададите культуру по умолчанию для отображения интерфейса формы и ее
элементов управления. Чтобы создать локализованную версию формы, назначьте
свойству Language любое значение, отличное от (Default), — Visual Studio .NET ав-
томатически создаст новый файл ресурсов для заданного языка и сохранит и, нем
все значения, заданные для пользовательского интерфейса.
Примечание Обычно локализуют строковые свойства элементов пользовательского
интерфейса, но в принципе это можно сделать для любого свойства. Например, за-
ставить кнопку изменять ее размер в зависимости от длины надписи на ней (для
разных культур она отличается), а графическое окно — его вид в зависимости от
текущей культуры.
Чтобы просмотреть файл ресурсов формы, щелкните в окне Solution Explorer
кнопку Show All Files и раскройте узел рядом с формой. Под формой отобразится
список файлов ресурсов для всех языков, для которых имеются локализованные
версии формы.
> Создание локализованной формы
1. Установите свойство Localizable формы в true.
2. Создайте пользовательский интерфейс формы и переведите строковые и другие
свойства его элементов на язык, для которого предоставляется локализация.
3. Создайте ресурсы интерфейса для культуры по умолчанию — они применяются,
если культура не указана.
4. Задайте для свойства Language формы значение, определяющее соответствую-
щую культуру.
5. Добавьте к вашей форме локализованное содержимое интерфейса.
6. Повторяйте пункты 4 и 5 для каждого языка, для которого планируется предос-
тавить локализацию.
7. Выполните сборку приложения.
Если свойство CurrentUfCulture определяет культуру, для которой есть локализа-
ция, приложение загрузит нужную версию формы, прочитав соответствующие фай-
лы ресурсов. Если для указанной культуры файлов ресурсов не существует, интер-
фейсу назначается культура по умолчанию.
Проверка информации, вводимой на разных языках
Приложению может потребоваться механизм для проверки данных, вводимых на
разных языках. Реализация в приложении, поддерживающем несколько языков,
проверки вводимой с клавиатуры информации может оказаться нетривиальной за-
дачей. Разработчик не всегда знает, какие символы используются в каждом языке,
поддерживаемом приложением. А значит не сумеет корректно определить катего-
рию символа, вводимого нажатием некоторых клавиш.
Методы, поддерживаемые структурой Char, позволяют проверять данные, вве-
денные на любом языке, так же, как это делается для языков, использующих латин-
ский алфавит. Методы Char.hDigit, Char.IsLetter и ряд других возвращают коррект-
ные значения независимо от использованного при вводе набора символов, что обес-
печивает корректность работы кода, основанного на применении этих методов, не
требуя его адаптации для каждого из поддерживаемых языков.

Теги: .NET

Статьи по теме:

Проверка разрешений, запрашиваемых установленной сборкой
Реализация свойств
Типы значений и ссылочные типы
Классы CTS
Специальные возможности и логотип «Certified for Windows»
Установка порядка передачи фокуса при нажатии клавиши Tab
Запись трассировочных данных в журнал событий
Применение GDI+
Применение наборов элементов управления
.NET Framework и языки программирования
Языки программирования .NET
Подключение класса DoughnutMachine к пользовательскому интерфейсу
Параметры компоновки установочной программы
Свойства BackColor, ForeColor и Text
Создание класса строго типизированного набора на основе класса CollectionBase
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Получение и установка текущей культуры пользовательского интерфейса. Регион сайта: Москва и Санкт-Петербург