1) Использовать файл конфигурации приложения для User-specific настроек
Рядом со сборкой (MyApplication.exe или MyApplication.dll) можно положить XML-файл настроек (MyApplication.config), который будет влиять на конкретный экземпляр сборки. Можно почитать об этом у Рихтера (в главе про разветывание сборок) или в
документации, там же есть XML-схема.
Кроме того, такой
Web.config
файл есть у каждого ASP.NET-приложения (а у десктопного -
App.config
) на уровне проекта (не путать с
Web.config
в папке Views)
2) Использовать ресурсы для хранения UI-строк
Все видимые пользователю строковые ресурсы в приложениях принято оборачивать заменять на локализованный эквивалент. Это может быть сервис, в который подставит нужные значения, в зависимости от настроек приложения/языка пользователя и т.п. Грубо говоря, словарь терминов, который выбирает значения из таблицы по значению. Используется что-то вроде:
<h3>@Localization.Get("Contacts_PageHeader")</h3>
Извлекать значения, соответственно, из ресурсов.