code: def get_translation(modname, dirname=None):
      
      if dirname is None:
          dirname = modname
  
      def translate_dumb(x):
          """Dumb function to not use translations."""
          if not is_unicode(x):
              return to_text_string(x, "utf-8")
          return x
  
      locale_path = get_module_data_path(dirname, relpath="locale",
                                         attr_name='LOCALEPATH')
  
      # If LANG is defined in Ubuntu, a warning message is displayed,
      # so in Unix systems we define the LANGUAGE variable.
      language = load_lang_conf()
      if os.name == 'nt':
          # Trying to set LANG on Windows can fail when Spyder is
          # run with admin privileges.
          # Fixes issue 6886
          try:
              os.environ["LANG"] = language      # Works on Windows
          except Exception:
              return translate_dumb
      else:
          os.environ["LANGUAGE"] = language  # Works on Linux
   
      import gettext
      try:
          _trans = gettext.translation(modname, locale_path, codeset="utf-8")
          lgettext = _trans.lgettext
          def translate_gettext(x):
              if not PY3 and is_unicode(x):
                  x = x.encode("utf-8")
              y = lgettext(x)
              if is_text_string(y) and PY3:
                  return y
              else:
                  return to_text_string(y, "utf-8")
          return translate_gettext
      except Exception:
          return translate_dumb
docs: Return translation callback for module *modname*