Глобализация и интернационализация

В дополнение к поддержке локализации, ASP.NET AJAX предоставляет поддержку глобализации, которую иногда еще называют как интернационализация (или i18n, если вам нравится использовать нумеронимы). В элементе управления ScriptManager имеется свойство EnableScriptGlobalization. Если в этом свойстве установить значение true, ASP.NET AJAX будет в состоянии локализовать значения дат. Для этого библиотека Ajax расширяет возможности объекта Date из JavaScript (и других объектов – подробности в главе 4 и в приложении D), благодаря чему в этом объекте появился новый метод с именем localeFormat(). Этот метод форматирует значение даты в соответствии с региональными настройками в броузере. Эти настройки передаются в HTTP?заголовке Accept-Language.

Предпочтительный язык броузера может быть изменен пользователем. В Firefox для этого нужно выбрать пункт меню Правка→Настройки (Tools→Options), в открывшемся диалоге выбрать вкладку Дополнительно (Advanced) и щелкнуть на кнопке Выбрать (Choose). В диалоге Languages (Языки) можно изменить порядок предпочтений, добавить дополнительные языки или удалить существующие.

В Internet Explorer нужно выбрать пункт меню Сервис→Свойства обозревателя (Tools→Internet Options) и в открывшемся диалоге на вкладке Общие (General) щелкнуть на кнопке Языки (Language), в результате откроется диалог.

В других броузерах также имеются похожие средства изменения языковых настроек.


Но вернемся к теме ASP.NET AJAX и глобализации значений дат. Метод Date.localFormat() замещает символы?заполнители локализованными названиями дней недели и месяцев. Следующий фрагмент выведет нечто похожее на «Wednesday, 1. May 2007» в зависимости от текущих языковых настроек броузера:



Необходимо выполнить еще один шаг. Приложение ASP.NET должно правильно установить культуру. Культура может быть установлена в файле Web.config, программно или с помощью разметки в странице.

В следующем примере культура устанавливается с помощью директивы @ Page. Мы могли бы установить какую-то конкретную культуру, но предпочитаем доверить платформе ASP.NET AJAX определять корректные настройки из HTTP?заголовка Accept?Language. Делается это с помощью следующего объявления:
<%@ Page Language="C#" Culture="auto" %>

В примере 9.8, который на этот раз получился достаточно коротким, приводится полный код, который делает все что нужно.
Пример 9.8.


Глобализация даты
Globalization.aspx
<%@ Page Language="C#" Culture="auto" %>
www.w3.org/TR/
xhtml1/DTD/xhtml1?transitional.dtd"> ASP.NET AJAX


(body)
(asp:ScriptManager ID="ScriptManager1" runat="server"
EnableScriptGlobalization="true")
(/asp:ScriptManager)

 


(/body)


Оцените статью: (0 голосов)
0 5 0

Статьи из раздела ASP.NET AJAX на эту тему:
Использование Control Toolkit
Использование пакета Control Toolkit
Использование сопутствующих ресурсов из ASP.NET AJAX
Локализация
Локализация сценариев