hikaru-coffee
Version:
A static site generator that generates routes based on directories naturally.
40 lines (35 loc) • 852 B
text/coffeescript
{vsprintf} = require("sprintf-js")
module.exports =
class Translator
constructor: (logger) ->
= logger
= {}
register: (lang, obj) =>
if obj not instanceof Object
return
if lang instanceof Array
for l in lang
[l] = obj
return
[lang] = obj
list: () =>
return Object.keys()
getTranslateFn: (lang) =>
return (key, args...) =>
keys = key.toString().split(".")
res = [lang]
if lang not of
res = ["default"]
for k in keys
if k not of res
return key
res = res[k]
if typeof(res) is "string"
if args.length > 0
return vsprintf(res, args)
else
return res
if args.length > 0
return vsprintf(key, args)
else
return key