added i18n.get(namespace, key, data)
added i18n.fill(namespace, key_attr)
let top-level be functions as well

NOTE: assumes conditional access, e.g. with i18n.get()