Javascript 使用RequireJS-i18next-plugin时的i18next特殊功能
我正在使用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
// 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,我正在尝试安装它,但我面临一些问题。我可能会再来问另一个问题。