Javascript i18next-语言开关工作不正常

Javascript i18next-语言开关工作不正常,javascript,internationalization,i18next,Javascript,Internationalization,I18next,我用i18next js解决方案创建了一个语言切换器。每次我点击链接更改语言时,新语言都会显示一秒钟,然后网站会切换回init函数中设置的语言 有人知道我怎么解决吗?我认为这与document(ready)功能有关,但当我删除此功能时,一切都不起作用:/ 谢谢大家! index.html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="h

我用i18next js解决方案创建了一个语言切换器。每次我点击链接更改语言时,新语言都会显示一秒钟,然后网站会切换回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>

$(文档).ready(函数(){
$.i18n.init(
{
液化天然气:美国
},
功能(t){
//平移导航
$(“.nav”).i18n();
});
$('.changeLng')。单击(函数(){
$.i18n.setLng(“de”,功能(t){
$(“.nav”).i18n();
});
});
});
尝试以下代码:

<!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>

$(文档).ready(函数(){
$.i18n.init(
{
液化天然气:美国
},
功能(t){
//平移导航
$(“.nav”).i18n();
});
$('.changeLng')。单击(函数(){
$.i18n.setLng(“de”,功能(t){
$(“.nav”).i18n();
});
});
});
当您单击版本中的链接时,您正在重新加载页面,并且语言再次设置为“en-US”(再次调用document.ready函数)。在这个版本中,页面不会被重新加载,因此语言的变化会一直持续下去