1

我是 i18n 的新手,当我在搜索栏中输入它时,i18next位于顶部结果中。我已经对 i18n 以及如何使用它进行了研究。但我仍然不清楚。我所知道的是,为了能够使您的网络应用程序可用于其他语言,您需要创建一个包含应用程序的键和值的 json 文件,并且您需要为 i18n 添加一个脚本。

其余的对我来说仍然令人困惑。这对你来说听起来可能是个愚蠢的问题,但我就是不明白它是如何工作的。

1)我不确定,但根据我的观察,您只为那些具有将在页面中显示的值或文本的人创建一个 json 翻译。正确的?假设在 html 文件中,我有一个不在标签或 innerhtml 内的文本,例如:

<html>
<body>
**How are we going to translate this text? What key am I going to use?**
</body>
</html>

我需要做什么来翻译这段文字?

2)我们应该使用什么作为密钥?ID?班级?标签?因为我见过不同的例子,它使用不同的任何这些。什么时候使用这些合适?

3)关于键值对,如果该对来自服务器怎么办?这是什么语法?

4)我们什么时候需要多行json?

4

1 回答 1

0

i18n 是一个很大的话题,有很多解决方案取决于您尝试国际化/本地化的网络应用程序类型。不幸的是,i18next 的文档不是很好,几乎没有教程。

也就是说,您最好在此处查看 i18next.js 的 github 存储库中的示例应用程序:https ://github.com/jamuhl/i18next/tree/master/sample/static 。它确实提供了一些示例,说明如何使用 i18next 将 html 文本替换为相同的本地化版本。要回答您的一些问题:

  1. 有几种方法可以做到这一点。示例脚本通过使用 jQuery .text调用替换了大部分数据- 类似于:$('#MyHTMLID').text($.t('ns.common:MyLocalizedTextForMyHTMLID'));. id "MyHTMLID" 中的任何 html 都被 i18next .t调用的键 "MyLocalizedTextForMyHTMLID" 的本地化数据替换。

  2. 许多这些决定只是惯例。保持简单,保持一致。

  3. 通常在 Web 应用程序中,json 文件位于服务器上,位于 html 所在目录的 locales 子目录中。查看 i18next 示例,了解其布局方式。

  4. 首次构建 Web 应用程序时,请使用多行 json 文件进行故障排除。您可以稍后使用http://jsonformatter.curiousconcept.com/之类的内容对其进行压缩。

希望这可以帮助您入门!

于 2014-05-07T15:53:51.500 回答