commit 3726f81896abe13bdbc62fc411183cab56bd0461 parent b97a704e44a9736fa53c2359c0ad82b5c053843f Author: Simon Kornblith <simon@simonster.com> Date: Mon, 15 Apr 2013 01:28:20 -0400 Merge branch '4.0' Conflicts: chrome/content/zotero/xpcom/zotero.js install.rdf update.rdf Diffstat:
92 files changed, 708 insertions(+), 417 deletions(-)
diff --git a/chrome/content/zotero-platform/mac/overlay.css b/chrome/content/zotero-platform/mac/overlay.css @@ -328,4 +328,14 @@ treechildren::-moz-tree-image { #zotero-tb-actions-menu { list-style-image: url('chrome://zotero/skin/mac/cog.png'); +} + +#zotero-collectionmenu > .menuitem-iconic, #zotero-itemmenu > .menuitem-iconic, #zotero-collectionmenu > .menu-iconic, #zotero-itemmenu > .menu-iconic { + padding-top: 0px !important; + padding-bottom: 2px !important; + list-style-image: none !important; +} + +#zotero-collectionmenu > .menuitem-iconic > .menu-iconic-left, #zotero-itemmenu > .menuitem-iconic > .menu-iconic-left, #zotero-collectionmenu > .menu-iconic > .menu-iconic-left, #zotero-itemmenu > .menu-iconic > .menu-iconic-left { + display: none; } \ No newline at end of file diff --git a/chrome/content/zotero-platform/win/overlay.css b/chrome/content/zotero-platform/win/overlay.css @@ -22,7 +22,8 @@ } #zotero-tb-sync-error { - margin-right: 2px; + margin-right: 4px; + padding-top: 4px; } #zotero-tb-sync { diff --git a/chrome/content/zotero/bindings/styled-textbox.xml b/chrome/content/zotero/bindings/styled-textbox.xml @@ -375,13 +375,17 @@ if (!SJOW.tinyMCE) { var exts = Zotero.getInstalledExtensions(function(exts) { for each(var ext in exts) { - if (ext.indexOf('NoScript') != -1) { - var warning = win.document.getElementById('noScriptWarning'); + if (ext.indexOf('NoScript') != -1 && ext.indexOf('disabled') == -1) { + var doc = win.document; + var div = doc.getElementById('tinymce'); + var warning = doc.createElement('div'); + warning.id = 'noScriptWarning'; var str = "The NoScript extension is preventing Zotero " + "from displaying notes. To use NoScript and Zotero together, " + "whitelist the 'file:' scheme in the NoScript preferences " + "and restart " + Zotero.appName + "."; warning.appendChild(document.createTextNode(str)); + div.appendChild(warning); break; } } diff --git a/chrome/content/zotero/bindings/tagselector.xml b/chrome/content/zotero/bindings/tagselector.xml @@ -40,7 +40,8 @@ <field name="_notifierID">false</field> <field name="_tags">null</field> <field name="_dirty">null</field> - <field name="_empty">null</field> + <field name="_emptyColored">null</field> + <field name="_emptyRegular">null</field> <field name="selection"/> <!-- Modes are predefined settings groups for particular tasks --> @@ -206,7 +207,8 @@ } Zotero.debug('Refreshing tags selector'); - var empty = true; + var emptyColored = true; + var emptyRegular = true; var tagsToggleBox = this.id('tags-toggle'); var self = this; @@ -340,7 +342,7 @@ labels[i].className = 'zotero-clicky'; labels[i].setAttribute('inScope', true); labels[i].setAttribute('hidden', false); - empty = false; + emptyRegular = false; } else { labels[i].className = ''; @@ -360,21 +362,15 @@ } labels[i].setAttribute('hidden', false); - empty = false; + emptyRegular = false; } - // If tag isn't in scope and is still selected, deselect it - if (labels[i].getAttribute('hidden') == 'true' && self.selection[name]) { - labels[i].setAttribute('selected', false); - delete self.selection[name]; - var doCommand = true; - } - - - // Always show colored tags at top - if (colorData) { + // Always show colored tags at top, unless they + // don't match an active tag search + if (colorData && (!self._search || inSearch)) { labels[i].setAttribute('hidden', false); labels[i].setAttribute('hasColor', true); + emptyColored = false; } else { labels[i].removeAttribute('hasColor'); @@ -450,15 +446,16 @@ //end tag cloud code - self.updateNumSelected(); - self._empty = empty; + self._emptyColored = emptyColored; + self._emptyRegular = emptyRegular; + var empty = emptyColored && emptyRegular; self.id('tags-toggle').setAttribute('collapsed', empty); self.id('no-tags-box').setAttribute('collapsed', !empty); - if (doCommand) { - Zotero.debug('A selected tag went out of scope -- deselecting'); - self.doCommand(); + if (self.onRefresh) { + self.onRefresh(); + self.onRefresh = null; } }) .done(); @@ -563,14 +560,22 @@ me.setSearch(false, true); } me._dirty = true; - me.doCommand(); - // If no tags visible after a delete, deselect all - if ((event == 'remove' || event == 'delete') && - me._empty && me.getNumSelected()) { - Zotero.debug('No tags visible after delete -- deselecting all'); - me.clearAll(); - } + // This is a hack, but set this to run after the refresh, + // since _emptyRegular isn't set until then + me.onRefresh = function () { + // If no regular tags visible after a delete, deselect all. + // This is necessary so that a selected tag that's removed + // from its last item doesn't cause all regular tags to + // disappear without anything being visibly selected. + if ((event == 'remove' || event == 'delete') && + me._emptyRegular && me.getNumSelected()) { + Zotero.debug('No tags visible after delete -- deselecting all'); + me.clearAll(); + } + }; + + me.doCommand(); }, 0); this._notified = true; ]]> diff --git a/chrome/content/zotero/locateMenu.js b/chrome/content/zotero/locateMenu.js @@ -93,8 +93,9 @@ var Zotero_LocateMenu = new function() { /** * Clear the bottom part of the context menu and add locate options * @param {menupopup} menu The menu to add context menu items to + * @param {Boolean} showIcons Whether menu items should have associated icons */ - this.buildContextMenu = function(menu) { + this.buildContextMenu = function(menu, showIcons) { // get selected items var selectedItems = _getSelectedItems(); @@ -102,7 +103,7 @@ var Zotero_LocateMenu = new function() { if(!selectedItems.length || selectedItems.length > 20) return; // add view options - _addViewOptions(menu, selectedItems); + _addViewOptions(menu, selectedItems, showIcons); /*// look for locate engines var availableEngines = _getAvailableLocateEngines(selectedItems); @@ -125,7 +126,7 @@ var Zotero_LocateMenu = new function() { null, Zotero.getString("locate."+optionName+".tooltip")); if(showIcons) { menuitem.setAttribute("class", "menuitem-iconic"); - menuitem.setAttribute("image", optionObject.icon); + menuitem.style.listStyleImage = "url('"+optionObject.icon+"')"; } menuitem.setAttribute("zotero-locate", "true"); diff --git a/chrome/content/zotero/lookup.js b/chrome/content/zotero/lookup.js @@ -76,9 +76,9 @@ const Zotero_Lookup = new function () { //finally try for PMID if(!items.length) { - // PMID; right now, PMIDs are 8 digits, so it doesn't seem like we will need to - // discriminate for a fairly long time - var PMID_RE = /(?:\D|^)(\d{8})(?!\d)/g; + // PMID; right now, the longest PMIDs are 8 digits, so it doesn't + // seem like we will need to discriminate for a fairly long time + var PMID_RE = /(?:\D|^)(\d{1,9})(?!\d)/g; var pmid; while((pmid = PMID_RE.exec(identifier)) && foundIDs.indexOf(pmid) == -1) { items.push({itemType:"journalArticle", contextObject:"rft_id=info:pmid/"+pmid[1]}); diff --git a/chrome/content/zotero/tinymce/integration.html b/chrome/content/zotero/tinymce/integration.html @@ -51,6 +51,6 @@ html, body { </script> </head> <body> -<div id="tinymce"><div id="noScriptWarning"/></div> +<div id="tinymce"></div> </body> </html> diff --git a/chrome/content/zotero/tinymce/note.html b/chrome/content/zotero/tinymce/note.html @@ -91,6 +91,6 @@ table.mceLayout { </style> </head> <body> -<div id="tinymce"><div id="noScriptWarning"/></div> +<div id="tinymce"></div> </body> </html> diff --git a/chrome/content/zotero/tinymce/noteview.html b/chrome/content/zotero/tinymce/noteview.html @@ -68,6 +68,6 @@ table.mceLayout > tbody > tr.mceLast { </script> </head> <body> -<div id="tinymce"><div id="noScriptWarning"/></div> +<div id="tinymce"></div> </body> </html> diff --git a/chrome/content/zotero/tools/testTranslators/translatorTester.js b/chrome/content/zotero/tools/testTranslators/translatorTester.js @@ -51,14 +51,19 @@ Zotero_TranslatorTesters = new function() { Zotero.Translators.getAllForType(TEST_TYPES[i], new function() { var type = TEST_TYPES[i]; return function(translators) { - for(var i=0; i<translators.length; i++) { - if(skipTranslators && !skipTranslators[translators[i].translatorID]) { - testers.push(new Zotero_TranslatorTester(translators[i], type)); + try { + for(var i=0; i<translators.length; i++) { + if(skipTranslators && !skipTranslators[translators[i].translatorID]) { + testers.push(new Zotero_TranslatorTester(translators[i], type)); + } + }; + + if(!(--waitingForTranslators)) { + runTesters(testers, numConcurrentTests, doneCallback); } - }; - - if(!(--waitingForTranslators)) { - runTesters(testers, numConcurrentTests, doneCallback); + } catch(e) { + Zotero.debug(e); + Zotero.logError(e); } }; }, true); @@ -70,46 +75,51 @@ Zotero_TranslatorTesters = new function() { */ function runTesters(testers, numConcurrentTests, doneCallback) { var testersRunning = 0; - var results = []; + var results = [] if("getLocaleCollation" in Zotero) { var collation = Zotero.getLocaleCollation(); - strcmp = function(a, b) { + var strcmp = function(a, b) { return collation.compareString(1, a, b); }; } else { - strcmp = function (a, b) { + var strcmp = function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }; } var testerDoneCallback = function(tester) { - if(tester.pending.length) return; - - Zotero.debug("Done testing "+tester.translator.label); - - // Done translating, so serialize test results - testersRunning--; - results.push(tester.serialize()); - - if(testers.length) { - // Run next tester if one is available - runNextTester(); - } else if(testersRunning === 0) { - // Testing is done, so sort results - results = results.sort(function(a, b) { - if(a.type !== b.type) { - return TEST_TYPES.indexOf(a.type) - TEST_TYPES.indexOf(b.type); - } - return strcmp(a.label, b.label); - }); + try { + if(tester.pending.length) return; - // Call done callback - doneCallback({ - "browser":Zotero.browser, - "version":Zotero.version, - "results":results - }); + Zotero.debug("Done testing "+tester.translator.label); + + // Done translating, so serialize test results + testersRunning--; + results.push(tester.serialize()); + + if(testers.length) { + // Run next tester if one is available + runNextTester(); + } else if(testersRunning === 0) { + // Testing is done, so sort results + results = results.sort(function(a, b) { + if(a.type !== b.type) { + return TEST_TYPES.indexOf(a.type) - TEST_TYPES.indexOf(b.type); + } + return strcmp(a.label, b.label); + }); + + // Call done callback + doneCallback({ + "browser":Zotero.browser, + "version":Zotero.version, + "results":results + }); + } + } catch(e) { + Zotero.debug(e); + Zotero.logError(e); } }; diff --git a/chrome/content/zotero/xpcom/attachments.js b/chrome/content/zotero/xpcom/attachments.js @@ -30,8 +30,6 @@ Zotero.Attachments = new function(){ this.LINK_MODE_LINKED_URL = 3; this.BASE_PATH_PLACEHOLDER = 'attachments:'; - this.SNAPSHOT_MIMETYPES = ["text/html", "application/xhtml+xml"]; - this.importFromFile = importFromFile; this.linkFromFile = linkFromFile; this.importSnapshotFromFile = importSnapshotFromFile; @@ -576,7 +574,7 @@ Zotero.Attachments = new function(){ }; } - if (this.SNAPSHOT_MIMETYPES.indexOf(mimeType) != -1) { + if (mimeType === 'text/html' || mimeType === 'application/xhtml+xml') { var sync = true; // Load WebPageDump code diff --git a/chrome/content/zotero/xpcom/data/item.js b/chrome/content/zotero/xpcom/data/item.js @@ -2837,7 +2837,20 @@ Zotero.Item.prototype.getFile = function(row, skipExistsCheck) { if (self.isTopLevelItem()) { return; } - Zotero.Items.get(self.getSource()).updateBestAttachmentState(); + + try { + var parentKey = self.getSource(); + } + // This can happen during classic sync conflict resolution, if a + // standalone attachment was modified locally and remotely was changed + // into a child attachment + catch (e) { + Zotero.debug("Attachment parent doesn't exist for source key " + + "in Zotero.Item.updateAttachmentStates()", 1); + return; + } + + Zotero.Items.get(parentKey).updateBestAttachmentState(); }; // No associated files for linked URLs diff --git a/chrome/content/zotero/xpcom/data/notes.js b/chrome/content/zotero/xpcom/data/notes.js @@ -36,9 +36,21 @@ Zotero.Notes = new function() { * Return first line (or first MAX_LENGTH characters) of note content **/ function noteToTitle(text) { - text = Zotero.Utilities.trim(text); + var origText = text; + text = text.trim(); text = Zotero.Utilities.unescapeHTML(text); + // If first line is just an opening HTML tag, remove it + // + // Example: + // + // <blockquote> + // <p>Foo</p> + // </blockquote> + if (/^<[^>\n]+[^\/]>\n/.test(origText)) { + text = text.trim(); + } + var max = this.MAX_TITLE_LENGTH; var t = text.substring(0, max); diff --git a/chrome/content/zotero/xpcom/file.js b/chrome/content/zotero/xpcom/file.js @@ -523,54 +523,34 @@ Zotero.File = new function(){ } if (e.name == 'NS_ERROR_FILE_ACCESS_DENIED' || e.name == 'NS_ERROR_FILE_IS_LOCKED' - // Shows up on some Windows systems - || e.name == 'NS_ERROR_FAILURE') { + // These show up on some Windows systems + || e.name == 'NS_ERROR_FAILURE' || e.name == 'NS_ERROR_FILE_NOT_FOUND') { Zotero.debug(e); str = str + " " + Zotero.getString('file.accessError.cannotBe') + " " + opWord + "."; var checkFileWindows = Zotero.getString('file.accessError.message.windows'); var checkFileOther = Zotero.getString('file.accessError.message.other'); - var msg = str + " " + var msg = str + "\n\n" + (Zotero.isWin ? checkFileWindows : checkFileOther) + "\n\n" + Zotero.getString('file.accessError.restart'); - if (operation == 'create') { - var e = new Zotero.Error( - msg, - 0, - { - dialogButtonText: Zotero.getString('file.accessError.showParentDir'), - dialogButtonCallback: function () { - try { - file.parent.QueryInterface(Components.interfaces.nsILocalFile).reveal(); - } - // Unsupported on some platforms - catch (e2) { - Zotero.debug(e2); - } + var e = new Zotero.Error( + msg, + 0, + { + dialogButtonText: Zotero.getString('file.accessError.showParentDir'), + dialogButtonCallback: function () { + try { + file.parent.QueryInterface(Components.interfaces.nsILocalFile); + file.parent.reveal(); } - } - ); - } - else { - var e = new Zotero.Error( - msg, - 0, - { - dialogButtonText: Zotero.getString('locate.showFile.label'), - dialogButtonCallback: function () { - try { - file.QueryInterface(Components.interfaces.nsILocalFile); - file.reveal(); - } - // Unsupported on some platforms - catch (e2) { - Zotero.debug(e2); - } + // Unsupported on some platforms + catch (e2) { + Zotero.launchFile(file.parent); } } - ); - } + } + ); } throw (e); diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js @@ -1327,7 +1327,7 @@ Zotero.Integration.Fields.prototype.get = function get() { // If already getting fields, just return the promise if(this._deferreds) { this._deferreds.push(deferred); - return deferred; + return deferred.promise; } else { this._deferreds = [deferred]; } diff --git a/chrome/content/zotero/xpcom/server_connector.js b/chrome/content/zotero/xpcom/server_connector.js @@ -624,8 +624,8 @@ Zotero.Server.Connector.IEHack.prototype = { "init":function(postData, sendResponseCallback) { sendResponseCallback(200, "text/html", '<!DOCTYPE html><html><head>'+ - '<script src="https://www.zotero.org/bookmarklet/common_ie.js"></script>'+ - '<script src="https://www.zotero.org/bookmarklet/ie_hack.js"></script>'+ + '<script src="'+ZOTERO_CONFIG.BOOKMARKLET_URL+'common_ie.js"></script>'+ + '<script src="'+ZOTERO_CONFIG.BOOKMARKLET_URL+'ie_hack.js"></script>'+ '</head><body></body></html>'); } } diff --git a/chrome/content/zotero/xpcom/storage.js b/chrome/content/zotero/xpcom/storage.js @@ -1607,18 +1607,18 @@ Zotero.Sync.Storage = new function () { // Do deletes outside of the enumerator to avoid an access error on Windows for each(var file in filesToDelete) { - if (file.isFile()) { - Zotero.debug("Deleting existing file " + file.leafName); - try { + try { + if (file.isFile()) { + Zotero.debug("Deleting existing file " + file.leafName); file.remove(false); } - catch (e) { - Zotero.File.checkFileAccessError(e, file, 'delete'); + else if (file.isDirectory()) { + Zotero.debug("Deleting existing directory " + file.leafName); + file.remove(true); } } - else if (file.isDirectory()) { - Zotero.debug("Deleting existing directory " + file.leafName); - file.remove(true); + catch (e) { + Zotero.File.checkFileAccessError(e, file, 'delete'); } } } diff --git a/chrome/content/zotero/xpcom/storage/queue.js b/chrome/content/zotero/xpcom/storage/queue.js @@ -413,7 +413,7 @@ Zotero.Sync.Storage.Queue.prototype.stop = function () { this._stopping = true; for each(var request in this._requests) { if (!request.isFinished()) { - request.stop(); + request.stop(true); } } diff --git a/chrome/content/zotero/xpcom/storage/request.js b/chrome/content/zotero/xpcom/storage/request.js @@ -48,6 +48,7 @@ Zotero.Sync.Storage.Request = function (name, callbacks) { this._remaining = null; this._maxSize = null; this._finished = false; + this._forceFinish = false; this._changesMade = false; for (var func in callbacks) { @@ -308,7 +309,11 @@ Zotero.Sync.Storage.Request.prototype.onProgress = function (channel, progress, /** * Stop the request's underlying network request, if there is one */ -Zotero.Sync.Storage.Request.prototype.stop = function () { +Zotero.Sync.Storage.Request.prototype.stop = function (force) { + if (force) { + this._forceFinish = true; + } + if (this.channel) { this._stopping = true; @@ -330,6 +335,15 @@ Zotero.Sync.Storage.Request.prototype.stop = function () { * Mark request as finished and notify queue that it's done */ Zotero.Sync.Storage.Request.prototype._finish = function () { + // If an error occurred, we wait to finish the request, since doing + // so might end the queue before the error flag has been set on the queue. + // When the queue's error handler stops the queue, it stops the request + // with stop(true) to force the finish to occur, allowing the queue's + // promise to be rejected with the error. + if (!this._forceFinish && this._deferred.promise.isRejected()) { + return; + } + Zotero.debug("Finishing " + this.queue.name + " request '" + this.name + "'"); this._finished = true; var active = this._running; diff --git a/chrome/content/zotero/xpcom/storage/webdav.js b/chrome/content/zotero/xpcom/storage/webdav.js @@ -271,6 +271,8 @@ Zotero.Sync.Storage.WebDAV = (function () { request.onProgress(a, b, c); }, onStop: function (httpRequest, status, response, data) { + data.request.setChannel(false); + deferred.resolve( Q.fcall(function () { return onUploadComplete(httpRequest, status, response, data); @@ -880,6 +882,8 @@ Zotero.Sync.Storage.WebDAV = (function () { request.onProgress(a, b, c) }, onStop: function (request, status, response, data) { + data.request.setChannel(false); + if (status == 404) { var msg = "Remote ZIP file not found for item " + item.key; Zotero.debug(msg, 2); diff --git a/chrome/content/zotero/xpcom/storage/zfs.js b/chrome/content/zotero/xpcom/storage/zfs.js @@ -463,6 +463,8 @@ Zotero.Sync.Storage.ZFS = (function () { request.onProgress(a, b, c); }, onStop: function (httpRequest, status, response, data) { + data.request.setChannel(false); + deferred.resolve( onUploadComplete(httpRequest, status, response, data) ); @@ -803,6 +805,8 @@ Zotero.Sync.Storage.ZFS = (function () { request.onProgress(a, b, c) }, onStop: function (request, status, response, data) { + data.request.setChannel(false); + if (status != 200) { var msg = "Unexpected status code " + status + " for request " + data.request.name diff --git 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 ''; } @@ -2688,7 +2697,7 @@ Zotero.Sync.Server.Data = new function() { var tagID = Zotero.DB.valueQuery(sql, [libraryID, key]); var sql = "SELECT COUNT(*) > 0 FROM itemTags WHERE tagID=?"; - if (Zotero.DB.valueQuery(sql, [tagID])) { + if (tagID && Zotero.DB.valueQuery(sql, [tagID])) { var sql = "UPDATE tags SET clientDateModified=CURRENT_TIMESTAMP " + "WHERE tagID=?"; Zotero.DB.query(sql, [tagID]); @@ -3746,7 +3755,8 @@ Zotero.Sync.Server.Data = new function() { else { msg += Zotero.getString('sync.conflict.recentVersionsKept'); } - msg += "\n\n" + Zotero.getString('sync.conflict.viewErrorConsole', (Zotero.isStandalone ? "" : " Firefox")); + msg += "\n\n" + Zotero.getString('sync.conflict.viewErrorConsole', + (Zotero.isStandalone ? "" : "Firefox")).replace(/\s+/, " "); return msg; } @@ -3786,8 +3796,9 @@ Zotero.Sync.Server.Data = new function() { function _generateCollectionItemMergeAlertMessage() { - var msg = Zotero.getString('sync.conflict.collectionItemMerge.alert') - + Zotero.getString('sync.conflict.viewErrorConsole', (Zotero.isStandalone ? "" : "Firefox ")); + var msg = Zotero.getString('sync.conflict.collectionItemMerge.alert') + "\n\n" + + Zotero.getString('sync.conflict.viewErrorConsole', + (Zotero.isStandalone ? "" : "Firefox")).replace(/\s+/, " "); return msg; } @@ -3821,8 +3832,9 @@ Zotero.Sync.Server.Data = new function() { function _generateTagItemMergeAlertMessage() { - var msg = Zotero.getString('sync.conflict.tagItemMerge.alert') - + Zotero.getString('sync.conflict.viewErrorConsole', (Zotero.isStandalone ? "" : "Firefox ")); + var msg = Zotero.getString('sync.conflict.tagItemMerge.alert') + "\n\n" + + Zotero.getString('sync.conflict.viewErrorConsole', + (Zotero.isStandalone ? "" : "Firefox")).replace(/\s+/, " "); return msg; } diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js @@ -630,14 +630,11 @@ Zotero.Translate.Sandbox = { } } - // Remap attachment (but not link) URLs - var properToProxy = translate.translator[0].properToProxy; - if(properToProxy && item.attachments) { - for(var i=0; i<item.attachments.length; i++) { - var attachment = item.attachments[i]; - if(attachment.snapshot !== false && attachment.url) { - attachment.url = properToProxy(attachment.url); - } + for(var i=0; i<item.attachments.length; i++) { + var attachment = item.attachments[i]; + if(attachment.url) { + // Remap attachment (but not link) URLs + attachment.url = translate.resolveURL(attachment.url, attachment.snapshot === false); } } } @@ -1185,6 +1182,57 @@ Zotero.Translate.Base.prototype = { * Return the progress of the import operation, or null if progress cannot be determined */ "getProgress":function() { return null }, + + /** + * Translate a URL to a form that goes through the appropriate proxy, or + * convert a relative URL to an absolute one + * + * @param {String} url + * @param {Boolean} dontUseProxy If true, don't convert URLs to variants + * that use the proxy + * @type String + * @private + */ + "resolveURL":function(url, dontUseProxy) { + const hostPortRe = /^((?:http|https|ftp):)\/\/([^\/]+)/i; + // resolve local URL + var resolved = ""; + + // convert proxy to proper if applicable + if(hostPortRe.test(url)) { + if(this.translator && this.translator[0] + && this.translator[0].properToProxy && !dontUseProxy) { + resolved = this.translator[0].properToProxy(url); + } else { + resolved = url; + } + } else if(Zotero.isFx) { + resolved = Components.classes["@mozilla.org/network/io-service;1"]. + getService(Components.interfaces.nsIIOService). + newURI(this.location, "", null).resolve(url); + } else if(Zotero.isNode) { + resolved = require('url').resolve(this.location, url); + } else { + var a = document.createElement('a'); + a.href = url; + resolved = a.href; + } + + /*var m = hostPortRe.exec(resolved); + if(!m) { + throw new Error("Invalid URL supplied for HTTP request: "+url); + } else if(this._translate.document && this._translate.document.location) { + var loc = this._translate.document.location; + if(this._translate._currentState !== "translate" && loc + && (m[1].toLowerCase() !== loc.protocol.toLowerCase() + || m[2].toLowerCase() !== loc.host.toLowerCase())) { + throw new Error("Attempt to access "+m[1]+"//"+m[2]+" from "+loc.protocol+"//"+loc.host + +" blocked: Cross-site requests are only allowed during translation"); + } + }*/ + + return resolved; + }, /** * Executed on translator completion, either automatically from a synchronous scraper or as diff --git a/chrome/content/zotero/xpcom/translation/translate_item.js b/chrome/content/zotero/xpcom/translation/translate_item.js @@ -336,16 +336,12 @@ Zotero.Translate.ItemSaver.prototype = { // Determine whether to save an attachment if(attachment.snapshot !== false) { if(attachment.document - || (attachment.mimeType && Zotero.Attachments.SNAPSHOT_MIMETYPES.indexOf(attachment.mimeType) != -1)) { - if(!Zotero.Prefs.get("automaticSnapshots")) { - Zotero.debug("Translate: Automatic snapshots are disabled. Skipping.", 4); - return; - } + || (attachment.mimeType && + (attachment.mimeType === "text/html" + || attachment.mimeType == "application/xhtml+xml"))) { + if(!Zotero.Prefs.get("automaticSnapshots")) return; } else { - if(!Zotero.Prefs.get("downloadAssociatedFiles")) { - Zotero.debug("Translate: File attachments are disabled. Skipping.", 4); - return; - } + if(!Zotero.Prefs.get("downloadAssociatedFiles")) return; } } @@ -411,24 +407,10 @@ Zotero.Translate.ItemSaver.prototype = { // Save attachment if snapshot pref enabled or not HTML // (in which case downloadAssociatedFiles applies) } else { - if(!attachment.mimeType && attachment.mimeType !== '') { - Zotero.debug("Translate: No mimeType specified for a possible snapshot. Trying to determine mimeType.", 4); - var me = this; - try { - Zotero.MIME.getMIMETypeFromURL(attachment.url, function (mimeType, hasNativeHandler) { - attachment.mimeType = mimeType || ''; - me._saveAttachmentDownload(attachment, parentID, attachmentCallback); - }, this._cookieSandbox); - } catch(e) { - Zotero.debug("Translate: Error adding attachment "+attachment.url, 2); - attachmentCallback(attachment, false, e); - } - return; - } var mimeType = (attachment.mimeType ? attachment.mimeType : null); var fileBaseName = Zotero.Attachments.getFileBaseNameFromItem(parentID); try { - Zotero.debug('Translate: Importing attachment from URL', 4); + Zotero.debug('Importing attachment from URL'); attachment.linkMode = "imported_url"; Zotero.Attachments.importFromURL(attachment.url, parentID, title, fileBaseName, null, mimeType, this._libraryID, function(status, err) { diff --git a/chrome/content/zotero/xpcom/utilities.js b/chrome/content/zotero/xpcom/utilities.js @@ -406,7 +406,7 @@ Zotero.Utilities = { if(Zotero.isFx && !Zotero.isBookmarklet) { // Create a node and use the textContent property to do unescaping where - // possible, because this approach preserves <br/> + // possible, because this approach preserves line endings in the HTML if(node === undefined) { var parser = Components.classes["@mozilla.org/xmlextras/domparser;1"] .createInstance(Components.interfaces.nsIDOMParser); diff --git a/chrome/content/zotero/xpcom/utilities_translate.js b/chrome/content/zotero/xpcom/utilities_translate.js @@ -195,17 +195,18 @@ Zotero.Utilities.Translate.prototype.loadDocument = function(url, succeeded, fai * @ignore */ Zotero.Utilities.Translate.prototype.processDocuments = function(urls, processor, done, exception) { + var translate = this._translate; + if(typeof(urls) == "string") { - urls = [this._convertURL(urls)]; + urls = [translate.resolveURL(urls)]; } else { for(var i in urls) { - urls[i] = this._convertURL(urls[i]); + urls[i] = translate.resolveURL(urls[i]); } } // Unless the translator has proposed some way to handle an error, handle it // by throwing a "scraping error" message - var translate = this._translate; if(exception) { var myException = function(e) { var browserDeleted; @@ -300,7 +301,9 @@ Zotero.Utilities.Translate.prototype.processDocuments = function(urls, processor * @return {Boolean} True if the request was sent, or false if the browser is offline */ Zotero.Utilities.Translate.prototype.doGet = function(urls, processor, done, responseCharset) { - var callAgain = false; + var callAgain = false, + me = this, + translate = this._translate; if(typeof(urls) == "string") { var url = urls; @@ -309,11 +312,9 @@ Zotero.Utilities.Translate.prototype.doGet = function(urls, processor, done, res var url = urls.shift(); } - url = this._convertURL(url); + url = translate.resolveURL(url); - var me = this; - - this._translate.incrementAsyncProcesses("Zotero.Utilities.Translate#doGet"); + translate.incrementAsyncProcesses("Zotero.Utilities.Translate#doGet"); var xmlhttp = Zotero.HTTP.doGet(url, function(xmlhttp) { try { if(processor) { @@ -327,9 +328,9 @@ Zotero.Utilities.Translate.prototype.doGet = function(urls, processor, done, res done(); } } - me._translate.decrementAsyncProcesses("Zotero.Utilities.Translate#doGet"); + translate.decrementAsyncProcesses("Zotero.Utilities.Translate#doGet"); } catch(e) { - me._translate.complete(false, e); + translate.complete(false, e); } }, responseCharset, this._translate.cookieSandbox); } @@ -339,10 +340,10 @@ Zotero.Utilities.Translate.prototype.doGet = function(urls, processor, done, res * @ignore */ Zotero.Utilities.Translate.prototype.doPost = function(url, body, onDone, headers, responseCharset) { - url = this._convertURL(url); - var translate = this._translate; - this._translate.incrementAsyncProcesses("Zotero.Utilities.Translate#doPost"); + url = translate.resolveURL(url); + + translate.incrementAsyncProcesses("Zotero.Utilities.Translate#doPost"); var xmlhttp = Zotero.HTTP.doPost(url, body, function(xmlhttp) { try { onDone(xmlhttp.responseText, xmlhttp); @@ -353,55 +354,6 @@ Zotero.Utilities.Translate.prototype.doPost = function(url, body, onDone, header }, headers, responseCharset, translate.cookieSandbox ? translate.cookieSandbox : undefined); } -/** - * Translate a URL to a form that goes through the appropriate proxy, or convert a relative URL to - * an absolute one - * - * @param {String} url - * @type String - * @private - */ -Zotero.Utilities.Translate.prototype._convertURL = function(url) { - const hostPortRe = /^((?:http|https|ftp):)\/\/([^\/]+)/i; - // resolve local URL - var resolved = ""; - - // convert proxy to proper if applicable - if(hostPortRe.test(url)) { - if(this._translate.translator && this._translate.translator[0] - && this._translate.translator[0].properToProxy) { - resolved = this._translate.translator[0].properToProxy(url); - } else { - resolved = url; - } - } else if(Zotero.isFx) { - resolved = Components.classes["@mozilla.org/network/io-service;1"]. - getService(Components.interfaces.nsIIOService). - newURI(this._translate.location, "", null).resolve(url); - } else if(Zotero.isNode) { - resolved = require('url').resolve(this._translate.location, url); - } else { - var a = document.createElement('a'); - a.href = url; - resolved = a.href; - } - - /*var m = hostPortRe.exec(resolved); - if(!m) { - throw new Error("Invalid URL supplied for HTTP request: "+url); - } else if(this._translate.document && this._translate.document.location) { - var loc = this._translate.document.location; - if(this._translate._currentState !== "translate" && loc - && (m[1].toLowerCase() !== loc.protocol.toLowerCase() - || m[2].toLowerCase() !== loc.host.toLowerCase())) { - throw new Error("Attempt to access "+m[1]+"//"+m[2]+" from "+loc.protocol+"//"+loc.host - +" blocked: Cross-site requests are only allowed during translation"); - } - }*/ - - return resolved; -} - Zotero.Utilities.Translate.prototype.__exposedProps__ = {"HTTP":"r"}; for(var j in Zotero.Utilities.Translate.prototype) { if(typeof Zotero.Utilities.Translate.prototype[j] === "function" && j[0] !== "_" && j != "Translate") { diff --git a/chrome/content/zotero/xpcom/xregexp/addons/unicode/unicode-zotero.js b/chrome/content/zotero/xpcom/xregexp/addons/unicode/unicode-zotero.js @@ -38,8 +38,7 @@ name: 'Term', alias: 'Terminal_Punctuation', bmp: '\x21\x2C\x2E\x3A-\x3B\x3F\u037E\u0387\u0589\u05C3\u060C\u061B\u061F\u06D4\u0700-\u070A\u070C\u07F8-\u07F9\u0964-\u0965\u0E5A-\u0E5B\u0F08\u0F0D-\u0F12\u104A-\u104B\u1361-\u1368\u166D-\u166E\u16EB-\u16ED\u17D4-\u17D6\u17DA\u1802-\u1805\u1808-\u1809\u1944-\u1945\u1B5A-\u1B5B\u1B5D-\u1B5F\u1C3B-\u1C3F\u1C7E-\u1C7F\u203C-\u203D\u2047-\u2049\u2E2E\u3001-\u3002\uA60D-\uA60F\uA876-\uA877\uA8CE-\uA8CF\uA92F\uAA5D-\uAA5F\uFE50-\uFE52\uFE54-\uFE57\uFF01\uFF0C\uFF0E\uFF1A-\uFF1B\uFF1F\uFF61\uFF64\u1039F\u103D0\u1091F\u12470-\u12473' - }, - + } ]); }(XRegExp)); diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js @@ -1137,6 +1137,58 @@ Components.utils.import("resource://gre/modules/Services.jsm"); } + /** + * Launch a file, the best way we can + */ + this.launchFile = function (file) { + try { + file.launch(); + } + catch (e) { + Zotero.debug("launch() not supported -- trying fallback executable"); + + try { + if (Zotero.isWin) { + var pref = "fallbackLauncher.windows"; + } + else { + var pref = "fallbackLauncher.unix"; + } + var path = Zotero.Prefs.get(pref); + + var exec = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + exec.initWithPath(path); + if (!exec.exists()) { + throw (path + " does not exist"); + } + + var proc = Components.classes["@mozilla.org/process/util;1"] + .createInstance(Components.interfaces.nsIProcess); + proc.init(exec); + + var args = [file.path]; + proc.runw(true, args, args.length); + } + catch (e) { + Zotero.debug(e); + Zotero.debug("Launching via executable failed -- passing to loadUrl()"); + + // If nsILocalFile.launch() isn't available and the fallback + // executable doesn't exist, we just let the Firefox external + // helper app window handle it + var nsIFPH = Components.classes["@mozilla.org/network/protocol;1?name=file"] + .getService(Components.interfaces.nsIFileProtocolHandler); + var uri = nsIFPH.newFileURI(file); + + var nsIEPS = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]. + getService(Components.interfaces.nsIExternalProtocolService); + nsIEPS.loadUrl(uri); + } + } + } + + /* * Debug logging function * @@ -1845,6 +1897,7 @@ Components.utils.import("resource://gre/modules/Services.jsm"); Zotero.Items.reloadAll(); } + /** * Brings Zotero Standalone to the foreground */ diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js @@ -2400,7 +2400,7 @@ var ZoteroPane = new function() } // add locate menu options - Zotero_LocateMenu.buildContextMenu(menu); + Zotero_LocateMenu.buildContextMenu(menu, true); } @@ -3464,7 +3464,7 @@ var ZoteroPane = new function() this.loadURI(url, event); } else { - this.launchFile(file); + Zotero.launchFile(file); } } else { @@ -3507,54 +3507,11 @@ var ZoteroPane = new function() /** - * Launch a file, the best way we can + * @deprecated */ this.launchFile = function (file) { - try { - file.launch(); - } - catch (e) { - Zotero.debug("launch() not supported -- trying fallback executable"); - - try { - if (Zotero.isWin) { - var pref = "fallbackLauncher.windows"; - } - else { - var pref = "fallbackLauncher.unix"; - } - var path = Zotero.Prefs.get(pref); - - var exec = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); - exec.initWithPath(path); - if (!exec.exists()) { - throw (path + " does not exist"); - } - - var proc = Components.classes["@mozilla.org/process/util;1"] - .createInstance(Components.interfaces.nsIProcess); - proc.init(exec); - - var args = [file.path]; - proc.runw(true, args, args.length); - } - catch (e) { - Zotero.debug(e); - Zotero.debug("Launching via executable failed -- passing to loadUrl()"); - - // If nsILocalFile.launch() isn't available and the fallback - // executable doesn't exist, we just let the Firefox external - // helper app window handle it - var nsIFPH = Components.classes["@mozilla.org/network/protocol;1?name=file"] - .getService(Components.interfaces.nsIFileProtocolHandler); - var uri = nsIFPH.newFileURI(file); - - var nsIEPS = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]. - getService(Components.interfaces.nsIExternalProtocolService); - nsIEPS.loadUrl(uri); - } - } + Zotero.debug("ZoteroPane.launchFile() is deprecated -- use Zotero.launchFile()", 2); + Zotero.launchFile(file); } @@ -3626,7 +3583,7 @@ var ZoteroPane = new function() // On platforms that don't support nsILocalFile.reveal() (e.g. Linux), // launch the parent directory var parent = file.parent.QueryInterface(Components.interfaces.nsILocalFile); - this.launchFile(parent); + Zotero.launchFile(parent); } } else { diff --git a/chrome/content/zotero/zoteroPane.xul b/chrome/content/zotero/zoteroPane.xul @@ -237,31 +237,31 @@ <popupset> <menupopup id="zotero-collectionmenu" onpopupshowing="ZoteroPane_Local.buildCollectionContextMenu();"> <!-- Keep order in sync with buildCollectionContextMenu --> - <menuitem label="&zotero.toolbar.newCollection.label;" command="cmd_zotero_newCollection"/> - <menuitem label="&zotero.toolbar.newSavedSearch.label;" command="cmd_zotero_newSavedSearch"/> - <menuitem label="&zotero.toolbar.newSubcollection.label;" oncommand="ZoteroPane_Local.newCollection(ZoteroPane_Local.getSelectedCollection().id)"/> + <menuitem class="menuitem-iconic zotero-menuitem-new-collection" label="&zotero.toolbar.newCollection.label;" command="cmd_zotero_newCollection"/> + <menuitem class="menuitem-iconic zotero-menuitem-new-saved-search" label="&zotero.toolbar.newSavedSearch.label;" command="cmd_zotero_newSavedSearch"/> + <menuitem class="menuitem-iconic zotero-menuitem-new-collection" label="&zotero.toolbar.newSubcollection.label;" oncommand="ZoteroPane_Local.newCollection(ZoteroPane_Local.getSelectedCollection().id)"/> <menuseparator/> - <menuitem label="&zotero.toolbar.duplicate.label;" oncommand="ZoteroPane_Local.setVirtual(ZoteroPane_Local.getSelectedLibraryID(), 'duplicates', true)"/> - <menuitem label="&zotero.collections.showUnfiledItems;" oncommand="ZoteroPane_Local.setVirtual(ZoteroPane_Local.getSelectedLibraryID(), 'unfiled', true)"/> - <menuitem oncommand="ZoteroPane_Local.editSelectedCollection();"/> - <menuitem oncommand="ZoteroPane_Local.deleteSelectedCollection();"/> - <menuitem oncommand="ZoteroPane_Local.deleteSelectedCollection(true);"/> + <menuitem class="menuitem-iconic zotero-menuitem-show-duplicates" label="&zotero.toolbar.duplicate.label;" oncommand="ZoteroPane_Local.setVirtual(ZoteroPane_Local.getSelectedLibraryID(), 'duplicates', true)"/> + <menuitem class="menuitem-iconic zotero-menuitem-show-unfiled" label="&zotero.collections.showUnfiledItems;" oncommand="ZoteroPane_Local.setVirtual(ZoteroPane_Local.getSelectedLibraryID(), 'unfiled', true)"/> + <menuitem class="menuitem-iconic zotero-menuitem-edit-collection" oncommand="ZoteroPane_Local.editSelectedCollection();"/> + <menuitem class="menuitem-iconic zotero-menuitem-delete-collection" oncommand="ZoteroPane_Local.deleteSelectedCollection();"/> + <menuitem class="menuitem-iconic zotero-menuitem-move-to-trash" oncommand="ZoteroPane_Local.deleteSelectedCollection(true);"/> <menuseparator/> - <menuitem oncommand="Zotero_File_Interface.exportCollection();"/> - <menuitem oncommand="Zotero_File_Interface.bibliographyFromCollection();"/> - <menuitem label="&zotero.toolbar.export.label;" oncommand="Zotero_File_Interface.exportFile()"/> - <menuitem oncommand="Zotero_Report_Interface.loadCollectionReport(event)"/> - <menuitem label="&zotero.toolbar.emptyTrash.label;" oncommand="ZoteroPane_Local.emptyTrash();"/> + <menuitem class="menuitem-iconic zotero-menuitem-export" oncommand="Zotero_File_Interface.exportCollection();"/> + <menuitem class="menuitem-iconic zotero-menuitem-create-bibliography" oncommand="Zotero_File_Interface.bibliographyFromCollection();"/> + <menuitem class="menuitem-iconic zotero-menuitem-export" label="&zotero.toolbar.export.label;" oncommand="Zotero_File_Interface.exportFile()"/> + <menuitem class="menuitem-iconic zotero-menuitem-create-report" oncommand="Zotero_Report_Interface.loadCollectionReport(event)"/> + <menuitem class="menuitem-iconic zotero-menuitem-delete-from-lib" label="&zotero.toolbar.emptyTrash.label;" oncommand="ZoteroPane_Local.emptyTrash();"/> <menuitem label="&zotero.toolbar.newCollection.label;" oncommand="ZoteroPane_Local.createCommonsBucket();"/><!--TODO localize --> <menuitem label="Refresh" oncommand="ZoteroPane_Local.refreshCommonsBucket();"/><!--TODO localize --> </menupopup> <menupopup id="zotero-itemmenu" onpopupshowing="ZoteroPane_Local.buildItemContextMenu();"> <!-- Keep order in sync with buildItemContextMenu --> - <menuitem label="&zotero.items.menu.showInLibrary;" oncommand="ZoteroPane_Local.selectItem(this.parentNode.getAttribute('itemID'), true)"/> + <menuitem class="menuitem-iconic zotero-menuitem-show-in-library" label="&zotero.items.menu.showInLibrary;" oncommand="ZoteroPane_Local.selectItem(this.parentNode.getAttribute('itemID'), true)"/> <menuseparator/> <!-- with icon: <menuitem class="menuitem-iconic" id="zotero-menuitem-note" label="&zotero.items.menu.attach.note;" oncommand="ZoteroPane_Local.newNote(false, this.parentNode.getAttribute('itemID'))"/>--> - <menuitem label="&zotero.items.menu.attach.note;" oncommand="ZoteroPane_Local.newNote(false, this.parentNode.getAttribute('itemID'))"/> - <menu label="&zotero.items.menu.attach;"> + <menuitem class="menuitem-iconic zotero-menuitem-attach-note" label="&zotero.items.menu.attach.note;" oncommand="ZoteroPane_Local.newNote(false, this.parentNode.getAttribute('itemID'))"/> + <menu class="menu-iconic zotero-menuitem-attach" label="&zotero.items.menu.attach;"> <menupopup id="zotero-add-attachment-popup"> <menuitem class="menuitem-iconic zotero-menuitem-attachments-snapshot" label="&zotero.items.menu.attach.snapshot;" oncommand="var itemID = parseInt(this.parentNode.parentNode.parentNode.getAttribute('itemID')); ZoteroPane_Local.addAttachmentFromPage(false, itemID)"/> <menuitem class="menuitem-iconic zotero-menuitem-attachments-web-link" label="&zotero.items.menu.attach.link;" oncommand="var itemID = parseInt(this.parentNode.parentNode.parentNode.getAttribute('itemID')); ZoteroPane_Local.addAttachmentFromPage(true, itemID)"/> @@ -271,20 +271,20 @@ </menupopup> </menu> <menuseparator/> - <menuitem label="&zotero.items.menu.duplicateItem;" oncommand="ZoteroPane_Local.duplicateSelectedItem();"/> - <menuitem oncommand="ZoteroPane_Local.deleteSelectedItems();"/> - <menuitem oncommand="ZoteroPane_Local.deleteSelectedItems(true, true);"/> - <menuitem label="&zotero.items.menu.restoreToLibrary;" oncommand="ZoteroPane_Local.restoreSelectedItems();"/> - <menuitem label="&zotero.items.menu.mergeItems;" oncommand="ZoteroPane_Local.mergeSelectedItems();"/> + <menuitem class="menuitem-iconic zotero-menuitem-duplicate-item" label="&zotero.items.menu.duplicateItem;" oncommand="ZoteroPane_Local.duplicateSelectedItem();"/> + <menuitem class="menuitem-iconic zotero-menuitem-delete-collection" oncommand="ZoteroPane_Local.deleteSelectedItems();"/> + <menuitem class="menuitem-iconic zotero-menuitem-move-to-trash" oncommand="ZoteroPane_Local.deleteSelectedItems(true, true);"/> + <menuitem class="menuitem-iconic zotero-menuitem-restore-to-library" label="&zotero.items.menu.restoreToLibrary;" oncommand="ZoteroPane_Local.restoreSelectedItems();"/> + <menuitem class="menuitem-iconic zotero-menuitem-merge-items" label="&zotero.items.menu.mergeItems;" oncommand="ZoteroPane_Local.mergeSelectedItems();"/> <menuseparator/> - <menuitem oncommand="Zotero_File_Interface.exportItems();"/> - <menuitem oncommand="Zotero_File_Interface.bibliographyFromItems();"/> - <menuitem oncommand="Zotero_Report_Interface.loadItemReport(event)"/> + <menuitem class="menuitem-iconic zotero-menuitem-export" oncommand="Zotero_File_Interface.exportItems();"/> + <menuitem class="menuitem-iconic zotero-menuitem-create-bibliography" oncommand="Zotero_File_Interface.bibliographyFromItems();"/> + <menuitem class="menuitem-iconic zotero-menuitem-create-report" oncommand="Zotero_Report_Interface.loadItemReport(event)"/> <menuseparator/> - <menuitem oncommand="Zotero_RecognizePDF.recognizeSelected();"/> - <menuitem oncommand="ZoteroPane_Local.createParentItemsFromSelected();"/> - <menuitem oncommand="ZoteroPane_Local.renameSelectedAttachmentsFromParents()"/> - <menuitem oncommand="ZoteroPane_Local.reindexItem();"/> + <menuitem class="menuitem-iconic zotero-menuitem-retrieve-metadata" oncommand="Zotero_RecognizePDF.recognizeSelected();"/> + <menuitem class="menuitem-iconic zotero-menuitem-create-parent" oncommand="ZoteroPane_Local.createParentItemsFromSelected();"/> + <menuitem class="menuitem-iconic zotero-menuitem-rename-from-parent" oncommand="ZoteroPane_Local.renameSelectedAttachmentsFromParents()"/> + <menuitem class="menuitem-iconic zotero-menuitem-reindex" oncommand="ZoteroPane_Local.reindexItem();"/> </menupopup> </popupset> diff --git a/chrome/locale/af-ZA/zotero/zotero.properties b/chrome/locale/af-ZA/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ar/zotero/zotero.properties b/chrome/locale/ar/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=لم يتم تعيين كلمة المرور sync.error.invalidLogin=اسم المستخدم أو كلمة المرور غير صحيح 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=الرجاء إدخال كلمة المرور. -sync.error.loginManagerCorrupted1=لم يتمكن زوتيرو من الوصول لمعلومات تسجيل الدخول لديك، وذلك على الارجح بسبب عطب في قاعدة بيانات ادارة تسجيل الدخول لمتصفح الفايرفوكس. +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=قم بإغلاق متصفح الفايرفوكس، قم بإجراء النسخ الاحتياطي وحذف تسجيلات الدخول.* من الملف الشخصي لمتصفح فايرفوكس الخاص بك, ثم قم بإعادة إدخال معلومات تسجيل الدخول لزوتيرو في تبويب التزامن بتفضيلات زوتيرو. sync.error.syncInProgress=عملية التزامن قيد العمل بالفعل. sync.error.syncInProgress.wait=انتظر اتمام عملية المزامنة السابقة أو قم بإعادة تشغيل متصفح الفايرفوكس. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/bg-BG/zotero/zotero.properties b/chrome/locale/bg-BG/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Паролата не е въведена sync.error.invalidLogin=Невалидно потребитлско име или парола 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=Моля въведете парола -sync.error.loginManagerCorrupted1=Зотеро няма достъп до информацията за вашият логин. Вероятно това се дължи на проблем в базата дани с логин информация на Firefox. +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=Затворете Firefox, копирайте и изтрийте записана логин информация* от вашият Firefox профил, след което въведете отново Вашият Зотеро логин в панела за синхронизация на настройките на Зотеро. sync.error.syncInProgress=Операция за синхронизиране тече в момента. sync.error.syncInProgress.wait=Изчакайте предходната синхронизация да приключи или рестартирайте Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ca-AD/zotero/zotero.properties b/chrome/locale/ca-AD/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=No s'ha establit una contrasenya sync.error.invalidLogin=Nom d'usuari o contrasenya no vàlid 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=Introduïu una contrasenya. -sync.error.loginManagerCorrupted1=El Zotero no pot accedir a la vostra informació d'entrada, likely due to a corrupted 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 Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Ja està en marxa una operació de sincronització. sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/cs-CZ/zotero/zotero.properties b/chrome/locale/cs-CZ/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Heslo není nastaveno sync.error.invalidLogin=Neplatné uživatelské jméno nebo heslo 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=Prosím zadejte heslo. -sync.error.loginManagerCorrupted1=Zotero nemůže přistoupit k vašim přihlašovacím údajům. Pravděpodobnou příčinou je poškozená databáze přihlašovacích údajů v aplikaci Firefox. +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=Zavřete Firefox, proveďte zálohu a smažte singons.* ze svého profilu ve Firefoxu. Poté znovu vložte své přihlašovací údaje do panelu Sync v Nastavení Zotera. sync.error.syncInProgress=Synchronizace už probíhá. sync.error.syncInProgress.wait=Počkejte, dokud předchozí synchronizace neskončí, nebo restartujte Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/da-DK/zotero/zotero.properties b/chrome/locale/da-DK/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/de/zotero/zotero.properties b/chrome/locale/de/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Passwort nicht definiert sync.error.invalidLogin=Ungültiger Benutzername oder Passwort sync.error.invalidLogin.text=Der Zotero Sync Server hat Ihren Benutzernamen und Ihr Passwort nicht akzeptiert \n \n Bitte überprüfen Sie, ob Sie Ihre zotero.org Anmeldeinformationen in den Einstellung zur Synchronisation von Zotero korrekt eingegeben haben. sync.error.enterPassword=Bitte geben Sie ein Passwort ein. -sync.error.loginManagerCorrupted1=Zotero kann nicht auf Ihre Login-Informationen zugreifen, wahrscheinlich aufgrund einer beschädigten %S-Login-Manager-Datenbank. +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=Schließen Sie %S, legen Sie ein Backup an und löschen Sie signons.* aus Ihrem %S-Profilordner. Geben Sie dann Ihre Logindaten erneut im Sync-Reiter der Zotero-Einstellungen ein. sync.error.syncInProgress=Ein Sync-Vorgang läuft bereits. sync.error.syncInProgress.wait=Warten Sie, bis der aktuelle Sync-Vorgang abgeschlossen ist, oder starten Sie Firefox neu. @@ -900,7 +903,7 @@ file.accessError.cannotBe=kann nicht file.accessError.created=erstellt file.accessError.updated=aktualisiert file.accessError.deleted=gelöscht -file.accessError.message.windows=Stellen Sie sicher, dass die Datei zurzeit nicht verwendet wird und dass Sie nicht schreibgeschützt ist. Um alle Dateien in Ihrem Zotero Datenverzeichnis zu überprüfen, führen Sie einen Rechtsklick auf den Ordner 'zotero' und wählen dann 'Eigenschaften'. Entfernen Sie dann den Haken bei 'Schreibgeschützt' und bestätigen Sie, dass Sie die Änderungen auf alle Ordner und Dateien im Verzeichnis anwenden wollen. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Stellen Sie sicher, dass die Datei nicht verwendet wird und dass Schreibberechtigungen vorliegen. file.accessError.restart=Ein Neustart Ihres Computers oder die Deaktivierung von Sicherheitssoftware könnte ebenfalls Abhilfe schaffen. file.accessError.showParentDir=Übergeordnetes Verzeichnis anzeigen diff --git a/chrome/locale/el-GR/zotero/zotero.properties b/chrome/locale/el-GR/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git 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. @@ -780,7 +783,7 @@ sync.conflict.localVersionsKept = The local versions have been kept. sync.conflict.localVersionKept = The local version has been kept. sync.conflict.recentVersionsKept = The most recent versions have been kept. sync.conflict.recentVersionKept = The most recent version, '%S', has been kept. -sync.conflict.viewErrorConsole = View the%S Error Console for the full list of such changes. +sync.conflict.viewErrorConsole = View the %S Error Console for the full list of such changes. sync.conflict.localVersion = Local version: %S sync.conflict.remoteVersion = Remote version: %S sync.conflict.deleted = [deleted] @@ -900,7 +903,7 @@ file.accessError.cannotBe = cannot be file.accessError.created = created file.accessError.updated = updated file.accessError.deleted = deleted -file.accessError.message.windows = Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows = Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other = Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart = Restarting your computer or disabling security software may also help. file.accessError.showParentDir = Show Parent Directory diff --git a/chrome/locale/es-ES/zotero/zotero.properties b/chrome/locale/es-ES/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Contraseña no provista sync.error.invalidLogin=Nombre de usuario o contraseña inválida sync.error.invalidLogin.text=El servidor de sincronización de Zotero no ha aceptado tu usuario y contraseña.\n \n Por favor verifica que has introducido correctamente la información de inicio de sesión de zotero.org en las preferencias de sincronización de Zotero. sync.error.enterPassword=Por favor, ingrese una contraseña. -sync.error.loginManagerCorrupted1=Zotero no puede acceder a su información de inicio de sesión, probablemente debido a que esté corrupta la base de datos de gestión de inicios de sesión de %S. +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=Cierra %1$S, haz copia de seguridad y borra signons.* de tu perfil %2$S, y reintroduce tu información de inicio de sesión en Zotero en el panel Sincronización de las preferencias de Zotero. sync.error.syncInProgress=Una operación de sincronización ya está en marcha. sync.error.syncInProgress.wait=Espera a que se complete la sincronización anterior o reinicia %S. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/et-EE/zotero/zotero.properties b/chrome/locale/et-EE/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Salasõna ei ole määratud sync.error.invalidLogin=Vigane kasutajanimi või salasõna 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=Palun sisestada salasõna. -sync.error.loginManagerCorrupted1=Zotero ei saa sisse logimisega hakkama, ilmselt Firefoxi salvestatud salasõna vea tõttu. +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=Sulgege Firefox, tehke varukoopia ja kustutage enda Firefoxi profiilist salvestatud sisselogimise info. Seejärel sisestage enda info uuesti Zotero seadetes. sync.error.syncInProgress=Andmeid juba sünkroonitakse. sync.error.syncInProgress.wait=Oodake kuni eelmine sünkroonimine lõpetab või tehke Firefoxile alglaadimine. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/eu-ES/zotero/zotero.properties b/chrome/locale/eu-ES/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Pasahitza ezarri gabe sync.error.invalidLogin=Erabiltzailea edo pasahitza okerra 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=Sartu pasahitza, mesedez -sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox 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 Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Beste Sync ekintza bat burutzen ari da. sync.error.syncInProgress.wait=Itxaron hura bukatu arte eta berrabiarazi Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/fa/zotero/zotero.properties b/chrome/locale/fa/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=گذرواژه تنظیم نشده است sync.error.invalidLogin=گذرواژه یا نام کاربری درست نیست. 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=لطفا یک گذرواژه وارد کنید. -sync.error.loginManagerCorrupted1=زوترو نمیتواند به اطلاعات لازم برای ورود به وبگاه دسترسی پیدا کند. احتمالا این اشکال به خاطر خرابی دادگان ثبت ورود فایرفاکس ایجاد شده است. +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=فایرفاکس را ببندید و بعد از پشتیبان گرفتن، همه پروندههای signons.* را از پوشه پروفایل فایرفاکس پاک کنید و اطلاعات ثبت ورود زوترو را در قسمت مربوط به تنظیمات همزمانسازی، از نو وارد کنید. sync.error.syncInProgress=عملیات همزمانسازی از قبل در جریان است. sync.error.syncInProgress.wait=لطفا تا تکمیل همزمانسازی قبلی صبر کنید یا فایرفاکس را دوباره راهاندازی کنید. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/fi-FI/zotero/zotero.properties b/chrome/locale/fi-FI/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Salasanaa ei määritetty sync.error.invalidLogin=Virheellinen käyttäjänimi tai salasana 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=Anna salasana. -sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox 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 Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Synkronointi on jo käynnissä. sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/fr-FR/zotero/zotero.properties b/chrome/locale/fr-FR/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Mot de passe non défini sync.error.invalidLogin=Identifiant ou mot de passe invalide sync.error.invalidLogin.text=Le serveur de synchronisation Zotero n'a pas accepté vos nom d'utilisateur et mot de passe.\n \n Veuillez vérifier que vous avez saisi vos identifiants zotero.org correctement dans le panneau Synchronisation des Préférences de Zotero. sync.error.enterPassword=Veuillez saisir votre mot de passe. -sync.error.loginManagerCorrupted1=Zotero ne peut pas accéder à vos informations de connexion, probablement en raison de la corruption de la base de données du gestionnaire de connexions de %S. +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=Fermez %1$S, sauvegardez signons.* puis supprimez-le de votre profil %2$S, et finalement saisissez à nouveau vos informations de connexion dans le panneau Synchronisation des Préférences de Zotero. sync.error.syncInProgress=Une opération de synchronisation est déjà en cours. sync.error.syncInProgress.wait=Attendez que la synchronisation précédente soit terminée ou redémarrez %S. @@ -825,7 +828,7 @@ sync.storage.error.permissionDeniedAtAddress=Vous n'avez pas le droit de créer sync.storage.error.checkFileSyncSettings=Veuillez vérifier vos paramètres de synchronisation de fichier ou contacter l'administrateur de votre serveur WebDAV. sync.storage.error.verificationFailed=La vérification %S a échoué. Vérifiez vos paramètres de synchronisation de fichiers dans le panneau Synchronisation des Préférences de Zotero. sync.storage.error.fileNotCreated=Le fichier '%S' n'a pas pu être créé dans le répertoire 'storage' de Zotero. -sync.storage.error.encryptedFilenames=Erreur lors de la création du fichier '%S'. \n \n Consultez http://www.zotero.org/support/kb/encrypted_filenames pour plus d'informations. +sync.storage.error.encryptedFilenames=Erreur lors de la création du fichier '%S'.\n \n Consultez http://www.zotero.org/support/kb/encrypted_filenames pour plus d'informations. sync.storage.error.fileEditingAccessLost=Vous n'avez plus d'accès en modification de fichier pour le groupe Zotero '%S', et les fichiers que vous avez ajoutés ou modifiés ne peuvent pas être synchronisés vers le serveur. sync.storage.error.copyChangedItems=Pour avoir une chance de copier les documents et fichiers modifiés ailleurs, annulez la synchronisation maintenant. sync.storage.error.fileUploadFailed=La mise en ligne du fichier a échoué. @@ -834,7 +837,7 @@ sync.storage.error.doesNotExist=%S n'existe pas. sync.storage.error.createNow=Voulez-vous le créer maintenant? sync.storage.error.webdav.default=Une erreur WebDAV de synchronisation de fichier s'est produite. Veuillez essayer de synchroniser à nouveau.\n \n Si vous recevez ce message de manière répétée, vérifiez vos paramètres serveur WebDAV dans le panneau Synchronisation des Préférences de Zotero. -sync.storage.error.webdav.defaultRestart=Une erreur WebDAV de synchronisation de fichier s'est produite. Veuillez redémarrer %S et essayez de synchroniser à nouveau. \n \n Si vous recevez ce message de manière répétée, vérifiez vos paramètres serveur WebDAV dans le panneau Synchronisation des Préférences de Zotero. +sync.storage.error.webdav.defaultRestart=Une erreur WebDAV de synchronisation de fichier s'est produite. Veuillez redémarrer %S et essayez de synchroniser à nouveau.\n \n Si vous recevez ce message de manière répétée, vérifiez vos paramètres serveur WebDAV dans le panneau Synchronisation des Préférences de Zotero. sync.storage.error.webdav.enterURL=Veuillez saisir une URL WebDAV. sync.storage.error.webdav.invalidURL=%S n'est pas une URL WebDAV valide. sync.storage.error.webdav.invalidLogin=Le serveur WebDAV n'a pas accepté l'identifiant et le mot de passe que vous avez saisis. @@ -845,7 +848,7 @@ sync.storage.error.webdav.sslConnectionError=Une erreur de connexion SSL s'est p sync.storage.error.webdav.loadURLForMoreInfo=Entrez votre URL WebDAV dans votre navigateur pour plus d'information. sync.storage.error.webdav.seeCertOverrideDocumentation=Consultez la documentation relative aux exceptions de certificats auto-signés (certificate override) pour plus d'information. sync.storage.error.webdav.loadURL=Charger l'URL WebDAV -sync.storage.error.webdav.fileMissingAfterUpload=Un problème potentiel a été trouvé avec votre serveur WebDAV. \n \n Un fichier téléversé sur le serveur n'était pas immédiatement accessible au téléchargement. Il peut y avoir un court délai entre le moment où vous envoyez des fichiers et celui où ils sont disponibles, particulièrement si vous utilisez un service de stockage dans le nuage. \n \n Si la synchronisation des fichiers Zotero fonctionne normalement, vous pouvez ignorer ce message. Si vous rencontrez des problèmes, veuillez poster un message sur le forum zotero.org . +sync.storage.error.webdav.fileMissingAfterUpload=Un problème potentiel a été trouvé avec votre serveur WebDAV.\n \n Un fichier téléversé sur le serveur n'était pas immédiatement accessible au téléchargement. Il peut y avoir un court délai entre le moment où vous envoyez des fichiers et celui où ils sont disponibles, particulièrement si vous utilisez un service de stockage dans le nuage.\n \n Si la synchronisation des fichiers Zotero fonctionne normalement, vous pouvez ignorer ce message. Si vous rencontrez des problèmes, veuillez poster un message sur le forum zotero.org . sync.storage.error.webdav.serverConfig.title=Erreur de configuration du serveur WebDAV sync.storage.error.webdav.serverConfig=Votre serveur WebDAV a retourné une erreur interne. @@ -900,7 +903,7 @@ file.accessError.cannotBe=ne peut pas être file.accessError.created=créé file.accessError.updated=mis à jour file.accessError.deleted=supprimé -file.accessError.message.windows=Vérifiez que le fichier n'est pas utilisé actuellement et qu'il n'est pas en lecture seule. Pour vérifier tous les fichiers de votre répertoire de données Zotero, cliquez avec le bouton droit sur le répertoire 'zotero', cliquez sur Propriétés, décochez la case Lecture seule, et appliquez le changement à l'ensemble des dossiers et fichiers du répertoire. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Vérifiez que le fichier n'est pas utilisé actuellement et que ses permissions autorisent l'accès en écriture. file.accessError.restart=Redémarrer votre ordinateur ou désactiver les logiciels de sécurité peut aussi aider. file.accessError.showParentDir=Localiser le répertoire parent diff --git a/chrome/locale/gl-ES/zotero/zotero.properties b/chrome/locale/gl-ES/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Contrasinal sen definir sync.error.invalidLogin=Nome de usuario ou contrasinal non válidos 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=Introduza un contrasinal. -sync.error.loginManagerCorrupted1=Zotero non pode acceder a información de entrada, probablemente debido a unha base de datos de rexistro corrompida. +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=Peche o %S, faga unha copia de seguridade e elimine signons.* no seu perfil de %S e reintroduza a súa información de rexistro no panel de sincronización no panel de preferencias do Zotero. sync.error.syncInProgress=Xa se está executando unha sincronización. sync.error.syncInProgress.wait=Espere até que a sincronización anterior se complete ou reinicie %S. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/he-IL/zotero/zotero.properties b/chrome/locale/he-IL/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/hr-HR/zotero/zotero.properties b/chrome/locale/hr-HR/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/hu-HU/zotero/zotero.properties b/chrome/locale/hu-HU/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=A jelszó nincs megadva sync.error.invalidLogin=Hibás felhasználónév vagy jelszó 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=Adja meg a jelszót. -sync.error.loginManagerCorrupted1=A Zotero nem fér hozzá a bejelentkezési adatokhoz, valószínűleg a Firefox bejelentkezési adatbázisának sérülése miatt. +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=Zárja be a Firefoxot, készítsen biztonsági másolatot, és törölje ki a bejelentkezési adatokat a Firefox profiljából, majd adja meg újra a bejelentkezési adatokat a Zotero beállítások Szinkronizáció nevű lapján. sync.error.syncInProgress=A szinkronizáció már folyamatban. sync.error.syncInProgress.wait=Várja meg, amíg a szinkronizáció befejeződik vagy indítsa újra a Firefoxot. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/is-IS/zotero/zotero.properties b/chrome/locale/is-IS/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/it-IT/zotero/zotero.properties b/chrome/locale/it-IT/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Password non impostata sync.error.invalidLogin=Nome utente o password non validi 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=Immettere una password. -sync.error.loginManagerCorrupted1=Zotero non può accedere alle informazioni di login a causa della corruzione del database del gestore di login di %S. +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=Chiudere %S, fare un copia dei dati e eliminare le informazioni di login.* dal profilo di %S. Immettere nuovamente le proprie informazioni di login per Zotero nel pannello Sincronizzazione delle impostazioni di Zotero. sync.error.syncInProgress=Un'operazione di sincronizzazione è già in corso. sync.error.syncInProgress.wait=Attendere il completamento dell'operazione precedente o riavviare %S. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ja-JP/zotero/zotero.properties b/chrome/locale/ja-JP/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=パスワードが指定されていません sync.error.invalidLogin=ユーザーネームまたはパスワードが不正です sync.error.invalidLogin.text=Zotero 同期サーバーはあなたのユーザー名とパスワードを受け付けませんでした。\n \n Zotero 環境設定の同期設定において zotero.org へのログイン情報を正確に入力したかご確認下さい。 sync.error.enterPassword=パスワードを入力してください -sync.error.loginManagerCorrupted1=Zotero はあなたのログイン情報にアクセスすることができません。%S ログイン管理データベースが破損した恐れがあります。 +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=%S を閉じて、あなたの %S プロファイルから、signons.* のバックアップを取り、このファイルを削除してください。それからあなたの Zotero ログイン情報をもう一度 Zotero 環境設定の「同期」タブに入力し直してください。 sync.error.syncInProgress=同期処理がすでに実行中です。 sync.error.syncInProgress.wait=この前の同期が完了するのをお待ち頂くか、あるいは %S を再起動してください。 @@ -900,7 +903,7 @@ file.accessError.cannotBe=できない file.accessError.created=作成できません file.accessError.updated=更新できません file.accessError.deleted=削除できません -file.accessError.message.windows=ファイルが使用中でなく、また読み出し専用に設定されていないことをご確認下さい。Zotero データディレクトリの全ファイルについて確認するには、'zotero' ディレクトリを右クリックしてプロパティをクリックし、Read-Only (読み出しのみ)のチェックボックスを外し、変更をそのディレクトリ内のすべてのフォルダとファイルに適用します。 +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=ファイルが使用中でないか、またファイルのアクセス権が書き込みを許可していることをご確認下さい。 file.accessError.restart=コンピューターを再起動するか、セキュリティ・ソフトウェアを無効化するとよいかもしれません。 file.accessError.showParentDir=親ディレクトリを表示 diff --git a/chrome/locale/km/zotero/zotero.properties b/chrome/locale/km/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=មិនបានដាក់លេខសម្ងា sync.error.invalidLogin=ឈ្មោះអ្នកប្រើ ឬ លេខសម្ងាត់គ្មានសុពលភាព 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=សូមបញ្ចូលលេខសម្ងាត់ -sync.error.loginManagerCorrupted1=ហ្ស៊ូតេរ៉ូមិនអាចបញ្ចូលព័ត៌មានរបស់អ្នកបានទេ។ នេះអាចបណ្តាលមកពីទិន្នន័យគ្រប់គ្រងព័តិមានបញ្ចូល %S បានខូច។ +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=សូមបិទ%S ការទាញរក្សាបម្រុងទុក និង លុបព័តិមានចូលមើលពីទម្រង់ %S របស់អ្នក និងបញ្ចូលព័ត៌ជាថ្មីនៅត្រង់ផ្ទាំងសមកាលកម្មក្នុងជម្រើសអាទិភាពហ្ស៊ូតេរ៉ូ។ sync.error.syncInProgress=សមកាលកម្មកំពុងតែដំណើរការ sync.error.syncInProgress.wait=សូមរង់ចាំឲសមកាលកម្មពីមុនបានបញ្ចប់សិន ឬ ចាប់ផ្តើម %S ជាថ្មីម្តងទៀត។ @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=បានបង្កើត file.accessError.updated=updated file.accessError.deleted=បានលុបចោល -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ko-KR/zotero/zotero.properties b/chrome/locale/ko-KR/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=비밀번호 설정되지 않음 sync.error.invalidLogin=올바르지 않은 사용자명 또는 비밀번호 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=비밀번호를 입력해 주세요. -sync.error.loginManagerCorrupted1=Zotero가 손상된 Firefox로그인 관리자 데이터베이스로 인해 당신의 로그인 정보에 접근할 수 없습니다. +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 Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=동기화 작업이 이미 진행중입니다. sync.error.syncInProgress.wait=이전의 동기화가 완료때까지 기다리거나 Firefox를 재시작하세요. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/nb-NO/zotero/zotero.properties b/chrome/locale/nb-NO/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/nl-NL/zotero/zotero.properties b/chrome/locale/nl-NL/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Wachtwoord niet ingesteld sync.error.invalidLogin=Ongeldige gebruikersnaam of wachtwoord 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=Voer een wachtwoord in. -sync.error.loginManagerCorrupted1=Zotero kan uw aanmeld-informatie niet benaderen, vermoedelijk vanwege een beschadigde Firefox 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=Sluit %S, maak een backup en verwijder signons.* uit uw %S profiel, en voer opnieuw uw Zotero aanmeld-informatie in bij het Synchronisatie-paneel van de Zotero-voorkeuren. sync.error.syncInProgress=Er wordt al gesynchroniseerd. sync.error.syncInProgress.wait=Wacht totdat de vorige synchronisatie is voltooid of herstart %S. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/nn-NO/zotero/zotero.properties b/chrome/locale/nn-NO/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Password not set sync.error.invalidLogin=Ugyldig brukarnamn eller passord 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=Skriv inn passord. -sync.error.loginManagerCorrupted1=Zotero får ikkje tilgang til brukaropplysningane dine, truleg på grunn av ein øydelagt %S brukaropplysningsdatabase. +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=Lukk %1$S, ta kopi av og slett signons* frå %2$S-profilen, og skriv inn att brukaropplysningane dine i synkroniseringsdelen av Zotero-innstillingane. sync.error.syncInProgress=Ei synkronisering er allereie i gang. sync.error.syncInProgress.wait=Vent til den førre synkroniseringa er ferdig eller start om att %S. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/pl-PL/zotero/zotero.properties b/chrome/locale/pl-PL/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Nie podano hasła sync.error.invalidLogin=Błędna nazwa użytkownika lub hasło 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=Proszę podać hasło. -sync.error.loginManagerCorrupted1=Zotero nie mógł odczytać twojej nazwy użytkownika oraz hasła, prawdopodobnie ze względu na uszkodzenie bazy danych menedżera haseł %S. +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=Zamknij %1$S, zrób kopie zapasowe oraz usuń pliki signons.* z twojego profilu %2$S, a następnie wprowadź ponownie swoje dane użytkownika Zotero w karcie Synchronizacja preferencji Zotero. sync.error.syncInProgress=Synchronizacja jest aktualnie w trakcie. sync.error.syncInProgress.wait=Poczekaj na zakończenie poprzedniej synchronizacji albo uruchom ponownie %S. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/pt-BR/zotero/zotero.properties b/chrome/locale/pt-BR/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Senha não configurada sync.error.invalidLogin=Nome de usuário ou senha inválida 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=Por favor, digite sua senha. -sync.error.loginManagerCorrupted1=Zotero não pode acessar suas informações de login, provavelmente devido a um banco de dados de login do Firefox corrompido. +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=Feche o Firefox, faça uma cópia de segurança e exclua o arquivo singons.* de seu perfil Firefox; em seguida redigite suas informações de login no painel Sincronização das preferências Zotero. sync.error.syncInProgress=Uma operação de sincronização já está em progresso. sync.error.syncInProgress.wait=Aguarde o fim da operação de sincronização anterior or reinicie o Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/pt-PT/zotero/zotero.properties b/chrome/locale/pt-PT/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Palavra-passe por indicar sync.error.invalidLogin=Nome de utilizador inválido ou palavra-passe inválida. 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=Por favor introduza uma palavra-passe. -sync.error.loginManagerCorrupted1=O Zotero não consegue aceder às suas credenciais, provavelmente devido ao corrompimento de uma base de dados do gestor de credenciais do Firefox. +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=Feche o Firefox, faça cópias de segurança e remova os signons.* do seu perfil do Firefox. Depois reintroduza as suas credenciais do Zotero no painel de sincronização das preferências do Zotero. sync.error.syncInProgress=Está em curso uma outra operação de sincronização. sync.error.syncInProgress.wait=Espere pelo fim da operação de sincronização anterior ou reinicie o Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/ro-RO/zotero/searchbox.dtd b/chrome/locale/ro-RO/zotero/searchbox.dtd @@ -6,8 +6,8 @@ <!ENTITY zotero.search.joinMode.suffix "din următoarele:"> <!ENTITY zotero.search.recursive.label "Caută în subdosare"> -<!ENTITY zotero.search.noChildren "Arată doar itemii de nivel înalt"> -<!ENTITY zotero.search.includeParentsAndChildren "Include itemii părinte și copil, dintre intemii care se potrivesc căutării"> +<!ENTITY zotero.search.noChildren "Arată doar înregistrările de nivel înalt"> +<!ENTITY zotero.search.includeParentsAndChildren "Include înregistrările părinte și copil, dintre cele care se potrivesc căutării"> <!ENTITY zotero.search.textModes.phrase "Expresie"> <!ENTITY zotero.search.textModes.phraseBinary "Expresie (include fișierele binare)"> diff --git a/chrome/locale/ro-RO/zotero/zotero.dtd b/chrome/locale/ro-RO/zotero/zotero.dtd @@ -85,7 +85,7 @@ <!ENTITY zotero.items.menu.attach.fileLink "Anexează o legătură la fișier..."> <!ENTITY zotero.items.menu.restoreToLibrary "Restaurează la bibliotecă"> -<!ENTITY zotero.items.menu.duplicateItem "Duplică item"> +<!ENTITY zotero.items.menu.duplicateItem "Creează un duplicat al înregistrării"> <!ENTITY zotero.items.menu.mergeItems "Unește itemii..."> <!ENTITY zotero.duplicatesMerge.versionSelect "Alege versiunea itemului pe care-l folosești ca item master:"> diff --git a/chrome/locale/ro-RO/zotero/zotero.properties b/chrome/locale/ro-RO/zotero/zotero.properties @@ -157,7 +157,7 @@ pane.collections.groupLibraries=Grupează biblioteci pane.collections.trash=Coș de gunoi pane.collections.untitled=Fără titlu pane.collections.unfiled=Înregistrări neîndosariate -pane.collections.duplicate=Duplică înregistrări +pane.collections.duplicate=Înregistrări duplicate pane.collections.menu.rename.collection=Redenumește colecția... pane.collections.menu.edit.savedSearch=Editează căutarea salvată @@ -481,7 +481,7 @@ ingester.importReferRISDialog.text=Vrei să imporți înregistrări din "%1$S" ingester.importReferRISDialog.checkMsg=Permite întotdeauna pentru acest site ingester.importFile.title=Importă fișier -ingester.importFile.text=Vrei să imporți fișierul "%S"?\n\nItemii vor fi adăugați într-o nouă colecție. +ingester.importFile.text=Vrei să imporți fișierul "%S"?\n\nÎnregistrările vor fi adăugate într-o nouă colecție. ingester.importFile.intoNewCollection=Importă într-o colecție nouă ingester.lookup.performing=Execută o căutare... @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Parolă neconfigurată sync.error.invalidLogin=Nume de utilizator sau parolă invalide sync.error.invalidLogin.text=Serverul de sincronizare Zotero nu a acceptat numele tău de utilizator și parola.\n\nTe rog să verifici dacă ai introdus corect informațiile de autentificare zotero.org în preferințele de sincronizare Zotero. sync.error.enterPassword=Te rog să introduci o parolă. -sync.error.loginManagerCorrupted1=Zotero nu poate accesa informațiile tale de autentificare, din pricina coruperii unei baze de date a managerului de autentificare din Firefox. +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=Închide Firefox, creează o copie de siguranță și șterge signons.* din profilul tău Firefox; apoi reintrodu informația ta de autentificare Zotero în panoul sincronizării al preferințelor Zotero. sync.error.syncInProgress=O operație de sincronizare este deja în curs. sync.error.syncInProgress.wait=Așteaptă ca sincronizarea precedentă să se încheie sau repornește Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=nu poate fi file.accessError.created=creat file.accessError.updated=actualizat file.accessError.deleted=șters -file.accessError.message.windows=Verifică dacă fișierul nu e folosit chiar în acest moment și dacă nu e marcat ca numai citire (read-only). Pentru a verifica toate fișierele din directorul tău de date Zotero, clic dreapta pe directorul 'zotero', clic Proprietăți, dezactivează caseta de validare Numai-citire (Read-Only) și aplică schimbarea tuturor dosarelor și fișierelor din director. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Verifică dacă fișierul nu e curent în uz și dacă permisiunile sale permit accesul de scriere. file.accessError.restart=Repornirea calculatorului sau dezactivarea software-ului de securitate poate de asemenea să ajute. file.accessError.showParentDir=Arată directorul părinte diff --git a/chrome/locale/ru-RU/zotero/zotero.properties b/chrome/locale/ru-RU/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Пароль не установлен sync.error.invalidLogin=Неверное имя пользователя или пароль 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=Пожалуйста, введите пароль. -sync.error.loginManagerCorrupted1=Zotero не может считать ваши регистрационные данные, вероятно, ввиду повреждения базы данных менеджера регистрационных данных Firefox. +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=Закройте Firefox, сделайте резервную копию и удалите signons.* из вашего профиля Firefox, затем заново введите ваши регистрационные данные в панели Синхронизация настроек Zotero. sync.error.syncInProgress=Синхронизация уже выполняется. sync.error.syncInProgress.wait=Подождите завершение предыдущей синхронизации или перезапустите Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/sk-SK/zotero/zotero.properties b/chrome/locale/sk-SK/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Heslo nie je nastavené sync.error.invalidLogin=Nesprávne meno alebo heslo sync.error.invalidLogin.text=Synchronizačný server Zotero neprijal vaše užívateľské meno a heslo.\n\nSkontrolujte prosím správne zadanie vašich prihlasovacích údajov pre zotero.org v predvoľbách synchronizácie Zotera. sync.error.enterPassword=Prosím zdajte heslo. -sync.error.loginManagerCorrupted1=Zotero nemá prístup k vašim prihlasovacím údajom, pravdepodobne kvôli poškodeniu databázy Firefoxu pre správu hesiel. +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=Zatvorte %1$S, zálohujte a odstráňte signons.* z vášho profilu %2$S a zadajte znova prihlasovacie údaje vášho Zotera pod záložkou Synchronizácie v predvoľbách Zotera. sync.error.syncInProgress=Sychronizácia už prebieha. sync.error.syncInProgress.wait=Počkajte, kým sa predchádzajúca synchronizácia ukončí a reštartujte Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=nemožno file.accessError.created=vytvoriť file.accessError.updated=aktualizovať file.accessError.deleted=odstrániť -file.accessError.message.windows=Skontrolujte, že súbor sa aktuálne nepoužíva a že nie je označený ako iba na čítanie. Pre kontrolu všetkých súborov vo vašom adresári údajov Zotero, kliknite pravým tlačidlom myši na adresár 'zotero', kliknite na Vlastnosti, odškrtnite políčko Iba na čítanie a použite zmeny u všetkých adresárov a súborov v adresári. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Skontrolujte, že súbor sa aktuálne nepoužíva a že jeho oprávnenia dovoľujú prístup zapisovať. file.accessError.restart=Reštartovanie počítača alebo vypnutie bezpečnostného softvéru môže tiež pomôcť. file.accessError.showParentDir=Zobraziť nadradený adresár diff --git a/chrome/locale/sl-SI/zotero/zotero.properties b/chrome/locale/sl-SI/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Geslo ni določeno sync.error.invalidLogin=Neveljavno uporabniško ime ali geslo 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=Vnesite geslo. -sync.error.loginManagerCorrupted1=Zotero ne more dostopati do vaših prijavnih podatkov, najverjetneje je zbirka podatkov upravitelja prijav programa %S okvarjena. +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=Zaprite %1$S, naredite varnostno kopijo in izbrišite signons.* iz svojega profila %2$S, nato ponovno vnesite prijavne podatke Zotero v podoknu Usklajevanje v nastavitvah Zotera. sync.error.syncInProgress=Usklajevanje je že v teku. sync.error.syncInProgress.wait=Počakajte, da se prejšnje usklajevanje dokonča ali ponovno zaženite %S. @@ -774,9 +777,9 @@ sync.localGroupsWillBeRemoved2=If you continue, local groups, including any with sync.conflict.autoChange.alert=One or more locally deleted Zotero %S have been modified remotely since the last sync. sync.conflict.autoChange.log=A Zotero %S has changed both locally and remotely since the last sync: -sync.conflict.remoteVersionsKept=The remote versions have been kept. -sync.conflict.remoteVersionKept=The remote version has been kept. -sync.conflict.localVersionsKept=The local versions have been kept. +sync.conflict.remoteVersionsKept=Oddaljene različice so ohranjene. +sync.conflict.remoteVersionKept=Oddaljena različica je ohranjena. +sync.conflict.localVersionsKept=Krajevne različice so ohranjene. sync.conflict.localVersionKept=The local version has been kept. sync.conflict.recentVersionsKept=The most recent versions have been kept. sync.conflict.recentVersionKept=The most recent version, '%S', has been kept. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=ustvarjena file.accessError.updated=posodobljena file.accessError.deleted=izbrisana -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Pokaži nadrejeno mapo diff --git a/chrome/locale/sr-RS/zotero/zotero.properties b/chrome/locale/sr-RS/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/sv-SE/zotero/zotero.properties b/chrome/locale/sv-SE/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Lösenord är inte valt sync.error.invalidLogin=Ogiltigt användarnamn eller lösenord 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=Skriv ett lösenord. -sync.error.loginManagerCorrupted1=Zotero kan inte komma åt din inloggningsinformation, antagligen p.g.a en trasig %S-loginhanterardatabas. +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=Stäng %1$S, gör en backup och radera signons.* från din %2$S-profil. Skriv in dina inloggningsuppgifter i synkroniseringsrutan under Zotero-val. sync.error.syncInProgress=En synkroniseringsprocess är redan igång. sync.error.syncInProgress.wait=Vänta till den förra synkroniseringen är klar eller starta om %S. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=ไม่ได้ตั้งรหัสผ่าน sync.error.invalidLogin=ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง 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=โปรดใส่รหัสผ่าน -sync.error.loginManagerCorrupted1=Zotero ไม่สามารถเข้าถึงข้อมูลบันทึกเข้า คล้ายว่าเนื่องจากการวิบัติของโปรแกรมจัดการฐานข้อมูลบันทึกเข้าของ %S +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=ปิด %S สำรองและลบ signons.* จากโพรไฟล์ของคุณใน %S และป้อนบันทึกเข้า Zotero ในแผงการเชื่อมประสานของค่าตั้งพึงใจใน Zotero อีกครั้ง sync.error.syncInProgress=การเชื่อมประสานกำลังดำเนินการ sync.error.syncInProgress.wait=รอให้การเชื่อมประสานครั้งก่อนเสร็จสิ้นหรือเริ่ม %S ใหม่ @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/tr-TR/zotero/zotero.properties b/chrome/locale/tr-TR/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=Şifre yok sync.error.invalidLogin=Geçersiz kullanıcı veya şifre 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=Lütfen bir şifre giriniz. -sync.error.loginManagerCorrupted1=Zotero sizin giriş bilginize erişemiyor, belki Firefox giriş yönetimi veritabasın bozulmuştur. +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=Firefox'u kapatın, girişleri yedekleyin ve silin. Zotero Tercihlerinde Eşleme Panelinde ki Zotere giriş bilgisini tekrar giriniz. sync.error.syncInProgress=Bir eşleme işlemi şu an yürütülüyor. sync.error.syncInProgress.wait=Birönceki eşlemenin bitmesini bekleyiniz ve Firefox'u tekrar başlatın. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/vi-VN/zotero/zotero.properties b/chrome/locale/vi-VN/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 Firefox 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 Firefox, back up and delete signons.* from your Firefox 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 Firefox. @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/locale/zh-CN/zotero/preferences.dtd b/chrome/locale/zh-CN/zotero/preferences.dtd @@ -22,7 +22,7 @@ <!ENTITY zotero.preferences.fontSize.notes "笔记字体大小:"> <!ENTITY zotero.preferences.miscellaneous "杂项"> -<!ENTITY zotero.preferences.autoUpdate "自动检查转换器更新"> +<!ENTITY zotero.preferences.autoUpdate "自动更新转换器"> <!ENTITY zotero.preferences.updateNow "立刻更新"> <!ENTITY zotero.preferences.reportTranslationFailure "报告失效的网站转换器"> <!ENTITY zotero.preferences.zoteroDotOrgVersionHeader "允许 zotero.org 根据当前 Zotero 版本定制内容"> @@ -189,8 +189,8 @@ <!ENTITY zotero.preferences.dbMaintenance "数据库维护"> <!ENTITY zotero.preferences.dbMaintenance.integrityCheck "数据库完整性检查"> -<!ENTITY zotero.preferences.dbMaintenance.resetTranslatorsAndStyles "重设转换器和样式..."> -<!ENTITY zotero.preferences.dbMaintenance.resetTranslators "重设转换器..."> +<!ENTITY zotero.preferences.dbMaintenance.resetTranslatorsAndStyles "转换器和样式重置..."> +<!ENTITY zotero.preferences.dbMaintenance.resetTranslators "转换器重置..."> <!ENTITY zotero.preferences.dbMaintenance.resetStyles "重设样式..."> <!ENTITY zotero.preferences.debugOutputLogging "调试输出记录"> diff --git a/chrome/locale/zh-CN/zotero/searchbox.dtd b/chrome/locale/zh-CN/zotero/searchbox.dtd @@ -5,7 +5,7 @@ <!ENTITY zotero.search.joinMode.all "全部"> <!ENTITY zotero.search.joinMode.suffix "下列条件:"> -<!ENTITY zotero.search.recursive.label "搜索子目录"> +<!ENTITY zotero.search.recursive.label "搜索子分类"> <!ENTITY zotero.search.noChildren "只显示根级条目"> <!ENTITY zotero.search.includeParentsAndChildren "包含匹配项的父条目和子条目"> @@ -14,7 +14,7 @@ <!ENTITY zotero.search.textModes.regexp "正则表达式"> <!ENTITY zotero.search.textModes.regexpCS "正则表达式(区分大小写)"> -<!ENTITY zotero.search.date.units.days "日"> +<!ENTITY zotero.search.date.units.days "天"> <!ENTITY zotero.search.date.units.months "月"> <!ENTITY zotero.search.date.units.years "年"> diff --git a/chrome/locale/zh-CN/zotero/standalone.dtd b/chrome/locale/zh-CN/zotero/standalone.dtd @@ -6,7 +6,7 @@ <!ENTITY hideOtherAppsCmdMac.label "隐藏其它"> <!ENTITY hideOtherAppsCmdMac.commandkey "H"> <!ENTITY showAllAppsCmdMac.label "显示所有"> -<!ENTITY quitApplicationCmdMac.label "退出Zotero"> +<!ENTITY quitApplicationCmdMac.label "退出 Zotero"> <!ENTITY quitApplicationCmdMac.key "Q"> diff --git a/chrome/locale/zh-CN/zotero/timeline.properties b/chrome/locale/zh-CN/zotero/timeline.properties @@ -1,6 +1,6 @@ general.title=Zotero 时间轴 general.filter=过滤: -general.highlight=高亮 +general.highlight=高亮: general.clearAll=全部清除 general.jumpToYear=跳至年: general.firstBand=甲带: diff --git a/chrome/locale/zh-CN/zotero/zotero.properties b/chrome/locale/zh-CN/zotero/zotero.properties @@ -552,9 +552,9 @@ zotero.preferences.export.quickCopy.instructions=快速复制是通过快捷键% zotero.preferences.export.quickCopy.citationInstructions=要复制文献的引用样式, 在复制引文或脚注前按快捷键%S或按住Shift键然后拖放条目. zotero.preferences.styles.addStyle=添加样式 -zotero.preferences.advanced.resetTranslatorsAndStyles=重置转换器和样式 +zotero.preferences.advanced.resetTranslatorsAndStyles=转换器和样式重置 zotero.preferences.advanced.resetTranslatorsAndStyles.changesLost=所有新增的或修改过的转换器和样式将丢失. -zotero.preferences.advanced.resetTranslators=重置转换器 +zotero.preferences.advanced.resetTranslators=转换器重置 zotero.preferences.advanced.resetTranslators.changesLost=所有新增的或修改过的转换器将丢失. zotero.preferences.advanced.resetStyles=重设样式 zotero.preferences.advanced.resetStyles.changesLost=所有新增的或修改过的样式都将丢失. @@ -751,7 +751,10 @@ sync.error.passwordNotSet=密码未设置 sync.error.invalidLogin=无效的用户名或密码 sync.error.invalidLogin.text=Zotero同步服务器拒绝了您的用户名及密码.\n\n请在Zotero同步选项里检查zotero.org的登录信息是否正确. sync.error.enterPassword=请输入密码 -sync.error.loginManagerCorrupted1=无法获取您的登录信息, 这可能是由于%S登录管理数据库损坏. +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=关闭%S, 备份并从%S配置文件中删除signons.*, 然后在 Zotero 首选项的同步面板中重新输入登录信息. sync.error.syncInProgress=已经启用了一个同步进程 sync.error.syncInProgress.wait=等待上一次的同步完成或重启%S. @@ -900,7 +903,7 @@ file.accessError.cannotBe=不能是 file.accessError.created=已创建 file.accessError.updated=已更新 file.accessError.deleted=已删除 -file.accessError.message.windows=确认该文件没有被占用并且没有被标记为只读. 检查 Zotero 数据文件夹中的所有文件, 右键点击 'zotero' 文件夹, 点击属性, 去掉只读的勾选, 然后应用到所有的文件夹及其下面的文件. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=确保文件没有被占用, 并且具有写入的权限. file.accessError.restart=重启电脑或禁用安全软件也可能解决问题. file.accessError.showParentDir=显示上一级目录 diff --git a/chrome/locale/zh-TW/zotero/zotero.properties b/chrome/locale/zh-TW/zotero/zotero.properties @@ -751,7 +751,10 @@ sync.error.passwordNotSet=沒有設定密碼 sync.error.invalidLogin=無效的使用者名稱或密碼 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=請輸入一組密碼。 -sync.error.loginManagerCorrupted1=Zotero 無法存取你的登入資訊,可能是由於 Firefox 登入管理資料庫壞掉了。 +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=關閉 Firefox,備份並刪除你 Firefox profile 中的 signons.*,並在 Zotero 偏好設定的同步窗格中重新輸入你的 Zotero 登入資訊。 sync.error.syncInProgress=已有一項同步作業在進行中。 sync.error.syncInProgress.wait=等候先前的同步作業完成,或重新啟動 Firefox。 @@ -900,7 +903,7 @@ file.accessError.cannotBe=cannot be file.accessError.created=created file.accessError.updated=updated file.accessError.deleted=deleted -file.accessError.message.windows=Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename. file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access. file.accessError.restart=Restarting your computer or disabling security software may also help. file.accessError.showParentDir=Show Parent Directory diff --git a/chrome/skin/default/zotero/arrow-curve-090-left.png b/chrome/skin/default/zotero/arrow-curve-090-left.png Binary files differ. diff --git a/chrome/skin/default/zotero/arrow-join-090.png b/chrome/skin/default/zotero/arrow-join-090.png Binary files differ. diff --git a/chrome/skin/default/zotero/arrow-split-090.png b/chrome/skin/default/zotero/arrow-split-090.png Binary files differ. diff --git a/chrome/skin/default/zotero/bookmark-pencil.png b/chrome/skin/default/zotero/bookmark-pencil.png Binary files differ. diff --git a/chrome/skin/default/zotero/cross-script.png b/chrome/skin/default/zotero/cross-script.png Binary files differ. diff --git a/chrome/skin/default/zotero/document-search-result.png b/chrome/skin/default/zotero/document-search-result.png Binary files differ. diff --git a/chrome/skin/default/zotero/edit-list-order.png b/chrome/skin/default/zotero/edit-list-order.png Binary files differ. diff --git a/chrome/skin/default/zotero/lifebuoy.png b/chrome/skin/default/zotero/lifebuoy.png Binary files differ. diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css @@ -352,6 +352,61 @@ list-style-image: url('chrome://zotero/skin/treeitem-note.png'); } +.zotero-menuitem-new-saved-search +{ + list-style-image: url('chrome://zotero/skin/treesource-search.png'); +} + +.zotero-menuitem-show-duplicates +{ + list-style-image: url('chrome://zotero/skin/treesource-duplicates.png'); +} + +.zotero-menuitem-show-unfiled +{ + list-style-image: url('chrome://zotero/skin/treesource-unfiled.png'); +} + +.zotero-menuitem-new-collection +{ + list-style-image: url('chrome://zotero/skin/toolbar-collection-add.png'); +} + +.zotero-menuitem-edit-collection +{ + list-style-image: url('chrome://zotero/skin/toolbar-collection-edit.png'); +} + +.zotero-menuitem-delete-collection +{ + list-style-image: url('chrome://zotero/skin/toolbar-collection-delete.png'); +} + +.zotero-menuitem-show-in-library +{ + list-style-image: url('chrome://zotero/skin/treesource-library.png'); +} + +.zotero-menuitem-move-to-trash +{ + list-style-image: url('chrome://zotero/skin/treesource-trash-full.png'); +} + +.zotero-menuitem-delete-from-lib +{ + list-style-image: url('chrome://zotero/skin/cross-script.png'); +} + +.zotero-menuitem-attach-note +{ + list-style-image: url('chrome://zotero/skin/toolbar-note-add.png'); +} + +.zotero-menuitem-attach +{ + list-style-image: url('chrome://zotero/skin/attach.png'); +} + .zotero-menuitem-attachments-file { list-style-image: url('chrome://zotero/skin/treeitem-attachment-file.png'); @@ -372,6 +427,56 @@ list-style-image: url('chrome://zotero/skin/treeitem-attachment-web-link.png'); } +.zotero-menuitem-duplicate-item +{ + list-style-image: url('chrome://zotero/skin/arrow-split-090.png'); +} + +.zotero-menuitem-merge-items +{ + list-style-image: url('chrome://zotero/skin/arrow-join-090.png'); +} + +.zotero-menuitem-export +{ + list-style-image: url('chrome://zotero/skin/arrow-curve-090-left.png'); +} + +.zotero-menuitem-restore-to-library +{ + list-style-image: url('chrome://zotero/skin/lifebuoy.png'); +} + +.zotero-menuitem-create-bibliography +{ + list-style-image: url('chrome://zotero/skin/edit-list-order.png'); +} + +.zotero-menuitem-create-report +{ + list-style-image: url('chrome://zotero/skin/treeitem-report.png'); +} + +.zotero-menuitem-retrieve-metadata +{ + list-style-image: url('chrome://zotero/skin/puzzle-arrow.png'); +} + +.zotero-menuitem-reindex +{ + list-style-image: url('chrome://zotero/skin/document-search-result.png'); +} + +.zotero-menuitem-create-parent +{ + list-style-image: url('chrome://zotero/skin/page_white_add.png'); +} + +.zotero-menuitem-rename-from-parent +{ + list-style-image: url('chrome://zotero/skin/bookmark-pencil.png'); +} + #zotero-tb-advanced-search { list-style-image: url('chrome://zotero/skin/toolbar-advanced-search.png'); diff --git a/chrome/skin/default/zotero/page_white_add.png b/chrome/skin/default/zotero/page_white_add.png Binary files differ. diff --git a/chrome/skin/default/zotero/puzzle-arrow.png b/chrome/skin/default/zotero/puzzle-arrow.png Binary files differ. diff --git a/chrome/skin/default/zotero/timeline/timeline.html b/chrome/skin/default/zotero/timeline/timeline.html @@ -1,6 +1,7 @@ <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <style type='text/css'> .timeline { margin: 0 0 10px; diff --git a/chrome/skin/default/zotero/toolbar-collection-delete.png b/chrome/skin/default/zotero/toolbar-collection-delete.png Binary files differ. diff --git a/resource/schema/repotime.txt b/resource/schema/repotime.txt @@ -1 +1 @@ -2013-04-04 05:20:00 +2013-04-07 18:45:00