2008-12-01 3 views
7

Пару лет назад у нас был графический дизайнер, обновляющий наш сайт. Его результаты выглядели великолепно, но он, к сожалению, представил новый неподдерживаемый шрифт веб-браузером.Локализация изображений в ASP.NET

Сначала я подумал: «Что!?!» ... поскольку большая часть нашего контента динамична, и не было реального способа предварительно сделать все изображения. Также была проблема с несколькими языками (поскольку мы знали, что испанский язык находится на горизонте).

В любом случае, я решил создать несколько классов для автоматического создания изображений через GDI + и программно кэшировать их по мере необходимости. Это решило большинство наших первоначальных проблем. Однако теперь, когда наша нагрузка резко возросла, на нашем пользовательском сервере произошел утечка.

Теперь на вопрос ... Я хочу заменить большинство динамических изображений GDI + на стандартный шрифт веб-браузера. Я думаю о сохранении некоторых изображений GDI + и помещении их в файл resx, но планирую заменить большинство из них шрифтами Tahoma или Arial через asp: Labels.

Что вы нашли, чтобы найти лучшее решение для локализованного изображения?

  • Встраивание изображения в Resx
  • Только добавляющий URL изображения в Resx
  • Некоторые другие решения

Моя главная задача заключается в ограничении обработки на сервере пользовательского интерфейса. Если это так, добавит ли url изображения в resx лучшее решение по сравнению с фактическим внедрением изображения в resx?

ответ

3

Вам нужно только создать каждое изображение один раз, а затем сохранить его на жесткий диск. Нагрузка на вашем сайте не должна увеличивать объем обработки, которую вы должны выполнить. Это, как говорится, почти похоже на то, что вы используете изображения для вещей, которых вы не должны быть. Если есть так много разных изображений, которые вы не можете угнать за их созданием, пришло время отказаться от ваших фантазийных изображений для вещей, которые не должны быть изображениями, и вернуться к прямому тексту. Если у пользователя не установлен указанный шрифт, он должен просто вернуться к аналогичному шрифту. CSS имеет хорошую поддержку для этого.

0

Из-за кэширования, я бы скорее добавил только URL-адрес изображения в resx. Кэширование намного лучше для статического контента (i-e простых файлов), чем для сгенерированного контента.

3

видеть мой ответ here

Это можно сделать вручную или с помощью какой-то автоматизированной системы (CMS).

Основным методом является кэширование изображений в структуре каталогов, специфичных для языка, а затем запись обработчика HTTP, который эффективно удаляет дополнительный слой каталога. например:

/images/ 
    /en/ 
     header1.gif 
    /es/ 
     header1.gif 

В вашей разметке или CSS вы просто указали бы /images/header1.gif. Затем http-hander использует сеанс (если язык является специфичным для пользователя) или config (если зависит от конкретного сайта), чтобы выбрать, в какой директории будет отображаться изображение.

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

+0

Единственное, что я могу думать здесь, хотя в том, что если пользователь меняет языки, они должны очистить свой кэш для просмотра разного содержания. Не обязательно большое дело, но что-то, о чем нужно знать. – 2008-12-01 15:18:44

1

У меня была та же проблема несколько лет назад, и наша команда интерфейса указала нам на SIFr. http://wiki.novemberborn.net/sifr/

Вы вставляете свой шрифт во Flash-фильм, а затем используете SIFr JavaScript для динамического преобразования текста в свой шрифт. Поскольку это клиентская сторона, на стороне сервера нет никакого влияния.

Если у пользователя нет установленной Flash или JavaScript, они получают самый близкий к веб-шрифту шрифт.

В качестве дополнительного бонуса: поскольку ваш контент по-прежнему остается текстовым - Google может искать и индексировать контент - огромную оптимизацию SEO.

+0

Должен сказать, что у меня очень * смешанные результаты с SIFR по качеству и производительности. Пусть покупатель будет бдителен. – annakata 2008-12-01 15:22:31

0

Я был бы очень осторожно о том, чтобы положить текст в изображения на всех, CSS с подходящим семейным резервом, вероятно, правильный ответ на доступность и хорошие основания MVC.

Где поколение действительно требуется, я думаю Kiblee и JayArr контурные хорошие решения