2015-07-21 2 views
3

Возможно ли иметь другой источник изображения для разных локалей браузера? Изображения хранятся локально. Один для английского и другой для немецкого. Итак, если я запустил браузер на немецком языке, он должен показать немецкий образ. И то же самое для английского.Различные источники изображения для разных локаций

ответ

3

Вы можете обнаружить LANGAUGE браузера через:

var language = window.navigator.userLanguage || window.navigator.language; 
alert(language); 

Теперь вы можете проверить значение language, который может определить, откуда читать изображения с.

Другой вариант - префикс изображения с использованием языка, например. en-USMyPic.jpg, а затем через JS прочитайте изображение.

+0

Это помогло мне. Я прочитал язык браузера, как вы сказали. Имена изображений: _de.extensnion и _en.extension. И я установил источник изображения, как это, из js. Благодаря! – Gheo

0

Используйте селектор псевдокласса :lang(). Пусть источники изображения имеют связанный атрибут lang.

:lang(en) { 
 
    background-image: url('http://placehold.it/200x200'); 
 
    width: 200px; 
 
    height: 200px; 
 
} 
 
:lang(de) { 
 
    background-image: url('http://placehold.it/300x300'); 
 
    width: 300px; 
 
    height: 300px; 
 
}
<div lang="en">For English users</div> 
 
<div lang="de">For German Users</div>

+0

Я также нашел это решение на других сайтах, но мне это не помогло. Оба div видны на странице, независимо от языка браузера. Но я попробую еще раз, может быть, я делаю что-то неправильно. – Gheo

+0

О, верно! Решение Ройи - это путь. Пожалуйста, попробуйте объяснить всю проблему в следующий раз, так что вы не получите широких ответов. –

+0

ОК, извините, если я не был достаточно ясен. – Gheo

0

ответ Маноя не вполне отвечает на вопрос. Но небольшая настройка могла заставить его работать.

Типичный Разметка будет выглядеть примерно так, с lang атрибута, определенного на <html> тег:

<html lang="en"> 
... 
    <div class="lang-specific"></div> 
... 
</html> 

CSS-бы что-то вроде:

:lang(en) .lang-specific { 
    /* English styles here */ 
} 

:lang(de) .lang-specific { 
    /* German styles here */ 
} 
+0

Но я не хочу определять lang в теге html. Язык должен быть взят из браузера. – Gheo

+2

Ну, тогда ответ Ройи - это путь. Вы также можете установить атрибут 'lang' для тега' 'с помощью javascript, и таким образом вы просто используете CSS для стилизации всех специфических для языка вещей, которые у вас есть в документе, вместо того, чтобы динамически изменять эти стили с помощью javascript. –