mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
zjsunit: Add i18n minimal lib.
This commit is contained in:
23
frontend_tests/zjsunit/i18n.js
Normal file
23
frontend_tests/zjsunit/i18n.js
Normal 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;
|
||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user