【问题标题】:Basics of i18nexti18next 的基础知识
【发布时间】:2014-04-03 23:43:36
【问题描述】:

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

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

1) 我不确定,但根据我的观察,您只为那些具有将在页面中显示的值或文本的内容创建 json 翻译。正确的?假设在 html 文件中,我有一个不在 label 或 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?

【问题讨论】:

    标签: i18next


    【解决方案1】:

    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'));。通过 i18next .t 调用,ID“MyHTMLID”中的任何 html 都会被键“MyLocalizedTextForMyHTMLID”的本地化数据替换。

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

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

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

    希望这可以帮助您入门!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-16
      • 2018-05-25
      • 2014-11-28
      • 2014-02-14
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多