       debug('Translator.load', header, 'failed:', err)
       @uninstall(header.label, header.translatorID)
 
-    return
+    return true
 
   translate: Zotero.Promise.coroutine((translatorID, displayOptions, items, path) ->
     items ||= { library: Zotero.Libraries.userLibraryID }

    start = new Date()
    Object.assign(@, require('../gen/translators.json'))

    debug('Translator.init: waiting for translators...')
    yield Zotero.Schema.schemaUpdatePromise
    debug('Translator.init: translators ready @', (new Date() - start))

    if Prefs.get('removeStock')
      @uninstall('BibLaTeX', 'b6e39b57-8942-4d11-8259-342c46ce395f')
      @uninstall('BibTeX', '9cb70025-a888-4a29-a210-93ec52da40d4')

    for id, header of @byId
      @install(header)
      debug('Translator.init: installed', header.label, '@', (new Date() - start))

    debug('Translator.init: reinit translators...')
    try
      yield Zotero.Translators.reinit()
      debug('Translator.init: reinit ready @', (new Date() - start))
    catch err
      debug('Translator.init: reinit failed @', (new Date() - start), err)
    return
  )


      destFile.append(fileName)
      destFile.remove(false) if destFile.exists()
    catch err
      debug("Translators.uninstall: failed to remove #{header.label}:", err)
    return

  install: (header) ->
