问题标签 [i18next]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
30261 浏览

javascript - 如何使用 i18next?翻译问题

我想在我的 jQuery Mobile 和 jQuery 网站上使用国际化选项。我试图用http://i18next.com上的文档生成一个示例,但似乎我失败了。有人有使用 i18next 的经验吗?

这是我的例子:

索引.html:

翻译文件:/locales/de/translation.json

/locales/en/translation.json

/locales/dev/translation.json

/js/translation.js

我得到的菜单的翻译是“menu.name”而不是预期的“名称:”。对于标题,我没有得到翻译,但我希望是“数据:”或“日期:”。

如果我尝试以下直接调用,我不会得到任何翻译: i18n.t("menu.surname", { defaultValue: "Name:"});

有谁知道问题是什么?还是有人有适合我尝试做的工作示例?

0 投票
2 回答
3396 浏览

javascript - 命名空间的自动加载 i18next

我使用 I18Next 作为基于 Javascript 的翻译解决方案,这就是需要发生的事情:

  1. 加载默认命名空间“Core”。它包含我想要的大多数键,但不是全部。
  2. 没有固定的命名空间列表:因此我不能只告诉我想要i18n.init的s。ns.namespace
  3. 在页面加载期间,可选的一些“模块”被加载到应用程序中,它们也需要被翻译。他们应该在某处报告他们的 i18n 命名空间名称,然后 i18n shuold 使该命名空间的键可用。

基本上,i18next 有没有办法在调用命名空间时自动加载它们?保证被调用的命名空间t("[SomeNamespace]Key.Key2");是有效的并且肯定存在。问题很简单,i18next 不能“自动加载”,我无法找到一种方法让 i18n在调用 i18n.init后“手动”加载资源文件。

这是我当前的代码。

正如预期的那样,它只是显示我LoginUI:Messages.Name而不是翻译System/i18n/LoginUI/en.json

(在这种情况下,Core/en.json 无关紧要。我目前需要的是自动加载“LoginUI/en.json”,或者我可以强制手动加载。)

0 投票
1 回答
3977 浏览

javascript - i18next 翻译问题

我仍然尝试使用 i18next 来翻译我的 jQuery 应用程序。在遇到一些一般性问题(在此处解决:如何使用 i18next?翻译问题)之后,我想翻译所有可见文本。但是在这里我遇到了问题,我需要帮助来解决这个问题。我希望有一个人可以帮助我。

js/translations.js

/locales/de/translation.json

/locales/en/translation.json
/locales/dev/translation.json

菜单翻译仍然有效,所以我从 index.html 中跳过了这部分。

附加问题:是否可以一次翻译所有具有相同内容的文本?示例是当前单独翻译的取消按钮。

在此先感谢您的帮助。

托马斯

0 投票
2 回答
4268 浏览

javascript - 使用 i18next 的异步语言选择器

我正在使用http://jamuhl.github.com/i18next来本地化一个静态网站。

我的初始化脚本是:

这是HTML:

单击选项时设置语言的正确方法是什么,只需异步从文件<select>中提取值而无需重新加载整个页面?<p data-i18n="welcome.p1"></p>/locals/br/translations.json

如果用户随后导航到其他页面,这将如何保持?我正在使用https://github.com/allmarkedup/jQuery-URL-Parser但没有看到任何更改 uri 的函数,因此选择附加到 like http://domain.tld/br/

0 投票
3 回答
561 浏览

javascript - 使用 nodejs 时的 i18next 段落

我正在使用http://jamuhl.github.com/i18next/node/工作正常,但是对于一个我似乎无法解决的问题。

就是这样,我的 /locales/dev/translation.json 中有这个 translation.json 文件

在我的刀片模板中,我有以下内容:

问题是我得到了 html 标签,查看文档http://i18next.com/pages/sample.html专门设置内部 html:

使用 i18next-node 和显示段落部分的正确方法是什么,我之前的做法是:

然后我的 page.blade 模板看起来像:

对于少量数据,这可以正常工作,但是如果您有大量段落,它可能会变得无聊。

0 投票
9 回答
89083 浏览

javascript - i18next 翻译中的 HTML 标签

我正在为我的博客使用i18next来为 i18n 供电。它适用于纯文本内容,但是当我尝试翻译包含 HTML 标记的内容时,它会在我翻译文本时显示原始标记。

例如,以下是未按预期工作的帖子中的标记片段:

翻译代码如下所示:

当翻译被渲染时,HTML标签被转义并作为文本输出:

如何让 i18next 更改已翻译元素的 HTML?

0 投票
0 回答
291 浏览

node.js - 运行客户端时将助手附加到 Jade(在浏览器中)

我制作了一个由节点 js (Express) 和 mongo db 驱动的单页应用程序。我使用了翡翠模板,并在浏览器中呈现了一些模板。模板渲染得很好,除了我无法锻炼如何添加助手。特别是 i18next。

我已经设置了一条到 template/get/ 的路线,如下所示:

然后我将这个和翡翠'runtime.js'作为脚本包含在我的页面顶部。通过调用模板可以很好地呈现template.listing_snippet({locals: foo});

但我无法让 i18next 的助手工作。我想我需要以某种方式附加帮助器......但该区域的文档有点薄。

0 投票
2 回答
5087 浏览

node.js - ReferenceError: t 未定义

我使用 i18next 库在我的 express.js/blade.js 模板上有这个代码 index.coffee

我的 head.blade 模板就像:

我得到的错误是当我加载网站时:

我的错误出现在t("ns.layout:menu."+i)我正在初始化 i18next 但看不到为什么在这个 index.coffee 中它不起作用!

非常感谢任何建议

0 投票
2 回答
3717 浏览

node.js - i18next 在特定语言上初始化

我正在使用 i18next-node 来本地化我的应用程序。

我有两种语言:en-CAfr-CA

我正在使用它来初始化应用程序:

问题是,当我启动应用程序时,它给了我这个错误:

我不想要 en-US,我想要 en-CA。现在,我的应用程序没有显示任何一种语言。如何将 en-CA 设置为默认值?

0 投票
1 回答
972 浏览

javascript - 如何在 js 警报中使用 i18next 显示翻译后的字符串?

我们正在开发一个使用 html/css/js 的应用程序,它使用i18next来显示翻译后的字符串。

为了显示翻译,我在标签中嵌入了一个属性。例如:

除此之外,该应用程序使用 javascript 文件将字符串替换为翻译。例如,上面的代码对应于:

这种翻译方法适用于 HTML 标签。我不知道如何在 js 代码中翻译字符串。例如,我将如何为此显示翻译的字符串?

帮助将不胜感激。