diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js index 12e4e5b10..fd3565ead 100644 --- a/chrome/content/zotero/xpcom/sync.js +++ b/chrome/content/zotero/xpcom/sync.js @@ -1228,9 +1228,18 @@ Zotero.Sync.Server = new function () { } catch (e) { Zotero.debug(e); - var msg = Zotero.getString('sync.error.loginManagerCorrupted1', Zotero.appName) + "\n\n" - + Zotero.getString('sync.error.loginManagerCorrupted2', [Zotero.appName, Zotero.appName]); - alert(msg); + if (Zotero.isStandalone) { + var msg = Zotero.getString('sync.error.loginManagerCorrupted1', Zotero.appName) + "\n\n" + + Zotero.getString('sync.error.loginManagerCorrupted2', [Zotero.appName, Zotero.appName]); + } + else { + var msg = Zotero.getString('sync.error.loginManagerInaccessible') + "\n\n" + + Zotero.getString('sync.error.checkMasterPassword', Zotero.appName) + "\n\n" + + Zotero.getString('sync.error.corruptedLoginManager', Zotero.appName); + } + var ps = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] + .getService(Components.interfaces.nsIPromptService); + ps.alert(null, Zotero.getString('general.error'), msg); return ''; } diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index ee310bf91..71ca50c46 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet = Password not set sync.error.invalidLogin = Invalid username or password sync.error.invalidLogin.text = The Zotero sync server did not accept your username and password.\n\nPlease check that you have entered your zotero.org login information correctly in the Zotero sync preferences. sync.error.enterPassword = Please enter a password. -sync.error.loginManagerCorrupted1 = Zotero cannot access your login information, likely due to a corrupted %S login manager database. +sync.error.loginManagerInaccessible = Zotero cannot access your login information. +sync.error.checkMasterPassword = If you are using a master password in %S, make sure you have entered it successfully. +sync.error.corruptedLoginManager = This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. +sync.error.loginManagerCorrupted1 = Zotero cannot access your login information, possibly due to a corrupted %S login manager database. sync.error.loginManagerCorrupted2 = Close %1$S, back up and delete signons.* from your %2$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress = A sync operation is already in progress. sync.error.syncInProgress.wait = Wait for the previous sync to complete or restart %S.