[英]i18next special features when using RequireJS-i18next-plugin
我正在使用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插件,如文檔( http://requirejs.org/docs/api.html#i18n )所述,該插件的工作方式如下:
我將翻譯聲明為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。 使用require-i18next插件
RequireJS i18n插件是一個簡單的key=>val
映射器。 i18next是功能強大的工具。
我個人不使用require-i18next插件。 我使用domready插件和以下代碼:
domReady(function () {
i18n.init({
fallbackLng: 'en',
shortcutFunction: 'sprintf',
nsseparator: ':::',
keyseparator: '::'
}, initApp);
});
其中, initApp
是運行我的應用程序的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.