问题标签 [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.
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:"});
有谁知道问题是什么?还是有人有适合我尝试做的工作示例?
javascript - 命名空间的自动加载 i18next
我使用 I18Next 作为基于 Javascript 的翻译解决方案,这就是需要发生的事情:
- 加载默认命名空间“Core”。它包含我想要的大多数键,但不是全部。
- 没有固定的命名空间列表:因此我不能只告诉我想要
i18n.init
的s。ns.namespace
- 在页面加载期间,可选的一些“模块”被加载到应用程序中,它们也需要被翻译。他们应该在某处报告他们的 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”,或者我可以强制手动加载。)
javascript - i18next 翻译问题
我仍然尝试使用 i18next 来翻译我的 jQuery 应用程序。在遇到一些一般性问题(在此处解决:如何使用 i18next?翻译问题)之后,我想翻译所有可见文本。但是在这里我遇到了问题,我需要帮助来解决这个问题。我希望有一个人可以帮助我。
js/translations.js
/locales/de/translation.json
/locales/en/translation.json
/locales/dev/translation.json
菜单翻译仍然有效,所以我从 index.html 中跳过了这部分。
附加问题:是否可以一次翻译所有具有相同内容的文本?示例是当前单独翻译的取消按钮。
在此先感谢您的帮助。
托马斯
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/
。
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 模板看起来像:
对于少量数据,这可以正常工作,但是如果您有大量段落,它可能会变得无聊。
javascript - i18next 翻译中的 HTML 标签
我正在为我的博客使用i18next来为 i18n 供电。它适用于纯文本内容,但是当我尝试翻译包含 HTML 标记的内容时,它会在我翻译文本时显示原始标记。
例如,以下是未按预期工作的帖子中的标记片段:
翻译代码如下所示:
当翻译被渲染时,HTML标签被转义并作为文本输出:
如何让 i18next 更改已翻译元素的 HTML?
node.js - 运行客户端时将助手附加到 Jade(在浏览器中)
我制作了一个由节点 js (Express) 和 mongo db 驱动的单页应用程序。我使用了翡翠模板,并在浏览器中呈现了一些模板。模板渲染得很好,除了我无法锻炼如何添加助手。特别是 i18next。
我已经设置了一条到 template/get/ 的路线,如下所示:
然后我将这个和翡翠'runtime.js'作为脚本包含在我的页面顶部。通过调用模板可以很好地呈现template.listing_snippet({locals: foo});
但我无法让 i18next 的助手工作。我想我需要以某种方式附加帮助器......但该区域的文档有点薄。
node.js - ReferenceError: t 未定义
我使用 i18next 库在我的 express.js/blade.js 模板上有这个代码 index.coffee
我的 head.blade 模板就像:
我得到的错误是当我加载网站时:
我的错误出现在t("ns.layout:menu."+i)
我正在初始化 i18next 但看不到为什么在这个 index.coffee 中它不起作用!
非常感谢任何建议
node.js - i18next 在特定语言上初始化
我正在使用 i18next-node 来本地化我的应用程序。
我有两种语言:en-CA
和fr-CA
我正在使用它来初始化应用程序:
问题是,当我启动应用程序时,它给了我这个错误:
我不想要 en-US,我想要 en-CA。现在,我的应用程序没有显示任何一种语言。如何将 en-CA 设置为默认值?
javascript - 如何在 js 警报中使用 i18next 显示翻译后的字符串?
我们正在开发一个使用 html/css/js 的应用程序,它使用i18next来显示翻译后的字符串。
为了显示翻译,我在标签中嵌入了一个属性。例如:
除此之外,该应用程序使用 javascript 文件将字符串替换为翻译。例如,上面的代码对应于:
这种翻译方法适用于 HTML 标签。我不知道如何在 js 代码中翻译字符串。例如,我将如何为此显示翻译的字符串?
帮助将不胜感激。