        * @param {string} string                 String, which should be loaded
        * @return {string} Translated string into specified locale
       ###
-      env.addGlobal 'dgettext', (domain = currentLocale, string) ->
-        domain = if domain.charAt(0) == ':' then currentLocale + domain else domain
-        gettext.dgettext(domain, string)
+      env.addGlobal 'dgettext', (domain, string) =>
+        @gettext.dgettext(@resolveDomain(domain), string)
 
       ###*
       * Load plural string from current locale

      * @param {number} count           Count for detecting correct plural form
      * @return {string} Pluralized and translated into current locale string
      ###
      env.addGlobal 'ngettext', (string, pluralString, count) ->
        gettext.dngettext(currentLocale, string, pluralString, count)

      ###*
       * Load plural string from specified domain

      * @param {string} string          String, which should be loaded
      * @return {string} Translated string into current locale
      ###
      env.addGlobal 'gettext', (string) =>
        @gettext.gettext(string)

      ###*
       * Load string from specified domain
