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


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



Определение глобализации и локализации
8 февраля 2009

Терминами «глобализация» и «локализация» называют два разных, но взаимосвя-
занных процесса. Под глобализацией понимают применение к существующим дан-
ным формата, зависимого от культуры, а под локализацией — извлечение данных,
соответствующих заданной культуре. Вот примеры, иллюстрирующие эти различия.
• Глобализация. В некоторых странах при форматировании значений денежных
единиц точкой разделяют разряды тысяч, а запятой отделяют целую часть от
дробной в десятичных дробях. В приложении, реализующем глобализацию, зна-
чения денежных сумм форматируются согласно стандартам региона, в котором
оно используется.
• Локализация. В зависимости от страны, в которой используется приложение, на-
звание формы можно отображать по-английски или по-французски. Локализо-
ванное приложение извлекает и отображает строку на соответствующем языке в
зависимости от региона, в котором оно используется.
Концепция культур
Термином «культура» при разработке приложений называется совокупность регио-
нальных стандартов, принятых в стране, где используется приложение. В .NET
Framework культура определяется специальным значением, которое называется ко-
дом культуры. Код культуры — это значение, описывающее для инфраструктуры
применяемый в данный момент язык. В код культуры дополнительно можно вклю-
чить сведения о регионе, где приложение используется, Обычно код культуры со-
стоит из одной пары букв — в этом случае он определяет только язык — либо ком-
бинации из двух пар букв (кодов языка и региона соответственно), разделенных
дефисом. Культуры, заданные двузначными кодами и определяющие только язык,
называются нейтральными, а культуры, заданные четырехзначным кодом и опреде-
ляющие язык и регион, называются специфичными. Вот несколько примеров кодов
культур:
• En — английский язык без указания региона;
• еп-СА — канадский вариант английского языка;
• af-ZA — африкаанс (Южная Африка);
• ем— баскский язык без указания региона;
• kn-IN — язык каннада (Индия);
• tr — турецкий язык без указания региона.
Полный список кодов культур вы найдете в разделе справочной системы .NET
Framework, посвященному классу Culturelnfo.
Коды большинства культур подчиняются такому формату, но есть и исключе-
ния, о которых следует помнить:
• Cy-uz-UZ — узбекский язык (Узбекистан) с кириллическим алфавитом;
• Lt-uz-UZ — узбекский язык (Узбекистан) с латинским алфавитом;
• zh-CHT— традиционное китайское письмо без указания региона;
• zh-CHS — упрошенное китайское письмо без указания региона.
Получение и установка текущей культуры
Приложение автоматически считывает код культуры, заданный системными пара-
метрами, и использует соответствующую культуру. Чтобы программно изменить
текущую культуру приложения, запишите в соответствующее свойство экземпляр
класса Culturelnfo, представляющий новую культуру. Этот класс содержит сведения
о культуре и соответствующие инструкции для приложения, например информа-
цию о календаре, формат денежных единиц, дат и т. д. Чтобы программно назна-
чить культуру приложению, поместите в свойство CurrentThread.CurrentCulture но-
вый экземпляр класса Culturelnfo. Класс Culturelnfo воспринимает в качестве пара-
метра строку, представляющую код соответствующей культуры. Следующий при-
мер демонстрирует способ замены текущей культуры франке-канадской:
Visual Basic .NET
System.Threading.Thread.CurrentThread.CurrentCulture - New
System.Globalization.Culturelnfo("fr-CA")
Visual C#
System.Threading.Thread.CurrentThread.CurrentCulture = new
System.Globalization.Culturelnfof'T r-CA");
Чтобы извлечь класс Culturelnfo, представляющий текущую культуру, вызовите
класс Culture Info. CuirentCulture следующим образом:
Visual Basic .NET
Этот пример предполагает наличие оператора Imports System. Globalization
Dim myCurrentCulture As Culturelnfo
tnyCurrentCulture = Culturelnfo. CurrentCulture
Visual C#
// Этот пример предполагает наличие оператора using System. Globalization
Culturelnfo myCurrentCulture;
myCurrentCulture = Culturelnfo. CurrentCulture;
Глобализация приложений
Если записать в свойство Thread. Current Thread. CurrentCulture новый экземпляр клас-
са Culturelnfo, все данные, форматируемые приложением, автоматически обновят-
ся согласно правилам, принятым в установленной культуре, а данные, за формати-
рование которых приложение не отвечает, останутся без изменений. Рассмотрим
форму с единственным элементом управления Label, для которого программно за-
дан следующий текст:
Visual Basic .NET
Labell.Text = "$500.00"
Visual C#
Labell.Text = "$500.00";
После этого текущую культуру установили в en-GB (Великобритания). Как вы
думаете, какое значение отобразит надпись? Он останется прежним — $500.00.
Смена культуры не повлияет на содержимое надписи, поскольку оно не отформа-
тировано. Если же задать значение элемента управления Label следующим образом:
Visual Basic .NET
Labell.Text = Format(500, "Currency")
Visual C#
Labell.Text = (500).ToString{"C");
то при смене культуры на en-GB значение надписи изменится на J500.00, посколь-
ку к нему применен формат денежных единиц, принятый в новой культуре. Обра-
тите внимание, что сумма осталась прежней — изменился только формат.
Локализация приложений
Локализация позволяет изменять вид пользовательского интерфейса в зависимости
от культуры. .NET Framework облегчает создание локализованных форм благодаря
использованию файлов ресурсов. Эти файлы хранят данные для альтернативных
версий форм, соответствующих различным культурам, поддерживаемым приложе-
нием. Версия формы, загружаемая в период выполнения, определяется свойством
Culturelnfo. CurrentUICulture.


Теги: .NET

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

Применение классов Debug и Trace
Извлечение типизированных данных с помощью объекта DataReader
Формы, элементы управления и меню
Реализация полиморфизма через интерфейсы
Класс DataViewManager
Cabinet File (*.CAB) Compression and Extraction – версия 9.9
Рисование простых фигур
Ограничения Foreign Key
Извлечение данных XML из баз данных SQL Server 2000
Операторы Imports и using
Towards Cleaner Code, A C# Asynchronous Helper
Конфигурирование защиты по правам доступа к коду
Запись трассировочных данных в журнал событий
Реализация специальных возможностей на этапе проектирования
Изменение меню во время выполнения
| .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 | Определение глобализации и локализации. Регион сайта: Москва и Санкт-Петербург