* При перепечатке материалов ссылка на 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

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

Сборки
Переменные методов
Наборы
Распространение приложений через Интернет
Обзор ADO.NET
Managed Control Panel Items
Динамические свойства
Применение типов данных
Извлечение данных XML из баз данных SQL Server 2000
Организация доступа к данным и работа с объектом DataReader
Архитектура данных ADO.NET
Создание формы
Удаление и отключение точек прерывания
Модификаторы доступа к типам
Циклические ссылки
| .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 | Получение и установка текущей культуры пользовательского интерфейса. Регион сайта: Москва и Санкт-Петербург