From f606aea369ca04da83943b46ebb945bcce35f22f Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 30 Jan 2012 01:33:37 -0500 Subject: [PATCH 01/64] Minor cosmetic tweak --- chrome/content/zotero-platform/unix/integration.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero-platform/unix/integration.css b/chrome/content/zotero-platform/unix/integration.css index e5a3b18a7b..d6ab27d2e8 100644 --- a/chrome/content/zotero-platform/unix/integration.css +++ b/chrome/content/zotero-platform/unix/integration.css @@ -3,12 +3,12 @@ body { } #quick-format-search:not([multiline="true"]) { - height: 27px !important; + height: 29px !important; } #quick-format-search { background: white; - padding: 1px 2px 1px 0; + padding: 0 2px 0 0; border: 1px solid rgba(0, 0, 0, 0.5); -moz-appearance: textfield; } From 5b3351d86ebd2091eb7fea60358357dae355f2b8 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 30 Jan 2012 02:02:42 -0500 Subject: [PATCH 02/64] Pull windows to the foreground on Linux --- chrome/content/zotero/xpcom/integration.js | 244 ++++++++++++++++++++- 1 file changed, 243 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index 80091adac0..c24bb6f4e4 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -51,7 +51,12 @@ Zotero.Integration = new function() { // these need to be global because of GC var _updateTimer; - var _carbon, ProcessSerialNumber, SetFrontProcessWithOptions; + + // For Carbon and X11 + var _carbon, ProcessSerialNumber, SetFrontProcessWithOptions, + _x11, _x11Display, XClientMessageEvent, XFetchName, XFree, XQueryTree, XOpenDisplay, + XCloseDisplay, XFlush, XDefaultRootWindow, XInternAtom, XSendEvent, XMapRaised, + XGetWindowProperty; var _inProgress = false; this.currentWindow = false; @@ -285,6 +290,8 @@ Zotero.Integration = new function() { }; if(Zotero.isFx4 && win) { + Components.utils.import("resource://gre/modules/ctypes.jsm"); + if(!_carbon) { _carbon = ctypes.open("/System/Library/Frameworks/Carbon.framework/Carbon"); /* @@ -326,9 +333,244 @@ Zotero.Integration = new function() { _executeAppleScript('tell application id "'+BUNDLE_IDS[Zotero.appName]+'" to activate'); } } + } else if(!Zotero.isWin && Zotero.isFx4 && win) { + Components.utils.import("resource://gre/modules/ctypes.jsm"); + + if(_x11 === false) return; + if(!_x11) { + try { + var libName = ctypes.libraryName("X11"); + } catch(e) { + _x11 = false; + Zotero.debug("Integration: Could not get libX11 name; not activating"); + Zotero.logError(e); + return; + } + + try { + _x11 = ctypes.open(libName); + } catch(e) { + _x11 = false; + Zotero.debug("Integration: Could not open "+libName+"; not activating"); + Zotero.logError(e); + return; + } + + const Status = ctypes.int, + Display = new ctypes.StructType("Display"), + Window = ctypes.unsigned_long, + Atom = ctypes.unsigned_long, + Bool = ctypes.int; + + /* + * typedef struct { + * int type; + * unsigned long serial; / * # of last request processed by server * / + * Bool send_event; / * true if this came from a SendEvent request * / + * Display *display; / * Display the event was read from * / + * Window window; + * Atom message_type; + * int format; + * union { + * char b[20]; + * short s[10]; + * long l[5]; + * } data; + * } XClientMessageEvent; + */ + XClientMessageEvent = new ctypes.StructType("XClientMessageEvent", + [ + {"type":ctypes.int}, + {"serial":ctypes.unsigned_long}, + {"send_event":Bool}, + {"display":Display.ptr}, + {"window":Window}, + {"message_type":Atom}, + {"format":ctypes.int}, + {"l0":ctypes.long}, + {"l1":ctypes.long}, + {"l2":ctypes.long}, + {"l3":ctypes.long}, + {"l4":ctypes.long} + ] + ); + + /* + * Status XFetchName( + * Display* display, + * Window w, + * char** window_name_return + * ); + */ + XFetchName = _x11.declare("XFetchName", ctypes.default_abi, Status, Display.ptr, + Window, ctypes.char.ptr.ptr); + + /* + * Status XQueryTree( + * Display* display, + * Window w, + * Window* root_return, + * Window* parent_return, + * Window** children_return, + * unsigned int* nchildren_return + * ); + */ + XQueryTree = _x11.declare("XQueryTree", ctypes.default_abi, Status, Display.ptr, + Window, Window.ptr, Window.ptr, Window.ptr.ptr, ctypes.unsigned_int.ptr); + + /* + * int XFree( + * void* data + * ); + */ + XFree = _x11.declare("XFree", ctypes.default_abi, ctypes.int, ctypes.voidptr_t); + + /* + * Display *XOpenDisplay( + * _Xconst char* display_name + * ); + */ + XOpenDisplay = _x11.declare("XOpenDisplay", ctypes.default_abi, Display.ptr, + ctypes.char.ptr); + + /* + * int XCloseDisplay( + * Display* display + * ); + */ + XCloseDisplay = _x11.declare("XCloseDisplay", ctypes.default_abi, ctypes.int, + Display.ptr); + + /* + * int XFlush( + * Display* display + * ); + */ + XFlush = _x11.declare("XFlush", ctypes.default_abi, ctypes.int, Display.ptr); + + /* + * Window XDefaultRootWindow( + * Display* display + * ); + */ + XDefaultRootWindow = _x11.declare("XDefaultRootWindow", ctypes.default_abi, + Window, Display.ptr); + + /* + * Atom XInternAtom( + * Display* display, + * _Xconst char* atom_name, + * Bool only_if_exists + * ); + */ + XInternAtom = _x11.declare("XInternAtom", ctypes.default_abi, Atom, Display.ptr, + ctypes.char.ptr, Bool); + + /* + * Status XSendEvent( + * Display* display, + * Window w, + * Bool propagate, + * long event_mask, + * XEvent* event_send + * ); + */ + XSendEvent = _x11.declare("XSendEvent", ctypes.default_abi, Status, Display.ptr, + Window, Bool, ctypes.long, XClientMessageEvent.ptr); + + /* + * int XMapRaised( + * Display* display, + * Window w + * ); + */ + XMapRaised = _x11.declare("XMapRaised", ctypes.default_abi, ctypes.int, Display.ptr, + Window); + + + _x11Display = XOpenDisplay(null); + if(!_x11Display) { + Zotero.debug("Integration: Could not open display; not activating"); + _x11 = false; + } + + Zotero.addShutdownListener(function() { + XCloseDisplay(_x11Display); + }); + } + + var rootWindow = XDefaultRootWindow(_x11Display), + intervalID; + + function _X11BringToForeground() { + var windowTitle = win.QueryInterface(Ci.nsIInterfaceRequestor) + .getInterface(Ci.nsIWebNavigation).QueryInterface(Ci.nsIBaseWindow).title; + + var x11Window = _X11FindWindow(_x11Display, rootWindow, windowTitle); + if(!x11Window) return; + win.clearInterval(intervalID); + + var event = new XClientMessageEvent(); + event.type = 33; /* ClientMessage*/ + event.serial = 0; + event.send_event = 1; + event.message_type = XInternAtom(_x11Display, "_NET_ACTIVE_WINDOW", 0); + event.display = _x11Display; + event.window = x11Window; + event.format = 32; + event.l0 = 2; + var mask = 1<<20 /* SubstructureRedirectMask */ | 1<<19 /* SubstructureNotifyMask */; + Zotero.debug(event.toSource()); + Zotero.debug([_x11Display, rootWindow, 0, mask, event.address()]); + + if(XSendEvent(_x11Display, rootWindow, 0, mask, event.address())) { + XMapRaised(_x11Display, x11Window); + XFlush(_x11Display); + Zotero.debug("Activated successfully"); + } else { + Zotero.debug("Integration: An error occurred activating the window"); + } + } + + win.addEventListener("load", function() { + intervalID = win.setInterval(_X11BringToForeground, 50); + }, false); } } + function _X11FindWindow(display, w, searchName) { + Components.utils.import("resource://gre/modules/ctypes.jsm"); + + var childrenPtr = new ctypes.unsigned_long.ptr(), + dummy = new ctypes.unsigned_long(), + foundName = new ctypes.char.ptr(), + nChildren = new ctypes.unsigned_int(); + + if(XFetchName(display, w, foundName.address())) { + var foundNameString = foundName.readString(); + XFree(foundName); + if(foundNameString === searchName) return w; + } + + var dummyPtr = dummy.address(); + if(!XQueryTree(display, w, dummyPtr, dummyPtr, childrenPtr.address(), + nChildren.address()) || childrenPtr.isNull()) { + return false; + } + + var nChildrenJS = nChildren.value; + var children = ctypes.cast(childrenPtr, ctypes.uint32_t.array(nChildrenJS).ptr).contents; + var foundWindow = false; + for(var i=0; i Date: Mon, 30 Jan 2012 02:45:57 -0500 Subject: [PATCH 03/64] Remove debug code --- chrome/content/zotero/xpcom/integration.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index c24bb6f4e4..b5eadf3c11 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -520,8 +520,6 @@ Zotero.Integration = new function() { event.format = 32; event.l0 = 2; var mask = 1<<20 /* SubstructureRedirectMask */ | 1<<19 /* SubstructureNotifyMask */; - Zotero.debug(event.toSource()); - Zotero.debug([_x11Display, rootWindow, 0, mask, event.address()]); if(XSendEvent(_x11Display, rootWindow, 0, mask, event.address())) { XMapRaised(_x11Display, x11Window); From 2eb3a6f4dcb24322986d66ea14f8591f2c3d2d5b Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 29 Jan 2012 06:54:02 +0800 Subject: [PATCH 04/64] Upgrade citeproc-js to version 1.0.270 --- chrome/content/zotero/xpcom/citeproc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js index 6eb0301799..e35c7a9cd4 100644 --- a/chrome/content/zotero/xpcom/citeproc.js +++ b/chrome/content/zotero/xpcom/citeproc.js @@ -1989,7 +1989,7 @@ CSL.DateParser = function () { }; CSL.Engine = function (sys, style, lang, forceLang) { var attrs, langspec, localexml, locale; - this.processor_version = "1.0.269"; + this.processor_version = "1.0.270"; this.csl_version = "1.0"; this.sys = sys; this.sys.xml = new CSL.System.Xml.Parsing(); @@ -8674,7 +8674,7 @@ CSL.Parallel = function (state) { this.sets = new CSL.Stack([]); this.try_cite = true; this.use_parallels = true; - this.midVars = ["section", "volume", "container-title", "collection-number", "issue", "page", "page-first", "locator"]; + this.midVars = ["hereinafter", "section", "volume", "container-title", "collection-number", "issue", "page", "page-first", "locator"]; }; CSL.Parallel.prototype.isMid = function (variable) { return (this.midVars.indexOf(variable) > -1); From b9422b32e65d2ead496d09410059685d9c728f26 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 30 Jan 2012 16:10:38 +0800 Subject: [PATCH 05/64] Upgrade citeproc-js to version 1.0.271 --- chrome/content/zotero/xpcom/citeproc.js | 26 +++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js index e35c7a9cd4..cff377cd5f 100644 --- a/chrome/content/zotero/xpcom/citeproc.js +++ b/chrome/content/zotero/xpcom/citeproc.js @@ -837,7 +837,7 @@ CSL.Output.Queue.prototype.closeLevel = function (name) { } this.current.pop(); }; -CSL.Output.Queue.prototype.append = function (str, tokname, notSerious, ignorePredecessor) { +CSL.Output.Queue.prototype.append = function (str, tokname, notSerious, ignorePredecessor, noStripPeriods) { var token, blob, curr; var useblob = true; if (this.state.tmp["doing-macro-with-date"]) { @@ -897,7 +897,7 @@ CSL.Output.Queue.prototype.append = function (str, tokname, notSerious, ignorePr curr = this.current.value(); } if ("string" === typeof blob.blobs) { - if (this.state.tmp.strip_periods) { + if (this.state.tmp.strip_periods && !noStripPeriods) { blob.blobs = blob.blobs.replace(/\./g, ""); } if (!ignorePredecessor) { @@ -1989,7 +1989,7 @@ CSL.DateParser = function () { }; CSL.Engine = function (sys, style, lang, forceLang) { var attrs, langspec, localexml, locale; - this.processor_version = "1.0.270"; + this.processor_version = "1.0.271"; this.csl_version = "1.0"; this.sys = sys; this.sys.xml = new CSL.System.Xml.Parsing(); @@ -7093,7 +7093,7 @@ CSL.Node.number = { } newstr = state.fun.page_mangler(newstr); } - if (newstr && !newstr.match(/^[0-9]+$/)) { + if (newstr && !newstr.match(/^[-.\u20130-9]+$/)) { state.output.append(newstr, this); } else { state.output.openLevel("empty"); @@ -7105,7 +7105,7 @@ CSL.Node.number = { if (i < values.length - 1) { blob.strings.suffix = blob.strings.suffix.replace(/\s*$/, ""); } - state.output.append(blob, "literal"); + state.output.append(blob, "literal", false, false, true); } state.output.closeLevel("empty"); } @@ -7339,7 +7339,7 @@ CSL.Node.text = { if (item && item[this.variables[0]]) { var locator = "" + item[this.variables[0]]; locator = locator.replace(/--*/g,"\u2013"); - state.output.append(locator, this); + state.output.append(locator, this, false, false, true); } }; } else if (this.variables_real[0] === "page-first") { @@ -7352,7 +7352,7 @@ CSL.Node.text = { if (idx > -1) { value = value.slice(0, idx); } - state.output.append(value, this); + state.output.append(value, this, false, false, true); } }; } else if (this.variables_real[0] === "page") { @@ -7360,7 +7360,7 @@ CSL.Node.text = { var value = state.getVariable(Item, "page", form); if (value) { value = state.fun.page_mangler(value); - state.output.append(value, this); + state.output.append(value, this, false, false, true); } }; } else if (this.variables_real[0] === "volume") { @@ -7382,6 +7382,16 @@ CSL.Node.text = { state.output.append(value, this); } }; + } else if (this.variables_real[0] === "URL") { + func = function (state, Item) { + var value; + if (this.variables[0]) { + value = state.getVariable(Item, this.variables[0], form); + if (value) { + state.output.append(value, this, false, false, true); + } + } + }; } else if (this.variables_real[0] === "section") { func = function (state, Item) { var value; From 65d8819fd093fd1e21cd85196a2c9eefc312b5b1 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 30 Jan 2012 21:47:35 +0800 Subject: [PATCH 06/64] Upgrade citeproc-js to version 1.0.272 --- chrome/content/zotero/xpcom/citeproc.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js index cff377cd5f..93544e40d4 100644 --- a/chrome/content/zotero/xpcom/citeproc.js +++ b/chrome/content/zotero/xpcom/citeproc.js @@ -1989,7 +1989,7 @@ CSL.DateParser = function () { }; CSL.Engine = function (sys, style, lang, forceLang) { var attrs, langspec, localexml, locale; - this.processor_version = "1.0.271"; + this.processor_version = "1.0.272"; this.csl_version = "1.0"; this.sys = sys; this.sys.xml = new CSL.System.Xml.Parsing(); @@ -9290,6 +9290,7 @@ CSL.Util.Names.initializeWith = function (state, name, terminator, normalizeOnly namelist = namelist.replace(/\-/g, " "); } namelist = namelist.replace(/\s*\-\s*/g, "-").replace(/\s+/g, " "); + namelist = namelist.replace(/-([a-z])/g, "\u2013$1") mm = namelist.match(/[\-\s]+/g); lst = namelist.split(/[\-\s]+/); if (lst.length === 0) { @@ -9321,6 +9322,7 @@ CSL.Util.Names.initializeWith = function (state, name, terminator, normalizeOnly } else { ret = CSL.Util.Names.doInitialize(state, lst, terminator); } + ret = ret.replace(/\u2013([a-z])/g, "-$1") return ret; }; CSL.Util.Names.doNormalize = function (state, namelist, terminator, mode) { From d21add0ea56002a88fed882bc7db0bea0a547b6e Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 30 Jan 2012 18:30:06 -0500 Subject: [PATCH 07/64] Bump styles and translators to latest versions --- styles | 2 +- translators | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/styles b/styles index a322796a08..c46fb416d3 160000 --- a/styles +++ b/styles @@ -1 +1 @@ -Subproject commit a322796a088e261718bc7d88e16a338be4143545 +Subproject commit c46fb416d3cf9871b3bd49d866e98b537a081212 diff --git a/translators b/translators index 6dfbb188e4..bdf108eb21 160000 --- a/translators +++ b/translators @@ -1 +1 @@ -Subproject commit 6dfbb188e417b0a54f1028e2a7b233483b915204 +Subproject commit bdf108eb2163edfeb1adfd41e7ef952501f11eda From f8afc461b0d705f59a138f000c67c06012666e2b Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 30 Jan 2012 22:31:52 -0500 Subject: [PATCH 08/64] Version update --- install.rdf | 2 +- update.rdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install.rdf b/install.rdf index b638abb162..676c505e03 100644 --- a/install.rdf +++ b/install.rdf @@ -6,7 +6,7 @@ zotero@chnm.gmu.edu Zotero - 3.0rc1.SOURCE + 3.0.SOURCE Center for History and New Media
George Mason University
Dan Cohen Sean Takats diff --git a/update.rdf b/update.rdf index f12f7ab7b1..b4497c1127 100644 --- a/update.rdf +++ b/update.rdf @@ -7,7 +7,7 @@ - 3.0rc1.SOURCE + 3.0.SOURCE {ec8030f7-c20a-464f-9b0e-13a3a9e97384} From 24fa452d9429250ec7fb531bd8bb22ec5a07a008 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 30 Jan 2012 22:34:01 -0500 Subject: [PATCH 09/64] Version update --- chrome/content/zotero/xpcom/zotero.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index 4a5767b78b..59708632dd 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -35,7 +35,7 @@ const ZOTERO_CONFIG = { API_URL: 'https://api.zotero.org/', PREF_BRANCH: 'extensions.zotero.', BOOKMARKLET_URL: 'https://www.zotero.org/bookmarklet/', - VERSION: "3.0rc1.SOURCE" + VERSION: "3.0.SOURCE" }; /* From 62e8cdbcdec8d6efbcec7ce8579552c23c2ec531 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 30 Jan 2012 22:48:11 -0500 Subject: [PATCH 10/64] Update repotime --- repotime.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repotime.txt b/repotime.txt index d4a22af379..26f255271d 100644 --- a/repotime.txt +++ b/repotime.txt @@ -1 +1 @@ -2011-08-29 18:20:00 +2012-01-30 23:00:00 From 083a3600dbaedacc9b52d2b1bb6a6d7e1c82ccee Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 30 Jan 2012 22:59:39 -0500 Subject: [PATCH 11/64] Update repo time, again --- repotime.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repotime.txt b/repotime.txt index 26f255271d..e54aade7fc 100644 --- a/repotime.txt +++ b/repotime.txt @@ -1 +1 @@ -2012-01-30 23:00:00 +2012-01-31 04:00:00 From 943d2cd5de7249a5ff824982691be6b9b7934886 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 31 Jan 2012 03:31:29 -0500 Subject: [PATCH 12/64] Remove a couple of repaints --- chrome/content/zotero/browser.js | 2 -- chrome/content/zotero/fileInterface.js | 8 +++++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/chrome/content/zotero/browser.js b/chrome/content/zotero/browser.js index a7d7a0287f..e02fcfe1a9 100644 --- a/chrome/content/zotero/browser.js +++ b/chrome/content/zotero/browser.js @@ -482,8 +482,6 @@ var Zotero_Browser = new function() { collection.addItem(dbItem.id); } - Zotero.repaint(window); - if(Zotero_Browser.isScraping) { // initialize close timer between item saves in case translator doesn't call done Zotero_Browser.progress.startCloseTimer(10000); // is this long enough? diff --git a/chrome/content/zotero/fileInterface.js b/chrome/content/zotero/fileInterface.js index e211a75d51..b6d35efe37 100644 --- a/chrome/content/zotero/fileInterface.js +++ b/chrome/content/zotero/fileInterface.js @@ -295,9 +295,11 @@ var Zotero_File_Interface = new function() { Zotero_File_Interface.Progress.show( Zotero.getString("fileInterface.itemsImported") ); - Zotero.repaint(window); - Zotero.DB.beginTransaction(); - translation.translate(); + + window.setTimeout(function() { + Zotero.DB.beginTransaction(); + translation.translate(); + }, 0); } else { // TODO: localize and remove fileInterface.fileFormatUnsupported string var unsupportedFormat = "The selected file is not in a supported format."; From 50330d9a78c696c9a32d623b35bf9fdfd8dfea87 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 31 Jan 2012 03:34:06 -0500 Subject: [PATCH 13/64] Move repaint code to fileInterface.js, because there's only one use of it --- chrome/content/zotero/fileInterface.js | 23 +++++++++++++++- chrome/content/zotero/xpcom/zotero.js | 38 -------------------------- 2 files changed, 22 insertions(+), 39 deletions(-) diff --git a/chrome/content/zotero/fileInterface.js b/chrome/content/zotero/fileInterface.js index b6d35efe37..9a77fd87dd 100644 --- a/chrome/content/zotero/fileInterface.js +++ b/chrome/content/zotero/fileInterface.js @@ -619,7 +619,28 @@ var Zotero_File_Interface = new function() { */ this.updateProgress = function(translate) { Zotero.updateZoteroPaneProgressMeter(translate.getProgress()); - Zotero.repaint(window); + + var now = Date.now(); + + // Don't repaint more than 10 times per second unless forced. + if(!force && window.zoteroLastRepaint && (now - window.zoteroLastRepaint) < 100) return + + // Start a nested event queue + Zotero.mainThread.pushEventQueue(null); + try { + // Add the redraw event onto event queue + window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) + .getInterface(Components.interfaces.nsIDOMWindowUtils) + .redraw(); + + // Process redraw event + Zotero.mainThread.processNextEvent(false); + } finally { + // Close nested event queue + Zotero.mainThread.popEventQueue(); + } + + window.zoteroLastRepaint = now; } } diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index 59708632dd..c5e45255fe 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -1495,44 +1495,6 @@ const ZOTERO_CONFIG = { return; }; - - /** - * Repaint UI on given window, without executing any events. - * - * @param {window} window Window to repaint - * @param {Boolean} [force=false] Whether to force a repaint. If false, a repaint only takes - * place if the last repaint was more than 100 ms ago. - */ - this.repaint = function(window, force) { - var now = Date.now(); - - if (!window) { - window = Components.classes["@mozilla.org/appshell/window-mediator;1"] - .getService(Components.interfaces.nsIWindowMediator) - .getMostRecentWindow("navigator:browser"); - } - - // Don't repaint more than 10 times per second unless forced. - if(!force && window.zoteroLastRepaint && (now - window.zoteroLastRepaint) < 100) return - - // Start a nested event queue - Zotero.mainThread.pushEventQueue(null); - try { - // Add the redraw event onto event queue - window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) - .getInterface(Components.interfaces.nsIDOMWindowUtils) - .redraw(); - - // Process redraw event - Zotero.mainThread.processNextEvent(false); - } finally { - // Close nested event queue - Zotero.mainThread.popEventQueue(); - } - - window.zoteroLastRepaint = now; - }; - /** * Pumps a generator until it yields false. See itemTreeView.js for an example. * From 89245e857fe12d36e82cde0f2984bba83d9e0638 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 31 Jan 2012 03:38:56 -0500 Subject: [PATCH 14/64] Make the dumb validator happy --- chrome/content/zotero/integration/quickFormat.xul | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/integration/quickFormat.xul b/chrome/content/zotero/integration/quickFormat.xul index f0452c3b48..fd96cd2ebf 100644 --- a/chrome/content/zotero/integration/quickFormat.xul +++ b/chrome/content/zotero/integration/quickFormat.xul @@ -89,17 +89,17 @@ + oninput="window.setTimeout(function(event) { Zotero_QuickFormat.onCitationPropertiesChanged(event) }, 0)"/> Date: Tue, 31 Jan 2012 03:42:33 -0500 Subject: [PATCH 15/64] Add notes that processNextEvent() calls are used to handle deprecated cases --- chrome/content/zotero/xpcom/translation/translate.js | 1 + chrome/content/zotero/xpcom/utilities_translate.js | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js index 95f0ebd0a6..deb6e1859a 100644 --- a/chrome/content/zotero/xpcom/translation/translate.js +++ b/chrome/content/zotero/xpcom/translation/translate.js @@ -371,6 +371,7 @@ Zotero.Translate.Sandbox = { Zotero.Translators.get(translation.translator[0], haveTranslatorFunction); if(Zotero.isConnector && Zotero.isFx && !callback) { while(!sandbox && translate._currentState) { + // This processNextEvent call is used to handle a deprecated case Zotero.mainThread.processNextEvent(true); } } diff --git a/chrome/content/zotero/xpcom/utilities_translate.js b/chrome/content/zotero/xpcom/utilities_translate.js index 2a5ca245f8..a80b48b496 100644 --- a/chrome/content/zotero/xpcom/utilities_translate.js +++ b/chrome/content/zotero/xpcom/utilities_translate.js @@ -271,6 +271,7 @@ Zotero.Utilities.Translate.prototype.processDocuments = function(urls, processor * Gets the DOM document object corresponding to the page located at URL, but avoids locking the * UI while the request is in process. * + * @deprecated * @param {String} url URL to load * @return {Document} DOM document object */ @@ -297,6 +298,7 @@ Zotero.Utilities.Translate.prototype.retrieveDocument = function(url) { // should ever take longer than 2 minutes. var endTime = Date.now() + 120000; while(!loaded && Date.now() < endTime) { + // This processNextEvent call is used to handle a deprecated case mainThread.processNextEvent(true); } @@ -313,6 +315,7 @@ Zotero.Utilities.Translate.prototype.retrieveDocument = function(url) { * Gets the source of the page located at URL, but avoids locking the UI while the request is in * process. * + * @deprecated * @param {String} url URL to load * @param {String} [body=null] Request body to POST to the URL; a GET request is * executed if no body is present @@ -345,6 +348,7 @@ Zotero.Utilities.Translate.prototype.retrieveSource = function(url, body, header var xmlhttp = Zotero.HTTP.doGet(url, listener, responseCharset, this._translate.cookieSandbox); } + // This processNextEvent call is used to handle a deprecated case while(!finished) mainThread.processNextEvent(true); } else { // Use a synchronous XMLHttpRequest, even though this is inadvisable From 8d2c42be781de802ca89ac5bce7b3697a7a3946f Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 31 Jan 2012 04:01:41 -0500 Subject: [PATCH 16/64] Remove unused code from the unused n3 parser --- chrome/content/zotero/xpcom/rdf/n3parser.js | 109 +------------------- 1 file changed, 3 insertions(+), 106 deletions(-) diff --git a/chrome/content/zotero/xpcom/rdf/n3parser.js b/chrome/content/zotero/xpcom/rdf/n3parser.js index 17c45e5922..e3ba898de2 100644 --- a/chrome/content/zotero/xpcom/rdf/n3parser.js +++ b/chrome/content/zotero/xpcom/rdf/n3parser.js @@ -1,67 +1,4 @@ -/** -* -* UTF-8 data encode / decode -* http://www.webtoolkit.info/ -* -**/ - -var Utf8 = { - - // public method for url encoding - encode : function (string) { - string = string.replace(/\r\n/g,"\n"); - var utftext = ""; - - for (var n = 0; n < string.length; n++) { - - var c = string.charCodeAt(n); - - if (c < 128) { - utftext += String.fromCharCode(c); - } - else if((c > 127) && (c < 2048)) { - utftext += String.fromCharCode((c >> 6) | 192); - utftext += String.fromCharCode((c & 63) | 128); - } - else { - utftext += String.fromCharCode((c >> 12) | 224); - utftext += String.fromCharCode(((c >> 6) & 63) | 128); - utftext += String.fromCharCode((c & 63) | 128); - } - - } - - return utftext; - }, - - // public method for url decoding - decode : function (utftext) { - var string = ""; - var i = 0; - - while ( i < utftext.length ) { - - var c = utftext.charCodeAt(i); - if (c < 128) { - string += String.fromCharCode(c); - i++; - } - else if((c > 191) && (c < 224)) { - string += String.fromCharCode(((c & 31) << 6) - | (utftext.charCodeAt(i+1) & 63)); - i += 2; - } - else { - string += String.fromCharCode(((c & 15) << 12) - | ((utftext.charCodeAt(i+1) & 63) << 6) - | (utftext.charCodeAt(i+2) & 63)); - i += 3; - } - } - return string; - } - -}// Things we need to define to make converted pythn code work in js +// Things we need to define to make converted pythn code work in js // environment of tabulator var RDFSink_forSomeSym = "http://www.w3.org/2000/10/swap/log#forSome"; @@ -120,17 +57,6 @@ stringFromCharCode = function(uesc) { } -String.prototype.encode = function(encoding) { - if (encoding != 'utf-8') throw "UTF8_converter: can only do utf-8" - return Utf8.encode(this); -} -String.prototype.decode = function(encoding) { - if (encoding != 'utf-8') throw "UTF8_converter: can only do utf-8" - //return Utf8.decode(this); - return this; -} - - uripath_join = function(base, given) { return Util.uri.join(given, base) // sad but true @@ -309,7 +235,7 @@ __SinkParser.prototype.feed = function(octets) { So if there is more data to feed to the parser, it should be straightforward to recover.*/ - var str = octets.decode("utf-8"); + var str = octets; var i = 0; while ((i >= 0)) { var j = this.skipSpace(str, i); @@ -1461,36 +1387,7 @@ __SinkParser.prototype.UEscape = function(str, i, startline) { var uch = stringFromCharCode( ( ( "0x" + pyjslib_slice(value, 2, 10) ) - 0 ) ); return new pyjslib_Tuple([j, uch]); }; -function OLD_BadSyntax(uri, lines, str, i, why) { - return new __OLD_BadSyntax(uri, lines, str, i, why); -} -function __OLD_BadSyntax(uri, lines, str, i, why) { - this._str = str.encode("utf-8"); - this._str = str; - this._i = i; - this._why = why; - this.lines = lines; - this._uri = uri; -} -__OLD_BadSyntax.prototype.toString = function() { - var str = this._str; - var i = this._i; - var st = 0; - if ((i > 60)) { - var pre = "..."; - var st = ( i - 60 ) ; - } - else { - var pre = ""; - } - if (( ( pyjslib_len(str) - i ) > 60)) { - var post = "..."; - } - else { - var post = ""; - } - return "Line %i of <%s>: Bad syntax (%s) at ^ in:\n\"%s%s^%s%s\"" % new pyjslib_Tuple([ ( this.lines + 1 ) , this._uri, this._why, pre, pyjslib_slice(str, st, i), pyjslib_slice(str, i, ( i + 60 ) ), post]); -}; + function BadSyntax(uri, lines, str, i, why) { return ( ( ( ( ( ( ( ( "Line " + ( lines + 1 ) ) + " of <" ) + uri ) + ">: Bad syntax: " ) + why ) + "\nat: \"" ) + pyjslib_slice(str, i, ( i + 30 ) ) ) + "\"" ) ; } From e10c3e2e72237fb9bfba00943fdbb3ab6966f5f6 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 31 Jan 2012 10:58:09 -0500 Subject: [PATCH 17/64] Fix switching to classic add citation dialog --- chrome/content/zotero/integration/quickFormat.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js index 3bf9e9a3a2..1dfb33ee8f 100644 --- a/chrome/content/zotero/integration/quickFormat.js +++ b/chrome/content/zotero/integration/quickFormat.js @@ -1157,7 +1157,11 @@ var Zotero_QuickFormat = new function () { .getService(Components.interfaces.nsIWindowWatcher) .openWindow(null, 'chrome://zotero/content/integration/addCitationDialog.xul', '', 'chrome,centerscreen,resizable', io); - newWindow.addEventListener("load", function() { window.close(); }, false); + newWindow.addEventListener("focus", function() { + newWindow.removeEventListener("focus", arguments.callee, true); + window.close(); + }, true); + accepted = true; } /** From 9d20e2a827011a11c1bd7b041f33e051017b8ade Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 31 Jan 2012 22:22:45 -0500 Subject: [PATCH 18/64] A slightly less sketchy reactivate hack --- .../content/zotero/integration/quickFormat.js | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js index 1dfb33ee8f..b72fbd480d 100644 --- a/chrome/content/zotero/integration/quickFormat.js +++ b/chrome/content/zotero/integration/quickFormat.js @@ -772,18 +772,18 @@ var Zotero_QuickFormat = new function () { referencePanel.openPopup(document.documentElement, "after_start", 15, null, false, false, null); if(!Zotero.isMac && !Zotero.isWin) { - // When it opens, we will lose focus - referencePanel.addEventListener("popupshown", function() { - referencePanel.removeEventListener("popupshown", arguments.callee, false); - _refocusQfe(); - - // This is a nasty hack, but seems to be necessary to fix loss of focus on Linux - window.setTimeout(function() { _refocusQfe(); }, 25); - window.setTimeout(function() { _refocusQfe(); }, 50); - window.setTimeout(function() { _refocusQfe(); }, 100); - window.setTimeout(function() { _refocusQfe(); }, 175); - window.setTimeout(function() { _refocusQfe(); }, 250); - }, false); + // When the reference panel opens, we may lose focus on Linux. We thus look for a + // deactivate event within 1 second of the panel open request. + var eventHandler = function(e) { + if(e.target !== window) return; + window.removeEventListener("deactivate", eventHandler, false); + window.clearTimeout(timeoutID); + window.setTimeout(function() { _refocusQfe(); }, 0); + }; + window.addEventListener("deactivate", eventHandler, false); + var timeoutID = window.setTimeout(function() { + window.removeEventListener("deactivate", eventHandler, false); + }, 1000); } } From c6c5f6c2f788aa0d5c188a9fdb85334edf71eda4 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 31 Jan 2012 22:25:43 -0500 Subject: [PATCH 19/64] Try libX11.so.6, in case it's not symlinked to libX11.so --- chrome/content/zotero/xpcom/integration.js | 32 ++++++++++++---------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index b5eadf3c11..fc2af10417 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -339,21 +339,25 @@ Zotero.Integration = new function() { if(_x11 === false) return; if(!_x11) { try { - var libName = ctypes.libraryName("X11"); + _x11 = ctypes.open("libX11.so.6"); } catch(e) { - _x11 = false; - Zotero.debug("Integration: Could not get libX11 name; not activating"); - Zotero.logError(e); - return; - } - - try { - _x11 = ctypes.open(libName); - } catch(e) { - _x11 = false; - Zotero.debug("Integration: Could not open "+libName+"; not activating"); - Zotero.logError(e); - return; + try { + var libName = ctypes.libraryName("X11"); + } catch(e) { + _x11 = false; + Zotero.debug("Integration: Could not get libX11 name; not activating"); + Zotero.logError(e); + return; + } + + try { + _x11 = ctypes.open(libName); + } catch(e) { + _x11 = false; + Zotero.debug("Integration: Could not open "+libName+"; not activating"); + Zotero.logError(e); + return; + } } const Status = ctypes.int, From a6b5717b8e31ff939c69d16918b75a8aa2b2910b Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 31 Jan 2012 23:11:40 -0500 Subject: [PATCH 20/64] Fix Linux focus bugs entirely and also (hopefully) fix the white bar issue --- .../content/zotero/integration/quickFormat.js | 30 +++++++++++-------- .../zotero/integration/quickFormat.xul | 3 +- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js index b72fbd480d..305a7074f4 100644 --- a/chrome/content/zotero/integration/quickFormat.js +++ b/chrome/content/zotero/integration/quickFormat.js @@ -97,6 +97,12 @@ var Zotero_QuickFormat = new function () { panelLocatorLabel = document.getElementById("locator-label"); panelLocator = document.getElementById("locator"); panelInfo = document.getElementById("citation-properties-info"); + + + // Don't need to set noautohide dynamically on these platforms, so do it now + if(Zotero.isMac || Zotero.isWin) { + tabPanel.setAttribute("noautohide", true); + } } else if(event.target === qfi.contentDocument) { qfiWindow = qfi.contentWindow; qfiDocument = qfi.contentDocument; @@ -769,21 +775,21 @@ var Zotero_QuickFormat = new function () { * Opens the reference panel and potentially refocuses the main text box */ function _openReferencePanel() { + if(!Zotero.isMac && !Zotero.isWin) { + // noautohide and noautofocus are incompatible on Linux + // https://bugzilla.mozilla.org/show_bug.cgi?id=545265 + referencePanel.setAttribute("noautohide", "false"); + } + referencePanel.openPopup(document.documentElement, "after_start", 15, null, false, false, null); + if(!Zotero.isMac && !Zotero.isWin) { - // When the reference panel opens, we may lose focus on Linux. We thus look for a - // deactivate event within 1 second of the panel open request. - var eventHandler = function(e) { - if(e.target !== window) return; - window.removeEventListener("deactivate", eventHandler, false); - window.clearTimeout(timeoutID); - window.setTimeout(function() { _refocusQfe(); }, 0); - }; - window.addEventListener("deactivate", eventHandler, false); - var timeoutID = window.setTimeout(function() { - window.removeEventListener("deactivate", eventHandler, false); - }, 1000); + // reinstate noautohide after the window is shown + referencePanel.addEventListener("popupshowing", function() { + referencePanel.removeEventListener("popupshowing", arguments.callee, false); + referencePanel.setAttribute("noautohide", "true"); + }, false); } } diff --git a/chrome/content/zotero/integration/quickFormat.xul b/chrome/content/zotero/integration/quickFormat.xul index fd96cd2ebf..859a15959e 100644 --- a/chrome/content/zotero/integration/quickFormat.xul +++ b/chrome/content/zotero/integration/quickFormat.xul @@ -67,7 +67,8 @@ - + Date: Wed, 1 Feb 2012 01:42:27 -0500 Subject: [PATCH 21/64] Explicitly specify width and height for urlbar icon --- chrome/skin/default/zotero/overlay.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css index 2aec8622e1..76000ccdea 100644 --- a/chrome/skin/default/zotero/overlay.css +++ b/chrome/skin/default/zotero/overlay.css @@ -1,3 +1,8 @@ +#zotero-status-image +{ + width: 16px; + height: 16px; +} #zotero-status-bar-icon, #zotero-addon-bar-icon { width: 55px; From e725eb88b40ea90188a3e72cfcbbd1ddc974595a Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 02:35:22 -0500 Subject: [PATCH 22/64] "Firefox" -> "Firefox"/"Zotero" as appropriate --- chrome/content/zotero/bindings/styled-textbox.xml | 2 +- chrome/content/zotero/xpcom/storage.js | 4 ++-- chrome/content/zotero/xpcom/storage/webdav.js | 2 +- chrome/content/zotero/xpcom/storage/zfs.js | 2 +- chrome/content/zotero/xpcom/sync.js | 4 ++-- chrome/locale/af-ZA/zotero/zotero.properties | 10 +++++----- chrome/locale/ca-AD/zotero/zotero.properties | 4 ++-- chrome/locale/da-DK/zotero/zotero.properties | 10 +++++----- chrome/locale/el-GR/zotero/zotero.properties | 10 +++++----- chrome/locale/es-ES/zotero/zotero.properties | 2 +- chrome/locale/fi-FI/zotero/zotero.properties | 6 +++--- chrome/locale/he-IL/zotero/zotero.properties | 8 ++++---- chrome/locale/hr-HR/zotero/zotero.properties | 10 +++++----- chrome/locale/is-IS/zotero/zotero.properties | 10 +++++----- chrome/locale/it-IT/zotero/zotero.properties | 4 ++-- chrome/locale/ja-JP/zotero/zotero.properties | 4 ++-- chrome/locale/mn-MN/zotero/zotero.properties | 8 ++++---- chrome/locale/nb-NO/zotero/zotero.properties | 4 ++-- chrome/locale/nn-NO/zotero/zotero.properties | 4 ++-- chrome/locale/pl-PL/zotero/zotero.properties | 4 ++-- chrome/locale/sr-RS/zotero/zotero.properties | 2 +- chrome/locale/th-TH/zotero/zotero.properties | 6 +++--- chrome/locale/vi-VN/zotero/zotero.properties | 4 ++-- chrome/locale/zh-CN/zotero/zotero.properties | 4 ++-- 24 files changed, 64 insertions(+), 64 deletions(-) diff --git a/chrome/content/zotero/bindings/styled-textbox.xml b/chrome/content/zotero/bindings/styled-textbox.xml index 5c75532adf..5bddd8185e 100644 --- a/chrome/content/zotero/bindings/styled-textbox.xml +++ b/chrome/content/zotero/bindings/styled-textbox.xml @@ -369,7 +369,7 @@ 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 Firefox."; + + "and restart " + Zotero.appName + "."; warning.appendChild(document.createTextNode(str)); break; } diff --git a/chrome/content/zotero/xpcom/storage.js b/chrome/content/zotero/xpcom/storage.js index b1142072b1..543621fd1e 100644 --- a/chrome/content/zotero/xpcom/storage.js +++ b/chrome/content/zotero/xpcom/storage.js @@ -53,8 +53,8 @@ Zotero.Sync.Storage = new function () { // TEMP // TODO: localize - this.defaultError = "A file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, restart Firefox and/or your computer and try again. If you continue to receive the message, submit an error report and post the Report ID to a new thread in the Zotero Forums."; - this.defaultErrorRestart = "A file sync error occurred. Please restart Firefox and/or your computer and try syncing again.\n\nIf you receive this message repeatedly, submit an error report and post the Report ID to a new thread in the Zotero Forums."; + this.defaultError = "A file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, restart " + Zotero.appName + " and/or your computer and try again. If you continue to receive the message, submit an error report and post the Report ID to a new thread in the Zotero Forums."; + this.defaultErrorRestart = "A file sync error occurred. Please restart " + Zotero.appName + " and/or your computer and try syncing again.\n\nIf you receive this message repeatedly, submit an error report and post the Report ID to a new thread in the Zotero Forums."; // // Public properties diff --git a/chrome/content/zotero/xpcom/storage/webdav.js b/chrome/content/zotero/xpcom/storage/webdav.js index 8efdff489e..feae35979d 100644 --- a/chrome/content/zotero/xpcom/storage/webdav.js +++ b/chrome/content/zotero/xpcom/storage/webdav.js @@ -49,7 +49,7 @@ Zotero.Sync.Storage.Session.WebDAV.prototype.includeGroupItems = false; // TEMP // TODO: localize Zotero.Sync.Storage.Session.WebDAV.prototype.defaultError = "A WebDAV file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences."; -Zotero.Sync.Storage.Session.WebDAV.prototype.defaultErrorRestart = "A WebDAV file sync error occurred. Please restart Firefox and try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences."; +Zotero.Sync.Storage.Session.WebDAV.prototype.defaultErrorRestart = "A WebDAV file sync error occurred. Please restart " + Zotero.appName + " and try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences."; Zotero.Sync.Storage.Session.WebDAV.prototype.__defineGetter__('enabled', function () { diff --git a/chrome/content/zotero/xpcom/storage/zfs.js b/chrome/content/zotero/xpcom/storage/zfs.js index d91a85b214..1d5d271ace 100644 --- a/chrome/content/zotero/xpcom/storage/zfs.js +++ b/chrome/content/zotero/xpcom/storage/zfs.js @@ -143,7 +143,7 @@ Zotero.Sync.Storage.Session.ZFS.prototype._getStorageFileInfo = function (item, Zotero.debug("Response headers unavailable"); } // TODO: localize? - var msg = "A file sync error occurred. Please restart Firefox and/or your computer and try syncing again.\n\n" + var msg = "A file sync error occurred. Please restart " + Zotero.appName + " and/or your computer and try syncing again.\n\n" + "If the error persists, there may be a problem with either your computer or your network: security software, proxy server, VPN, etc. " + "Try disabling any security/firewall software you're using or, if this is a laptop, try from a different network."; self.onError(msg); diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js index 7752af297c..9dce984c7b 100644 --- a/chrome/content/zotero/xpcom/sync.js +++ b/chrome/content/zotero/xpcom/sync.js @@ -528,7 +528,7 @@ Zotero.Sync.Runner = new function () { if (Zotero.HTTP.browserIsOffline()){ this.clearSyncTimeout(); // DEBUG: necessary? - var msg = "Zotero cannot sync while Firefox is in offline mode."; + var msg = "Zotero cannot sync while " + Zotero.appName + " is in offline mode."; var e = new Zotero.Error(msg, 0, { dialogButtonText: null }) this.setSyncIcon('error', e); return false; @@ -537,7 +537,7 @@ Zotero.Sync.Runner = new function () { if (_running) { // TODO: show status in all windows var msg = "A sync process is already running. To view progress, check " - + "the window in which the sync began or restart Firefox."; + + "the window in which the sync began or restart " + Zotero.appName + "."; var e = new Zotero.Error(msg, 0, { dialogButtonText: null, frontWindowOnly: true }) this.setSyncIcon('error', e); return false; diff --git a/chrome/locale/af-ZA/zotero/zotero.properties b/chrome/locale/af-ZA/zotero/zotero.properties index b3bf23d099..77a8bb5e15 100644 --- a/chrome/locale/af-ZA/zotero/zotero.properties +++ b/chrome/locale/af-ZA/zotero/zotero.properties @@ -13,8 +13,8 @@ general.restartNow=Restart now general.restartLater=Restart later general.errorHasOccurred=An error has occurred. general.unknownErrorOccurred=An unknown error occurred. -general.restartFirefox=Please restart Firefox. -general.restartFirefoxAndTryAgain=Please restart Firefox and try again. +general.restartFirefox=Please restart %S. +general.restartFirefoxAndTryAgain=Please restart %S and try again. general.checkForUpdate=Check for update general.actionCannotBeUndone=This action cannot be undone. general.install=Install @@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory. db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/ca-AD/zotero/zotero.properties b/chrome/locale/ca-AD/zotero/zotero.properties index 93ffc9334b..486d77508f 100644 --- a/chrome/locale/ca-AD/zotero/zotero.properties +++ b/chrome/locale/ca-AD/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=Prem %S per a actualitzar ara. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/da-DK/zotero/zotero.properties b/chrome/locale/da-DK/zotero/zotero.properties index d9832b8dcc..e0028802f1 100644 --- a/chrome/locale/da-DK/zotero/zotero.properties +++ b/chrome/locale/da-DK/zotero/zotero.properties @@ -13,8 +13,8 @@ general.restartNow=Restart now general.restartLater=Restart later general.errorHasOccurred=An error has occurred. general.unknownErrorOccurred=An unknown error occurred. -general.restartFirefox=Please restart Firefox. -general.restartFirefoxAndTryAgain=Please restart Firefox and try again. +general.restartFirefox=Please restart %S. +general.restartFirefoxAndTryAgain=Please restart %S and try again. general.checkForUpdate=Check for update general.actionCannotBeUndone=This action cannot be undone. general.install=Install @@ -51,7 +51,7 @@ upgrade.advanceMessage=Tryk %S for at opgradere nu upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=tilgængelig.\n\nEn ny Database er blevet oprettet. Den ødelagte Database er blevet gemt i Zotero Folderen. Den ødelagte Database er blevet gemt i Zotero Folderen. db.dbRestored=Zotero databasen er blevet ødelagt, og ingen backup var tilgængelig.\n\nDine data er blevet genoprettet ud fra automatisk backup fortaget %1$S kl. %2$S. Den ødelagte Database er blevet gemt i Zotero Folderen. db.dbRestoreFailed=Zotero databasen er blevet ødelagt, og et forsøg på at genoprette dine data ud fra backup er fejlet.\n\nEn ny Database er blevet oprettet. Den ødelagte Database er blevet gemt i Zotero Folderen. Den ødelagte Database er blevet gemt i Zotero Folderen. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/el-GR/zotero/zotero.properties b/chrome/locale/el-GR/zotero/zotero.properties index b3bf23d099..77a8bb5e15 100644 --- a/chrome/locale/el-GR/zotero/zotero.properties +++ b/chrome/locale/el-GR/zotero/zotero.properties @@ -13,8 +13,8 @@ general.restartNow=Restart now general.restartLater=Restart later general.errorHasOccurred=An error has occurred. general.unknownErrorOccurred=An unknown error occurred. -general.restartFirefox=Please restart Firefox. -general.restartFirefoxAndTryAgain=Please restart Firefox and try again. +general.restartFirefox=Please restart %S. +general.restartFirefoxAndTryAgain=Please restart %S and try again. general.checkForUpdate=Check for update general.actionCannotBeUndone=This action cannot be undone. general.install=Install @@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory. db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/es-ES/zotero/zotero.properties b/chrome/locale/es-ES/zotero/zotero.properties index 520d1a396e..0f7beb2404 100644 --- a/chrome/locale/es-ES/zotero/zotero.properties +++ b/chrome/locale/es-ES/zotero/zotero.properties @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/fi-FI/zotero/zotero.properties b/chrome/locale/fi-FI/zotero/zotero.properties index 40e5041d38..c786398dec 100644 --- a/chrome/locale/fi-FI/zotero/zotero.properties +++ b/chrome/locale/fi-FI/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=Paina %S päivittääksesi nyt. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory. db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/he-IL/zotero/zotero.properties b/chrome/locale/he-IL/zotero/zotero.properties index 93789c0ebd..418054f3cd 100644 --- a/chrome/locale/he-IL/zotero/zotero.properties +++ b/chrome/locale/he-IL/zotero/zotero.properties @@ -14,7 +14,7 @@ general.restartLater=Restart later general.errorHasOccurred=ארעה שגיאה general.unknownErrorOccurred=An unknown error occurred. general.restartFirefox=.הפעילו מחדש את פיירפוקס בבקשה -general.restartFirefoxAndTryAgain=Please restart Firefox and try again. +general.restartFirefoxAndTryAgain=Please restart %S and try again. general.checkForUpdate=Check for update general.actionCannotBeUndone=This action cannot be undone. general.install=התקנה @@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory. db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/hr-HR/zotero/zotero.properties b/chrome/locale/hr-HR/zotero/zotero.properties index b3bf23d099..77a8bb5e15 100644 --- a/chrome/locale/hr-HR/zotero/zotero.properties +++ b/chrome/locale/hr-HR/zotero/zotero.properties @@ -13,8 +13,8 @@ general.restartNow=Restart now general.restartLater=Restart later general.errorHasOccurred=An error has occurred. general.unknownErrorOccurred=An unknown error occurred. -general.restartFirefox=Please restart Firefox. -general.restartFirefoxAndTryAgain=Please restart Firefox and try again. +general.restartFirefox=Please restart %S. +general.restartFirefoxAndTryAgain=Please restart %S and try again. general.checkForUpdate=Check for update general.actionCannotBeUndone=This action cannot be undone. general.install=Install @@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory. db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/is-IS/zotero/zotero.properties b/chrome/locale/is-IS/zotero/zotero.properties index 905e474078..8289920ee5 100644 --- a/chrome/locale/is-IS/zotero/zotero.properties +++ b/chrome/locale/is-IS/zotero/zotero.properties @@ -13,8 +13,8 @@ general.restartNow=Restart now general.restartLater=Restart later general.errorHasOccurred=An error has occurred. general.unknownErrorOccurred=An unknown error occurred. -general.restartFirefox=Please restart Firefox. -general.restartFirefoxAndTryAgain=Please restart Firefox and try again. +general.restartFirefox=Please restart %S. +general.restartFirefoxAndTryAgain=Please restart %S and try again. general.checkForUpdate=Check for update general.actionCannotBeUndone=This action cannot be undone. general.install=Install @@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory. db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/it-IT/zotero/zotero.properties b/chrome/locale/it-IT/zotero/zotero.properties index 08cbdc17ac..5d40fa2159 100644 --- a/chrome/locale/it-IT/zotero/zotero.properties +++ b/chrome/locale/it-IT/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=Premere '%S' per aggiornare ora upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/ja-JP/zotero/zotero.properties b/chrome/locale/ja-JP/zotero/zotero.properties index e5286ba49f..40d6b84762 100644 --- a/chrome/locale/ja-JP/zotero/zotero.properties +++ b/chrome/locale/ja-JP/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=今すぐアップグレードするため、%Sを押し upgrade.dbUpdateRequired=データベースアップデートする必要があリます。 upgrade.integrityCheckFailed=アップグレードを続行するためにZoteroデータベースを修復する必要があります。 upgrade.loadDBRepairTool=データベース修復ツールをロードする。 -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=もし、このエラーが解決されない場合はパソコンを再起動してください。 errorReport.reportError=エラーを報告する @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/zotero/zotero.properties index fa04415010..c1ca31b815 100644 --- a/chrome/locale/mn-MN/zotero/zotero.properties +++ b/chrome/locale/mn-MN/zotero/zotero.properties @@ -14,7 +14,7 @@ general.restartLater=Дараа ачаалах general.errorHasOccurred=An error has occurred. general.unknownErrorOccurred=An unknown error occurred. general.restartFirefox=Галт үнэг ахин ачаална уу. -general.restartFirefoxAndTryAgain=Please restart Firefox and try again. +general.restartFirefoxAndTryAgain=Please restart %S and try again. general.checkForUpdate=Check for update general.actionCannotBeUndone=This action cannot be undone. general.install=Суулга @@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory. db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/nb-NO/zotero/zotero.properties b/chrome/locale/nb-NO/zotero/zotero.properties index eda27c8b4e..16895c3655 100644 --- a/chrome/locale/nb-NO/zotero/zotero.properties +++ b/chrome/locale/nb-NO/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=Velg %S for å oppgradere nå. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/nn-NO/zotero/zotero.properties b/chrome/locale/nn-NO/zotero/zotero.properties index a68ef18bd8..0e78dd76cc 100644 --- a/chrome/locale/nn-NO/zotero/zotero.properties +++ b/chrome/locale/nn-NO/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=Vel %S for å oppgradera no. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and vert filte you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to it sine state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/pl-PL/zotero/zotero.properties b/chrome/locale/pl-PL/zotero/zotero.properties index f3a217c867..2339d3ad88 100644 --- a/chrome/locale/pl-PL/zotero/zotero.properties +++ b/chrome/locale/pl-PL/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=Naciśnij %S, aby zaktualizować teraz. upgrade.dbUpdateRequired=Baza danych Zotero musi zostać zaktualizowana. upgrade.integrityCheckFailed=Twoja baza danych Zotero musi zostać naprawiona zanim aktualizacja będzie mogła być dokończona. upgrade.loadDBRepairTool=Wczytaj narzędzie naprawy bazy danych -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=Jeśli ponownie zobaczysz ten komunikat, uruchom ponownie swój komputer. errorReport.reportError=Zgłoś błąd... @@ -642,7 +642,7 @@ sync.error.enterPassword=Proszę podać hasło. sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox 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=Synchronizacja jest aktualnie w trakcie. -sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/sr-RS/zotero/zotero.properties b/chrome/locale/sr-RS/zotero/zotero.properties index 3ff6257576..39f6ac95cd 100644 --- a/chrome/locale/sr-RS/zotero/zotero.properties +++ b/chrome/locale/sr-RS/zotero/zotero.properties @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties index 01890fbb54..bf74f0360e 100644 --- a/chrome/locale/th-TH/zotero/zotero.properties +++ b/chrome/locale/th-TH/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=กด %S เพื่ออัพเกรดทัน upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup… ingester.lookup.error=An error occurred while performing lookup for this item. db.dbCorrupted=The Zotero database '%S' appears to have become corrupted. -db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup. +db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup. db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory. db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory. @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/vi-VN/zotero/zotero.properties b/chrome/locale/vi-VN/zotero/zotero.properties index 485f6b84b6..54150d93db 100644 --- a/chrome/locale/vi-VN/zotero/zotero.properties +++ b/chrome/locale/vi-VN/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=Ấn %S để nâng cấp ngay bây giờ. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. diff --git a/chrome/locale/zh-CN/zotero/zotero.properties b/chrome/locale/zh-CN/zotero/zotero.properties index d300ad5e4a..3ba4852145 100644 --- a/chrome/locale/zh-CN/zotero/zotero.properties +++ b/chrome/locale/zh-CN/zotero/zotero.properties @@ -51,7 +51,7 @@ upgrade.advanceMessage=按 %S 开始升级. upgrade.dbUpdateRequired=The Zotero database must be updated. upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue. upgrade.loadDBRepairTool=Load Database Repair Tool -upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again. +upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again. upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer. errorReport.reportError=Report Error... @@ -642,7 +642,7 @@ 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.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. +sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S. sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost. sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now. From de9f1e89433ea6451f30cc3b03c559fddba15491 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 02:39:49 -0500 Subject: [PATCH 23/64] Log some sync errors to console --- chrome/content/zotero/xpcom/storage/zfs.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chrome/content/zotero/xpcom/storage/zfs.js b/chrome/content/zotero/xpcom/storage/zfs.js index 1d5d271ace..1a72d6dd14 100644 --- a/chrome/content/zotero/xpcom/storage/zfs.js +++ b/chrome/content/zotero/xpcom/storage/zfs.js @@ -753,6 +753,7 @@ Zotero.Sync.Storage.Session.ZFS.prototype._onUploadComplete = function (httpRequ + " (" + Zotero.Items.getLibraryKeyHash(item) + ")"; Zotero.debug(msg, 1); Components.utils.reportError(msg); + Components.utils.reportError(response); this.onError(); return; } @@ -772,6 +773,7 @@ Zotero.Sync.Storage.Session.ZFS.prototype._onUploadComplete = function (httpRequ Zotero.debug(req.responseText); Zotero.debug(req.getAllResponseHeaders()); Components.utils.reportError(msg); + Components.utils.reportError(req.responseText); self.onError(); return; } From 46f64523a45dbd51e42d5138ae2b738da5d1c3f8 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 1 Feb 2012 17:23:25 -0500 Subject: [PATCH 24/64] Add first-run guidance to QuickFormat dialog --- .../content/zotero/bindings/guidancepanel.xml | 16 +++++++++++++++- .../content/zotero/integration/quickFormat.js | 18 +++++++++++------- .../content/zotero/integration/quickFormat.xul | 3 +++ chrome/locale/en-US/zotero/zotero.properties | 3 ++- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/chrome/content/zotero/bindings/guidancepanel.xml b/chrome/content/zotero/bindings/guidancepanel.xml index 33b9e38ee4..aeea03b89a 100644 --- a/chrome/content/zotero/bindings/guidancepanel.xml +++ b/chrome/content/zotero/bindings/guidancepanel.xml @@ -48,7 +48,14 @@ panel = document.getAnonymousNodes(this)[0]; if(!forEl) forEl = document.getElementById(this.getAttribute("for")); - panel.lastChild.textContent = Zotero.getString("firstRunGuidance."+about); + var text = Zotero.getString("firstRunGuidance."+about).split("\n"); + var descriptionNode = panel.lastChild; + while(text.length) { + var textLine = text.shift(); + descriptionNode.appendChild(document.createTextNode(textLine)); + if(text.length) descriptionNode.appendChild(document.createElementNS( + "http://www.w3.org/1999/xhtml", "br")); + } panel.openPopup(forEl, position ? position : "after_start", x ? parseInt(x, 10) : 0, y ? parseInt(y, 10) : 0, false, false, null); @@ -56,6 +63,13 @@ ]]> + + + + + diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js index 305a7074f4..ca66b17b1d 100644 --- a/chrome/content/zotero/integration/quickFormat.js +++ b/chrome/content/zotero/integration/quickFormat.js @@ -25,11 +25,11 @@ var Zotero_QuickFormat = new function () { const pixelRe = /^([0-9]+)px$/ - var initialized, io, qfs, qfi, qfiWindow, qfiDocument, qfe, qfb, qfbHeight, keepSorted, - showEditor, referencePanel, referenceBox, referenceHeight = 0, separatorHeight = 0, - currentLocator, currentLocatorLabel, currentSearchTime, dragging, panel, - panelPrefix, panelSuffix, panelSuppressAuthor, panelLocatorLabel, panelLocator, panelInfo, - panelRefersToBubble, panelFrameHeight = 0, accepted = false; + var initialized, io, qfs, qfi, qfiWindow, qfiDocument, qfe, qfb, qfbHeight, qfGuidance, + keepSorted, showEditor, referencePanel, referenceBox, referenceHeight = 0, + separatorHeight = 0, currentLocator, currentLocatorLabel, currentSearchTime, dragging, + panel, panelPrefix, panelSuffix, panelSuppressAuthor, panelLocatorLabel, panelLocator, + panelInfo, panelRefersToBubble, panelFrameHeight = 0, accepted = false; // A variable that contains the timeout object for the latest onKeyPress event var eventTimeout = null; @@ -98,10 +98,9 @@ var Zotero_QuickFormat = new function () { panelLocator = document.getElementById("locator"); panelInfo = document.getElementById("citation-properties-info"); - // Don't need to set noautohide dynamically on these platforms, so do it now if(Zotero.isMac || Zotero.isWin) { - tabPanel.setAttribute("noautohide", true); + referencePanel.setAttribute("noautohide", true); } } else if(event.target === qfi.contentDocument) { qfiWindow = qfi.contentWindow; @@ -129,6 +128,9 @@ var Zotero_QuickFormat = new function () { Zotero.debug("Moving window to "+targetX+", "+targetY); window.moveTo(targetX, targetY); } + qfGuidance = document.getElementById('quick-format-guidance'); + qfGuidance.show(); + _refocusQfe(); }, 0); window.focus(); @@ -961,6 +963,8 @@ var Zotero_QuickFormat = new function () { * Handle return or escape */ function _onQuickSearchKeyPress(event) { + qfGuidance.hide(); + var keyCode = event.keyCode; if(keyCode === event.DOM_VK_RETURN || keyCode === event.DOM_VK_ENTER) { event.preventDefault(); diff --git a/chrome/content/zotero/integration/quickFormat.xul b/chrome/content/zotero/integration/quickFormat.xul index 859a15959e..ab87011409 100644 --- a/chrome/content/zotero/integration/quickFormat.xul +++ b/chrome/content/zotero/integration/quickFormat.xul @@ -25,6 +25,7 @@ --> + @@ -112,4 +113,6 @@ + diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index 052f6012bb..a73988036c 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -758,4 +758,5 @@ connector.error.title = Zotero Connector Error connector.standaloneOpen = Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. firstRunGuidance.saveIcon = Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. -firstRunGuidance.authorMenu = Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. \ No newline at end of file +firstRunGuidance.authorMenu = Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat = Type a title or author to search for a reference. After you've made your selection, click the bubble to add page numbers, prefixes, or suffixes.\n\nIf you prefer the "classic" add citation dialog, you can revert to it in the Zotero preferences. \ No newline at end of file From 3bd1ff7676b1b309b9fcf2592906639d5a2bfbd9 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 18:15:29 -0500 Subject: [PATCH 25/64] Fix broken annotations --- chrome/content/zotero/xpcom/annotate.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/chrome/content/zotero/xpcom/annotate.js b/chrome/content/zotero/xpcom/annotate.js index 5d84b5fbbf..4736bb4ccd 100644 --- a/chrome/content/zotero/xpcom/annotate.js +++ b/chrome/content/zotero/xpcom/annotate.js @@ -389,7 +389,7 @@ Zotero.Annotate.Path.prototype.fromNode = function(node, offset) { } if(!node) throw "Annotate: Path() resolved text offset inappropriately"; - while(node && !node === this._document) { + while(node && node !== this._document) { var number = 1; var sibling = node.previousSibling; while(sibling) { @@ -731,10 +731,18 @@ Zotero.Annotations.prototype.save = function() { // save annotations for each(var annotation in this.annotations) { - annotation.save(); + // Don't drop all annotations if one is broken (due to ~3.0 glitch) + try { + annotation.save(); + } + catch(e) { + Zotero.debug(e); + continue; + } } Zotero.DB.commitTransaction(); } catch(e) { + Zotero.debug(e); Zotero.DB.rollbackTransaction(); throw(e); } @@ -1387,7 +1395,7 @@ Zotero.Highlight.prototype.unhighlight = function(container, offset, path, mode) // loop through, removing nodes var node = span.firstChild; - while(span.firstChild && !span.firstChild === textNode) { + while(span.firstChild && span.firstChild !== textNode) { parentNode.insertBefore(span.removeChild(span.firstChild), span); } } else if(mode == 2) { @@ -1437,23 +1445,23 @@ Zotero.Highlight.prototype._highlight = function() { var onlyOneNode = startNode === endNode; - if(!onlyOneNode && !startNode === ancestor && !endNode === ancestor) { + if(!onlyOneNode && startNode !== ancestor && endNode !== ancestor) { // highlight nodes after start node in the DOM hierarchy not at ancestor level - while(startNode.parentNode && !startNode.parentNode === ancestor) { + while(startNode.parentNode && startNode.parentNode !== ancestor) { if(startNode.nextSibling) { this._highlightSpaceBetween(startNode.nextSibling, startNode.parentNode.lastChild); } startNode = startNode.parentNode } // highlight nodes after end node in the DOM hierarchy not at ancestor level - while(endNode.parentNode && !endNode.parentNode === ancestor) { + while(endNode.parentNode && endNode.parentNode !== ancestor) { if(endNode.previousSibling) { this._highlightSpaceBetween(endNode.parentNode.firstChild, endNode.previousSibling); } endNode = endNode.parentNode } // highlight nodes between start node and end node at ancestor level - if(!startNode === endNode.previousSibling) { + if(startNode !== endNode.previousSibling) { this._highlightSpaceBetween(startNode.nextSibling, endNode.previousSibling); } } From ebfae117fd139685ac7f3560f499d6dc4dbc051d Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 18:18:38 -0500 Subject: [PATCH 26/64] Remove "classic" part of QuickFormat first-run guidance --- chrome/locale/en-US/zotero/zotero.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index a73988036c..53bcbc1717 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -759,4 +759,4 @@ connector.standaloneOpen = Your database cannot be accessed because Zotero Sta firstRunGuidance.saveIcon = Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu = Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. -firstRunGuidance.quickFormat = Type a title or author to search for a reference. After you've made your selection, click the bubble to add page numbers, prefixes, or suffixes.\n\nIf you prefer the "classic" add citation dialog, you can revert to it in the Zotero preferences. \ No newline at end of file +firstRunGuidance.quickFormat = Type a title or author to search for a reference. After you've made your selection, click the bubble to add page numbers, prefixes, or suffixes. \ No newline at end of file From 29f4dce0615f9c61f28166b35f40562b901108bf Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 1 Feb 2012 18:21:17 -0500 Subject: [PATCH 27/64] Tiny cosmetic change --- chrome/content/zotero-platform/win/overlay.css | 4 ++++ chrome/skin/default/zotero/overlay.css | 1 + styles | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero-platform/win/overlay.css b/chrome/content/zotero-platform/win/overlay.css index a2c5df7e60..a6a51ab50d 100644 --- a/chrome/content/zotero-platform/win/overlay.css +++ b/chrome/content/zotero-platform/win/overlay.css @@ -25,6 +25,10 @@ -moz-image-region: rect(0, 26px, 11px, 13px); } +#zotero-tb-search { + margin-right: -1px; +} + #zotero-tb-search .textbox-search-icon { visibility: hidden; } diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css index 76000ccdea..8dee7c4125 100644 --- a/chrome/skin/default/zotero/overlay.css +++ b/chrome/skin/default/zotero/overlay.css @@ -425,6 +425,7 @@ #zotero-tb-search { font-size: 11px !important; + margin-right: 0; width: 160px; } diff --git a/styles b/styles index c46fb416d3..14bc29fbf3 160000 --- a/styles +++ b/styles @@ -1 +1 @@ -Subproject commit c46fb416d3cf9871b3bd49d866e98b537a081212 +Subproject commit 14bc29fbf3dab2760da8a3d2dc7d5d28ba69ad2e From d3f4bc6d7e427c4d30e72d7c2129e7a47132f695 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 19:16:52 -0500 Subject: [PATCH 28/64] Tweak QuickFormat first-run text --- chrome/content/zotero/integration/quickFormat.js | 6 ++++++ chrome/locale/en-US/zotero/zotero.properties | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js index ca66b17b1d..7ed5d4258f 100644 --- a/chrome/content/zotero/integration/quickFormat.js +++ b/chrome/content/zotero/integration/quickFormat.js @@ -49,6 +49,12 @@ var Zotero_QuickFormat = new function () { document.documentElement.setAttribute("hidechrome", true); } + // Include a different key combo in message on Mac + if(Zotero.isMac) { + var qf = document.getElementById('quick-format-guidance'); + qf.setAttribute('about', qf.getAttribute('about') + "Mac"); + } + new WindowDraggingElement(document.getElementById("quick-format-dialog"), window); qfs = document.getElementById("quick-format-search"); diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index 53bcbc1717..e6e44a1c47 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -759,4 +759,5 @@ connector.standaloneOpen = Your database cannot be accessed because Zotero Sta firstRunGuidance.saveIcon = Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu = Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. -firstRunGuidance.quickFormat = Type a title or author to search for a reference. After you've made your selection, click the bubble to add page numbers, prefixes, or suffixes. \ No newline at end of file +firstRunGuidance.quickFormat = Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac = Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. \ No newline at end of file From 7ce3bd7060d776dfd8fd8ab59445e6215640b6ef Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 19:28:58 -0500 Subject: [PATCH 29/64] "Zotero Migration Notification" -> "Existing Zotero Library Found" --- chrome/locale/af-ZA/zotero/zotero.properties | 2 +- chrome/locale/bg-BG/zotero/zotero.properties | 2 +- chrome/locale/ca-AD/zotero/zotero.properties | 2 +- chrome/locale/cs-CZ/zotero/zotero.properties | 2 +- chrome/locale/da-DK/zotero/zotero.properties | 2 +- chrome/locale/de/zotero/zotero.properties | 2 +- chrome/locale/el-GR/zotero/zotero.properties | 2 +- chrome/locale/en-US/zotero/zotero.properties | 2 +- chrome/locale/es-ES/zotero/zotero.properties | 2 +- chrome/locale/eu-ES/zotero/zotero.properties | 2 +- chrome/locale/fi-FI/zotero/zotero.properties | 2 +- chrome/locale/gl-ES/zotero/zotero.properties | 2 +- chrome/locale/he-IL/zotero/zotero.properties | 2 +- chrome/locale/hr-HR/zotero/zotero.properties | 2 +- chrome/locale/hu-HU/zotero/zotero.properties | 2 +- chrome/locale/is-IS/zotero/zotero.properties | 2 +- chrome/locale/it-IT/zotero/zotero.properties | 2 +- chrome/locale/ja-JP/zotero/zotero.properties | 2 +- chrome/locale/ko-KR/zotero/zotero.properties | 2 +- chrome/locale/mn-MN/zotero/zotero.properties | 2 +- chrome/locale/nb-NO/zotero/zotero.properties | 2 +- chrome/locale/nl-NL/zotero/zotero.properties | 2 +- chrome/locale/nn-NO/zotero/zotero.properties | 2 +- chrome/locale/pt-BR/zotero/zotero.properties | 2 +- chrome/locale/pt-PT/zotero/zotero.properties | 2 +- chrome/locale/sk-SK/zotero/zotero.properties | 2 +- chrome/locale/sl-SI/zotero/zotero.properties | 2 +- chrome/locale/sr-RS/zotero/zotero.properties | 2 +- chrome/locale/th-TH/zotero/zotero.properties | 2 +- chrome/locale/tr-TR/zotero/zotero.properties | 2 +- chrome/locale/vi-VN/zotero/zotero.properties | 2 +- chrome/locale/zh-CN/zotero/zotero.properties | 2 +- chrome/locale/zh-TW/zotero/zotero.properties | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/chrome/locale/af-ZA/zotero/zotero.properties b/chrome/locale/af-ZA/zotero/zotero.properties index 77a8bb5e15..87335d904b 100644 --- a/chrome/locale/af-ZA/zotero/zotero.properties +++ b/chrome/locale/af-ZA/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory dataDir.selectDir=Select a Zotero data directory dataDir.selectedDirNonEmpty.title=Directory Not Empty dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/bg-BG/zotero/zotero.properties b/chrome/locale/bg-BG/zotero/zotero.properties index b1f2ba8d89..6d1dfa6f02 100644 --- a/chrome/locale/bg-BG/zotero/zotero.properties +++ b/chrome/locale/bg-BG/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Използва на папката на Firefox проф dataDir.selectDir=Изберете папка за даните на Зотеро dataDir.selectedDirNonEmpty.title=Папката не е празна dataDir.selectedDirNonEmpty.text=Папката която избрахте не е празна и не изглежда като папка за дани на Зотеро.\n\nДа бъдат ли създадени файловете на Зотеро независимо от това? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/ca-AD/zotero/zotero.properties b/chrome/locale/ca-AD/zotero/zotero.properties index 486d77508f..43a473b651 100644 --- a/chrome/locale/ca-AD/zotero/zotero.properties +++ b/chrome/locale/ca-AD/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Utilitza el directori del perfil del Firefox dataDir.selectDir=Selecciona directori de dates per a Zotero dataDir.selectedDirNonEmpty.title=El directori no està buit dataDir.selectedDirNonEmpty.text=El directori que has seleccionat no està buit i no sembla que sigui un directori de dades de Zotero.\n\n Vols crear arxius de Zotero en aquest directori de totes maneres? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/cs-CZ/zotero/zotero.properties b/chrome/locale/cs-CZ/zotero/zotero.properties index 718a917a6c..ed25b20edc 100644 --- a/chrome/locale/cs-CZ/zotero/zotero.properties +++ b/chrome/locale/cs-CZ/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Použít adresář profilu aplikace Firefox dataDir.selectDir=Vybrat Datový adresář aplikace Zotero dataDir.selectedDirNonEmpty.title=Adresář není prázdný dataDir.selectedDirNonEmpty.text=Adresář, který jste vybrali, není prázdný a zřejmě není Datovým adresářem aplikace Zotero.\n\nChcete přesto vytvořit soubory aplikace Zotero v tomto adresáři? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/da-DK/zotero/zotero.properties b/chrome/locale/da-DK/zotero/zotero.properties index e0028802f1..1549570720 100644 --- a/chrome/locale/da-DK/zotero/zotero.properties +++ b/chrome/locale/da-DK/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory dataDir.selectDir=Select a Zotero data directory dataDir.selectedDirNonEmpty.title=Directory Not Empty dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/de/zotero/zotero.properties b/chrome/locale/de/zotero/zotero.properties index bcc3b43f12..297995193c 100644 --- a/chrome/locale/de/zotero/zotero.properties +++ b/chrome/locale/de/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Den Firefox-Profil-Ordner verwenden dataDir.selectDir=Zotero-Daten-Ordner auswählen dataDir.selectedDirNonEmpty.title=Verzeichnis nicht leer dataDir.selectedDirNonEmpty.text=Das Verzeichnis, das Sie ausgewählt haben, ist nicht leer und scheint kein Zotero-Daten-Verzeichnis zu sein.\n\nDie Zotero-Daten trotzdem in diesem Ordner anlegen? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/el-GR/zotero/zotero.properties b/chrome/locale/el-GR/zotero/zotero.properties index 77a8bb5e15..87335d904b 100644 --- a/chrome/locale/el-GR/zotero/zotero.properties +++ b/chrome/locale/el-GR/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory dataDir.selectDir=Select a Zotero data directory dataDir.selectedDirNonEmpty.title=Directory Not Empty dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties index e6e44a1c47..56725309c7 100644 --- a/chrome/locale/en-US/zotero/zotero.properties +++ b/chrome/locale/en-US/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir = Use Firefox profile directory dataDir.selectDir = Select a Zotero data directory dataDir.selectedDirNonEmpty.title = Directory Not Empty dataDir.selectedDirNonEmpty.text = The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway? -dataDir.standaloneMigration.title = Zotero Migration Notification +dataDir.standaloneMigration.title = Existing Zotero Library Found dataDir.standaloneMigration.description = This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles = %1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom = Custom Data Directory… diff --git a/chrome/locale/es-ES/zotero/zotero.properties b/chrome/locale/es-ES/zotero/zotero.properties index 0f7beb2404..abf6e7f3c7 100644 --- a/chrome/locale/es-ES/zotero/zotero.properties +++ b/chrome/locale/es-ES/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Usar el directorio de perfil de Firefox dataDir.selectDir=Elige un directorio de datos para Zotero dataDir.selectedDirNonEmpty.title=El directorio no está vacío dataDir.selectedDirNonEmpty.text=El directorio que has seleccionado no está vacío y no parece que sea un directorio de datos de Zotero.\n\n¿Deseas crear los ficheros de Zotero ahí de todas formas? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/eu-ES/zotero/zotero.properties b/chrome/locale/eu-ES/zotero/zotero.properties index 7f6d3f1c5e..bc171417ce 100644 --- a/chrome/locale/eu-ES/zotero/zotero.properties +++ b/chrome/locale/eu-ES/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Zure "Firefox profile" karpeta erabili dataDir.selectDir=Datu-baseari kokalekua ezarri dataDir.selectedDirNonEmpty.title=Kokalekua ez dago hutsik dataDir.selectedDirNonEmpty.text=Hautatu duzun kokalekua ez dago hutsik eta ez dirudi Zotero datu-base batena denik.\n\nSortu Zotero fitxategiak hemen hala ere? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/fi-FI/zotero/zotero.properties b/chrome/locale/fi-FI/zotero/zotero.properties index c786398dec..b95fde025f 100644 --- a/chrome/locale/fi-FI/zotero/zotero.properties +++ b/chrome/locale/fi-FI/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Käytä Firefoxin profiilikansiota dataDir.selectDir=Valitse kansio Zoteron datalle dataDir.selectedDirNonEmpty.title=Kansio ei ole tyhjä dataDir.selectedDirNonEmpty.text=Valitsemasi kansio ei ole tyhjä eikä ilmeisesti Zoteron datakansio.\n\nLuodaanko Zoteron tiedot tähän kansioon siitä huolimatta? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/gl-ES/zotero/zotero.properties b/chrome/locale/gl-ES/zotero/zotero.properties index 96ba7026d3..288944a903 100644 --- a/chrome/locale/gl-ES/zotero/zotero.properties +++ b/chrome/locale/gl-ES/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Usar directorio de perfís de Firefox dataDir.selectDir=Seleccione un directorio de datos de Zotero dataDir.selectedDirNonEmpty.title=Directorio non baleiro dataDir.selectedDirNonEmpty.text=O directorio que seleccionou non está baleiro e non parece ser un directorio de datos de Zotero.\n\nCrear arquivos de Zotero neste directorio de todos os xeitos? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/he-IL/zotero/zotero.properties b/chrome/locale/he-IL/zotero/zotero.properties index 418054f3cd..aa55b3431a 100644 --- a/chrome/locale/he-IL/zotero/zotero.properties +++ b/chrome/locale/he-IL/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory dataDir.selectDir=Select a Zotero data directory dataDir.selectedDirNonEmpty.title=ספרייה אינה ריקה dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/hr-HR/zotero/zotero.properties b/chrome/locale/hr-HR/zotero/zotero.properties index 77a8bb5e15..87335d904b 100644 --- a/chrome/locale/hr-HR/zotero/zotero.properties +++ b/chrome/locale/hr-HR/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory dataDir.selectDir=Select a Zotero data directory dataDir.selectedDirNonEmpty.title=Directory Not Empty dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/hu-HU/zotero/zotero.properties b/chrome/locale/hu-HU/zotero/zotero.properties index 37bce75046..5d6d645c17 100644 --- a/chrome/locale/hu-HU/zotero/zotero.properties +++ b/chrome/locale/hu-HU/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=A Firefox profilkönyvtár használata dataDir.selectDir=Válassza ki a Zotero adatokat tartalmazó mappát dataDir.selectedDirNonEmpty.title=A mappa nem üres dataDir.selectedDirNonEmpty.text=A kiválasztott mappa nem üres és nem tartalmaz Zotero adatokat.\n\nEnnek ellenére hozza létre a Zotero fájlokat? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/is-IS/zotero/zotero.properties b/chrome/locale/is-IS/zotero/zotero.properties index 8289920ee5..df68c668f0 100644 --- a/chrome/locale/is-IS/zotero/zotero.properties +++ b/chrome/locale/is-IS/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory dataDir.selectDir=Select a Zotero data directory dataDir.selectedDirNonEmpty.title=Directory Not Empty dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/it-IT/zotero/zotero.properties b/chrome/locale/it-IT/zotero/zotero.properties index 5d40fa2159..52e265d05a 100644 --- a/chrome/locale/it-IT/zotero/zotero.properties +++ b/chrome/locale/it-IT/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Utilizza cartella del profilo di Firefox dataDir.selectDir=Selezionare una cartella dati di Zotero dataDir.selectedDirNonEmpty.title=Cartella non vuota dataDir.selectedDirNonEmpty.text=La cartella selezionata non risulta vuota e non sembra essere una cartella dati di Zotero.\n\nCreare i file di Zotero comunque? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/ja-JP/zotero/zotero.properties b/chrome/locale/ja-JP/zotero/zotero.properties index 40d6b84762..3eb97ea12d 100644 --- a/chrome/locale/ja-JP/zotero/zotero.properties +++ b/chrome/locale/ja-JP/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Firefoxプロファイルフォルダを使用する dataDir.selectDir=Zoteroのデータフォルダを選択してください dataDir.selectedDirNonEmpty.title=選択されたフォルダが空ではない dataDir.selectedDirNonEmpty.text=選択されたフォルダが空ではなく、Zoteroのフォルダではないようです。\n\nこのフォルダにZoteroのファイルを作成してよろしいですか? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/ko-KR/zotero/zotero.properties b/chrome/locale/ko-KR/zotero/zotero.properties index af6ae02649..a45230259e 100644 --- a/chrome/locale/ko-KR/zotero/zotero.properties +++ b/chrome/locale/ko-KR/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Firefox 프로필 디렉토리 사용 dataDir.selectDir=Zotero 데이터 디렉토리 선택 dataDir.selectedDirNonEmpty.title=디렉토리 비어있지 않음 dataDir.selectedDirNonEmpty.text=선택한 디렉토리는 비어 있지 않고 Zotero 데이터 디렉토리인 것처럼 보이지 않습니다.\n\n이 디렉토리 안에 Zotero 파일을 어떻게든 생성하겠습니까? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/zotero/zotero.properties index c1ca31b815..843d37b384 100644 --- a/chrome/locale/mn-MN/zotero/zotero.properties +++ b/chrome/locale/mn-MN/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory dataDir.selectDir=Select a Zotero data directory dataDir.selectedDirNonEmpty.title=Directory Not Empty dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/nb-NO/zotero/zotero.properties b/chrome/locale/nb-NO/zotero/zotero.properties index 16895c3655..0528d575d0 100644 --- a/chrome/locale/nb-NO/zotero/zotero.properties +++ b/chrome/locale/nb-NO/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Bruk profilmappen til Firefox dataDir.selectDir=Velg en datamappe dataDir.selectedDirNonEmpty.title=Mappen er ikke tom dataDir.selectedDirNonEmpty.text=Mappen du valgte er ikke tom og ser ikke ut til å være en Zotero-datamappe.\n\nSkal Zotero likevel opprette datafiler i denne mappen? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/nl-NL/zotero/zotero.properties b/chrome/locale/nl-NL/zotero/zotero.properties index 8038a3647a..d930cf0df8 100644 --- a/chrome/locale/nl-NL/zotero/zotero.properties +++ b/chrome/locale/nl-NL/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Firefox profiel-map gebruiken dataDir.selectDir=Selecteer opslagmap voor Zotero dataDir.selectedDirNonEmpty.title=Map niet leeg dataDir.selectedDirNonEmpty.text=De map die u selecteerde is niet leeg and lijkt geen Zotero opslagmap te zijn.\n\nWilt u Zotero toch bestanden aan laten maken in deze map? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/nn-NO/zotero/zotero.properties b/chrome/locale/nn-NO/zotero/zotero.properties index 0e78dd76cc..f7028f47d9 100644 --- a/chrome/locale/nn-NO/zotero/zotero.properties +++ b/chrome/locale/nn-NO/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Bruk profilmappa til Firefox dataDir.selectDir=Vel ei datamappe dataDir.selectedDirNonEmpty.title=Mappa er ikkje tom dataDir.selectedDirNonEmpty.text=Mappa du valde er ikkje tom og ser ikkje ut til å vera ei Zotero-datamappe.\n\nSkal Zotero likevel oppretta datafiler i denne mappa? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/pt-BR/zotero/zotero.properties b/chrome/locale/pt-BR/zotero/zotero.properties index 6e1a067bbb..f00e99d26c 100644 --- a/chrome/locale/pt-BR/zotero/zotero.properties +++ b/chrome/locale/pt-BR/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Usar diretório do perfil do usuário Firefox dataDir.selectDir=Selecionar um diretório de dados Zotero dataDir.selectedDirNonEmpty.title=Este diretório não está vazio dataDir.selectedDirNonEmpty.text=O diretório que você selecionou não está vazio e não parece ser um diretório de dados Zotero.\n\nCriar arquivos Zotero neste diretório mesmo assim? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/pt-PT/zotero/zotero.properties b/chrome/locale/pt-PT/zotero/zotero.properties index 8896e6f8cd..a26692c764 100644 --- a/chrome/locale/pt-PT/zotero/zotero.properties +++ b/chrome/locale/pt-PT/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Usar a pasta de perfis do Firefox dataDir.selectDir=Escolha uma pasta de dados para o Zotero dataDir.selectedDirNonEmpty.title=Pasta Não Vazia dataDir.selectedDirNonEmpty.text=A pasta que escolheu não está vazia e não parece ser uma pasta de dados do Zotero.\n\nCriar arquivos do Zotero nesta pasta de qualquer forma? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/sk-SK/zotero/zotero.properties b/chrome/locale/sk-SK/zotero/zotero.properties index 9bdee36a2c..f19e259895 100644 --- a/chrome/locale/sk-SK/zotero/zotero.properties +++ b/chrome/locale/sk-SK/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Použi priečinok s profilom Firefoxu dataDir.selectDir=Vyberte si priečinok, do ktorého má Zotero ukladať dáta dataDir.selectedDirNonEmpty.title=Priečinok nie je prázdny dataDir.selectedDirNonEmpty.text=Zvolený priečinok nie je prázdny a nevyzerá, že by obsahoval dáta zo Zotera.\n\nChcete napriek tomu, aby sa súbory vytvorili v tomto priečinku? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/sl-SI/zotero/zotero.properties b/chrome/locale/sl-SI/zotero/zotero.properties index 45a3c16ec3..8960cbdf93 100644 --- a/chrome/locale/sl-SI/zotero/zotero.properties +++ b/chrome/locale/sl-SI/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Uporabi mapo profila Firefox dataDir.selectDir=Izberite podatkovno mapo Zotero dataDir.selectedDirNonEmpty.title=Mapa ni prazna dataDir.selectedDirNonEmpty.text=Mapa, ki ste jo izbrali, ni prazna in ni podatkovna mapa Zotero.\n\nŽelite kljub temu v tej mapi ustvariti datoteke Zotero? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/sr-RS/zotero/zotero.properties b/chrome/locale/sr-RS/zotero/zotero.properties index 39f6ac95cd..c7c517104b 100644 --- a/chrome/locale/sr-RS/zotero/zotero.properties +++ b/chrome/locale/sr-RS/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Користи директоријум за Firefox пр dataDir.selectDir=Изабери директоријум за Зотеро податке dataDir.selectedDirNonEmpty.title=Директоријум није празан dataDir.selectedDirNonEmpty.text=Директоријум који сте изабрали није празан и не изгледа као Зотеро директоријум за податке.\n\n Да се направе Зотеро датотеке у овом директоријуму свакако? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties index bf74f0360e..f26c27d010 100644 --- a/chrome/locale/th-TH/zotero/zotero.properties +++ b/chrome/locale/th-TH/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=ใช้ไดเรคทอรีเดียวกั dataDir.selectDir=เลือกไดเรคทอรีเก็บข้อมูลโซแทโร dataDir.selectedDirNonEmpty.title=ไดเรคทอรีมีข้อมูลอยู่ dataDir.selectedDirNonEmpty.text=ไดเรคทอรีที่ท่านเลือกมีข้อมูลอยู่ และไม่ใช่ข้อมูลของโซแทโร\n\nท่านต้องการสร้างข้อมูลของโซแทโรในไดเรคทอรีนี้แน่หรือ? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/tr-TR/zotero/zotero.properties b/chrome/locale/tr-TR/zotero/zotero.properties index bd08851ba0..3afc358d52 100644 --- a/chrome/locale/tr-TR/zotero/zotero.properties +++ b/chrome/locale/tr-TR/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Firefox profil dizinini kullan dataDir.selectDir=Zotero veri dizini seç dataDir.selectedDirNonEmpty.title=Dizin Boş Değil dataDir.selectedDirNonEmpty.text=Seçtiğiniz dizin boş değil ve Zotero veri dizini olarak görülmüyor.\n\nHerşeye rağmen bu dizinde Zotero dosyalarını oluşturmak istermisiniz? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/vi-VN/zotero/zotero.properties b/chrome/locale/vi-VN/zotero/zotero.properties index 54150d93db..3ccd635fb5 100644 --- a/chrome/locale/vi-VN/zotero/zotero.properties +++ b/chrome/locale/vi-VN/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=Dùng thư mục profile của Firefox dataDir.selectDir=Chọn một thư mục dữ liệu cho Zotero dataDir.selectedDirNonEmpty.title=Thư mục đã có dữ liệu dataDir.selectedDirNonEmpty.text=Thư mục bạn chọn đã có dữ liệu, và nó có vẻ không phải là một thư mục dữ liệu của Zotero.\n\nBạn vẫn muốn tạo các tập tin của Zotero trong thư mục này phải không? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/zh-CN/zotero/zotero.properties b/chrome/locale/zh-CN/zotero/zotero.properties index 3ba4852145..2e637e5ef3 100644 --- a/chrome/locale/zh-CN/zotero/zotero.properties +++ b/chrome/locale/zh-CN/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=使用Firefox配置目录 dataDir.selectDir=选择Zotero数据目录 dataDir.selectedDirNonEmpty.title=目录非空 dataDir.selectedDirNonEmpty.text=您所选的目录里非空, 但不是一个Zotero数据目录.\n\n一定要在此目录里创建Zotero文件吗? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… diff --git a/chrome/locale/zh-TW/zotero/zotero.properties b/chrome/locale/zh-TW/zotero/zotero.properties index 9e88afb735..807e2720c1 100644 --- a/chrome/locale/zh-TW/zotero/zotero.properties +++ b/chrome/locale/zh-TW/zotero/zotero.properties @@ -69,7 +69,7 @@ dataDir.useProfileDir=使用 Firefox 個人設定檔目錄 dataDir.selectDir=選擇 Zotero 的資料儲存目錄 dataDir.selectedDirNonEmpty.title=目錄不是空的 dataDir.selectedDirNonEmpty.text=你選擇的目錄不是空的而且它不像是 Zotero 的資料儲存目錄。\n\n仍然要在這個目錄中建立 Zotero 的檔案嗎? -dataDir.standaloneMigration.title=Zotero Migration Notification +dataDir.standaloneMigration.title=Existing Zotero Library Found dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory? dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile. dataDir.standaloneMigration.selectCustom=Custom Data Directory… From 5b021a8a1256e36eceff3fa3133e274c4400f0ae Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 19:32:34 -0500 Subject: [PATCH 30/64] Update versions --- install.rdf | 2 +- update.rdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install.rdf b/install.rdf index 676c505e03..37b8f1ec93 100644 --- a/install.rdf +++ b/install.rdf @@ -6,7 +6,7 @@ zotero@chnm.gmu.edu Zotero - 3.0.SOURCE + 3.0.1.SOURCE Center for History and New Media
George Mason University
Dan Cohen Sean Takats diff --git a/update.rdf b/update.rdf index b4497c1127..b4b0289fed 100644 --- a/update.rdf +++ b/update.rdf @@ -7,7 +7,7 @@ - 3.0.SOURCE + 3.0.1.SOURCE {ec8030f7-c20a-464f-9b0e-13a3a9e97384} From fb140c3ff4efb11a6daab4f021a74971800fab9d Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 19:33:25 -0500 Subject: [PATCH 31/64] Update zotero.js version --- chrome/content/zotero/xpcom/zotero.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index c5e45255fe..90c84fa713 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -35,7 +35,7 @@ const ZOTERO_CONFIG = { API_URL: 'https://api.zotero.org/', PREF_BRANCH: 'extensions.zotero.', BOOKMARKLET_URL: 'https://www.zotero.org/bookmarklet/', - VERSION: "3.0.SOURCE" + VERSION: "3.0.1.SOURCE" }; /* From 8452deb300233b21ed68131399c3af8986fa92f0 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 1 Feb 2012 19:39:16 -0500 Subject: [PATCH 32/64] Make QuickFormat page number handling more reliable --- .../content/zotero/integration/quickFormat.js | 45 +++++++++++-------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js index 7ed5d4258f..d25bd2c22b 100644 --- a/chrome/content/zotero/integration/quickFormat.js +++ b/chrome/content/zotero/integration/quickFormat.js @@ -25,6 +25,13 @@ var Zotero_QuickFormat = new function () { const pixelRe = /^([0-9]+)px$/ + const specifiedLocatorRe = /^(?:,? *(p{0,2})(?:\. *| +)|:)([0-9\-]+) *$/; + const yearRe = /,? *([0-9]+) *(B[. ]*C[. ]*(?:E[. ]*)?|A[. ]*D[. ]*|C[. ]*E[. ]*)?$/i; + const locatorRe = /(?:,? *(p{0,2})\.?|(\:)) *([0-9]+)$/i; + const creatorSplitRe = /(?:,| *(?:and|\&)) +/; + const charRe = /[\w\u007F-\uFFFF]/; + const numRe = /^[0-9\-]+$/; + var initialized, io, qfs, qfi, qfiWindow, qfiDocument, qfe, qfb, qfbHeight, qfGuidance, keepSorted, showEditor, referencePanel, referenceBox, referenceHeight = 0, separatorHeight = 0, currentLocator, currentLocatorLabel, currentSearchTime, dragging, @@ -196,11 +203,6 @@ var Zotero_QuickFormat = new function () { var str = _getEditorContent(); var haveConditions = false; - const specifiedLocatorRe = /^(?:,? *(pp|p)(?:\. *| +)|:)([0-9\-]+) *$/; - const yearPageLocatorRe = /,? *([0-9]+) *((B[. ]*C[. ]*|B[. ]*)|[AC][. ]*|A[. ]*D[. ]*|C[. ]*E[. ]*)?,? *(?:([0-9\-]+))?$/i; - const creatorSplitRe = /(?:,| *(?:and|\&)) +/; - const charRe = /[\w\u007F-\uFFFF]/; - const numRe = /^[0-9\-]+$/; const etAl = " et al."; var m, @@ -248,20 +250,11 @@ var Zotero_QuickFormat = new function () { } // check for year and pages - m = yearPageLocatorRe.exec(str); + str = _updateLocator(str); + m = yearRe.exec(str); if(m) { - if(m[1].length === 4 || m[2] || m[4]) { - year = parseInt(m[1]); - if(m[3]) { - isBC = true; - } - if(!currentLocator && m[4]) { - currentLocator = m[4]; - } - } else { - currentLocator = m[1]; - } - + year = parseInt(m[1]); + isBC = m[2] && m[2][0] === "B"; str = str.substr(0, m.index)+str.substring(m.index+m[0].length); } if(year) str += " "+year; @@ -337,6 +330,20 @@ var Zotero_QuickFormat = new function () { } } + /** + * Updates currentLocator based on a string + * @param {String} str String to search for locator + * @return {String} str without locator + */ + function _updateLocator(str) { + m = locatorRe.exec(str); + if(m && (m[1] || m[2] || m[3].length !== 4)) { + currentLocator = m[3]; + str = str.substr(0, m.index)+str.substring(m.index+m[0].length); + } + return str; + } + /** * Updates the item list */ @@ -670,6 +677,8 @@ var Zotero_QuickFormat = new function () { citationItem.uris = item.cslURIs; citationItem.itemData = item.cslItemData; } + + _updateLocator(_getEditorContent()); if(currentLocator) { citationItem["locator"] = currentLocator; if(currentLocatorLabel) { From ddad4a6acd3b46720ff61c1150269e40ef87b158 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 1 Feb 2012 19:42:46 -0500 Subject: [PATCH 33/64] Undo win-specific style tweak --- chrome/content/zotero-platform/win/overlay.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/chrome/content/zotero-platform/win/overlay.css b/chrome/content/zotero-platform/win/overlay.css index a6a51ab50d..a2c5df7e60 100644 --- a/chrome/content/zotero-platform/win/overlay.css +++ b/chrome/content/zotero-platform/win/overlay.css @@ -25,10 +25,6 @@ -moz-image-region: rect(0, 26px, 11px, 13px); } -#zotero-tb-search { - margin-right: -1px; -} - #zotero-tb-search .textbox-search-icon { visibility: hidden; } From d082d074ee26472696e1ebbf0969f460a47a7a1d Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 1 Feb 2012 20:05:28 -0500 Subject: [PATCH 34/64] Don't use Win 7 theme on Win XP --- chrome/content/zotero-platform/win/overlay.css | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero-platform/win/overlay.css b/chrome/content/zotero-platform/win/overlay.css index a2c5df7e60..b5bae7ca75 100644 --- a/chrome/content/zotero-platform/win/overlay.css +++ b/chrome/content/zotero-platform/win/overlay.css @@ -49,13 +49,17 @@ } #zotero-toolbar { + -moz-appearance: toolbox !important; + padding-left: 2px; +} + +#zotero-toolbar:-moz-system-metric(windows-compositor) { -moz-appearance: none !important; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)); background-color: rgb(207, 219, 236) !important; border-width: 0 0 1px 0; border-style: solid; border-color: #818790; - padding-left: 2px; } #zotero-collections-tree, #zotero-items-tree, #zotero-view-item { @@ -85,7 +89,7 @@ border-width: 1px 0 0 1px; } -#zotero-view-tabbox > tabs { +#zotero-item-pane { margin-top: 2px; } From c9476bbd5d4d3a8829e06898526820ec4e1098b1 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 1 Feb 2012 20:11:29 -0500 Subject: [PATCH 35/64] Merge locales --- chrome/locale/af-ZA/zotero/zotero.properties | 2 ++ chrome/locale/ar/zotero/zotero.properties | 2 ++ chrome/locale/bg-BG/zotero/zotero.properties | 2 ++ chrome/locale/ca-AD/zotero/zotero.properties | 2 ++ chrome/locale/cs-CZ/zotero/zotero.properties | 2 ++ chrome/locale/da-DK/zotero/zotero.properties | 2 ++ chrome/locale/de/zotero/zotero.properties | 2 ++ chrome/locale/el-GR/zotero/zotero.properties | 2 ++ chrome/locale/es-ES/zotero/zotero.properties | 2 ++ chrome/locale/et-EE/zotero/zotero.properties | 2 ++ chrome/locale/eu-ES/zotero/zotero.properties | 2 ++ chrome/locale/fa/zotero/zotero.properties | 2 ++ chrome/locale/fi-FI/zotero/zotero.properties | 2 ++ chrome/locale/fr-FR/zotero/zotero.properties | 2 ++ chrome/locale/gl-ES/zotero/zotero.properties | 2 ++ chrome/locale/he-IL/zotero/zotero.properties | 2 ++ chrome/locale/hr-HR/zotero/zotero.properties | 2 ++ chrome/locale/hu-HU/zotero/zotero.properties | 2 ++ chrome/locale/is-IS/zotero/zotero.properties | 2 ++ chrome/locale/it-IT/zotero/zotero.properties | 2 ++ chrome/locale/ja-JP/zotero/zotero.properties | 2 ++ chrome/locale/ko-KR/zotero/zotero.properties | 2 ++ chrome/locale/mn-MN/zotero/zotero.properties | 2 ++ chrome/locale/nb-NO/zotero/zotero.properties | 2 ++ chrome/locale/nl-NL/zotero/zotero.properties | 2 ++ chrome/locale/nn-NO/zotero/zotero.properties | 2 ++ chrome/locale/pl-PL/zotero/zotero.properties | 2 ++ chrome/locale/pt-BR/zotero/zotero.properties | 2 ++ chrome/locale/pt-PT/zotero/zotero.properties | 2 ++ chrome/locale/ro-RO/zotero/zotero.properties | 2 ++ chrome/locale/ru-RU/zotero/zotero.properties | 2 ++ chrome/locale/sk-SK/zotero/zotero.properties | 2 ++ chrome/locale/sl-SI/zotero/zotero.properties | 2 ++ chrome/locale/sr-RS/zotero/zotero.properties | 2 ++ chrome/locale/sv-SE/zotero/zotero.properties | 2 ++ chrome/locale/th-TH/zotero/zotero.properties | 2 ++ chrome/locale/tr-TR/zotero/zotero.properties | 2 ++ chrome/locale/vi-VN/zotero/zotero.properties | 2 ++ chrome/locale/zh-CN/zotero/zotero.properties | 2 ++ chrome/locale/zh-TW/zotero/zotero.properties | 2 ++ 40 files changed, 80 insertions(+) diff --git a/chrome/locale/af-ZA/zotero/zotero.properties b/chrome/locale/af-ZA/zotero/zotero.properties index 87335d904b..6c99e1fb97 100644 --- a/chrome/locale/af-ZA/zotero/zotero.properties +++ b/chrome/locale/af-ZA/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/ar/zotero/zotero.properties b/chrome/locale/ar/zotero/zotero.properties index 11c3776a8a..b4ac031097 100644 --- a/chrome/locale/ar/zotero/zotero.properties +++ b/chrome/locale/ar/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/bg-BG/zotero/zotero.properties b/chrome/locale/bg-BG/zotero/zotero.properties index 6d1dfa6f02..b0f352cb46 100644 --- a/chrome/locale/bg-BG/zotero/zotero.properties +++ b/chrome/locale/bg-BG/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/ca-AD/zotero/zotero.properties b/chrome/locale/ca-AD/zotero/zotero.properties index 43a473b651..c5b26ffd28 100644 --- a/chrome/locale/ca-AD/zotero/zotero.properties +++ b/chrome/locale/ca-AD/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/cs-CZ/zotero/zotero.properties b/chrome/locale/cs-CZ/zotero/zotero.properties index ed25b20edc..db79fea390 100644 --- a/chrome/locale/cs-CZ/zotero/zotero.properties +++ b/chrome/locale/cs-CZ/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/da-DK/zotero/zotero.properties b/chrome/locale/da-DK/zotero/zotero.properties index 1549570720..0392cc02dd 100644 --- a/chrome/locale/da-DK/zotero/zotero.properties +++ b/chrome/locale/da-DK/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/de/zotero/zotero.properties b/chrome/locale/de/zotero/zotero.properties index 297995193c..7972a557ee 100644 --- a/chrome/locale/de/zotero/zotero.properties +++ b/chrome/locale/de/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/el-GR/zotero/zotero.properties b/chrome/locale/el-GR/zotero/zotero.properties index 87335d904b..6c99e1fb97 100644 --- a/chrome/locale/el-GR/zotero/zotero.properties +++ b/chrome/locale/el-GR/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/es-ES/zotero/zotero.properties b/chrome/locale/es-ES/zotero/zotero.properties index abf6e7f3c7..5e405df9be 100644 --- a/chrome/locale/es-ES/zotero/zotero.properties +++ b/chrome/locale/es-ES/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/et-EE/zotero/zotero.properties b/chrome/locale/et-EE/zotero/zotero.properties index db54778459..12f32e40df 100644 --- a/chrome/locale/et-EE/zotero/zotero.properties +++ b/chrome/locale/et-EE/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/eu-ES/zotero/zotero.properties b/chrome/locale/eu-ES/zotero/zotero.properties index bc171417ce..a70925991b 100644 --- a/chrome/locale/eu-ES/zotero/zotero.properties +++ b/chrome/locale/eu-ES/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/fa/zotero/zotero.properties b/chrome/locale/fa/zotero/zotero.properties index 2629f0db50..5f5a6a8ee4 100644 --- a/chrome/locale/fa/zotero/zotero.properties +++ b/chrome/locale/fa/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/fi-FI/zotero/zotero.properties b/chrome/locale/fi-FI/zotero/zotero.properties index b95fde025f..21e407e6b3 100644 --- a/chrome/locale/fi-FI/zotero/zotero.properties +++ b/chrome/locale/fi-FI/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/fr-FR/zotero/zotero.properties b/chrome/locale/fr-FR/zotero/zotero.properties index 260dbf1aca..e3e89b8552 100644 --- a/chrome/locale/fr-FR/zotero/zotero.properties +++ b/chrome/locale/fr-FR/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/gl-ES/zotero/zotero.properties b/chrome/locale/gl-ES/zotero/zotero.properties index 288944a903..8e2d07f78e 100644 --- a/chrome/locale/gl-ES/zotero/zotero.properties +++ b/chrome/locale/gl-ES/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/he-IL/zotero/zotero.properties b/chrome/locale/he-IL/zotero/zotero.properties index aa55b3431a..099732ad6c 100644 --- a/chrome/locale/he-IL/zotero/zotero.properties +++ b/chrome/locale/he-IL/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/hr-HR/zotero/zotero.properties b/chrome/locale/hr-HR/zotero/zotero.properties index 87335d904b..6c99e1fb97 100644 --- a/chrome/locale/hr-HR/zotero/zotero.properties +++ b/chrome/locale/hr-HR/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/hu-HU/zotero/zotero.properties b/chrome/locale/hu-HU/zotero/zotero.properties index 5d6d645c17..73357df88f 100644 --- a/chrome/locale/hu-HU/zotero/zotero.properties +++ b/chrome/locale/hu-HU/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/is-IS/zotero/zotero.properties b/chrome/locale/is-IS/zotero/zotero.properties index df68c668f0..da699e0ef6 100644 --- a/chrome/locale/is-IS/zotero/zotero.properties +++ b/chrome/locale/is-IS/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/it-IT/zotero/zotero.properties b/chrome/locale/it-IT/zotero/zotero.properties index 52e265d05a..c53357330e 100644 --- a/chrome/locale/it-IT/zotero/zotero.properties +++ b/chrome/locale/it-IT/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/ja-JP/zotero/zotero.properties b/chrome/locale/ja-JP/zotero/zotero.properties index 3eb97ea12d..4bf9ceac34 100644 --- a/chrome/locale/ja-JP/zotero/zotero.properties +++ b/chrome/locale/ja-JP/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/ko-KR/zotero/zotero.properties b/chrome/locale/ko-KR/zotero/zotero.properties index a45230259e..462356ae7e 100644 --- a/chrome/locale/ko-KR/zotero/zotero.properties +++ b/chrome/locale/ko-KR/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/zotero/zotero.properties index 843d37b384..21dca99527 100644 --- a/chrome/locale/mn-MN/zotero/zotero.properties +++ b/chrome/locale/mn-MN/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/nb-NO/zotero/zotero.properties b/chrome/locale/nb-NO/zotero/zotero.properties index 0528d575d0..c47e853c4a 100644 --- a/chrome/locale/nb-NO/zotero/zotero.properties +++ b/chrome/locale/nb-NO/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/nl-NL/zotero/zotero.properties b/chrome/locale/nl-NL/zotero/zotero.properties index d930cf0df8..654ecf64f0 100644 --- a/chrome/locale/nl-NL/zotero/zotero.properties +++ b/chrome/locale/nl-NL/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/nn-NO/zotero/zotero.properties b/chrome/locale/nn-NO/zotero/zotero.properties index f7028f47d9..413567fbb4 100644 --- a/chrome/locale/nn-NO/zotero/zotero.properties +++ b/chrome/locale/nn-NO/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/pl-PL/zotero/zotero.properties b/chrome/locale/pl-PL/zotero/zotero.properties index 2339d3ad88..95939fc637 100644 --- a/chrome/locale/pl-PL/zotero/zotero.properties +++ b/chrome/locale/pl-PL/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/pt-BR/zotero/zotero.properties b/chrome/locale/pt-BR/zotero/zotero.properties index f00e99d26c..263652efc8 100644 --- a/chrome/locale/pt-BR/zotero/zotero.properties +++ b/chrome/locale/pt-BR/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/pt-PT/zotero/zotero.properties b/chrome/locale/pt-PT/zotero/zotero.properties index a26692c764..8742558f0e 100644 --- a/chrome/locale/pt-PT/zotero/zotero.properties +++ b/chrome/locale/pt-PT/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/ro-RO/zotero/zotero.properties b/chrome/locale/ro-RO/zotero/zotero.properties index 0baa5cf1b2..fb3b3fc0d2 100644 --- a/chrome/locale/ro-RO/zotero/zotero.properties +++ b/chrome/locale/ro-RO/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/ru-RU/zotero/zotero.properties b/chrome/locale/ru-RU/zotero/zotero.properties index 18ca61d789..24e3a41090 100644 --- a/chrome/locale/ru-RU/zotero/zotero.properties +++ b/chrome/locale/ru-RU/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Ваша база данных недоступна, п firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/sk-SK/zotero/zotero.properties b/chrome/locale/sk-SK/zotero/zotero.properties index f19e259895..f9f203f060 100644 --- a/chrome/locale/sk-SK/zotero/zotero.properties +++ b/chrome/locale/sk-SK/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/sl-SI/zotero/zotero.properties b/chrome/locale/sl-SI/zotero/zotero.properties index 8960cbdf93..cf844b946d 100644 --- a/chrome/locale/sl-SI/zotero/zotero.properties +++ b/chrome/locale/sl-SI/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/sr-RS/zotero/zotero.properties b/chrome/locale/sr-RS/zotero/zotero.properties index c7c517104b..88bf08f664 100644 --- a/chrome/locale/sr-RS/zotero/zotero.properties +++ b/chrome/locale/sr-RS/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/sv-SE/zotero/zotero.properties b/chrome/locale/sv-SE/zotero/zotero.properties index bf72aca1da..cd39f0706c 100644 --- a/chrome/locale/sv-SE/zotero/zotero.properties +++ b/chrome/locale/sv-SE/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties index f26c27d010..64a86a0289 100644 --- a/chrome/locale/th-TH/zotero/zotero.properties +++ b/chrome/locale/th-TH/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/tr-TR/zotero/zotero.properties b/chrome/locale/tr-TR/zotero/zotero.properties index 3afc358d52..83f2b7a0db 100644 --- a/chrome/locale/tr-TR/zotero/zotero.properties +++ b/chrome/locale/tr-TR/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/vi-VN/zotero/zotero.properties b/chrome/locale/vi-VN/zotero/zotero.properties index 3ccd635fb5..15d2163f5e 100644 --- a/chrome/locale/vi-VN/zotero/zotero.properties +++ b/chrome/locale/vi-VN/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/zh-CN/zotero/zotero.properties b/chrome/locale/zh-CN/zotero/zotero.properties index 2e637e5ef3..ffb4ff177a 100644 --- a/chrome/locale/zh-CN/zotero/zotero.properties +++ b/chrome/locale/zh-CN/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. diff --git a/chrome/locale/zh-TW/zotero/zotero.properties b/chrome/locale/zh-TW/zotero/zotero.properties index 807e2720c1..55ea45ac36 100644 --- a/chrome/locale/zh-TW/zotero/zotero.properties +++ b/chrome/locale/zh-TW/zotero/zotero.properties @@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library. firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. +firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. +firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly. From 774f91f092f0eb955399a6b047ae7c9972bea758 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 1 Feb 2012 20:45:35 -0500 Subject: [PATCH 36/64] Fix ugly groupbox --- chrome/content/zotero-platform/win/overlay.css | 10 +++++++++- chrome/content/zotero/itemPane.xul | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero-platform/win/overlay.css b/chrome/content/zotero-platform/win/overlay.css index b5bae7ca75..b9e239aeb3 100644 --- a/chrome/content/zotero-platform/win/overlay.css +++ b/chrome/content/zotero-platform/win/overlay.css @@ -89,10 +89,18 @@ border-width: 1px 0 0 1px; } -#zotero-item-pane { +#zotero-view-tabbox > tabs { margin-top: 2px; } +#zotero-item-pane-groupbox { + -moz-appearance: none !important; + border-radius: 0; + border-width: 0 0 0 1px; + border-color: #818790; + border-style: solid; +} + #zotero-editpane-item-box > scrollbox, #zotero-view-item > tabpanel > vbox, #zotero-editpane-tags > scrollbox, #zotero-editpane-related { padding-top: 5px; diff --git a/chrome/content/zotero/itemPane.xul b/chrome/content/zotero/itemPane.xul index c53738ba09..50a8e4d497 100644 --- a/chrome/content/zotero/itemPane.xul +++ b/chrome/content/zotero/itemPane.xul @@ -45,7 +45,7 @@ - + From 9e502343687e94a68a7efa829c42f9348cc9e09c Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 1 Feb 2012 20:47:01 -0500 Subject: [PATCH 37/64] Use white tag selector background --- chrome/skin/default/zotero/bindings/tagselector.css | 1 + 1 file changed, 1 insertion(+) diff --git a/chrome/skin/default/zotero/bindings/tagselector.css b/chrome/skin/default/zotero/bindings/tagselector.css index ad2f44b7b4..22b0659ff1 100644 --- a/chrome/skin/default/zotero/bindings/tagselector.css +++ b/chrome/skin/default/zotero/bindings/tagselector.css @@ -11,6 +11,7 @@ groupbox overflow-x: hidden; overflow-y: auto; display: block; /* allow labels to wrap instead of all being in one line */ + background-color: white; } checkbox From d4552a8c6c8b43cd5eaf7a020821cfe25f6bcd0a Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 1 Feb 2012 22:23:07 -0500 Subject: [PATCH 38/64] Tweak toolbar UI --- .../content/zotero-platform/mac/overlay.css | 11 +++++-- .../content/zotero-platform/win/overlay.css | 8 ----- chrome/content/zotero/zoteroPane.xul | 6 ++-- chrome/skin/default/zotero/overlay.css | 31 +++++++++++++++++-- 4 files changed, 40 insertions(+), 16 deletions(-) diff --git a/chrome/content/zotero-platform/mac/overlay.css b/chrome/content/zotero-platform/mac/overlay.css index b449bf6d55..4f0bef1456 100644 --- a/chrome/content/zotero-platform/mac/overlay.css +++ b/chrome/content/zotero-platform/mac/overlay.css @@ -16,12 +16,17 @@ margin-left: 7px; } -.zotero-tb-button { - -moz-margin-start: 5px; - -moz-padding-end: 10px; +.zotero-tb-button, .zotero-tb-button:first-child, .zotero-tb-button:last-child { + -moz-margin-start: 0 !important; + -moz-margin-end: 3px !important; + -moz-padding-end: 10px !important; background: url("chrome://zotero/skin/mac/menubutton-end.png") right center no-repeat; } +#zotero-collections-toolbar { + padding-left: 0; +} + :root:not([active]) #zotero-pane:not([ignoreActiveAttribute]) .zotero-tb-button, .zotero-tb-button[disabled="true"]{ opacity: 0.7; } diff --git a/chrome/content/zotero-platform/win/overlay.css b/chrome/content/zotero-platform/win/overlay.css index b9e239aeb3..1313a941ec 100644 --- a/chrome/content/zotero-platform/win/overlay.css +++ b/chrome/content/zotero-platform/win/overlay.css @@ -1,11 +1,3 @@ -.zotero-tb-button:not(:first-child) { - margin-left: 5px; -} - -.zotero-tb-button:not([type=menu]) { - margin-right: 4px; -} - #zotero-tb-search-menu-button { margin: 0 -1px 0 -4px; border: 0; diff --git a/chrome/content/zotero/zoteroPane.xul b/chrome/content/zotero/zoteroPane.xul index 1081ce51e1..36c90a9d38 100644 --- a/chrome/content/zotero/zoteroPane.xul +++ b/chrome/content/zotero/zoteroPane.xul @@ -98,7 +98,7 @@ chromedir="&locale.dir;"> - + @@ -126,7 +126,7 @@ - + @@ -178,7 +178,7 @@ oncommand="ZoteroPane_Local.search()"/> - + diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css index 8dee7c4125..001ee60cf6 100644 --- a/chrome/skin/default/zotero/overlay.css +++ b/chrome/skin/default/zotero/overlay.css @@ -33,7 +33,7 @@ #zotero-pane { min-height: 32px; /* must match value in ZoteroPane.updateTagSelectorSize() */ - overflow: hidden; + overflow: hidden;tb- } #zotero-collections-pane @@ -257,6 +257,32 @@ height:24px; } +#zotero-collections-toolbar { + padding-left: 2px; +} + +.zotero-tb-button { + padding-left: 5px; + padding-right: 5px; + margin-right: 2px; + margin-left: 2px; +} + +.zotero-tb-button:first-child { + margin-left: 0 !important; +} + +.zotero-tb-button:last-child { + margin-right: 0 !important; +} + +.zotero-tb-button[type="menu"] { + padding-left: 3px; + padding-right: 3px; + margin-left: 4px; + margin-right: 2px; +} + .zotero-tb-button[type="panel"] > dropmarker { display: none; } @@ -399,8 +425,9 @@ #zotero-tb-sync { list-style-image: url(chrome://zotero/skin/arrow_rotate_static.png); - margin-left: -2px; + margin-left: -6px; margin-right: -2px; + padding-right: 6px; } #zotero-tb-sync[status=animate] { From 48a09eaf375f5fdb632568ccfd7413c994891b10 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 2 Feb 2012 02:14:01 -0500 Subject: [PATCH 39/64] Remove styles update script (included accidentally in 3.0) --- chrome/content/zotero/xpcom/schema.js | 3 +++ translators | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/schema.js b/chrome/content/zotero/xpcom/schema.js index f2aca18927..33f7b68a11 100644 --- a/chrome/content/zotero/xpcom/schema.js +++ b/chrome/content/zotero/xpcom/schema.js @@ -548,6 +548,9 @@ Zotero.Schema = new function(){ case 'nlm': case 'vancouver': + // Remove update script (included with 3.0 accidentally) + case 'update': + // Delete renamed/obsolete files case 'chicago-note.csl': case 'mhra_note_without_bibliography.csl': diff --git a/translators b/translators index bdf108eb21..bf28e5f7e1 160000 --- a/translators +++ b/translators @@ -1 +1 @@ -Subproject commit bdf108eb2163edfeb1adfd41e7ef952501f11eda +Subproject commit bf28e5f7e14242e385c735df0824fc2f6b6e2de5 From c98570ca4bc494a51b708c22076b00d72367a5b0 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Thu, 2 Feb 2012 02:18:43 -0500 Subject: [PATCH 40/64] Fix typo --- chrome/skin/default/zotero/overlay.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css index 001ee60cf6..cd08a1d745 100644 --- a/chrome/skin/default/zotero/overlay.css +++ b/chrome/skin/default/zotero/overlay.css @@ -33,7 +33,7 @@ #zotero-pane { min-height: 32px; /* must match value in ZoteroPane.updateTagSelectorSize() */ - overflow: hidden;tb- + overflow: hidden; } #zotero-collections-pane From 5b8b515b06ba33a1c733198221ed85ad59b4b9c9 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Thu, 2 Feb 2012 03:07:26 -0500 Subject: [PATCH 41/64] Fix potential crash activating integration dialog on Linux --- chrome/content/zotero/xpcom/integration.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index fc2af10417..adccd624ba 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -564,8 +564,9 @@ Zotero.Integration = new function() { var children = ctypes.cast(childrenPtr, ctypes.uint32_t.array(nChildrenJS).ptr).contents; var foundWindow = false; for(var i=0; i Date: Thu, 2 Feb 2012 03:09:26 -0500 Subject: [PATCH 42/64] Update download URL --- update.rdf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update.rdf b/update.rdf index b4b0289fed..a3b7ff7e48 100644 --- a/update.rdf +++ b/update.rdf @@ -13,7 +13,7 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 3.6 10.* - http://www.zotero.org/download/zotero.xpi + http://download.zotero.org/extension/zotero.xpi sha1: From 8d96cf35bb20be7d911265a354dad14a6491794b Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 3 Feb 2012 22:10:58 -0500 Subject: [PATCH 43/64] Fix global assignment --- chrome/content/zotero/zoteroPane.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js index c101e9c906..a41c6b57b1 100644 --- a/chrome/content/zotero/zoteroPane.js +++ b/chrome/content/zotero/zoteroPane.js @@ -3169,10 +3169,10 @@ var ZoteroPane = new function() if (item.libraryID) { var group = Zotero.Groups.getByLibraryID(item.libraryID); - filesEditable = group.filesEditable; + var filesEditable = group.filesEditable; } else { - filesEditable = true; + var filesEditable = true; } if (saveSnapshot) { From deeb1b22473049c8f2d8dd5c416a71f589a0373b Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 3 Feb 2012 22:41:20 -0500 Subject: [PATCH 44/64] Add MIME type for locate icon --- chrome/content/zotero/xpcom/locateManager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/locateManager.js b/chrome/content/zotero/xpcom/locateManager.js index aa0a11d71f..7f3c93b4ef 100644 --- a/chrome/content/zotero/xpcom/locateManager.js +++ b/chrome/content/zotero/xpcom/locateManager.js @@ -202,7 +202,8 @@ Zotero.LocateManager = new function() { "image/png":"png", "image/jpeg":"jpg", "image/gif":"gif", - "image/x-icon":"ico" + "image/x-icon":"ico", + "image/vnd.microsoft.icon":"ico" }; // ensure there is an icon From ee51b493772ee946807ec69aa02e2a5ea0ce076a Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sat, 4 Feb 2012 15:20:46 -0500 Subject: [PATCH 45/64] Center save icon guidance panel --- chrome/content/zotero/overlay.xul | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/overlay.xul b/chrome/content/zotero/overlay.xul index f408ebb92c..acb241d241 100644 --- a/chrome/content/zotero/overlay.xul +++ b/chrome/content/zotero/overlay.xul @@ -77,7 +77,7 @@ - + From dca22a012cdb19c0e6f994341f9a457a17152ced Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sun, 5 Feb 2012 01:49:08 -0500 Subject: [PATCH 46/64] Debugging for tag issue --- chrome/content/zotero/xpcom/data/tag.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/data/tag.js b/chrome/content/zotero/xpcom/data/tag.js index 05bb9d34e8..508b657700 100644 --- a/chrome/content/zotero/xpcom/data/tag.js +++ b/chrome/content/zotero/xpcom/data/tag.js @@ -353,7 +353,15 @@ Zotero.Tag.prototype.save = function (full) { var sql = "UPDATE tags SET " + columns.join("=?, ") + "=?" + " WHERE tagID=?"; - Zotero.DB.query(sql, sqlValues); + try { + Zotero.DB.query(sql, sqlValues); + } + // TEMP + catch (e) { + var sql = "SELECT * FROM tags"; + Zotero.debug(Zotero.DB.query(sql)); + throw (e); + } } From df58d390aac845f82e25a2de10d2effad52147ae Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Sun, 5 Feb 2012 18:01:05 -0500 Subject: [PATCH 47/64] Handle image/vnd.microsoft.icon MIME type for ico --- chrome/content/zotero/xpcom/locateManager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/locateManager.js b/chrome/content/zotero/xpcom/locateManager.js index aa0a11d71f..7f3c93b4ef 100644 --- a/chrome/content/zotero/xpcom/locateManager.js +++ b/chrome/content/zotero/xpcom/locateManager.js @@ -202,7 +202,8 @@ Zotero.LocateManager = new function() { "image/png":"png", "image/jpeg":"jpg", "image/gif":"gif", - "image/x-icon":"ico" + "image/x-icon":"ico", + "image/vnd.microsoft.icon":"ico" }; // ensure there is an icon From 39c86a791ed319134568db97aa1fbb25f2b8caba Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Sun, 5 Feb 2012 18:46:49 -0500 Subject: [PATCH 48/64] Use Zotero.debug() instead of dump() in WPD --- chrome/content/zotero/webpagedump/common.js | 20 +++++++++---------- chrome/content/zotero/webpagedump/domsaver.js | 10 +++++----- chrome/content/zotero/xpcom/attachments.js | 13 ++---------- components/zotero-service.js | 9 +++++++++ 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/chrome/content/zotero/webpagedump/common.js b/chrome/content/zotero/webpagedump/common.js index 7a93e91293..2b8c12a4cf 100644 --- a/chrome/content/zotero/webpagedump/common.js +++ b/chrome/content/zotero/webpagedump/common.js @@ -95,11 +95,11 @@ function wpdWindowLoaded() try { // this will be called multiple times if the page contains more than one document (frames, flash,...) //var browser=this.document.getElementById("content"); - dump("[wpdWindowLoaded] ... \n"); + Zotero.debug("[wpdWindowLoaded] ... "); var browser = this.top.getBrowser(); // each time we have to check if the page is fully loaded... if (!(browser.webProgress.isLoadingDocument || browser.contentDocument.location == gExceptLocation)) { - dump("[wpdWindowLoaded] window finally loaded\n"); + Zotero.debug("[wpdWindowLoaded] window finally loaded"); gBrowserWindow.clearTimeout(gTimeOutID); gBrowserWindow.removeEventListener("load",wpdWindowLoaded,true); //dump("[wpdWindowLoaded] calling "+gCallback+"\n"); @@ -112,13 +112,13 @@ function wpdWindowLoaded() gBrowserWindow.setTimeout(gCallback, w); } } catch (ex) { - dump("[wpdWindowLoaded] EXCEPTION: "+ex+"\n"); + Zotero.debug("[wpdWindowLoaded] EXCEPTION: "+ex); } } function wpdTimeOut() { - dump("[wpdTimeOut] timeout triggered!\n"); + Zotero.debug("[wpdTimeOut] timeout triggered!"); gTimedOut=true; gBrowserWindow.clearTimeout(gTimeOutID); gBrowserWindow.removeEventListener("load",wpdWindowLoaded,true); @@ -134,7 +134,7 @@ function wpdLoadURL(aURI,aCallback) { try { gTimedOut=false; - dump("\n[wpdLoadURL] aURI: "+aURI+"\n"); + Zotero.debug("[wpdLoadURL] aURI: "+aURI); if (aURI=="") return; gBrowserWindow = wpdGetTopBrowserWindow(); gBrowserWindow.loadURI(aURI); @@ -143,7 +143,7 @@ function wpdLoadURL(aURI,aCallback) gTimeOutID=gBrowserWindow.setTimeout(wpdTimeOut, 60000); gBrowserWindow.addEventListener("load",wpdWindowLoaded, true); } catch (ex) { - dump("[wpdLoadURL] EXCEPTION: "+ex+"\n"); + Zotero.debug("[wpdLoadURL] EXCEPTION: "+ex); } } @@ -262,7 +262,7 @@ var wpdCommon = { var gUnicodeConverter = Components.classes['@mozilla.org/intl/scriptableunicodeconverter'].getService(Components.interfaces.nsIScriptableUnicodeConverter); gUnicodeConverter.charset = charset; } catch(ex) { - dump ("gUnicodeConverter EXCEPTION:"+ex+"\n"); + Zotero.debug ("gUnicodeConverter EXCEPTION:"+ex); } } @@ -270,7 +270,7 @@ var wpdCommon = { try { var gEntityConverter = Components.classes["@mozilla.org/intl/entityconverter;1"].createInstance(Components.interfaces.nsIEntityConverter); } catch(e) { - dump ("gEntityConverter EXCEPTION:"+ex+"\n"); + Zotero.debug ("gEntityConverter EXCEPTION:"+ex); } } @@ -326,7 +326,7 @@ var wpdCommon = { // add a line to the error list (displays a maximum of 15 errors) addError : function(aError) { - dump('ERROR: '+aError+"\n"); + Zotero.debug('ERROR: '+aError); if (this.errCount-1) return; // is the same this.errList = this.errList+aError+"\n"; @@ -337,7 +337,7 @@ var wpdCommon = { }, saveWebPage : function(aDestFile) { - dump("[saveWebPage] "+aDestFile+"\n"); + Zotero.debug("[saveWebPage] "+aDestFile); var nsIWBP = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist); var doc = window.content.document; var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); diff --git a/chrome/content/zotero/webpagedump/domsaver.js b/chrome/content/zotero/webpagedump/domsaver.js index cdb381e9bc..9266c4f2df 100644 --- a/chrome/content/zotero/webpagedump/domsaver.js +++ b/chrome/content/zotero/webpagedump/domsaver.js @@ -147,7 +147,7 @@ var wpdDOMSaver = { // initialize the properties (set document, URL, Directory, ...) init : function(fileName, document) { - dump("[wpdDOMSaver.init] ...\n"); + Zotero.debug("[wpdDOMSaver.init] ..."); this.name = ""; this.document = null; @@ -653,7 +653,7 @@ var wpdDOMSaver = { catch (e) { var msg = "Unable to access cssRules property of " + aCSS.href + " in wpdDOMSaver.processCSSRecursively()"; - dump("WebPageDump: "+msg+"\n\n", 2); + Zotero.debug("WebPageDump: "+msg, 2); Components.utils.reportError(msg); return ""; } @@ -928,7 +928,7 @@ var wpdDOMSaver = { // ("aFileName" is the filename without(!) extension) saveDocumentFile : function(aDocument,aFileName) { - dump("[wpdDOMSaver.saveDocumentFile]: "+aFileName+"\n"); + Zotero.debug("[wpdDOMSaver.saveDocumentFile]: "+aFileName); return this.download(this.currentURL,true) /* Wrapper file disabled by Dan S. for Zotero @@ -973,7 +973,7 @@ var wpdDOMSaver = { } else { CSSText = wpdCommon.ConvertFromUnicode16(CSSText,this.curCharacterSet); } - dump("[wpdDOMSaver.saveDocumentCSS]: "+this.currentDir+aFileName+".css\n"); + Zotero.debug("[wpdDOMSaver.saveDocumentCSS]: "+this.currentDir+aFileName+".css"); // write css file var CSSFile = this.currentDir + aFileName + ".css"; if (!wpdCommon.writeFile(CSSText, CSSFile)) @@ -990,7 +990,7 @@ var wpdDOMSaver = { // (".html" will be added) saveDocumentHTML: function(aDocument,aFileName) { - dump("[wpdDOMSaver.saveDocumentHTML]: "+this.currentDir+aFileName+".html\n"); + Zotero.debug("[wpdDOMSaver.saveDocumentHTML]: "+this.currentDir+aFileName+".html"); this.curDocument = aDocument; this.curCharacterSet = aDocument.characterSet; var charset=this.curCharacterSet; diff --git a/chrome/content/zotero/xpcom/attachments.js b/chrome/content/zotero/xpcom/attachments.js index 4b8216731b..125dc4dc8c 100644 --- a/chrome/content/zotero/xpcom/attachments.js +++ b/chrome/content/zotero/xpcom/attachments.js @@ -567,17 +567,8 @@ Zotero.Attachments = new function(){ if (mimeType === 'text/html' || mimeType === 'application/xhtml+xml') { var sync = true; - // Load WebPageDump code - Components.classes["@mozilla.org/moz/jssubscript-loader;1"] - .getService(Components.interfaces.mozIJSSubScriptLoader) - .loadSubScript("chrome://zotero/content/webpagedump/common.js"); - - Components.classes["@mozilla.org/moz/jssubscript-loader;1"] - .getService(Components.interfaces.mozIJSSubScriptLoader) - .loadSubScript("chrome://zotero/content/webpagedump/domsaver.js"); - - wpdDOMSaver.init(file.path, document); - wpdDOMSaver.saveHTMLDocument(); + Zotero.WebPageDump.wpdDOMSaver.init(file.path, document); + Zotero.WebPageDump.wpdDOMSaver.saveHTMLDocument(); attachmentItem.attachmentPath = this.getPath( file, Zotero.Attachments.LINK_MODE_IMPORTED_URL diff --git a/components/zotero-service.js b/components/zotero-service.js index 070c062738..71d2993a80 100644 --- a/components/zotero-service.js +++ b/components/zotero-service.js @@ -206,6 +206,15 @@ function makeZoteroContext(isConnector) { .getService(Ci.mozIJSSubScriptLoader) .loadSubScript("chrome://zotero/content/xpcom/citeproc.js", zContext.Zotero.CiteProc); + // Load WPD into Zotero.WebPageDump namespace + zContext.Zotero.WebPageDump = {"Zotero":zContext.Zotero}; + Components.classes["@mozilla.org/moz/jssubscript-loader;1"] + .getService(Components.interfaces.mozIJSSubScriptLoader) + .loadSubScript("chrome://zotero/content/webpagedump/common.js", zContext.Zotero.WebPageDump); + Components.classes["@mozilla.org/moz/jssubscript-loader;1"] + .getService(Components.interfaces.mozIJSSubScriptLoader) + .loadSubScript("chrome://zotero/content/webpagedump/domsaver.js", zContext.Zotero.WebPageDump); + // Load remaining xpcomFiles for (var i=1; i Date: Sun, 5 Feb 2012 18:58:15 -0500 Subject: [PATCH 49/64] Fix WPD leak by loading into a local scope --- chrome/content/zotero/xpcom/attachments.js | 13 +++++++++++-- components/zotero-service.js | 9 --------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/chrome/content/zotero/xpcom/attachments.js b/chrome/content/zotero/xpcom/attachments.js index 125dc4dc8c..0b0796cc2a 100644 --- a/chrome/content/zotero/xpcom/attachments.js +++ b/chrome/content/zotero/xpcom/attachments.js @@ -567,8 +567,17 @@ Zotero.Attachments = new function(){ if (mimeType === 'text/html' || mimeType === 'application/xhtml+xml') { var sync = true; - Zotero.WebPageDump.wpdDOMSaver.init(file.path, document); - Zotero.WebPageDump.wpdDOMSaver.saveHTMLDocument(); + // Load WebPageDump code + var wpd = {"Zotero":Zotero}; + Components.classes["@mozilla.org/moz/jssubscript-loader;1"] + .getService(Components.interfaces.mozIJSSubScriptLoader) + .loadSubScript("chrome://zotero/content/webpagedump/common.js", wpd); + Components.classes["@mozilla.org/moz/jssubscript-loader;1"] + .getService(Components.interfaces.mozIJSSubScriptLoader) + .loadSubScript("chrome://zotero/content/webpagedump/domsaver.js", wpd); + + wpd.wpdDOMSaver.init(file.path, document); + wpd.wpdDOMSaver.saveHTMLDocument(); attachmentItem.attachmentPath = this.getPath( file, Zotero.Attachments.LINK_MODE_IMPORTED_URL diff --git a/components/zotero-service.js b/components/zotero-service.js index 71d2993a80..070c062738 100644 --- a/components/zotero-service.js +++ b/components/zotero-service.js @@ -206,15 +206,6 @@ function makeZoteroContext(isConnector) { .getService(Ci.mozIJSSubScriptLoader) .loadSubScript("chrome://zotero/content/xpcom/citeproc.js", zContext.Zotero.CiteProc); - // Load WPD into Zotero.WebPageDump namespace - zContext.Zotero.WebPageDump = {"Zotero":zContext.Zotero}; - Components.classes["@mozilla.org/moz/jssubscript-loader;1"] - .getService(Components.interfaces.mozIJSSubScriptLoader) - .loadSubScript("chrome://zotero/content/webpagedump/common.js", zContext.Zotero.WebPageDump); - Components.classes["@mozilla.org/moz/jssubscript-loader;1"] - .getService(Components.interfaces.mozIJSSubScriptLoader) - .loadSubScript("chrome://zotero/content/webpagedump/domsaver.js", zContext.Zotero.WebPageDump); - // Load remaining xpcomFiles for (var i=1; i Date: Sun, 5 Feb 2012 19:37:24 -0500 Subject: [PATCH 50/64] Update to citeproc-js 1.0.277 and switch to DOM XML, because Firefox's E4X support gets more unstable as time goes on --- chrome/content/zotero/xpcom/citeproc.js | 570 ++++++++++++++++-------- 1 file changed, 384 insertions(+), 186 deletions(-) diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js index 93544e40d4..ad6bcf125b 100644 --- a/chrome/content/zotero/xpcom/citeproc.js +++ b/chrome/content/zotero/xpcom/citeproc.js @@ -126,7 +126,7 @@ var CSL = { MARK_TRAILING_NAMES: true, POSITION_TEST_VARS: ["position", "first-reference-note-number", "near-note"], AREAS: ["citation", "citation_sort", "bibliography", "bibliography_sort"], - MULTI_FIELDS: ["event", "publisher", "publisher-place", "event-place", "title", "container-title", "collection-title", "authority","edition","genre","title-short"], + MULTI_FIELDS: ["event", "publisher", "publisher-place", "event-place", "title", "container-title", "collection-title", "authority","edition","genre","title-short","subjurisdiction","medium"], CITE_FIELDS: ["first-reference-note-number", "locator", "locator-revision"], MINIMAL_NAME_FIELDS: ["literal", "family"], SWAPPING_PUNCTUATION: [".", "!", "?", ":",","], @@ -463,217 +463,361 @@ CSL.debug = function (str) { CSL.error = function (str) { Zotero.debug("CSL error: " + str); }; -var CSL_E4X = function () {}; -CSL_E4X.prototype.clean = function (xml) { +function DOMParser() { + return Components.classes["@mozilla.org/xmlextras/domparser;1"] + .createInstance(Components.interfaces.nsIDOMParser); +}; +var CSL_IS_IE; +var CSL_CHROME = function () { + if ("undefined" == typeof DOMParser || CSL_IS_IE) { + CSL_IS_IE = true; + DOMParser = function() {}; + DOMParser.prototype.parseFromString = function(str, contentType) { + if ("undefined" != typeof ActiveXObject) { + var xmldata = new ActiveXObject('MSXML.DomDocument'); + xmldata.async = false; + xmldata.loadXML(str); + return xmldata; + } else if ("undefined" != typeof XMLHttpRequest) { + var xmldata = new XMLHttpRequest; + if (!contentType) { + contentType = 'text/xml'; + } + xmldata.open('GET', 'data:' + contentType + ';charset=utf-8,' + encodeURIComponent(str), false); + if(xmldata.overrideMimeType) { + xmldata.overrideMimeType(contentType); + } + xmldata.send(null); + return xmldata.responseXML; + } + }; + this.hasAttributes = function (node) { + var ret; + if (node.attributes && node.attributes.length) { + ret = true; + } else { + ret = false; + } + return ret; + }; + } else { + this.hasAttributes = function (node) { + var ret; + if (node.attributes && node.attributes.length) { + ret = true; + } else { + ret = false; + } + return ret; + }; + } + this.importNode = function (doc, srcElement) { + if ("undefined" == typeof doc.importNode) { + var ret = this._importNode(doc, srcElement, true); + } else { + var ret = doc.importNode(srcElement, true); + } + return ret; + }; + this._importNode = function(doc, node, allChildren) { + switch (node.nodeType) { + case 1: + var newNode = doc.createElement(node.nodeName); + if (node.attributes && node.attributes.length > 0) + for (var i = 0, il = node.attributes.length; i < il;) + newNode.setAttribute(node.attributes[i].nodeName, node.getAttribute(node.attributes[i++].nodeName)); + if (allChildren && node.childNodes && node.childNodes.length > 0) + for (var i = 0, il = node.childNodes.length; i < il;) + newNode.appendChild(this._importNode(doc, node.childNodes[i++], allChildren)); + return newNode; + break; + case 3: + case 4: + case 8: + } + }; + this.parser = new DOMParser(); + var str = ""; + var inst_doc = this.parser.parseFromString(str, "text/xml"); + var inst_node = inst_doc.getElementsByTagName("institution"); + this.institution = inst_node.item(0); + var inst_part_node = inst_doc.getElementsByTagName("institution-part"); + this.institutionpart = inst_part_node.item(0); + this.ns = "http://purl.org/net/xbiblio/csl"; +}; +CSL_CHROME.prototype.clean = function (xml) { xml = xml.replace(/<\?[^?]+\?>/g, ""); xml = xml.replace(/]+>/g, ""); - xml = xml.replace(/^\s+/g, ""); - xml = xml.replace(/\s+$/g, ""); + xml = xml.replace(/^\s+/, ""); + xml = xml.replace(/\s+$/, ""); + xml = xml.replace(/^\n*/, ""); return xml; }; -CSL_E4X.prototype.getStyleId = function (myxml) { +CSL_CHROME.prototype.getStyleId = function (myxml) { var text = ""; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - var node = myxml..id; - if (node && node.length()) { - text = node[0].toString(); + var node = myxml.getElementsByTagName("id"); + if (node && node.length) { + node = node.item(0); + } + if (node) { + text = node.textContent; + } + if (!text) { + text = node.innerText; + } + if (!text) { + text = node.innerHTML; } return text; }; -CSL_E4X.prototype.children = function (myxml) { - return myxml.children(); +CSL_CHROME.prototype.children = function (myxml) { + var children, pos, len, ret; + if (myxml) { + ret = []; + children = myxml.childNodes; + for (pos = 0, len = children.length; pos < len; pos += 1) { + if (children[pos].nodeName != "#text") { + ret.push(children[pos]); + } + } + return ret; + } else { + return []; + } }; -CSL_E4X.prototype.nodename = function (myxml) { - var ret = myxml.localName(); +CSL_CHROME.prototype.nodename = function (myxml) { + var ret = myxml.nodeName; return ret; }; -CSL_E4X.prototype.attributes = function (myxml) { - var ret, attrs, attr, key, xml; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); +CSL_CHROME.prototype.attributes = function (myxml) { + var ret, attrs, attr, key, xml, pos, len; ret = new Object(); - attrs = myxml.attributes(); - for each (attr in attrs) { - key = "@" + attr.localName(); - if (key.slice(0,5) == "@e4x_") { - continue; + if (myxml && this.hasAttributes(myxml)) { + attrs = myxml.attributes; + for (pos = 0, len=attrs.length; pos < len; pos += 1) { + attr = attrs[pos]; + ret["@" + attr.name] = attr.value; } - ret[key] = attr.toString(); } return ret; }; -CSL_E4X.prototype.content = function (myxml) { - return myxml.toString(); +CSL_CHROME.prototype.content = function (myxml) { + var ret; + if ("undefined" != typeof myxml.textContent) { + ret = myxml.textContent; + } else if ("undefined" != typeof myxml.innerText) { + ret = myxml.innerText; + } else { + ret = myxml.txt; + } + return ret; }; -CSL_E4X.prototype.namespace = { +CSL_CHROME.prototype.namespace = { "xml":"http://www.w3.org/XML/1998/namespace" } -CSL_E4X.prototype.numberofnodes = function (myxml) { - return myxml.length(); +CSL_CHROME.prototype.numberofnodes = function (myxml) { + if (myxml) { + return myxml.length; + } else { + return 0; + } }; -CSL_E4X.prototype.getAttributeName = function (attr) { - var ret = attr.localName(); +CSL_CHROME.prototype.getAttributeName = function (attr) { + var ret = attr.name; return ret; } -CSL_E4X.prototype.getAttributeValue = function (myxml,name,namespace) { - var xml; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - if (namespace) { - var ns = new Namespace(this.namespace[namespace]); - var ret = myxml.@ns::[name].toString(); +CSL_CHROME.prototype.getAttributeValue = function (myxml,name,namespace) { + var ret = ""; + if (myxml && this.hasAttributes(myxml) && myxml.getAttribute(name)) { + ret = myxml.getAttribute(name); + } + return ret; +} +CSL_CHROME.prototype.getNodeValue = function (myxml,name) { + var ret = ""; + if (name){ + var vals = myxml.getElementsByTagName(name); + if (vals.length > 0) { + if ("undefined" != typeof vals[0].textContent) { + ret = vals[0].textContent; + } else if ("undefined" != typeof vals[0].innerText) { + ret = vals[0].innerText; + } else { + ret = vals[0].text; + } + } } else { - if (name) { - var ret = myxml.attribute(name).toString(); + ret = myxml; + } + if (ret && ret.childNodes && (ret.childNodes.length == 0 || (ret.childNodes.length == 1 && ret.firstChild.nodeName == "#text"))) { + if ("undefined" != typeof ret.textContent) { + ret = ret.textContent; + } else if ("undefined" != typeof ret.innerText) { + ret = ret.innerText; } else { - var ret = myxml.toString(); + ret = ret.text; } } return ret; } -CSL_E4X.prototype.getNodeValue = function (myxml,name) { - var xml; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - if (name){ - return myxml[name].toString(); - } else { - return myxml.toString(); +CSL_CHROME.prototype.setAttributeOnNodeIdentifiedByNameAttribute = function (myxml,nodename,partname,attrname,val) { + var pos, len, xml, nodes, node; + if (attrname.slice(0,1) === '@'){ + attrname = attrname.slice(1); + } + nodes = myxml.getElementsByTagName(nodename); + for (pos = 0, len = nodes.length; pos < len; pos += 1) { + node = nodes[pos]; + if (node.getAttribute("name") != partname) { + continue; + } + node.setAttribute(attrname, val); } } -CSL_E4X.prototype.setAttributeOnNodeIdentifiedByNameAttribute = function (myxml,nodename,attrname,attr,val) { - var xml; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - if (attr[0] != '@'){ - attr = '@'+attr; +CSL_CHROME.prototype.deleteNodeByNameAttribute = function (myxml,val) { + var pos, len, node, nodes; + nodes = myxml.childNodes; + for (pos = 0, len = nodes.length; pos < len; pos += 1) { + node = nodes[pos]; + if (!node || node.nodeType == node.TEXT_NODE) { + continue; + } + if (this.hasAttributes(node) && node.getAttribute("name") == val) { + myxml.removeChild(nodes[pos]); + } } - myxml[nodename].(@name == attrname)[0][attr] = val; } -CSL_E4X.prototype.deleteNodeByNameAttribute = function (myxml,val) { - delete myxml.*.(@name==val)[0]; +CSL_CHROME.prototype.deleteAttribute = function (myxml,attr) { + myxml.removeAttribute(attr); } -CSL_E4X.prototype.deleteAttribute = function (myxml,attr) { - delete myxml["@"+attr]; +CSL_CHROME.prototype.setAttribute = function (myxml,attr,val) { + var attribute; + if (!myxml.ownerDocument) { + myxml = myxml.firstChild; + } + attribute = myxml.ownerDocument.createAttribute(attr); + myxml.setAttribute(attr, val); + return false; } -CSL_E4X.prototype.setAttribute = function (myxml,attr,val) { - myxml['@'+attr] = val; +CSL_CHROME.prototype.nodeCopy = function (myxml) { + var cloned_node = myxml.cloneNode(true); + return cloned_node; } -CSL_E4X.prototype.nodeCopy = function (myxml) { - return myxml.copy(); -} -CSL_E4X.prototype.getNodesByName = function (myxml,name,nameattrval) { - var xml, ret; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - ret = myxml.descendants(name); - if (nameattrval){ - ret = ret.(@name == nameattrval); +CSL_CHROME.prototype.getNodesByName = function (myxml,name,nameattrval) { + var ret, nodes, node, pos, len; + ret = []; + nodes = myxml.getElementsByTagName(name); + for (pos = 0, len = nodes.length; pos < len; pos += 1) { + node = nodes.item(pos); + if (nameattrval && !(this.hasAttributes(node) && node.getAttribute("name") == nameattrval)) { + continue; + } + ret.push(node); } return ret; } -CSL_E4X.prototype.nodeNameIs = function (myxml,name) { - var xml; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - if (myxml.localName() && myxml.localName().toString() == name){ +CSL_CHROME.prototype.nodeNameIs = function (myxml,name) { + if (name == myxml.nodeName) { return true; } return false; } -CSL_E4X.prototype.makeXml = function (myxml) { - var xml; - XML.ignoreComments = true; - XML.ignoreProcessingInstructions = true; - XML.ignoreWhitespace = true; - XML.prettyPrinting = true; - XML.prettyIndent = 2; - if ("xml" == typeof myxml){ - myxml = myxml.toXMLString(); - }; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - xml = new Namespace("http://www.w3.org/XML/1998/namespace"); - if (myxml){ - myxml = myxml.replace(/\s*<\?[^>]*\?>\s*\n*/g, ""); - myxml = new XML(myxml); - } else { - myxml = new XML(); +CSL_CHROME.prototype.makeXml = function (myxml) { + var ret, topnode; + if (!myxml) { + myxml = ""; } - return myxml; + myxml = myxml.replace(/\s*<\?[^>]*\?>\s*\n*/g, ""); + var nodetree = this.parser.parseFromString(myxml, "application/xml"); + return nodetree.firstChild; }; -CSL_E4X.prototype.insertChildNodeAfter = function (parent,node,pos,datexml) { +CSL_CHROME.prototype.insertChildNodeAfter = function (parent,node,pos,datexml) { var myxml, xml; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - myxml = XML(datexml.toXMLString()); - parent.insertChildAfter(node,myxml); - delete parent.*[pos]; - return parent; -}; -CSL_E4X.prototype.insertPublisherAndPlace = function(myxml) { - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - for each (var node in myxml..group) { - if (node.children().length() === 2) { - var twovars = []; - for each (var child in node.children()) { - if (child.children().length() === 0 -) { - twovars.push(child.@variable.toString()); - if (child.@suffix.toString() - || child.@prefix.toString()) { - twovars = []; - break; - } - } + myxml = this.importNode(node.ownerDocument, datexml); + parent.replaceChild(myxml, node); + return parent; + }; +CSL_CHROME.prototype.insertPublisherAndPlace = function(myxml) { + var group = myxml.getElementsByTagName("group"); + for (var i = 0, ilen = group.length; i < ilen; i += 1) { + var node = group.item(i); + if (node.childNodes.length === 2) { + var twovars = []; + for (var j = 0, jlen = 2; j < jlen; j += 1) { + var child = node.childNodes.item(j); + if (child.childNodes.length === 0) { + twovars.push(child.getAttribute('variable')); + if (child.getAttribute('suffix') + || child.getAttribute('prefix')) { + twovars = []; + break; } - if (twovars.indexOf("publisher") > -1 && twovars.indexOf("publisher-place") > -1) { - node["@has-publisher-and-publisher-place"] = "true"; } } - } -}; -CSL_E4X.prototype.addMissingNameNodes = function(myxml) { - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - for each (node in myxml..names) { - if ("xml" == typeof node && node.parent().localName() !== "substitute" && node.elements("name").length() === 0) { - var name = ; - node.appendChild(name); + if (twovars.indexOf("publisher") > -1 && twovars.indexOf("publisher-place") > -1) { + node.setAttribute('has-publisher-and-publisher-place', true); + } } } }; -CSL_E4X.prototype.addInstitutionNodes = function(myxml) { - var institution_long, institution_short, name_part, children, node, xml; - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - for each (node in myxml..names) { - if ("xml" == typeof node && node.elements("name").length() > 0) { - if (node.institution.length() === 0) { - institution_long = - institution_part = ; - node.name += institution_long; - node.institution.@delimiter = node.name.@delimiter.toString(); - if (node.name.@and.toString()) { - node.institution.@and = "text"; +CSL_CHROME.prototype.addMissingNameNodes = function(myxml) { + var nameslist = myxml.getElementsByTagName("names"); + for (var i = 0, ilen = nameslist.length; i < ilen; i += 1) { + var names = nameslist.item(i); + var namelist = names.getElementsByTagName("name"); + if ((!namelist || namelist.length === 0) + && names.parentNode.tagName.toLowerCase() !== "substitute") { + var doc = names.ownerDocument; + var name = doc.createElement("name"); + names.appendChild(name); + } + } +}; +CSL_CHROME.prototype.addInstitutionNodes = function(myxml) { + var names, thenames, institution, theinstitution, name, thename, xml, pos, len; + names = myxml.getElementsByTagName("names"); + for (pos = 0, len = names.length; pos < len; pos += 1) { + thenames = names.item(pos); + name = thenames.getElementsByTagName("name"); + if (name.length == 0) { + continue; + } + institution = thenames.getElementsByTagName("institution"); + if (institution.length == 0) { + theinstitution = this.importNode(myxml.ownerDocument, this.institution); + theinstitutionpart = theinstitution.getElementsByTagName("institution-part").item(0); + thename = name.item(0); + thenames.insertBefore(theinstitution, thename.nextSibling); + for (var j = 0, jlen = CSL.INSTITUTION_KEYS.length; j < jlen; j += 1) { + var attrname = CSL.INSTITUTION_KEYS[j]; + var attrval = thename.getAttribute(attrname); + if (attrval) { + theinstitutionpart.setAttribute(attrname, attrval); } - node.institution[0].appendChild(institution_part); - for each (var attr in CSL.INSTITUTION_KEYS) { - if (node.name.@[attr].toString()) { - node.institution['institution-part'][0].@[attr] = node.name.@[attr].toString(); - } - } - for each (var namepartnode in node.name['name-part']) { - if (namepartnode.@name.toString() === 'family') { - for each (var attr in CSL.INSTITUTION_KEYS) { - if (namepartnode.@[attr].toString()) { - node.institution['institution-part'][0].@[attr] = namepartnode.@[attr].toString(); - } + } + var nameparts = thename.getElementsByTagName("name-part"); + for (var j = 0, jlen = nameparts.length; j < jlen; j += 1) { + if ('family' === nameparts[j].getAttribute('name')) { + for (var k = 0, klen = CSL.INSTITUTION_KEYS.length; k < klen; k += 1) { + var attrname = CSL.INSTITUTION_KEYS[k]; + var attrval = nameparts[j].getAttribute(attrname); + if (attrval) { + theinstitutionpart.setAttribute(attrname, attrval); } - } + } } } } } }; -CSL_E4X.prototype.flagDateMacros = function(myxml) { - default xml namespace = "http://purl.org/net/xbiblio/csl"; with({}); - for each (node in myxml..macro) { - if (node..date.length()) { - node.@['macro-has-date'] = 'true'; +CSL_CHROME.prototype.flagDateMacros = function(myxml) { + var pos, len, thenode, thedate; + nodes = myxml.getElementsByTagName("macro"); + for (pos = 0, len = nodes.length; pos < len; pos += 1) { + thenode = nodes.item(pos); + thedate = thenode.getElementsByTagName("date"); + if (thedate.length) { + thenode.setAttribute('macro-has-date', 'true'); } } }; @@ -1989,7 +2133,7 @@ CSL.DateParser = function () { }; CSL.Engine = function (sys, style, lang, forceLang) { var attrs, langspec, localexml, locale; - this.processor_version = "1.0.272"; + this.processor_version = "1.0.277"; this.csl_version = "1.0"; this.sys = sys; this.sys.xml = new CSL.System.Xml.Parsing(); @@ -2309,18 +2453,34 @@ CSL.Engine.prototype.retrieveItem = function (id) { if (this.opt.development_extensions.field_hack && Item.note) { m = Item.note.match(CSL.NOTE_FIELDS_REGEXP); if (m) { + var names = {}; for (pos = 0, len = m.length; pos < len; pos += 1) { mm = m[pos].match(CSL.NOTE_FIELD_REGEXP); - if (!Item[mm[1]] || true) { - if (CSL.DATE_VARIABLES.indexOf(mm[1]) > -1) { - Item[mm[1]] = {raw:mm[2]}; - } else { - Item[mm[1]] = mm[2].replace(/^\s+/, "").replace(/\s+$/, ""); + if (!Item[mm[1]] && CSL.DATE_VARIABLES.indexOf(mm[1]) > -1) { + Item[mm[1]] = {raw:mm[2]}; + } else if (!Item[mm[1]] && CSL.NAME_VARIABLES.indexOf(mm[1]) > -1) { + if (!Item[mm[1]]) { + Item[mm[1]] = [] } + var lst = mm[2].split(/\s*\|\|\s*/) + if (lst.length === 1) { + Item[mm[1]].push({family:lst[0],isInstitution:true}); + } else if (lst.length === 2) { + Item[mm[1]].push({family:lst[0],given:lst[1]}); + } + } else if (!Item[mm[1]] || mm[1] === "type") { + Item[mm[1]] = mm[2].replace(/^\s+/, "").replace(/\s+$/, ""); } + Item.note.replace(CSL.NOTE_FIELD_REGEXP, "") } } } + if (this.opt.development_extensions.jurisdiction_subfield && Item.jurisdiction) { + var subjurisdictions = Item.jurisdiction.split(";"); + if (subjurisdictions.length > 1) { + Item.subjurisdiction = subjurisdictions.slice(0,2).join(";"); + } + } for (var i = 1, ilen = CSL.DATE_VARIABLES.length; i < ilen; i += 1) { var dateobj = Item[CSL.DATE_VARIABLES[i]]; if (dateobj) { @@ -2547,6 +2707,7 @@ CSL.Engine.Opt = function () { this.development_extensions.clean_up_csl_flaws = true; this.development_extensions.flip_parentheses_to_braces = true; this.development_extensions.parse_section_variable = true; + this.development_extensions.jurisdiction_subfield = true; this.gender = {}; this['cite-lang-prefs'] = { persons:['orig'], @@ -3315,7 +3476,7 @@ CSL.Engine.prototype.processCitationCluster = function (citation, citationsPre, var items = citations[(j - 1)].sortedItems; var useme = false; if ((citations[(j - 1)].sortedItems[0][1].id == item[1].id && citations[j - 1].properties.noteIndex >= (citations[j].properties.noteIndex - 1)) || citations[(j - 1)].sortedItems[0][1].id == this.registry.registry[item[1].id].parallel) { - if (citationsInNote[citations[j - 1].properties.noteIndex] === 1) { + if (citationsInNote[citations[j - 1].properties.noteIndex] === 1 || citations[j - 1].properties.noteIndex === 0) { useme = true; } } @@ -6630,11 +6791,13 @@ CSL.evaluateLabel = function (node, state, Item, item) { return CSL.castLabel(state, node, myterm, plural); }; CSL.evaluateStringPluralism = function (str) { - if (str && str.match(/(?:[0-9],\s*[0-9]|\s+and\s+|&|[0-9]\s*[\-\u2013]\s*[0-9])/)) { - return 1; - } else { - return 0; + if (str) { + var m = str.match(/(?:[0-9],\s*[0-9]|\s+and\s+|&|([0-9]+)\s*[\-\u2013]\s*([0-9]+))/) + if (m && (!m[1] || parseInt(m[1]) < parseInt(m[2]))) { + return 1 + } } + return 0; }; CSL.castLabel = function (state, node, term, plural, mode) { var ret = state.getTerm(term, node.strings.form, plural, false, mode); @@ -7091,7 +7254,6 @@ CSL.Node.number = { for (var i = 0, ilen = values.length; i < ilen; i += 1) { newstr += values[i][1]; } - newstr = state.fun.page_mangler(newstr); } if (newstr && !newstr.match(/^[-.\u20130-9]+$/)) { state.output.append(newstr, this); @@ -7339,6 +7501,12 @@ CSL.Node.text = { if (item && item[this.variables[0]]) { var locator = "" + item[this.variables[0]]; locator = locator.replace(/--*/g,"\u2013"); + var m = locator.match(/^([0-9]+)\s*\u2013\s*([0-9]+)$/) + if (m) { + if (parseInt(m[1]) >= parseInt(m[2])) { + locator = m[1] + "-" + m[2]; + } + } state.output.append(locator, this, false, false, true); } }; @@ -7375,8 +7543,8 @@ CSL.Node.text = { }; } else if (this.variables_real[0] === "hereinafter") { func = function (state, Item) { - var hereinafter_key = state.transform.getHereinafter(Item); - var value = state.transform.abbrevs["default"].hereinafter[hereinafter_key]; + var hereinafter_info = state.transform.getHereinafter(Item); + var value = state.transform.abbrevs[hereinafter_info[0]].hereinafter[hereinafter_info[1]]; if (value) { state.tmp.group_context.value()[2] = true; state.output.append(value, this); @@ -7399,6 +7567,7 @@ CSL.Node.text = { if (value) { if ((Item.type === "bill" || Item.type === "legislation") && state.opt.development_extensions.parse_section_variable) { + value = "" + value; var m = value.match(CSL.STATUTE_SUBDIV_GROUPED_REGEX); if (m) { var splt = value.split(CSL.STATUTE_SUBDIV_PLAIN_REGEX); @@ -7605,8 +7774,8 @@ CSL.Attributes["@variable"] = function (state, arg) { this.variables.push(variables[pos]); } if ("hereinafter" === variables[pos] && state.sys.getAbbreviation) { - var hereinafter_key = state.transform.getHereinafter(Item); - state.transform.loadAbbreviation("default", "hereinafter", hereinafter_key); + var hereinafter_info = state.transform.getHereinafter(Item); + state.transform.loadAbbreviation(hereinafter_info[0], "hereinafter", hereinafter_info[1]); } if (state.tmp.can_block_substitute) { state.tmp.done_vars.push(variables[pos]); @@ -7712,9 +7881,9 @@ CSL.Attributes["@variable"] = function (state, arg) { myitem = item; } if (variable === "hereinafter" && state.sys.getAbbreviation) { - var hereinafter_key = state.transform.getHereinafter(myitem); - state.transform.loadAbbreviation("default", "hereinafter", hereinafter_key); - if (state.transform.abbrevs["default"].hereinafter[hereinafter_key]) { + var hereinafter_info = state.transform.getHereinafter(myitem); + state.transform.loadAbbreviation(hereinafter_info[0], "hereinafter", hereinafter_info[1]); + if (state.transform.abbrevs[hereinafter_info[0]].hereinafter[hereinafter_info[1]]) { x = true } } else if (myitem[variable]) { @@ -7887,7 +8056,10 @@ CSL.Attributes["@is-numeric"] = function (state, arg) { state.processNumber(false, Item, variables[pos]); } } - if (!state.tmp.shadow_numbers[variables[pos]].numeric) { + if (!state.tmp.shadow_numbers[variables[pos]].numeric + && !(variables[pos] === 'title' + && Item[variables[pos]] + && Item[variables[pos]].slice(-1) === "" + parseInt(Item[variables[pos]].slice(-1)))) { numeric = false; break; } @@ -8405,13 +8577,13 @@ CSL.Transform = function (state) { if (!myabbrev_family) { return basevalue; } - if (["publisher-place", "event-place"].indexOf(myabbrev_family) > -1) { + if (["publisher-place", "event-place", "subjurisdiction"].indexOf(myabbrev_family) > -1) { myabbrev_family = "place"; } if (["publisher", "authority"].indexOf(myabbrev_family) > -1) { myabbrev_family = "institution-part"; } - if (["genre", "event"].indexOf(myabbrev_family) > -1) { + if (["genre", "event", "medium"].indexOf(myabbrev_family) > -1) { myabbrev_family = "title"; } if (["title-short"].indexOf(myabbrev_family) > -1) { @@ -8667,15 +8839,16 @@ CSL.Transform = function (state) { hereinafter_metadata.push("date:" + date); } } + var jurisdiction = "default"; if (Item.jurisdiction) { - hereinafter_metadata.push("jurisdiction:" + Item.jurisdiction); + jurisdiction = Item.jurisdiction; } hereinafter_metadata = hereinafter_metadata.join(", "); if (hereinafter_metadata) { hereinafter_metadata = " [" + hereinafter_metadata + "]"; } var hereinafter_key = hereinafter_author_title.join(", ") + hereinafter_metadata; - return hereinafter_key; + return [jurisdiction, hereinafter_key]; } this.getHereinafter = getHereinafter; }; @@ -9787,11 +9960,11 @@ CSL.Util.Ordinalizer.prototype.format = function (num, gender) { str = num.toString(); if ((num / 10) % 10 === 1 || (num > 10 && num < 20)) { str += this.suffixes[gender][3]; - } else if (num % 10 === 1) { + } else if (num % 10 === 1 && num % 100 !== 11) { str += this.suffixes[gender][0]; - } else if (num % 10 === 2) { + } else if (num % 10 === 2 && num % 100 !== 12) { str += this.suffixes[gender][1]; - } else if (num % 10 === 3) { + } else if (num % 10 === 3 && num % 100 !== 13) { str += this.suffixes[gender][2]; } else { str += this.suffixes[gender][3]; @@ -9847,7 +10020,9 @@ CSL.Engine.prototype.processNumber = function (node, ItemObject, variable) { if (num.slice(0, 1) === '"' && num.slice(-1) === '"') { num = num.slice(1, -1); } - num = num.replace(/\s*\-\s*/, "\u2013", "g"); + if (num.indexOf("&") > -1 || num.indexOf("--") > -1) { + this.tmp.shadow_numbers[variable].plural = 1; + } if (this.variable === "page-first") { m = num.split(/\s*(?:&|,|-)\s*/); if (m) { @@ -9857,8 +10032,8 @@ CSL.Engine.prototype.processNumber = function (node, ItemObject, variable) { } } } - var lst = num.split(/(?:,\s+|\s*[\-\u2013]\s*|\s*&\s*)/); - var m = num.match(/(,\s+|\s*[\-\u2013]\s*|\s*&\s*)/g); + var lst = num.split(/(?:,\s+|\s*\\*[\-\u2013]+\s*|\s*&\s*)/); + var m = num.match(/(,\s+|\s*\\*[\-\u2013]+\s*|\s*&\s*)/g); var elements = []; for (var i = 0, ilen = lst.length - 1; i < ilen; i += 1) { elements.push(lst[i]); @@ -9872,7 +10047,30 @@ CSL.Engine.prototype.processNumber = function (node, ItemObject, variable) { if (odd) { if (elements[i]) { if (elements[i].match(/[0-9]/)) { - count = count + 1; + if (elements[i - 1] && elements[i - 1].match(/^\s*\\*[\-\u2013]+\s*$/)) { + var middle = this.tmp.shadow_numbers[variable].values.slice(-1); + if (middle[0][1].indexOf("\\") == -1) { + if (elements[i - 2] && ("" + elements[i - 2]).match(/[0-9]+$/) + && elements[i].match(/^[0-9]+/) + && parseInt(elements[i - 2]) < parseInt(elements[i].replace(/[^0-9].*/,""))) { + var start = this.tmp.shadow_numbers[variable].values.slice(-2); + middle[0][1] = "\u2013"; + if (this.opt["page-range-format"] ) { + var newstr = this.fun.page_mangler(start[0][1] +"-"+elements[i]); + newstr = newstr.split(/\u2013/); + elements[i] = newstr[1]; + } + count = count + 1; + } + if (middle[0][1].indexOf("--") > -1) { + middle[0][1] = middle[0][1].replace(/--*/, "\u2013"); + } + } else { + middle[0][1] = middle[0][1].replace(/\\/, "", "g"); + } + } else { + count = count + 1; + } } var subelements = elements[i].split(/\s+/); for (var j = 0, jlen = subelements.length; j < jlen; j += 1) { @@ -9917,7 +10115,7 @@ CSL.Engine.prototype.processNumber = function (node, ItemObject, variable) { this.tmp.shadow_numbers[variable].numeric = true; } else { this.tmp.shadow_numbers[variable].numeric = numeric; - } + } if (count > 1) { this.tmp.shadow_numbers[variable].plural = 1; } From c98713032380e01d8e6a4e3434173555f374e849 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 6 Feb 2012 02:30:08 -0500 Subject: [PATCH 51/64] Tag debugging that actually works --- chrome/content/zotero/xpcom/data/tag.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/data/tag.js b/chrome/content/zotero/xpcom/data/tag.js index 508b657700..cf56eb3751 100644 --- a/chrome/content/zotero/xpcom/data/tag.js +++ b/chrome/content/zotero/xpcom/data/tag.js @@ -359,7 +359,17 @@ Zotero.Tag.prototype.save = function (full) { // TEMP catch (e) { var sql = "SELECT * FROM tags"; - Zotero.debug(Zotero.DB.query(sql)); + var tags = Zotero.DB.query(sql); + for each(var tag in tags) { + Zotero.debug('------'); + Zotero.debug(tag.tagID); + Zotero.debug(tag.libraryID); + Zotero.debug(tag.name); + Zotero.debug(tag.type); + Zotero.debug(tag.dateAdded); + Zotero.debug(tag.dateModified); + Zotero.debug(tag.clientDateModified); + } throw (e); } } From 84fe2728dae56d92d3f62b7896fb07cdbf63538e Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 6 Feb 2012 02:38:53 -0500 Subject: [PATCH 52/64] Replace setAttribute("oncommand", ...) with addEventListener() For AMO validator --- chrome/content/zotero/standalone/standalone.js | 3 ++- chrome/content/zotero/zoteroPane.js | 6 ++++-- chrome/content/zotero/zoteroPane.xul | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/chrome/content/zotero/standalone/standalone.js b/chrome/content/zotero/standalone/standalone.js index 6fac216219..1c9bea03ac 100644 --- a/chrome/content/zotero/standalone/standalone.js +++ b/chrome/content/zotero/standalone/standalone.js @@ -103,8 +103,9 @@ const ZoteroStandalone = new function() { for (var i = 0; i