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



Форматирование, зависимое от культуры
8 февраля 2009

Для адаптации приложения к нуждам заказчика разработчику достаточно модифи-
цировать некоторые члены класса Culturelnfo. Предположим, что необходимо на-
писать приложение для клиента, сотрудничающего с партнерами из Японии, одна-
ко денежные суммы в этом приложении должны исчисляться в американских дол-
ларах. Стало быть, приложение будет использовать для большинства элементов
форматирование, принятое в японской культуре, но денежные суммы в нем всегда
отображаются со знаком доллара.
Три члена класса Culturelnfo определяют форматирование, применяемое при гло-
бализации приложений (таблица 8-3). Модифицируя эти члены, можно создавать
различные комбинации форматов, отсутствующие в стандартных культурах.
Таблица 8-3. Члены класса Culturelnfo, определяющие форматирование
Член Описание
DateTimeFormat Содержит сведения о формате даты и времени, в том числе
сокращенные названия дней недели, а также данные, определяющее
отображение названий месяцев и времени в 12-часовом формате.
Определяет форматы календаря, дней недели, дат и времени,
применяемые при форматировании
NumberFormat Содержит сведения о форматах чисел и денежных единиц, включая
описания разделителей десятичных дробей и разрядов тысяч,
применяемых для форматирования этих значений. Определяет символ,
применяемый для отображения денежных единиц, и форматирование
процентных значений
Textlnfo Содержит сведения о форматировании текста, включая кодовую
страницу и символ, используемый в качестве разделителя элементов
списков
Свойства этих членов разрешается модифицировать для создания пользователь-
ских наборов форматов, отсутствующих в стандартных культурах. Вернемся к при-
веденному выше примеру: чтобы получить нестандартную культуру, состоящую в
основном из параметров форматирования, принятых в Японии (за исключением
денежных единиц, которые должны отображаться со знаком доллара), следует со-
здать новый объект Culturelnfo и соответствующим образом модифицировать его.
Следующий пример демонстрирует создание нового класса Culturelnfo на основе
параметров японской культуры и замену символа японской валюты знаком доллара:
Visual Basic .NET
Этот пример предполагает наличие операторов Imports System.Globalization
и Imports System.Threading
Dim modJPCulture As New CultureInfo{"jp-JN")
modJPCulture.NumberFormat.CurrencySymbol = "$"
Thread.CurrentThread.CurrentCulture = modJPCulture
Visual C#
// Этот пример предполагает наличие операторов using System.Globalization
// и using System.Threading
Culturelnfo modJPCulture = new CultureInfof"jp-JNTT);
modJPCulture.NumberFormat.CurrencySyrnbol - "$";
Thread.CurrentThread.CurrentCulture = modJPCulture;
Отображение текста справа налево
В некоторых языках пишут и читают справа налево, а не наоборот, как принято в
большинстве языков, использующих латинский алфавит. Стандартные элементы
управления Windows Forms поддерживают свойство KightToLeft, которое позволяет
реализовать отображение текста пользовательского интерфейса приложения спра-
ва налево.
Свойство RightToLeft принимает одно из следующих трех значений — Yes, No и
Inherit. По умолчанию свойство RightToLeft установлено в Inherit, при этом его ре-
альное значение наследуется от родительского элемента управления.
Если установить свойство RightToLeft в Yes, вид элемента управления изменит-
ся, причем количество изменений зависит от типа элемента управления. Во-пер-
вых, по-другому выравнивается текст: обычно он выравнивается по левому краю,
теперь — по правому. Во-вторых, заголовок элемента управления также выравни-
вается по правому краю. Вертикальная полоса прокрутки отображается слева, а при
инициализации горизонтальных полос прокрутки ползунок позиционируется спра-
ва. Значение свойства CheckAlign для флажков изменится на противоположное, яр-
лычки вкладок располагаются другой стороны окна, выравнивание элементов с пис-
ков также изменится. Короче говоря с точки зрения форматирования все элементы
управления станут зеркальными отражениями самих себя.
Однако, несмотря на все эти изменения, содержимое элементов управления по-
прежнему отображается слева направо.
Хотя выравнивание текста, отображаемого в поле, изменилось, сам текст по-пре-
жнему отображается так же, как читается, — слева направо. Поэтому при локализа-
ции ресурсов для культур, в которых принято читать справа налево, придется от-
форматировать строки вручную.
Если установить свойство RightToLefl формы в Yes, то все размешенные на ней
элементы управления, у которых RightToLeft = Inherit, будут выровнены по правому
краю. Возможно, вам придется еще потрудиться и создать форму с зеркальным рас-
положением элементов управления для культур, в которых принято читать и писать
справа налево.
Для этого надо создать локализованную форму и вручную расположить на ней
элементы управления — для каждого из них значения свойств, определяющие по-
ложение элемента управления на форме, будут записаны в файл ресурсов локали-
зованной формы.

Теги: .NET

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

Модификаторы доступа для вложенных типов
Окна Locals, Autos и Watch
Применение классов Debug и Trace
Извлечение из сопутствующих сборок ресурсов, специфичных для культуры
Общеязыковая исполняющая среда
Локальные функции
Применение наследования с формами
Применение встроенной функциональности типов данных
Cosmos – C# Open Source Managed Operating System
Набор Listeners
Создание обработчика для группы событий
Создание класса строго типизированного набора на основе класса CollectionBase
Формирование запросов SQL во время выполнения
Вложенные типы
Рисование простых фигур
| .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


     



Rambler's Top100

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

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