![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: 6 Всего: 14 |
В данный момент занимаюсь интернационализацией сайта.
Вынес все тексты в resource bundle, перевел их, перевел struts error messages, но остаются тексты, прописанные графикой (например, пункты меню). Кто сталкивался с такой задачей и как изящнее всего ее решить. Создать фильтр на /img/* который будет смотреть на текущую локаль запроса и выдавать подходящую картинку. Может есть способ покрасивее? Не будет ли это влиять на производительность, если я еще и картинки буду выводить самостоятельно? Тем более, непонятно что будет с кэшем в браузере. (понятно, что это не будет bottleneck, но все-таки по-моему такими вещами, как графика, должен заниматься apache ну или tomcat без вмешательства пользователя) JSTL по всей видимости устанавливает локаль на основе http-заголовка Language. Сохраняет ли он это значение до окончания сессии или проверяет при каждом запросе? Когда он это делает? Как и в какой момент лучше всего переопределить локаль? Например, я хочу устанавливать ее на основе IP-адреса (использую GeoIP). Если я поставлю фильтр /* и в нем установлю локаль, не будет ли она перезаписана JSTL'ем при обработке первой же страницы? Вообще интересно послушать, кто как занимается i18n веб-приложений. Может какие секреты и тонкости есть? Например, можно ли заставить контейнер перезагрузить только ресурсы, а не все приложение. После изменения строчки в properties перезапускать все приложение не совсем этично по-моему |
|||
|
||||
| Nobody |
|
||||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 25.8.2003 Где: Россия, Москва Репутация: 1 Всего: 16 |
1) Рисовать много комплектов картинок, для каждого языка 2) Программно писать на картинках буквы. 3) Не пользоваться картинками с текстом
Не будет, если будут отдаваться правильные кэширующие заголовки. Размещать картинки в разных папках.
При каждом запросе. Вызывает ServletRequest#getLocale()
http://www.jguru.com/faq/view.jsp?EID=1057614 Перед использованием её (локали), очевидно.
Нет, не будет.
Можно написать свою реализацию ResourceBundle'а и брать ресурсы, например, из базы. -------------------- |
||||||||||||
|
|||||||||||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: 6 Всего: 14 |
Спасибо за остальные ответы!!!
Но с картинками не подходит т.к. 1. Программно писать нельзя, т.к. картинки непростые 2. Не использовать картинки нельзя по условиям задачи 3. Для всех языков...ох-хо-хо...сколько же определено языков даже и подумать страшно.. Видимо кроме фильтра никак не решить. Он должен определять, есть ли "особенная языковая" картинка для данного языка, и если есть, то делать редирект на нее. В обратном случае показывать некую "дефолтную". Хотя только что придумал другой вариант! В логике установке локали иметь список доступных языков, для которых есть полный комплект i18n (строки и картинки) и соответственно все остальные языки, которые выставила JSTL или GeoIP (например албанский), принудительно переключать на один из доступных. Тогда все просто Это сообщение отредактировал(а) kkorsakoff - 27.10.2006, 13:00 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |