2017-06-28 10:16:34 +02:00
|
|
|
var i18n = {};
|
|
|
|
|
|
|
|
i18n.t = function (str, context) {
|
2017-11-09 16:26:38 +01:00
|
|
|
// We are currently assuming that we will receive context in form of a Dict
|
2017-06-28 10:16:34 +02:00
|
|
|
// of key value pairs and string will be having substitution for keywords
|
|
|
|
// like these "__keyword__".
|
|
|
|
if (context === undefined) {
|
2017-06-29 20:48:49 +02:00
|
|
|
return 'translated: ' + str;
|
2017-06-28 10:16:34 +02:00
|
|
|
}
|
|
|
|
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;
|