Добро пожаловать Гость Вход
EnglishRussian
   Адрес статьи: http://multilingualcontrol.softain.com/Rus/Help/MultilingualControl.aspx   Послать другу
Библиотека классов SoftAIN
Класс MultilingualControl
См. также  Члены класса
Скрыть все  
 
Класс реализует поддержку мультиязычности в ASP.NET проектах.

Пространство имен: SoftAIN
Библиотека: MultilingualControl.dll

СкрытьСинтаксис

C#
public class MultilingualControl: System.Web.UI.UserControl

СкрытьОписание

Извинения

В этой и последующих темах будут встречаться непривычные для русскоязычной литературы термины контрол (наследник System.Web.UI.Control) и пользовательский контрол (наследник System.Web.UI.UserControl). Появление этих терминов не является следствием безграмотности автора документации. Просто устоявшиеся переводы (элемент управления и пользовательский элемент управления), на наш взгляд, еще хуже. Они будут иногда использоваться, но только во избежание тавтологий. Заранее извиняемся перед читателями, которых покоробит наше решение.

Коллектив разработчиков.

Первое, что необходимо сделать - это определить языки, с которыми будет работать проект. О том, как это сделать, вы можете прочитать здесь.

Для использования класса MultilingualControl в своем проекте вы должны организовать его таким образом, чтобы вся текстовая информация находилась на пользовательских контролах. По умолчанию они унаследованы от System.Web.UI.UserControl, вам необходимо заменить родителя на MultilingualControl:

public partial class Header: System.Web.UI.UserControl SoftAIN.MultilingualControl

Принцип действия класса MultilingualControl основан на том, что большинство серверных элементов управления отображают на страницах текстовую информацию, определяемую значениями своих опубликованных свойств (т.е. свойств, для которых установлен аттрибут Browsable). Инициализация этих свойств из ресурсов при смене текущего языка позволяет легко добавлять поддержку мультиязычности в ASP.NET проекты. Если вы уже ознакомились c демо проектом, то знаете, что языковые ресурсы могут быть добавлены в проект как встроенный ресурс, так и в качестве файла, распространяемого вместе с проектом. Преимущество первого способа заключается в большей надежности, зато второй способ позволяет корректировать языковую информацию и даже добавлять новые языки без необходимости перекомпилировать проект. Демонстрационный проект показывает, как можно комбинировать оба способа. С форматом файла ресурсов вы можете ознакомится здесь.

Не всегда простая установка публичных свойств позволяет осуществить полный перевод текстовой информации, размещаемой элементом на странце. Перекрывая методы OnChangeControlLanguage и/или ChangeControlsLanguage, вы можете гибко изменять функциональность класса. Примеры перекрытия этих методов также есть в демо проекте.

Существуют ситуации, когда необходимо показывать пользователю принципиально различную информацию для разных языков. Для этой цели служит вспомогательный класс ControlHolder, который загружает необходимое содержимое в зависимости от текущего языка.

СкрытьИерархия наследования

СкрытьИнформация о версии

.NET Framework

Поддерживается в: 2.0

СкрытьСм. также

Copyright © 2005-2007 SoftAIN