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


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

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

Конструкторы и деструкторы
Реализация полиморфизма через интерфейсы
Установка и извлечение динамических свойств вручную
Циклические ссылки
Проверка на уровне поля
Класс DataViewManager
Редактор файловой системы
Архитектура данных ADO.NET
Члены типов CTS
Создание элементов управления
Managed Control Panel Items
Оптимизация средствами компилятора
Локализация формы
Извлечение из сопутствующих сборок ресурсов, специфичных для культуры
Объектные модели
| .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 | Определение глобализации и локализации. Регион сайта: Москва и Санкт-Петербург