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

       * @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)

      ###*
      * Load plural string from current locale

       * @param {number} count                  Count for detecting correct plural form
       * @return {string} Pluralized and translated into specified loca stringle
      ###
      env.addGlobal 'dngettext', (domain, string, pluralString, count) =>
        @gettext.dngettext(@resolveDomain(domain), string, pluralString, count)

      ###*
      * Load string of specific context from current locale
