无法让i18n运行

时间:2016-01-28 22:58:10

标签: javascript html json internationalization i18next

我正在创建一个包含HTML5和CSS的网站,而不是使用CMS。我的下一个目标是使用多种语言制作网站,以便搜索并找到许多库。我是这个的新手,去了最简单的那个或者有更多评论的例子,例子......

所以我接受了i18next,但我也试过了i18n,i18next.amd ......现在我被困了,因为我正在学习一些教程并且无法完成这项工作......每次我都会收到此错误

  

未捕获的ReferenceError:未定义i18n

所以我创建了一个空项目,只是为了让它工作并学习如何去做。这个新项目非常轻松。结构是:

  • 的index.html
  • 区域设置
      • translation.json
    • ES
      • translation.json
    • 默认
      • translation.json
  • JS
    • jquery.min.js
    • i18next.min.js

<html>
  <head>
  <meta charset="utf-8">
    
	
  </head>
  <body>
  <script type="text/javascript" src="js/jquery.min.js" ></script>
  <script type="text/javascript" src="js/i18next.min.js" ></script>
	
	<script type="text/javascript">
		var options ={ 
		   lng: "en" ,  
		   resGetPath: './../locales/__lng__/__ns__.json'
		};

		i18n.init(options, function(t) {
				   $(".nav").i18n();
		});
	</script>
    <ul class="nav">
      <li><a href="#" data-i18n="nav.home">asd</a></li>
      <li><a href="#" data-i18n="nav.page1">asd</a></li>
      <li><a href="#" data-i18n="nav.page2">asd</a></li>
    </ul>
  </body>
</html>

并且所有JSON文件都是这样的:

{
"app": {
"name": "i18next"
},
"nav": {
"home": "Home",
"page1": "Page One",
"page2": "Page Two"
}
}

我希望有人可以帮助我,我将非常感激。 (对不起我的英文顺便说一句)

我提到的教程: http://i18next.github.io/i18next/ http://jsbin.com/yaxofuhuzu/1/edit?html,js,output www.davidhamannmedia.com/en/post-i18next-an-easy-to-use-translation-javascript-library

还有更多......

1 个答案:

答案 0 :(得分:2)

这个库的文档很乱,主要是因为作者决定将它从版本1.x重写为2.x并且API已经发生了巨大的变化。您现在可以在http://i18next.com/docs/上找到的文档是指版本2.x,而很多博客和stackoverflow文章都引用版本1.x,这增加了混淆。为了增加对伤害的侮辱,我找不到任何版本1.x的完整文档(顺便说一句,不到一年)。

现在,为了回答您的问题,您似乎使用的选项和API来自版本1.x(例如,版本2.x中不存在resGetPath)。此外,在2.x中,i18n已被i18next替换。

从好的方面来看,作者似乎对问题的答复很快,所以你不妨在项目github页面上打开一个问题。或者检查一下:

https://github.com/i18next/i18next/issues/618