   return
 
 Zotero.BetterBibTeX.removeTranslators = ->
-  for own name, header of @translators
+  for own id, header of @translators
     @removeTranslator(header)
   @translators = Object.create(null)
   Zotero.Translators.init()

        @_items = Zotero.Items.getAll(false, @_group.libraryID)

      # regular behavior for non-BBT translators
      return original.apply(this, arguments) unless bbt

      # export path for relative exports
      @_displayOptions.exportPath = @location.path.slice(0, -@location.leafName.length) if @location && typeof @location == 'object'

      Zotero.File.getContentsFromURL("resource://zotero-better-bibtex/translators/#{translator}")
    ].join("\n")

    @translators[header.translatorID] = @translators[header.label.replace(/\s/, '')] = header
    Zotero.Translators.save(header, code)
  catch err
    @log("Loading #{translator} failed", err)
  return

Zotero.BetterBibTeX.getTranslator = (name) ->
  return @translators[name.replace(/\s/, '')].translatorID if @translators[name.replace(/\s/, '')]

  name = name.toLowerCase().replace(/[^a-z]/, '')
  translators = {}
  for id, header of @translators
    label = header.label.toLowerCase().replace(/[^a-z]/, '')
    translators[label] = header.translatorID
    translators[label.replace(/^zotero/, '')] = header.translatorID
    translators[label.replace(/^better/, '')] = header.translatorID
  return translators[name] if translators[name]
  throw "No translator #{name}; available: #{JSON.stringify(translators)} from #{JSON.stringify(@translators)}"

Zotero.BetterBibTeX.translatorName = (id) ->
  for own translatorID, tr of @translators
    return tr.label if translatorID == id
  return "#{id}"

Zotero.BetterBibTeX.safeGetAll = ->
