Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Полная интернационализация сайта, что делать с img 
:(
    Опции темы
kkorsakoff
Дата 26.10.2006, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 6
Всего: 14



В данный момент занимаюсь интернационализацией сайта.

Вынес все тексты в resource bundle, перевел их, перевел struts error messages, но остаются
тексты, прописанные графикой (например, пункты меню). Кто сталкивался с такой задачей и как изящнее всего ее решить. Создать фильтр на /img/* который будет смотреть на текущую локаль запроса и выдавать подходящую картинку. Может есть способ покрасивее? Не будет ли это влиять на производительность, если я еще и картинки буду выводить самостоятельно? Тем более, непонятно что будет с кэшем в браузере.

(понятно, что это не будет bottleneck, но все-таки по-моему такими вещами, как графика, должен заниматься apache ну или tomcat без вмешательства пользователя)


JSTL по всей видимости устанавливает локаль на основе http-заголовка Language. Сохраняет ли он это значение до окончания сессии или проверяет при каждом запросе?
Когда он это делает?
Как и в какой момент лучше всего переопределить локаль? Например, я хочу устанавливать ее на основе IP-адреса (использую GeoIP). Если я поставлю фильтр /* и в нем установлю локаль, не будет ли она перезаписана JSTL'ем при обработке первой же страницы?

Вообще интересно послушать, кто как занимается i18n веб-приложений. Может какие секреты и тонкости есть?smile

Например, можно ли заставить контейнер перезагрузить только ресурсы, а не все приложение. После изменения строчки в properties перезапускать все приложение не совсем этично по-моемуsmile
PM MAIL WWW ICQ   Вверх
Nobody
Дата 26.10.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: 1
Всего: 16



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

1) Рисовать много комплектов картинок, для каждого языка
2) Программно писать на картинках буквы.
3) Не пользоваться картинками с текстом smile

Цитата
Не будет ли это влиять на производительность, если я еще и картинки буду выводить самостоятельно? Тем более, непонятно что будет с кэшем в браузере.

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

Цитата
JSTL по всей видимости устанавливает локаль на основе http-заголовка Language. Сохраняет ли он это значение до окончания сессии или проверяет при каждом запросе? Когда он это делает?

При каждом запросе. Вызывает ServletRequest#getLocale()

Цитата
Как и в какой момент лучше всего переопределить локаль? Например, я хочу устанавливать ее на основе IP-адреса (использую GeoIP).

http://www.jguru.com/faq/view.jsp?EID=1057614
Перед использованием её (локали), очевидно.

Цитата
Если я поставлю фильтр /* и в нем установлю локаль, не будет ли она перезаписана JSTL'ем при обработке первой же страницы?

Нет, не будет.

Цитата
Например, можно ли заставить контейнер перезагрузить только ресурсы, а не все приложение. После изменения строчки в properties перезапускать все приложение не совсем этично по-моемуsmile

Можно написать свою реализацию ResourceBundle'а и брать ресурсы, например, из базы.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
kkorsakoff
Дата 27.10.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 6
Всего: 14



Спасибо за остальные ответы!!!

Но с картинками не подходит т.к.smile

1. Программно писать нельзя, т.к. картинки непростыеsmile 
2. Не использовать картинки нельзя по условиям задачи
3. Для всех языков...ох-хо-хо...сколько же определено языков даже и подумать страшно..smile

Видимо кроме фильтра никак не решить. Он должен определять, есть ли "особенная языковая" картинка для данного языка, и если есть, то делать редирект на нее. В обратном случае показывать некую "дефолтную".

Хотя только что придумал другой вариант!
В логике установке локали иметь список доступных языков, для которых есть полный комплект i18n (строки и картинки) и соответственно все остальные языки, которые выставила JSTL или GeoIP (например албанский), принудительно переключать на один из доступных. Тогда все простоsmile

Это сообщение отредактировал(а) kkorsakoff - 27.10.2006, 13:00
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.