Мы используем пользовательский конструктор выражений для локализации нашего приложения. Например. разметка выглядит так:
<asp:LinkButton Text="<%$ Str:SomeString %>" ... />
Построитель выражений считывает строку с идентификатором SomeString из файла ресурсов (с учетом языковых предпочтений текущего пользователя) и назначает ее свойству Text элемента LinkButton.
Это довольно гибко: мы можем добавлять языки, просто копируя файл ресурсов в каталог приложения. И если клиент хочет иметь другой текст для этой кнопки ссылки, он просто добавляет свою пользовательскую строку в файлы ресурсов и изменяет идентификатор строки в конструкторе выражений (без необходимости изменения кода).