hikaru-coffee
Version:
A static site generator that generates routes based on directories naturally.
46 lines (40 loc) • 1.03 kB
text/coffeescript
{format} = require("util")
Promise = require("bluebird")
class Translator
constructor: (logger) ->
= logger
= {}
register: (lang, obj) =>
if obj not instanceof Object
throw new TypeError(
"obj must be a Object generated from yaml language file!"
)
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
.info("Hikaru cannot find language `#{lang}`, using default.")
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 format(res, args)
else
return res
if args.length > 0
return format(key, args)
else
return key
module.exports = Translator