New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

node-gettext-sprintf

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-gettext-sprintf - npm Package Compare versions

Comparing version 0.0.6 to 0.0.7

110

index.js
var vsprintf = require("sprintf-js").vsprintf;
var Gettext = require("node-gettext");
var gt = new Gettext();
var __slice = Array.prototype.slice;
function GetTextFunctions(language) {
// get text
function dgettext() {
var args = __slice.call(arguments);
var msgId = args[0];
if(args.length === 1)
return gt.dgettext(language, msgId);
var sprintfArgs = __slice.call(args, 1);
return vsprintf(gt.dgettext(language, msgId), sprintfArgs);
}
// get text from context
function dpgettext() {
var args = __slice.call(arguments);
var msgContext = args[0];
var msgId = args[1];
if(args.length === 2)
return gt.dpgettext(language, msgContext, msgId);
var sprintfArgs = __slice.call(args, 2);
return vsprintf(gt.dpgettext(language, msgContext, msgId), sprintfArgs);
}
// get plural text
function dngettext() {
var args = __slice.call(arguments);
var msgId = args[0];
var amt = args[1];
if(args.length === 2)
return gt.dngettext(language, msgId, null, amt);
var sprintfArgs = __slice.call(args, 2);
return vsprintf(gt.dngettext(language, msgId, null, amt), sprintfArgs);
}
// get plural text from context
function dnpgettext() {
var args = __slice.call(arguments);
var msgContext = args[0];
var msgId = args[1];
var amt = args[2];
if(args.length === 3)
return gt.dnpgettext(language, msgContext, msgId, null, amt);
var sprintfArgs = __slice.call(args, 3);
return vsprintf(gt.dnpgettext(language, msgContext, msgId, null, amt), sprintfArgs);
}
return {
dgettext: dgettext,
dpgettext: dpgettext,
dngettext: dngettext,
dnpgettext: dnpgettext
};
}
// domains: {es: contents-of-es.po, fr: contents-of-fr.po} etc
module.exports = function (domains) {
if (!domains || Object.keys(domains).length === 0)
throw new Error('domains argument required');
throw new Error('domains argument required.');
var cache = {};
Object.keys(domains).forEach(function (language) {
gt.addTextdomain(language, domains[language]);
cache[language] = new GetTextFunctions(language);
});
return function (language) {
return {
// get text
dgettext: function () {
var args = Array.prototype.slice.call(arguments);
var msgId = args[0];
var sprintfArgs = args.slice(1);
if(!cache[language])
throw new Error('specified language: "'+language+'" not found.');
return vsprintf(gt.dgettext(language, msgId), sprintfArgs);
},
// get text from context
dpgettext: function () {
var args = Array.prototype.slice.call(arguments);
var msgContext = args[0];
var msgId = args[1];
var sprintfArgs = args.slice(2);
return vsprintf(gt.dpgettext(language, msgContext, msgId), sprintfArgs);
},
// get plural text
dngettext: function () {
var args = Array.prototype.slice.call(arguments);
var msgId = args[0];
var amt = args[1];
var sprintfArgs = args.slice(2);
return vsprintf(gt.dngettext(language, msgId, null, amt), sprintfArgs);
},
// get plural text from context
dnpgettext: function () {
var args = Array.prototype.slice.call(arguments);
var msgContext = args[0];
var msgId = args[1];
var amt = args[2];
var sprintfArgs = args.slice(3);
return vsprintf(gt.dnpgettext(language, msgContext, msgId, null, amt), sprintfArgs);
}
};
return cache[language];
};
};
{
"name": "node-gettext-sprintf",
"version": "0.0.6",
"version": "0.0.7",
"description": "A combination of node-gettext and sprintf",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -41,7 +41,11 @@ var fs = require('fs');

test('switching language works', function(t) {
var fns0 = languageFns('test0');
t.equal(fns0.dgettext("test0 - Simple string"), "test0 - Simple string translated");
var fns1 = languageFns('test1');
t.equal(fns1.dgettext("test1 - Simple string"), "test1 - Simple string translated");
var fns = languageFns('test0');
t.equal(fns.dgettext("test0 - Simple string"), "test0 - Simple string translated");
fns = languageFns('test1');
t.equal(fns.dgettext("test1 - Simple string"), "test1 - Simple string translated");
fns = languageFns('test0');
t.equal(fns.dgettext("test0 - Simple string"), "test0 - Simple string translated");
t.end();
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc