无法国际化 运行
Can't make i18n run
我正在使用 HTML5 和 CSS 创建一个网站,而不是使用 CMS。我的下一个目标是用多种语言制作网站,所以我搜索并找到了很多图书馆。我是新手,选择了最简单的或有更多评论、示例的...
所以我选择了 i18next,但我也尝试了 i18n,i18next.amd...现在我卡住了,因为我正在学习一些教程,但无法完成这项工作...每次我都会收到此错误
Uncaught ReferenceError: i18n is not defined
所以我创建了一个空项目来完成这项工作并学习如何做。这个新项目真的很轻。结构是:
- index.html
- 语言环境
- zh-CN
- 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.x 重写为 2.x,并且 API 发生了巨大变化。您现在可以在 http://i18next.com/docs/ 上找到的文档引用版本 2.x,而许多博客和 Whosebug 文章引用版本 1.x,增加了混乱。雪上加霜的是,我再也找不到版本 1.x 的任何完整文档(顺便说一下,它还不到一年)。
现在,为了回答您的问题,您似乎使用的选项和 API 来自版本 1.x(例如,resGetPath
在版本 2.x).此外,在 2.x 中,i18n
已替换为 i18next
。
好的一面是,作者似乎对问题的回复速度很快,所以你不妨在项目 github 页面上打开一个问题。或者检查这个:
我正在使用 HTML5 和 CSS 创建一个网站,而不是使用 CMS。我的下一个目标是用多种语言制作网站,所以我搜索并找到了很多图书馆。我是新手,选择了最简单的或有更多评论、示例的...
所以我选择了 i18next,但我也尝试了 i18n,i18next.amd...现在我卡住了,因为我正在学习一些教程,但无法完成这项工作...每次我都会收到此错误
Uncaught ReferenceError: i18n is not defined
所以我创建了一个空项目来完成这项工作并学习如何做。这个新项目真的很轻。结构是:
- index.html
- 语言环境
- zh-CN
- translation.json
- es
- translation.json
- 默认
- translation.json
- zh-CN
- 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.x 重写为 2.x,并且 API 发生了巨大变化。您现在可以在 http://i18next.com/docs/ 上找到的文档引用版本 2.x,而许多博客和 Whosebug 文章引用版本 1.x,增加了混乱。雪上加霜的是,我再也找不到版本 1.x 的任何完整文档(顺便说一下,它还不到一年)。
现在,为了回答您的问题,您似乎使用的选项和 API 来自版本 1.x(例如,resGetPath
在版本 2.x).此外,在 2.x 中,i18n
已替换为 i18next
。
好的一面是,作者似乎对问题的回复速度很快,所以你不妨在项目 github 页面上打开一个问题。或者检查这个: