message: More explanatory Lucene exceptions
diff: #include <wx/utils.h>
  #include <wx/dir.h>
  #include <wx/filename.h>
  +#include <wx/translation.h>
  #include <time.h>
  #include <mutex>
  @@ -75,9 +76,18 @@ namespace
  #define CATCH_AND_RETHROW_EXCEPTION \
  catch (LuceneException& e) \
  { \
  - throw Exception(wxString::Format("%s (%d)", \
  + switch (e.getType()) \
  + { \
  + case LuceneException::CorruptIndex: \
  + case LuceneException::FileNotFound: \
  + case LuceneException::NoSuchDirectory: \
  + throw Exception(wxString::Format(_("Translation memory database is corrupted: %s (%d)."), \
  + e.getError(), (int)e.getType())); \
  + default: \
  + throw Exception(wxString::Format(_("Translation memory error: %s (%d)."), \
  e.getError(), (int)e.getType())); \
  } \
  + } \
  catch (std::exception& e) \
  { \
  throw Exception(e.what()); \
  