local domains = {}
+local default_domain
+
M.register_domain = function(dom, dir)
local d, err = bind_textdomain(dom, dir)
if not d then
return domains[dom]
end
+M.set_default_domain = function(dom)
+ if not domains[dom] then return false end
+ default_domain = dom
+ return true
+end
+
local cast, ffistr = ffi.cast, ffi.string
if dgettext then
M.gettext = function(dom, msgid)
+ if not msgid then
+ msgid = dom
+ dom = default_domain
+ end
if not domains[dom] or not msgid then return msgid end
local cmsgid = cast("const char*", msgid)
local lmsgid = dgettext(dom, cmsgid)