zjsunit: Add i18n minimal lib.

This commit is contained in:
Aditya Bansal
2017-06-28 13:46:34 +05:30
committed by showell
parent 1ed499fffc
commit 103f19e236
2 changed files with 26 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
var i18n = {};
i18n.t = function (str, context) {
// We are currently assuming that we will recieve context in form of a Dict
// of key value pairs and string will be having substitution for keywords
// like these "__keyword__".
if (context === undefined) {
return str;
}
var keyword_regex = /__(\w)+__/g;
var keys_in_str = str.match(keyword_regex);
var keywords = _.map(keys_in_str, function (key) {
return key.slice(2, key.length - 2);
});
_.each(keywords, function (keyword) {
str = str.replace('__' + keyword + '__', context[keyword]);
});
return 'translated: ' + str;
};
i18n.ensure_i18n = function (f) { f(); };
module.exports = i18n;

View File

@@ -42,6 +42,9 @@ global.append_test_output = output.append_test_output;
// Set up fake jQuery // Set up fake jQuery
global.make_zjquery = require('./zjquery.js').make_zjquery; global.make_zjquery = require('./zjquery.js').make_zjquery;
// Set up fake translation
global.i18n = require('./i18n.js');
var noop = function () {}; var noop = function () {};
output.start_writing(); output.start_writing();