Javascript 使用RequireJS-i18next-plugin时的i18next特殊功能

Javascript 使用RequireJS-i18next-plugin时的i18next特殊功能,javascript,requirejs,i18next,Javascript,Requirejs,I18next,我正在使用i18next处理项目的翻译。 它有很多很好的功能,比如: // pluralization (http://i18next.com/translate/pluralSimple/): i18next.t('apple', {count: 5}); // apples // translation context (http://i18next.com/translate/context/): i18next.t('friend', {context: 'male'}); // A

我正在使用i18next处理项目的翻译。 它有很多很好的功能,比如:

// pluralization (http://i18next.com/translate/pluralSimple/):
i18next.t('apple', {count: 5}); // apples

// translation context (http://i18next.com/translate/context/):
i18next.t('friend', {context: 'male'}); // A boyfriend
然而,我的项目也使用了RequireJS及其i18next插件,正如文档()中提到的那样,其工作原理如下:

我将翻译声明为RequireJS模块:

//Contents of my/nls/translations.js
define({
    "root": {
        "friend": "A friend",
        "friend_male": "A boyfriend",
        "friend_female": "A girlfriend",

        "apple": "apple",
        "apple_plural": "apples"
    },
    "fr-fr": {
        "friend": "Un ami",
        "friend_male": "Un petit ami",
        "friend_female": "Un petite amie",

        "apple": "pomme",
        "apple_plural": "pommes"
    }
});
然后我以这种方式加载和使用它们:

//Content of my/logic.js
var translations = require("i18n!my/nls/translations.js");
console.log(translations.friend); // logs "Un ami" (in my French browser!)

然而,在这样的背景下,我不明白如何使用我上面提到的i18next的各种功能(多元化、背景等等)。这不会出现在插件的文档中。我有点迷路了…

RequireJS i18n插件与i18next不兼容。使用插件

requirejsi18n插件是一个简单的
key=>val
mapperi18next是一个强大的工具

我个人不使用require-i18next插件。我使用domready插件和以下代码:

domReady(function () {
  i18n.init({
    fallbackLng: 'en',
    shortcutFunction: 'sprintf',
    nsseparator: ':::',
    keyseparator: '::'
  }, initApp);
});

其中,
initApp
是运行我的应用程序的函数。

RequireJS i18n插件不能与i18next一起使用。使用插件

requirejsi18n插件是一个简单的
key=>val
mapperi18next是一个强大的工具

我个人不使用require-i18next插件。我使用domready插件和以下代码:

domReady(function () {
  i18n.init({
    fallbackLng: 'en',
    shortcutFunction: 'sprintf',
    nsseparator: ':::',
    keyseparator: '::'
  }, initApp);
});

其中
initApp
是运行我的应用程序的函数。

感谢您的回复。不过,我对你所说的官方插件有点惊讶。你说的“不起作用”是什么意思?至于我上面给出的最后一段代码,它对我来说很好。你的意思是我不能使用其他功能吗?我还想知道需要优化:你的意思是它不会工作吗?至于jcbvm/require-i18next,我正在尝试安装它,但我面临一些问题。我可能会再来问另一个问题。谢谢你的回答。不过,我对你所说的官方插件有点惊讶。你说的“不起作用”是什么意思?至于我上面给出的最后一段代码,它对我来说很好。你的意思是我不能使用其他功能吗?我还想知道需要优化:你的意思是它不会工作吗?至于jcbvm/require-i18next,我正在尝试安装它,但我面临一些问题。我可能会再来问另一个问题。