изменить изображения и / или CSS в зависимости от локали для проблем i18n - PullRequest
3 голосов
/ 30 марта 2011

Я использую Spring MVC, и я организовал изменение сообщений в зависимости от локали в формах JSP, используя ReloadableResourceBundleMessageSource и тег сообщения из формы Spring Spring.Но я хочу изменить изображения в зависимости от локали.Изображения в файлах CSS и теги IMG в JSP.

Какие есть варианты для этого?Весной я знаю о темах, но не знаю, как их прикрепить к LocaleChangeInterceptor.

1 Ответ

4 голосов
/ 02 апреля 2011

Вам нужен так называемый механизм локализации CSS.

Есть несколько возможных способов сделать это. Стандартным способом было бы использовать CSS: псевдо-селектор lang и записать атрибут lang, чтобы он соответствовал языку интерфейса пользователя:

<html>
  <head>
    <style type="text/css">
      p:lang(en) {color:blue; background: white;}
      p:lang(pl) {color: white; background: red;}
    </style>
  </head>
  <body>
    <p lang="en">Some English text.</p>
    <p lang="pl">Jakiś Polki tekst.</p>
  </body>
</html>

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

В противном случае вам нужно будет разработать собственное решение. Насколько я знаю, стандартного решения не существует (по крайней мере, оно не доступно публично). Вы можете подойти к проблеме двумя способами: один - создать свой собственный сервлет, который будет читать содержимое CSS-файла для каждого языка и передавать его в веб-браузер, другой - создавать собственный контроллер и записывать путь к языку. Файл CSS при отображении веб-страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...