[英]i18next - Language switch is not working properly
我使用i18next js-solution創建了一個語言切換器。 每次我單擊鏈接更改語言時,都會顯示新語言一秒鍾-然后網站切換回init函數中設置的語言。
有人知道我該怎么解決嗎? 我認為這與document(ready)
函數有關,但是當我刪除它時-沒有任何效果:/
謝謝!
index.html的:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/i18next-1.7.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.i18n.init(
{
lng: 'en-US'
},
function(t) {
// translate nav
$(".nav").i18n();
});
$('.changeLng').click(function() {
$.i18n.setLng("de-DE", function(t) {
$(".nav").i18n();
});
});
});
</script>
</head>
<body>
<a href="index.html?setLng=de-DE" class="changeLng">change to de</a>
<ul class="nav">
<li>
<a href="#" data-i18n="nav.home"></a>
</li>
<li>
<a href="#" data-i18n="nav.page1"></a>
</li>
<li>
<a href="#" data-i18n="nav.page2"></a>
</li>
</ul>
</body>
</html>
試試這個代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/i18next-1.7.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.i18n.init(
{
lng: 'en-US'
},
function(t) {
// translate nav
$(".nav").i18n();
});
$('.changeLng').click(function() {
$.i18n.setLng("de-DE", function(t) {
$(".nav").i18n();
});
});
});
</script>
</head>
<body>
<a href="#" class="changeLng">change to de</a>
<ul class="nav">
<li>
<a href="#" data-i18n="nav.home"></a>
</li>
<li>
<a href="#" data-i18n="nav.page1"></a>
</li>
<li>
<a href="#" data-i18n="nav.page2"></a>
</li>
</ul>
</body>
</html>
當您單擊版本中的鏈接時,您將重新加載頁面,並且語言再次設置為“ en-US”(因為再次調用document.ready函數)。 在此版本中,頁面不會重新加載,因此語言變化始終存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.