UNPKG

hikaru-coffee

Version:

A static site generator that generates routes based on directories naturally.

68 lines (60 loc) 1.55 kB
// Generated by CoffeeScript 2.3.1 (function() { var Translator, vsprintf; ({vsprintf} = require("sprintf-js")); module.exports = Translator = class Translator { constructor(logger) { this.register = this.register.bind(this); this.list = this.list.bind(this); this.getTranslateFn = this.getTranslateFn.bind(this); this.logger = logger; this.store = {}; } register(lang, obj) { var i, l, len; if (!(obj instanceof Object)) { return; } if (lang instanceof Array) { for (i = 0, len = lang.length; i < len; i++) { l = lang[i]; this.store[l] = obj; } return; } return this.store[lang] = obj; } list() { return Object.keys(this.store); } getTranslateFn(lang) { return (key, ...args) => { var i, k, keys, len, res; keys = key.toString().split("."); res = this.store[lang]; if (!(lang in this.store)) { res = this.store["default"]; } for (i = 0, len = keys.length; i < len; i++) { k = keys[i]; if (!(k in res)) { return key; } res = res[k]; } if (typeof res === "string") { if (args.length > 0) { return vsprintf(res, args); } else { return res; } } if (args.length > 0) { return vsprintf(key, args); } else { return key; } }; } }; }).call(this);