Привет У меня есть простое приложение, в котором пользователь может выбрать язык, который будет использоваться в моем приложении, между английским и польским.
Когда пользователь открывает мой веб-сайт, я хочу следующее:
- Если язык браузера = английский, переключитесь на польский язык.
- Если язык браузера = польский, ничего не делать.
- Предположим, что польский язык является языком по умолчанию.
Поскольку это очень простое приложение, я использую jQuery для перевода.
Ниже приведено мое решение:
JSFIDDLE: demo
//redirect
$(document).ready(function() {
var userLang = navigator.language || navigator.userLanguage;
if (userLang == "pl-pl") {
break;
} else {
userLang = "eng-gb"
}
}
});
// translation
// The default language is Polish
var lang = "pl-pl";
// Check for localStorage support
if ('localStorage' in window) {
var usrLang = localStorage.getItem('uiLang');
if (usrLang) {
lang = usrLang
}
}
var arrLang = {
"pl-pl": {
"Valentine": "Do Walentynek zostało już tylko",
},
"en-gb": {
"valentine": "Remaining days to Valentines!",
}
}
$(document).ready(function() {
$(".lang").each(function(index, element) {
$(this).text(arrLang[lang][$(this).attr("key")]);
});
$(".lang").each(function(index, element) {
$(this).text(arrLang[lang][$(this).attr("key")]);
});
// get/set the selected language
$(".translate").click(function() {
var lang = $(this).attr("id");
// update localStorage key
if ('localStorage' in window) {
localStorage.setItem('uiLang', lang);
}
$(".lang").each(function(index, element) {
$(this).text(arrLang[lang][$(this).attr("key")]);
});
});
});
<div class="translate">
<ul class="language">
<li class="eng translate" id="en-gb">EN</li>
<li class="pl translate" id="pl-pl">PL</li>
</ul>
</div>
<div class="rss-feed">
<p class="lang" key="valentine">Do Walentynek zostało już tylko
</p>
<span id="mybenfit-timer" class="lang" key="days">
</span>
</div>
К сожалению, мое решение не работает.Что не так с моим кодом?