Настраиваемая система контента в ASP.NET - PullRequest
2 голосов
/ 17 сентября 2010

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

Поскольку все должно настраиваться через интерфейс, файлы ресурсов не кажутся решением.

Я не ожидаю найти что-то подобное из коробки.Как бы вы разработали что-то подобное или что бы вы начали настраивать, чтобы получить эту функциональность?

Ответы [ 2 ]

1 голос
/ 18 сентября 2010

Я достиг требуемого типа функциональности, создав пользовательский провайдер ресурсов на основе базы данных и установив тег <globalization> в Web.Config, чтобы он указывал на вашего провайдера.см .: http://msdn.microsoft.com/en-us/library/aa905797.aspx

Затем на своих страницах и в коде вы можете обратиться к GetGlobalResourceObject или GetLocalResourceObject, чтобы получить локализованные ресурсы.

Несмотря на то, что он в первую очередь предназначен для нескольких языков, я использовал его в сочетании с пользовательскими настройками локали для предоставления различных меток, сообщений об ошибках и текста различным группам пользователей.

1 голос
/ 17 сентября 2010

Создайте простую таблицу в следующем виде:

table Resources {
  language varchar(100)
  label varchar(100) /* you might consider a different key type, but this would be easiest on coding */
  value varchar(max)
}

Вы можете просто кэшировать всю таблицу на веб-сервере, чтобы выполнить локальный поиск, и просто завершить кэш при изменении значения.1004 *

Это относительно простая вещь.

...