From 6ff0ea6d186b3c5158f87cd522ec72d648eb2258 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sat, 30 Nov 2013 01:55:48 -0500 Subject: [PATCH 01/79] Add -zoterodebug command-line flag to force debug output This should make it much easier to debug startup errors, particularly in Standalone. This also adds a general mechanism to set Zotero initialization options via command-line flags. --- chrome/content/zotero/xpcom/debug.js | 4 ++-- chrome/content/zotero/xpcom/zotero.js | 8 ++++++-- components/zotero-service.js | 24 ++++++++++++++---------- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/chrome/content/zotero/xpcom/debug.js b/chrome/content/zotero/xpcom/debug.js index 97ff76f382..786ed33927 100644 --- a/chrome/content/zotero/xpcom/debug.js +++ b/chrome/content/zotero/xpcom/debug.js @@ -27,8 +27,8 @@ Zotero.Debug = new function () { var _console, _stackTrace, _store, _level, _time, _lastTime, _output = []; - this.init = function () { - _console = Zotero.Prefs.get('debug.log'); + this.init = function (forceDebugLog) { + _console = forceDebugLog || Zotero.Prefs.get('debug.log'); _store = Zotero.Prefs.get('debug.store'); if (_store) { Zotero.Prefs.set('debug.store', false); diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index d3f6cc8294..dd777d21d7 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -218,14 +218,18 @@ Components.utils.import("resource://gre/modules/Services.jsm"); /** * Initialize the extension */ - function init() { + function init(options) { if (this.initialized || this.skipLoading) { return false; } // Load in the preferences branch for the extension Zotero.Prefs.init(); - Zotero.Debug.init(); + Zotero.Debug.init(options && options.forceDebugLog); + + if (options) { + if (options.openPane) this.openPane = true; + } this.mainThread = Components.classes["@mozilla.org/thread-manager;1"].getService().mainThread; diff --git a/components/zotero-service.js b/components/zotero-service.js index 44a1ff2cb0..433cad5b9c 100644 --- a/components/zotero-service.js +++ b/components/zotero-service.js @@ -125,6 +125,7 @@ Components.utils.import("resource://gre/modules/Services.jsm"); var instanceID = (new Date()).getTime(); var isFirstLoadThisSession = true; var zContext = null; +var zInitOptions = {}; ZoteroContext = function() {} ZoteroContext.prototype = { @@ -169,7 +170,7 @@ ZoteroContext.prototype = { zContext.Zotero.shutdown().then(function() { // create a new zContext makeZoteroContext(isConnector); - zContext.Zotero.init(); + zContext.Zotero.init(zInitOptions); }).done(); } @@ -292,12 +293,12 @@ function ZoteroService() { if(isFirstLoadThisSession) { makeZoteroContext(false); try { - zContext.Zotero.init(); + zContext.Zotero.init(zInitOptions); } catch(e) { // if Zotero should start as a connector, reload it zContext.Zotero.shutdown().then(function() { makeZoteroContext(true); - zContext.Zotero.init(); + zContext.Zotero.init(zInitOptions); }).done(); } } @@ -341,6 +342,16 @@ function ZoteroCommandLineHandler() {} ZoteroCommandLineHandler.prototype = { /* nsICommandLineHandler */ handle : function(cmdLine) { + // Force debug output + if (cmdLine.handleFlag("zoterodebug", false)) { + zInitOptions.forceDebugLog = true; + } + + // handler to open Zotero pane at startup in Zotero for Firefox + if (!isStandalone() && cmdLine.handleFlag("ZoteroPaneOpen", false)) { + zInitOptions.openPane = true; + } + // handler for Zotero integration commands // this is typically used on Windows only, via WM_COPYDATA rather than the command line var agent = cmdLine.handleFlagWithParam("ZoteroIntegrationAgent", false); @@ -415,13 +426,6 @@ ZoteroCommandLineHandler.prototype = { } } } - // handler to open Zotero pane at startup in Zotero for Firefox - else { - var zPaneOpen = cmdLine.handleFlag("ZoteroPaneOpen", false); - if (zPaneOpen) { - this.Zotero.openPane = true; - } - } }, contractID: "@mozilla.org/commandlinehandler/general-startup;1?type=zotero", From 5f1e582b05899f1393eae73d68b26544c778f079 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sat, 30 Nov 2013 03:16:56 -0500 Subject: [PATCH 02/79] Include timings in -zoterodebug output --- chrome/content/zotero/xpcom/debug.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/debug.js b/chrome/content/zotero/xpcom/debug.js index 786ed33927..7db32ac095 100644 --- a/chrome/content/zotero/xpcom/debug.js +++ b/chrome/content/zotero/xpcom/debug.js @@ -34,7 +34,7 @@ Zotero.Debug = new function () { Zotero.Prefs.set('debug.store', false); } _level = Zotero.Prefs.get('debug.level'); - _time = Zotero.Prefs.get('debug.time'); + _time = forceDebugLog || Zotero.Prefs.get('debug.time'); _stackTrace = Zotero.Prefs.get('debug.stackTrace'); this.storing = _store; From 683af216918170c4061bda78dbdd389bfea09900 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 4 Dec 2013 02:17:11 -0500 Subject: [PATCH 03/79] Fix file sync errors with passwords containing % + two hex digits Usernames and passwords going into nsIURI have to be percent-encoded. --- chrome/content/zotero/xpcom/storage/webdav.js | 4 ++-- chrome/content/zotero/xpcom/storage/zfs.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/chrome/content/zotero/xpcom/storage/webdav.js b/chrome/content/zotero/xpcom/storage/webdav.js index 58cd3f0601..4ea0593108 100644 --- a/chrome/content/zotero/xpcom/storage/webdav.js +++ b/chrome/content/zotero/xpcom/storage/webdav.js @@ -815,8 +815,8 @@ Zotero.Sync.Storage.WebDAV = (function () { var ios = Components.classes["@mozilla.org/network/io-service;1"]. getService(Components.interfaces.nsIIOService); var uri = ios.newURI(url, null, null); - uri.username = username; - uri.password = password; + uri.username = encodeURIComponent(username); + uri.password = encodeURIComponent(password); if (!uri.spec.match(/\/$/)) { uri.spec += "/"; } diff --git a/chrome/content/zotero/xpcom/storage/zfs.js b/chrome/content/zotero/xpcom/storage/zfs.js index 56faa12bb7..1003027ca8 100644 --- a/chrome/content/zotero/xpcom/storage/zfs.js +++ b/chrome/content/zotero/xpcom/storage/zfs.js @@ -684,8 +684,8 @@ Zotero.Sync.Storage.ZFS = (function () { var ios = Components.classes["@mozilla.org/network/io-service;1"]. getService(Components.interfaces.nsIIOService); var uri = ios.newURI(url, null, null); - uri.username = username; - uri.password = password; + uri.username = encodeURIComponent(username); + uri.password = encodeURIComponent(password); _rootURI = uri; uri = uri.clone(); From ea50098d300507ee2a0ca94320c922e72f92c409 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 10 Dec 2013 22:21:34 -0500 Subject: [PATCH 04/79] Debugging for not saving into collection --- chrome/content/zotero/browser.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/browser.js b/chrome/content/zotero/browser.js index e9abfafa43..d667eb9484 100644 --- a/chrome/content/zotero/browser.js +++ b/chrome/content/zotero/browser.js @@ -504,7 +504,9 @@ var Zotero_Browser = new function() { libraryID = ZoteroPane.getSelectedLibraryID(); collection = ZoteroPane.getSelectedCollection(); - } catch(e) {} + } catch(e) { + Zotero.debug(e, 1); + } } if(Zotero.isConnector) { From 1ee015317f3049d8d173801e5eede7b7e6062af8 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 11 Dec 2013 14:50:48 -0500 Subject: [PATCH 05/79] Don't restart in connector mode on Zotero.init() failure I broke this in a723c8599949a64f6af10c81a8a652feeeaee57c --- components/zotero-service.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/components/zotero-service.js b/components/zotero-service.js index 433cad5b9c..6a5fb61701 100644 --- a/components/zotero-service.js +++ b/components/zotero-service.js @@ -295,11 +295,15 @@ function ZoteroService() { try { zContext.Zotero.init(zInitOptions); } catch(e) { - // if Zotero should start as a connector, reload it - zContext.Zotero.shutdown().then(function() { - makeZoteroContext(true); - zContext.Zotero.init(zInitOptions); - }).done(); + if(e === "ZOTERO_SHOULD_START_AS_CONNECTOR") { + // if Zotero should start as a connector, reload it + zContext.Zotero.shutdown().then(function() { + makeZoteroContext(true); + zContext.Zotero.init(zInitOptions); + }).done(); + } else { + throw e; + } } } isFirstLoadThisSession = false; // no longer first load From 207c34b1a41e55f50662a0a6f3c83cffd022d35f Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 11 Dec 2013 15:19:03 -0500 Subject: [PATCH 06/79] Update maxVersion --- install.rdf | 2 +- update.rdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install.rdf b/install.rdf index abd02ee104..5651b3b9ea 100644 --- a/install.rdf +++ b/install.rdf @@ -25,7 +25,7 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 17.0 - 25.* + 26.* diff --git a/update.rdf b/update.rdf index 4eda3a3c60..31c97d090d 100644 --- a/update.rdf +++ b/update.rdf @@ -12,7 +12,7 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 17.0 - 25.* + 26.* http://download.zotero.org/extension/zotero.xpi sha1: From d84bffb1c2fddfd409b7b090329595e894f0155b Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Fri, 13 Dec 2013 17:19:56 -0500 Subject: [PATCH 07/79] Fixes that should hopefully protect against database corruption - When opening the DB, always tell other Zotero instances to close it, regardless of whether they are holding the lock. - Don't let database re-open after it has been closed. This also fixes some issues with connector switching. --- chrome/content/zotero/xpcom/db.js | 11 +++++++++-- chrome/content/zotero/xpcom/ipc.js | 7 +++++-- chrome/content/zotero/xpcom/zotero.js | 9 +++++++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/chrome/content/zotero/xpcom/db.js b/chrome/content/zotero/xpcom/db.js index 18da2e9310..40376b2784 100644 --- a/chrome/content/zotero/xpcom/db.js +++ b/chrome/content/zotero/xpcom/db.js @@ -791,12 +791,17 @@ Zotero.DBConnection.prototype.checkException = function (e) { } -Zotero.DBConnection.prototype.closeDatabase = function () { +/** + * Close the database + * @param {Boolean} [permanent] If true, throw an error instead of + * allowing code to re-open the database again + */ +Zotero.DBConnection.prototype.closeDatabase = function (permanent) { if(this._connection) { this.stopDummyStatement(); var deferred = Q.defer(); this._connection.asyncClose(deferred.resolve); - this._connection = undefined; + this._connection = permanent ? false : null; return deferred.promise; } else { return Q(); @@ -1073,6 +1078,8 @@ Zotero.DBConnection.prototype.getSQLDataType = function(value) { Zotero.DBConnection.prototype._getDBConnection = function () { if (this._connection) { return this._connection; + } else if (this._connection === false) { + throw new Error("Database permanently closed; not re-opening"); } this._debug("Opening database '" + this._dbName + "'"); diff --git a/chrome/content/zotero/xpcom/ipc.js b/chrome/content/zotero/xpcom/ipc.js index 6f44247cd6..78b08b8822 100755 --- a/chrome/content/zotero/xpcom/ipc.js +++ b/chrome/content/zotero/xpcom/ipc.js @@ -62,10 +62,13 @@ Zotero.IPC = new function() { * has been received if it is already initialized, SA sends an initComplete message * to Z4Fx. */ - if(msg === "releaseLock" && !Zotero.isConnector) { + if(msg.substr(0, 11) === "releaseLock") { // Standalone sends this to the Firefox extension to tell the Firefox extension to // release its lock on the Zotero database - switchConnectorMode(true); + if(!Zotero.isConnector && (msg.length === 11 || + msg.substr(12) === Zotero.getZoteroDirectory().persistentDescriptor)) { + switchConnectorMode(true); + } } else if(msg === "lockReleased") { // The Firefox extension sends this to Standalone to let Standalone know that it has // released its lock diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index dd777d21d7..bb60b73450 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -759,6 +759,11 @@ Components.utils.import("resource://gre/modules/Services.jsm"); Zotero.DB.test(); var dbfile = Zotero.getZoteroDatabase(); + + // Tell any other Zotero instances to release their lock, + // in case we lost the lock on the database (how?) and it's + // now open in two places at once + Zotero.IPC.broadcast("releaseLock "+dbfile.persistentDescriptor); // Test write access on Zotero data directory if (!dbfile.parent.isWritable()) { @@ -886,8 +891,8 @@ Components.utils.import("resource://gre/modules/Services.jsm"); // Zotero.DBConnection.getStatement() explicitly Components.utils.forceGC(); - // unlock DB - return Zotero.DB.closeDatabase().then(function() { + // close DB + return Zotero.DB.closeDatabase(true).then(function() { // broadcast that DB lock has been released Zotero.IPC.broadcast("lockReleased"); }); From 0aa50eaff59b4348ad08647472eba73e5675b5c6 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Fri, 13 Dec 2013 17:29:57 -0500 Subject: [PATCH 08/79] Update citeproc-js to 1.0.517 --- chrome/content/zotero/xpcom/citeproc.js | 209 +++++++++++++++++------- 1 file changed, 149 insertions(+), 60 deletions(-) diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js index 0f55bc28a7..6c5feaaa71 100644 --- a/chrome/content/zotero/xpcom/citeproc.js +++ b/chrome/content/zotero/xpcom/citeproc.js @@ -57,7 +57,7 @@ if (!Array.indexOf) { }; } var CSL = { - PROCESSOR_VERSION: "1.0.508", + PROCESSOR_VERSION: "1.0.517", CONDITION_LEVEL_TOP: 1, CONDITION_LEVEL_BOTTOM: 2, PLAIN_HYPHEN_REGEX: /(?:[^\\]-|\u2013)/, @@ -264,10 +264,10 @@ var CSL = { SUFFIX_PUNCTUATION: /^\s*[.;:,\(\)]/, NUMBER_REGEXP: /(?:^\d+|\d+$)/, NAME_INITIAL_REGEXP: /^([A-Z\u0590-\u05ff\u0080-\u017f\u0400-\u042f\u0600-\u06ff\u0370\u0372\u0376\u0386\u0388-\u03ab\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03fd-\u03ff])([a-zA-Z\u0080-\u017f\u0400-\u052f\u0600-\u06ff\u0370-\u03ff\u1f00-\u1fff]*|)/, - ROMANESQUE_REGEXP: /[-0-9a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/, + ROMANESQUE_REGEXP: /[-0-9a-zA-Z\u0590-\u05d4\u05d6-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/, ROMANESQUE_NOT_REGEXP: /[^a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/g, - STARTSWITH_ROMANESQUE_REGEXP: /^[&a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/, - ENDSWITH_ROMANESQUE_REGEXP: /[.;:&a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]$/, + STARTSWITH_ROMANESQUE_REGEXP: /^[&a-zA-Z\u0590-\u05d4\u05d6-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/, + ENDSWITH_ROMANESQUE_REGEXP: /[.;:&a-zA-Z\u0590-\u05d4\u05d6-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]$/, ALL_ROMANESQUE_REGEXP: /^[a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]+$/, VIETNAMESE_SPECIALS: /[\u00c0-\u00c3\u00c8-\u00ca\u00cc\u00cd\u00d2-\u00d5\u00d9\u00da\u00dd\u00e0-\u00e3\u00e8-\u00ea\u00ec\u00ed\u00f2-\u00f5\u00f9\u00fa\u00fd\u0101\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01a0\u01a1\u01af\u01b0\u1ea0-\u1ef9]/, VIETNAMESE_NAMES: /^(?:(?:[.AaBbCcDdEeGgHhIiKkLlMmNnOoPpQqRrSsTtUuVvXxYy \u00c0-\u00c3\u00c8-\u00ca\u00cc\u00cd\u00d2-\u00d5\u00d9\u00da\u00dd\u00e0-\u00e3\u00e8-\u00ea\u00ec\u00ed\u00f2-\u00f5\u00f9\u00fa\u00fd\u0101\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01a0\u01a1\u01af\u01b0\u1ea0-\u1ef9]{2,6})(\s+|$))+$/, @@ -316,8 +316,8 @@ var CSL = { ], TAG_ESCAPE: function (str) { var mx, lst, len, pos, m, buf1, buf2, idx, ret, myret; - mx = str.match(/(\"|\'|.*?<\/span>|<\/?(?:i|sc|b)>|<\/span>)/g); - lst = str.split(/(?:\"|\'|.*?<\/span>|<\/?(?:i|sc|b)>|<\/span>)/g); + mx = str.match(/((?:\"|\')|(?:(?:).*?(?:<\/span>|<\/?(?:i|sc|b)>)))/g); + lst = str.split(/(?:(?:\"|\')|(?:(?:).*?(?:<\/span>|<\/?(?:i|sc|b)>)))/g); myret = [lst[0]]; for (pos = 1, len = lst.length; pos < len; pos += 1) { myret.push(mx[pos - 1]); @@ -2914,7 +2914,9 @@ CSL.Output.Queue.prototype.string = function (state, myblobs, blob) { if (state.normalDecorIsOrphan(blobjr, params)) { continue; } - blobs_start = state.fun.decorate[params[0]][params[1]](state, blobs_start, params[2]); + if ("string" === typeof blobs_start) { + blobs_start = state.fun.decorate[params[0]][params[1]](state, blobs_start, params[2]); + } } } b = blobs_start; @@ -2982,6 +2984,7 @@ CSL.Output.Queue.prototype.renderBlobs = function (blobs, delim, in_cite, parent if (this.state.tmp.area === "citation" && !this.state.tmp.just_looking && len === 1 && typeof blobs[0] === "object" && parent) { blobs[0].strings.prefix = parent.strings.prefix + blobs[0].strings.prefix; blobs[0].strings.suffix = blobs[0].strings.suffix + parent.strings.suffix; + blobs[0].decorations = blobs[0].decorations.concat(parent.decorations); return blobs[0]; } var start = true; @@ -5003,6 +5006,11 @@ CSL.localeResolve = function (langstr, defaultLocale) { }; CSL.Engine.prototype.localeConfigure = function (langspec, beShy) { var localexml; + if (this.opt.development_extensions.normalize_lang_keys_to_lowercase) { + langspec.best = langspec.best.toLowerCase(); + langspec.bare = langspec.bare.toLowerCase(); + langspec.base = langspec.base.toLowerCase(); + } if (beShy && this.locale[langspec.best]) { return; } @@ -5022,11 +5030,6 @@ CSL.Engine.prototype.localeConfigure = function (langspec, beShy) { this.localeSet(this.cslXml, langspec.base, langspec.best); } this.localeSet(this.cslXml, langspec.best, langspec.best); - if (this.opt.development_extensions.normalize_lang_keys_to_lowercase) { - langspec.best = langspec.best.toLowerCase(); - langspec.bare = langspec.bare.toLowerCase(); - langspec.base = langspec.base.toLowerCase(); - } if ("undefined" === typeof this.locale[langspec.best].terms["page-range-delimiter"]) { if (["fr", "pt"].indexOf(langspec.best.slice(0, 2).toLowerCase()) > -1) { this.locale[langspec.best].terms["page-range-delimiter"] = "-"; @@ -5063,6 +5066,9 @@ CSL.Engine.prototype.localeSet = function (myxml, lang_in, lang_out) { this.locale[lang_out].terms = {}; this.locale[lang_out].opts = {}; this.locale[lang_out].opts["skip-words"] = CSL.SKIP_WORDS; + if (!this.locale[lang_out].opts["leading-noise-words"]) { + this.locale[lang_out].opts["leading-noise-words"] = []; + } this.locale[lang_out].dates = {}; this.locale[lang_out].ord = {'1.0.1':false,keys:{}}; this.locale[lang_out]["noun-genders"] = {}; @@ -5212,8 +5218,29 @@ CSL.Engine.prototype.localeSet = function (myxml, lang_in, lang_out) { this.locale[lang_out].opts[attrname.slice(1)] = false; } } else if (attrname === "@skip-words") { - var skip_words = attributes[attrname].split(/\s+/); + var skip_words = attributes[attrname].split(/\s*,\s*/); this.locale[lang_out].opts[attrname.slice(1)] = skip_words; + } else if (attrname === "@leading-noise-words" && lang_in === lang_out) { + var val = attributes[attrname].split(/\s*,\s*/); + this.locale[lang_out].opts["leading-noise-words"] = val; + } else if (attrname === "@name-as-sort-order") { + this.locale[lang_out].opts["name-as-sort-order"] = {}; + var lst = attributes[attrname].split(/\s+/); + for (var i=0,ilen=lst.length;i= CSL.POSITION_SUBSEQUENT && item["near-note"]) { return true; } return false; @@ -9630,6 +9688,9 @@ CSL.Attributes["@part-separator"] = function (state, arg) { CSL.Attributes["@leading-noise-words"] = function (state, arg) { this["leading-noise-words"] = arg; }; +CSL.Attributes["@name-never-short"] = function (state, arg) { + this["name-never-short"] = arg; +}; CSL.Attributes["@class"] = function (state, arg) { state.opt["class"] = arg; }; @@ -9841,8 +9902,15 @@ CSL.Attributes["@initialize"] = function (state, arg) { state.setOpt(this, "initialize", false); } }; +CSL.Attributes["@name-as-reverse-order"] = function (state, arg) { + this["name-as-reverse-order"] = arg; +}; CSL.Attributes["@name-as-sort-order"] = function (state, arg) { - state.setOpt(this, "name-as-sort-order", arg); + if (this.name === "style-options") { + this["name-as-sort-order"] = arg; + } else { + state.setOpt(this, "name-as-sort-order", arg); + } }; CSL.Attributes["@sort-separator"] = function (state, arg) { state.setOpt(this, "sort-separator", arg); @@ -10662,8 +10730,8 @@ CSL.Transform = function (state) { jurisdiction = "default"; } if (!orig) { - if (!this.abbrevs[jurisdiction]) { - this.abbrevs[jurisdiction] = new state.sys.AbbreviationSegments(); + if (!state.transform.abbrevs[jurisdiction]) { + state.transform.abbrevs[jurisdiction] = new state.sys.AbbreviationSegments(); } return jurisdiction; } @@ -10676,15 +10744,15 @@ CSL.Transform = function (state) { } } for (var i=tryList.length - 1; i > -1; i += -1) { - if (!this.abbrevs[tryList[i]]) { - this.abbrevs[tryList[i]] = new state.sys.AbbreviationSegments(); + if (!state.transform.abbrevs[tryList[i]]) { + state.transform.abbrevs[tryList[i]] = new state.sys.AbbreviationSegments(); } - if (!this.abbrevs[tryList[i]][category][orig]) { - state.sys.getAbbreviation(state.opt.styleID, this.abbrevs, tryList[i], category, orig, itemType, noHints); + if (!state.transform.abbrevs[tryList[i]][category][orig]) { + state.sys.getAbbreviation(state.opt.styleID, state.transform.abbrevs, tryList[i], category, orig, itemType, noHints); } - if (this.abbrevs[tryList[i]][category][orig]) { + if (state.transform.abbrevs[tryList[i]][category][orig]) { if (i < tryList.length) { - this.abbrevs[jurisdiction][category][orig] = this.abbrevs[tryList[i]][category][orig]; + state.transform.abbrevs[jurisdiction][category][orig] = state.transform.abbrevs[tryList[i]][category][orig]; } break; } @@ -10787,11 +10855,6 @@ CSL.Transform = function (state) { secondary = abbreviate(state, Item, false, secondary, myabbrev_family, true); tertiary = abbreviate(state, Item, false, tertiary, myabbrev_family, true); } - if ("demote" === this["leading-noise-words"]) { - primary = CSL.demoteNoiseWords(state, primary); - secondary = CSL.demoteNoiseWords(state, secondary); - tertiary = CSL.demoteNoiseWords(state, tertiary); - } var template_tok = CSL.Util.cloneToken(this); var primary_tok = CSL.Util.cloneToken(this); var primaryPrefix; @@ -10813,6 +10876,9 @@ CSL.Transform = function (state) { if (primary_locale !== "en" && primary_tok.strings["text-case"] === "title") { primary_tok.strings["text-case"] = "passthrough"; } + if ("title" === variables[0]) { + primary = CSL.demoteNoiseWords(state, primary, this["leading-noise-words"]); + } if (secondary || tertiary) { state.output.openLevel("empty"); primary_tok.strings.suffix = primary_tok.strings.suffix.replace(/[ .,]+$/,""); @@ -11396,7 +11462,7 @@ CSL.Util.Dates.year["long"] = function (state, num) { } return num.toString(); }; -CSL.Util.Dates.year.imperial = function (state, num, end) { +CSL.Util.Dates.year.imperial = function (state, num, end, makeShort) { if (!num) { if ("boolean" === typeof num) { num = ""; @@ -11416,14 +11482,29 @@ CSL.Util.Dates.year.imperial = function (state, num, end) { day = "0" + day; } var date = parseInt(num + month + day, 10); + var label; + var offset; if (date >= 18680908 && date < 19120730) { - year = '\u660e\u6cbb' + (num - 1867); + label = '\u660e\u6cbb'; + offset = 1867; } else if (date >= 19120730 && date < 19261225) { - year = '\u5927\u6b63' + (num - 1911); + label = '\u5927\u6b63'; + offset = 1911; } else if (date >= 19261225 && date < 19890108) { - year = '\u662d\u548c' + (num - 1925); + label = '\u662d\u548c'; + offset = 1925; } else if (date >= 19890108) { - year = '\u5e73\u6210' + (num - 1988); + label = '\u5e73\u6210'; + offset = 1988; + } + if (label && offset) { + if (!state.transform.abbrevs['default']['number'][label]) { + state.transform.loadAbbreviation('default', "number", label); + } + if (state.transform.abbrevs['default']['number'][label]) { + label = state.transform.abbrevs['default']['number'][label]; + }; + year = label + (num - offset); } return year; }; @@ -12693,9 +12774,9 @@ CSL.Output.Formatters.serializeItemAsRdf = function (Item) { CSL.Output.Formatters.serializeItemAsRdfA = function (Item) { return ""; }; -CSL.demoteNoiseWords = function (state, fld) { - var SKIP_WORDS = state.locale[state.opt.lang].opts["skip-words"]; - if (fld) { +CSL.demoteNoiseWords = function (state, fld, drop_or_demote) { + var SKIP_WORDS = state.locale[state.opt.lang].opts["leading-noise-words"]; + if (fld && drop_or_demote) { fld = fld.split(/\s+/); fld.reverse(); var toEnd = []; @@ -12709,7 +12790,11 @@ CSL.demoteNoiseWords = function (state, fld) { fld.reverse(); var start = fld.join(" "); var end = toEnd.join(" "); - fld = [start, end].join(", "); + if ("drop" === drop_or_demote || !end) { + fld = start; + } else if ("demote" === drop_or_demote) { + fld = [start, end].join(", "); + } } return fld; }; @@ -13319,8 +13404,12 @@ CSL.Registry.NameReg = function (state) { }; evalname = function (item_id, nameobj, namenum, request_base, form, initials) { var pos, len, items, param; - if (state.tmp.area === "bibliography" && !form && "string" !== typeof initials) { - return 2; + if (state.tmp.area.slice(0, 12) === "bibliography" && !form) { + if ("string" === typeof initials) { + return 1; + } else { + return 2; + } } var res = state.nameOutput.getName(nameobj, "locale-translit", true); nameobj = res.name; From b82728aeead1dbb8763166883b29b45e984ebf94 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 13 Dec 2013 18:23:04 -0500 Subject: [PATCH 09/79] Update submodules, versions, and repotime --- chrome/content/zotero/locale/csl | 2 +- install.rdf | 2 +- resource/schema/repotime.txt | 2 +- styles | 2 +- translators | 2 +- update.rdf | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/chrome/content/zotero/locale/csl b/chrome/content/zotero/locale/csl index c5400c59d9..097009c56a 160000 --- a/chrome/content/zotero/locale/csl +++ b/chrome/content/zotero/locale/csl @@ -1 +1 @@ -Subproject commit c5400c59d9453887252f948a8273632de7963e08 +Subproject commit 097009c56a7613fbeb37fa083db0ec8b7d0242ab diff --git a/install.rdf b/install.rdf index 5651b3b9ea..78b4287861 100644 --- a/install.rdf +++ b/install.rdf @@ -6,7 +6,7 @@ zotero@chnm.gmu.edu Zotero - 4.0.16.SOURCE + 4.0.17.SOURCE Center for History and New Media
George Mason University
Dan Cohen Sean Takats diff --git a/resource/schema/repotime.txt b/resource/schema/repotime.txt index 39e6b64a48..1969cc2f67 100644 --- a/resource/schema/repotime.txt +++ b/resource/schema/repotime.txt @@ -1 +1 @@ -2013-11-18 22:00:00 +2013-12-13 20:40:00 diff --git a/styles b/styles index 54370a4b6c..3220164054 160000 --- a/styles +++ b/styles @@ -1 +1 @@ -Subproject commit 54370a4b6cd3890037e917f2758bb9c9024925d7 +Subproject commit 3220164054cdfa0e46f90857c298da9580957d04 diff --git a/translators b/translators index 7c2de41ee4..6e8ac45ca4 160000 --- a/translators +++ b/translators @@ -1 +1 @@ -Subproject commit 7c2de41ee44813865182559ea1e95ed64d7b15dd +Subproject commit 6e8ac45ca4632dec4c44b588ee7487d7c7bd6272 diff --git a/update.rdf b/update.rdf index 31c97d090d..8db160a0c5 100644 --- a/update.rdf +++ b/update.rdf @@ -7,7 +7,7 @@ - 4.0.16.SOURCE + 4.0.17.SOURCE {ec8030f7-c20a-464f-9b0e-13a3a9e97384} From af63818bed105783631c4eb7647cc589a751926f Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 13 Dec 2013 18:33:27 -0500 Subject: [PATCH 10/79] Update locales from Transifex --- chrome/locale/ar/zotero/zotero.properties | 4 +- chrome/locale/bg-BG/zotero/zotero.properties | 4 +- chrome/locale/ca-AD/zotero/zotero.properties | 34 ++--- chrome/locale/cs-CZ/zotero/zotero.properties | 4 +- chrome/locale/da-DK/zotero/standalone.dtd | 2 +- chrome/locale/da-DK/zotero/zotero.dtd | 2 +- chrome/locale/da-DK/zotero/zotero.properties | 8 +- chrome/locale/et-EE/zotero/zotero.properties | 4 +- chrome/locale/eu-ES/zotero/zotero.properties | 2 +- chrome/locale/fa/zotero/zotero.properties | 4 +- chrome/locale/fi-FI/zotero/zotero.properties | 4 +- chrome/locale/gl-ES/zotero/zotero.properties | 4 +- chrome/locale/he-IL/zotero/zotero.properties | 2 +- chrome/locale/hu-HU/zotero/zotero.properties | 4 +- chrome/locale/id-ID/zotero/zotero.properties | 4 +- chrome/locale/is-IS/zotero/zotero.properties | 2 +- chrome/locale/it-IT/zotero/zotero.properties | 138 +++++++++---------- chrome/locale/ja-JP/zotero/preferences.dtd | 12 +- chrome/locale/ja-JP/zotero/zotero.properties | 8 +- chrome/locale/km/zotero/zotero.properties | 4 +- chrome/locale/ko-KR/zotero/zotero.properties | 4 +- 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 | 4 +- chrome/locale/pt-BR/zotero/zotero.properties | 4 +- chrome/locale/pt-PT/zotero/zotero.properties | 4 +- chrome/locale/ro-RO/zotero/preferences.dtd | 4 +- chrome/locale/ro-RO/zotero/zotero.properties | 20 +-- chrome/locale/ru-RU/zotero/zotero.properties | 4 +- chrome/locale/sl-SI/zotero/zotero.properties | 8 +- chrome/locale/sr-RS/zotero/zotero.properties | 2 +- chrome/locale/sv-SE/zotero/zotero.dtd | 2 +- chrome/locale/sv-SE/zotero/zotero.properties | 2 +- chrome/locale/th-TH/zotero/zotero.properties | 4 +- chrome/locale/tr-TR/zotero/preferences.dtd | 2 +- chrome/locale/vi-VN/zotero/zotero.properties | 2 +- chrome/locale/zh-CN/zotero/zotero.properties | 4 +- chrome/locale/zh-TW/zotero/zotero.properties | 4 +- 39 files changed, 165 insertions(+), 165 deletions(-) diff --git a/chrome/locale/ar/zotero/zotero.properties b/chrome/locale/ar/zotero/zotero.properties index f1250e4fd1..5e40fe3087 100644 --- a/chrome/locale/ar/zotero/zotero.properties +++ b/chrome/locale/ar/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=برجاء أعادة تشغيل %S. general.restartFirefoxAndTryAgain=برجاء أعادة تشغيل %S ثم أعد المحاولة مرة أخرى. -general.checkForUpdate=التحقق من وجود تحديث +general.checkForUpdate=Check for Update general.actionCannotBeUndone=لا يمكن تجاهل هذا الاجراء. general.install=تنصيب general.updateAvailable=يوجد تحديث @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=قم بإغلاق متصفح الفايرفوكس، قم بإجراء النسخ الاحتياطي وحذف تسجيلات الدخول.* من الملف الشخصي لمتصفح فايرفوكس الخاص بك, ثم قم بإعادة إدخال معلومات تسجيل الدخول لزوتيرو في تبويب التزامن بتفضيلات زوتيرو. sync.error.syncInProgress=عملية التزامن قيد العمل بالفعل. sync.error.syncInProgress.wait=انتظر اتمام عملية المزامنة السابقة أو قم بإعادة تشغيل متصفح الفايرفوكس. -sync.error.writeAccessLost=لم يعد لديك حق الكتابة على مجموعة المشاركة لزوتيرو '%S', والملفات التي قمت بإضافتها او تحريرها لا يمكن مزامنتها الى الخادم. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=إذا قمت بالمتابعة، سيتم إعادة تعيين نسختك من مجموعة المشاركة إلى وضعها على الخادم، وسوف تفقد التعديلات المحلية على العناصر والملفات. sync.error.copyChangedItems=إذا كنت ترغب بنسخ التغييرات التي قمت بها في مكان آخر أو طلب حق الكتابة من مسؤول مجموعة المشاركة، قم بإلغاء التزامن الآن. sync.error.manualInterventionRequired=أسفرت المزامنة التلقائية عن تضارب الذي يتطلب التدخل اليدوي. diff --git a/chrome/locale/bg-BG/zotero/zotero.properties b/chrome/locale/bg-BG/zotero/zotero.properties index 383c4adc88..b477493b62 100644 --- a/chrome/locale/bg-BG/zotero/zotero.properties +++ b/chrome/locale/bg-BG/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Моля рестартирайте Firefox. general.restartFirefoxAndTryAgain=Моля рестартирайте Firefox и опитайте отново. -general.checkForUpdate=Проверка за осъвременена версия +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Това действие е необратимо. general.install=Инсталация general.updateAvailable=Има осъвременена версия @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Затворете Firefox, копирайте и изтрийте записана логин информация* от вашият Firefox профил, след което въведете отново Вашият Зотеро логин в панела за синхронизация на настройките на Зотеро. sync.error.syncInProgress=Операция за синхронизиране тече в момента. sync.error.syncInProgress.wait=Изчакайте предходната синхронизация да приключи или рестартирайте Firefox. -sync.error.writeAccessLost=Вие не притежавате достъп за писане в Зотеро групата "%S" и файловете, които сте добавили или редактирали не могат да бъдат синхронизирани със сървъра. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Ако продължите, вашето копие на групата ще бъде възстановено от сървъра и локалните модификации на записи и файлове ще бъдат загубени. sync.error.copyChangedItems=Ако желаете да копирате вашите промени някъде другаде или да поискате достъп за писане от администратора на вашата група, откажете синхронизацията. sync.error.manualInterventionRequired=Възникна конфликт по време на автоматичната синхронизация, който изисква корекция на ръка. diff --git a/chrome/locale/ca-AD/zotero/zotero.properties b/chrome/locale/ca-AD/zotero/zotero.properties index 14a5109a82..614ca6fa69 100644 --- a/chrome/locale/ca-AD/zotero/zotero.properties +++ b/chrome/locale/ca-AD/zotero/zotero.properties @@ -15,12 +15,12 @@ general.restartApp=Reinicia %S general.quitApp=Surt de %S general.errorHasOccurred=S'ha produït un error general.unknownErrorOccurred=S'ha produït un error desconegut. -general.invalidResponseServer=Invalid response from server. -general.tryAgainLater=Please try again in a few minutes. -general.serverError=The server returned an error. Please try again. +general.invalidResponseServer=Resposta invàlida del servidor. +general.tryAgainLater=Torneu-ho a intentar d'aquí a uns minuts. +general.serverError=El servidor ha enviat un missatge d'error. Torneu-ho a intentar. general.restartFirefox=Reinicieu el Firefox. general.restartFirefoxAndTryAgain=Reinicieu el Firefox i torneu-ho a provar -general.checkForUpdate=Comprova si hi ha actualitzacions +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Aquesta acció no es pot desfer. general.install=Instal·la general.updateAvailable=Actualització disponible @@ -51,7 +51,7 @@ general.quit=Surt general.useDefault=Utilitza el valor per defecte general.openDocumentation=Obre la documentació general.numMore=%S més... -general.openPreferences=Open Preferences +general.openPreferences=Obre les preferències general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ @@ -86,13 +86,13 @@ errorReport.advanceMessage=Premeu %S per enviar un informe d'error als desenvolu errorReport.stepsToReproduce=Passos per a reproduir-lo: errorReport.expectedResult=Resultat esperat: errorReport.actualResult=Resultat real: -errorReport.noNetworkConnection=No network connection +errorReport.noNetworkConnection=No hi ha connexió a la xarxa errorReport.invalidResponseRepository=Invalid response from repository errorReport.repoCannotBeContacted=Repository cannot be contacted -attachmentBasePath.selectDir=Choose Base Directory -attachmentBasePath.chooseNewPath.title=Confirm New Base Directory +attachmentBasePath.selectDir=Tria el directori base +attachmentBasePath.chooseNewPath.title=Confirma el directori base nou attachmentBasePath.chooseNewPath.message=Linked file attachments below this directory will be saved using relative paths. attachmentBasePath.chooseNewPath.existingAttachments.singular=One existing attachment was found within the new base directory. attachmentBasePath.chooseNewPath.existingAttachments.plural=%S existing attachments were found within the new base directory. @@ -580,7 +580,7 @@ fileInterface.export=Exporta fileInterface.exportedItems=Elements exportats fileInterface.imported=Importat fileInterface.unsupportedFormat=The selected file is not in a supported format. -fileInterface.viewSupportedFormats=View Supported Formats… +fileInterface.viewSupportedFormats=Mostra els formats compatibles... fileInterface.untitledBibliography=Bibliografia sense títol fileInterface.bibliographyHTMLTitle=Bibliografia fileInterface.importError=S'ha produït un error quan s'intentava importar el fitxer seleccionat. Assegureu-vos que el fitxer és correcte i torneu-ho a intentar. @@ -589,9 +589,9 @@ fileInterface.noReferencesError=Els elements seleccionats no contenen cap refer fileInterface.bibliographyGenerationError=S'ha produït un error quan es generava la bibliografia. Torneu-ho a intentar. fileInterface.exportError=S'ha produït un error quan s'intentava exportar l'element seleccionat. -quickSearch.mode.titleCreatorYear=Title, Creator, Year -quickSearch.mode.fieldsAndTags=All Fields & Tags -quickSearch.mode.everything=Everything +quickSearch.mode.titleCreatorYear=Títol, autor, any +quickSearch.mode.fieldsAndTags=Tots els camps i etiquetes +quickSearch.mode.everything=Tot advancedSearchMode=Mode de cerca avançada — premeu la tecla de Retorn per a cercar searchInProgress=Cerca en curs — espereu. @@ -697,7 +697,7 @@ integration.cited.loading=Carregant els elements citats... integration.ibid=ibídem integration.emptyCitationWarning.title=Cita en blanc integration.emptyCitationWarning.body=La cita s'ha especificat estaria buida en l'estil seleccionat. Segur que la voleu afegir? -integration.openInLibrary=Open in %S +integration.openInLibrary=Obre a %S integration.error.incompatibleVersion=Aquesta versió del connector de processador de textos del Zotero ($INTEGRATION_VERSION) és incompatible ambla versió actual del Zotero (%1$S). Assegureu-vos que feu servir les darreres versions de tots dos components. integration.error.incompatibleVersion2=Zotero %1$S requereix %2$S %3$S o versions posteriors. Descarregueu la darrera versió de %2$S des de zotero.org. @@ -728,8 +728,8 @@ integration.citationChanged=Heu modificat aquesta cita des que Zotero la va gene integration.citationChanged.description=En feu clic a "Sí" evitareu que el Zotero actualitzi aquesta cita si n'afegiu més de cites, commuteu els estils, o modifiqueu la referència a què es refereix. Si feu clic a "No", s'eliminaran els canvis. integration.citationChanged.edit=Heu modificat aquesta cita des que el Zotero la generà. Si l'editeu netejareu les modificacions. Voleu continuar? -styles.install.title=Install Style -styles.install.unexpectedError=An unexpected error occurred while installing "%1$S" +styles.install.title=Instal·la l'estil +styles.install.unexpectedError=S'ha produït un error inesperat durant la instal·lació de "%1$S" styles.installStyle=Instal·la estil "%1$S" des de %2$S? styles.updateStyle=Actualitza l'estil existent "%1$S" amb "%2$S" des de %3$S? styles.installed=L'estil "%S" s'ha instal·lat correctament @@ -739,7 +739,7 @@ styles.installSourceError=%1$S fa referència a un fitxer inexistent o no vàlid styles.deleteStyle=Segur que voleu suprimir l'estil "%1$S"? styles.deleteStyles=Segur que voleu suprimir els estils seleccionats? -styles.abbreviations.title=Load Abbreviations +styles.abbreviations.title=Carrega les abreviacions styles.abbreviations.parseError=The abbreviations file "%1$S" is not valid JSON. styles.abbreviations.missingInfo=The abbreviations file "%1$S" does not specify a complete info block. @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Ja està en marxa una operació de sincronització. sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox. -sync.error.writeAccessLost=Ja no tens accés d'escriptura al grupo de Zotero '%S' i els fitxers que has afegit o editat no es poden sincronitzar amb el servidor. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Si continueu, la còpia del grup es reinicialitzarà al vostre estat al servidor i les modificacions locals dels elements i els fitxers es perdran. sync.error.copyChangedItems=Cancel·la la sincronització ara si t'agradaria tenir l'oportunitat de copiar els canvis en un altre lloc o per tal de sol·licitar l'accés d'escriptura a un administrador del grup. sync.error.manualInterventionRequired=Una sincronització automàtica ha donat lloc a un conflicte que requereix intervenció manual. diff --git a/chrome/locale/cs-CZ/zotero/zotero.properties b/chrome/locale/cs-CZ/zotero/zotero.properties index 519b33e85c..6fc7bd55b9 100644 --- a/chrome/locale/cs-CZ/zotero/zotero.properties +++ b/chrome/locale/cs-CZ/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Zkuste to opět za pár minut. general.serverError=Server vrátil chybu, zkuste to znovu. general.restartFirefox=Prosím, restartujte Firefox. general.restartFirefoxAndTryAgain=Prosím, restartujte Firefox a zkuste to znovu. -general.checkForUpdate=Zkontrolovat, jestli nejsou k dispozici aktualizace +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Tato akce je nevratná. general.install=Instalovat general.updateAvailable=Je k dispozici aktualizace @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Zavřete Firefox, proveďte zálohu a smažte singons.* ze svého profilu ve Firefoxu. Poté znovu vložte své přihlašovací údaje do panelu Sync v Nastavení Zotera. sync.error.syncInProgress=Synchronizace už probíhá. sync.error.syncInProgress.wait=Počkejte, dokud předchozí synchronizace neskončí, nebo restartujte Firefox. -sync.error.writeAccessLost=V Zotero skupině '%S' už nemáte práva pro zápis a soubory, které jste přidali či editovali, nemohou být synchronizovány se serverem. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Pokud budete pokračovat, vaše kopie skupiny bude restartována podle stavu na serveru a lokální modifikace položek a souborů budou ztraceny. sync.error.copyChangedItems=Pokud chcete zkopírovat své soubory jinam, nebo požádat administrátora skupiny o práva pro zápis, zrušte synchronizaci. sync.error.manualInterventionRequired=Automatická synchronizace způsobila konflikt, který vyžaduje ruční zásah uživatele. diff --git a/chrome/locale/da-DK/zotero/standalone.dtd b/chrome/locale/da-DK/zotero/standalone.dtd index 3992fff19d..1ad9e45b0b 100644 --- a/chrome/locale/da-DK/zotero/standalone.dtd +++ b/chrome/locale/da-DK/zotero/standalone.dtd @@ -54,7 +54,7 @@ - + diff --git a/chrome/locale/da-DK/zotero/zotero.dtd b/chrome/locale/da-DK/zotero/zotero.dtd index 99d6450db6..194a607e57 100644 --- a/chrome/locale/da-DK/zotero/zotero.dtd +++ b/chrome/locale/da-DK/zotero/zotero.dtd @@ -68,7 +68,7 @@ - + diff --git a/chrome/locale/da-DK/zotero/zotero.properties b/chrome/locale/da-DK/zotero/zotero.properties index f8ac701c5f..f28848fb9c 100644 --- a/chrome/locale/da-DK/zotero/zotero.properties +++ b/chrome/locale/da-DK/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Genstart %S. general.restartFirefoxAndTryAgain=Genstart %S og prøv igen. -general.checkForUpdate=Tjek om der er en opdatering +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Denne handling kan ikke gøres om. general.install=Installér general.updateAvailable=Der er en opdatering @@ -47,11 +47,11 @@ general.disable=Slå fra general.remove=Fjern general.reset=Reset general.hide=Hide -general.quit=Quit +general.quit=Slut general.useDefault=Use Default general.openDocumentation=Open Documentation general.numMore=%S more… -general.openPreferences=Open Preferences +general.openPreferences=Åbn indstillinger general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ @@ -697,7 +697,7 @@ integration.cited.loading=Loading Cited Items… integration.ibid=ibid. integration.emptyCitationWarning.title=Tom henvisning integration.emptyCitationWarning.body=Den henvisning du har bedt om vil være tom i det aktuelle bibliografiske format. Er du sikker på at du vil tilføje den? -integration.openInLibrary=Open in %S +integration.openInLibrary=Åbn i %S integration.error.incompatibleVersion=This version of the Zotero word processor plugin ($INTEGRATION_VERSION) is incompatible with the currently installed version of the Zotero Firefox extension (%1$S). Please ensure you are using the latest versions of both components. integration.error.incompatibleVersion2=Zotero %1$S requires %2$S %3$S or later. Please download the latest version of %2$S from zotero.org. diff --git a/chrome/locale/et-EE/zotero/zotero.properties b/chrome/locale/et-EE/zotero/zotero.properties index 8190936149..fb337ec8a9 100644 --- a/chrome/locale/et-EE/zotero/zotero.properties +++ b/chrome/locale/et-EE/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Palun Firefox alglaadida. general.restartFirefoxAndTryAgain=Palun Firefox alglaadida ja siis uuesti proovida. -general.checkForUpdate=Uuenduste kontrollimine +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Seda ei saa tagasi võtta. general.install=Paigaldus general.updateAvailable=Uuendus saadaval @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Sulgege Firefox, tehke varukoopia ja kustutage enda Firefoxi profiilist salvestatud sisselogimise info. Seejärel sisestage enda info uuesti Zotero seadetes. sync.error.syncInProgress=Andmeid juba sünkroonitakse. sync.error.syncInProgress.wait=Oodake kuni eelmine sünkroonimine lõpetab või tehke Firefoxile alglaadimine. -sync.error.writeAccessLost=Teil ei ole enam ligipääsu Zotero grupp "%S"-le ning lisatud või muudetud faile või viiteid ei ole võimaik serverisse sünkroniseerida. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Kui jätkate, taastatakse grupi raamatukogu sellest olekust, mis on parajasti serveris ning kõik teie poolt tehtud muudatused lähevad kaotsi. sync.error.copyChangedItems=Kui soovite salvestada tehtud muudatused kuhugi mujale või taodelda muutmisõigust grupi administraatori käest, katkestage sünkroonimine. sync.error.manualInterventionRequired=Automaatne sünkroonimine põhjustas konflikti, mis nõuab teie sekkumist. diff --git a/chrome/locale/eu-ES/zotero/zotero.properties b/chrome/locale/eu-ES/zotero/zotero.properties index 6ed76a8169..d80b8068b4 100644 --- a/chrome/locale/eu-ES/zotero/zotero.properties +++ b/chrome/locale/eu-ES/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Berrabiarazi ezazu Firefox. general.restartFirefoxAndTryAgain=Berrabiarazi ezazu Firefox eta saiatu berriro. -general.checkForUpdate=Bilatu eguneraketak +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Ekintza hau ezin da atzera egin. general.install=Instalatu general.updateAvailable=Eguneraketa eskuragarri diff --git a/chrome/locale/fa/zotero/zotero.properties b/chrome/locale/fa/zotero/zotero.properties index 6127d5c184..c9a6843d8e 100644 --- a/chrome/locale/fa/zotero/zotero.properties +++ b/chrome/locale/fa/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=لطفا فایرفاکس را دوباره راه‌اندازی کنید. general.restartFirefoxAndTryAgain=لطفا فایرفاکس را مجددا راه‌اندازی و دوباره تلاش کنید. -general.checkForUpdate=گشتن به دنبال روزآمد +general.checkForUpdate=Check for Update general.actionCannotBeUndone=این عمل قابل بازگشت نیست. general.install=نصب general.updateAvailable=روزآمد موجود است @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=فایرفاکس را ببندید و بعد از پشتیبان گرفتن، همه پرونده‌های signons.* را از پوشه پروفایل فایرفاکس پاک کنید و اطلاعات ثبت ورود زوترو را در قسمت مربوط به تنظیمات همزمان‌سازی، از نو وارد کنید. sync.error.syncInProgress=عملیات همزمان‌‌سازی از قبل در جریان است. sync.error.syncInProgress.wait=لطفا تا تکمیل همزمان‌سازی قبلی صبر کنید یا فایرفاکس را دوباره راه‌اندازی کنید. -sync.error.writeAccessLost=شما دیگر به گروه زوترو با نام '%S' دسترسی برای نوشتن ندارید. در نتیجه امکان همزمان‌سازی با کارگزار برای پرونده‌هایی که افزوده‌اید یا ویرایش کرده‌اید، وجود ندارد. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=اگر ادامه دهید، رونوشت شما از گروه، به وضعیتی که روی کارگزار دارد، بازنشانی خواهد شد و تغییرات محلی در آیتم‌ها و پرونده‌ها از دست خواهند رفت. sync.error.copyChangedItems=اگر می‌خواهید از تغییرات خود در جای دیگری، رونوشت بگیرید یا از سرپرست یک گروه، دسترسی برای نوشتن را درخواست کنید، هم‌اکنون همزمان‌سازی را لغو کنید. sync.error.manualInterventionRequired=همزمان‌‌سازی خودکار، منجر به ناسازگاری‌ای شده است که به دخالت دستی نیاز دارد. diff --git a/chrome/locale/fi-FI/zotero/zotero.properties b/chrome/locale/fi-FI/zotero/zotero.properties index f8b742696e..45324f5e6c 100644 --- a/chrome/locale/fi-FI/zotero/zotero.properties +++ b/chrome/locale/fi-FI/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Käynnistä Firefox uudelleen. general.restartFirefoxAndTryAgain=Käynnistä Firefox uudelleen ja kokeile uudestaan -general.checkForUpdate=Tarkista päivitykset +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Tätä toimintoa ei voi perua. general.install=Asenna general.updateAvailable=Päivitys on saatavana @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Synkronointi on jo käynnissä. sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox. -sync.error.writeAccessLost=Sinulla ei enää ole kirjoitusoikeutta Zoteron ryhmään '%S'. Lisäämiäsi tai muokkaamiasi tiedostoja ei voida synkronoida palvelimelle. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Jos jatkat, kopiosi ryhmästä resetoituu siihen tilaan, missä se palvelimella on. Paikalliset muokkaukset nimikkeisiin ja tiedostoihin menetetään. sync.error.copyChangedItems=Jos haluat mahdollisuuden kopioida tekemäsi muutokset muualle tai pyytää kirjoitusoikeutta ryhmän ylläpitäjältä, peruuta synkronointi nyt. sync.error.manualInterventionRequired=Automaattinen synkronointi johti konfliktiin, joka vaatii manuaalista väliintuloa. diff --git a/chrome/locale/gl-ES/zotero/zotero.properties b/chrome/locale/gl-ES/zotero/zotero.properties index c43d98e106..529c6f5086 100644 --- a/chrome/locale/gl-ES/zotero/zotero.properties +++ b/chrome/locale/gl-ES/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Proba de novo nuns minutos. general.serverError=O servidor devolveu un erro. Inténtao de novo. general.restartFirefox=Reinicie %S. general.restartFirefoxAndTryAgain=Reinicie %S e volva intentalo. -general.checkForUpdate=Comprobar as actualizacións +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Esta acción non se pode desfacer. general.install=Instalar general.updateAvailable=Actualización dispoñible @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Peche o %S, faga unha copia de seguridade e elimine signons.* no seu perfil de %S e reintroduza a súa información de rexistro no panel de sincronización no panel de preferencias do Zotero. sync.error.syncInProgress=Xa se está executando unha sincronización. sync.error.syncInProgress.wait=Espere até que a sincronización anterior se complete ou reinicie %S. -sync.error.writeAccessLost=Xa non ten acceso de escritura ao grupo Zotero «%S» e os ficheiros que engadiu ou editou non poden ser sincronizados co servidor. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Se continúa, a súa copia do grupo será restaurada ao seu estado no servidor e as modificacións locais dos elementos e ficheiros perderanse. sync.error.copyChangedItems=Cancele a sincronización se antes prefire copiar os cambios noutro lugar ou solicitar o acceso de escritura a un administrador do grupo. sync.error.manualInterventionRequired=Unha sincronización automática produciu un conflito que require resolvelo manualmente. diff --git a/chrome/locale/he-IL/zotero/zotero.properties b/chrome/locale/he-IL/zotero/zotero.properties index 67eebfebc6..9e3c3bd6e6 100644 --- a/chrome/locale/he-IL/zotero/zotero.properties +++ b/chrome/locale/he-IL/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=.הפעילו מחדש את פיירפוקס בבקשה general.restartFirefoxAndTryAgain=Please restart Firefox and try again. -general.checkForUpdate=בדוק אם יש עידכונים +general.checkForUpdate=Check for Update general.actionCannotBeUndone=This action cannot be undone. general.install=התקנה general.updateAvailable=עדכונים זמינים diff --git a/chrome/locale/hu-HU/zotero/zotero.properties b/chrome/locale/hu-HU/zotero/zotero.properties index 1a6cf8e551..4fb047d427 100644 --- a/chrome/locale/hu-HU/zotero/zotero.properties +++ b/chrome/locale/hu-HU/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Indítsa újra a Firefoxot. general.restartFirefoxAndTryAgain=Indítsa újra a Firefoxot és próbálja meg újra. -general.checkForUpdate=Frissítések keresése +general.checkForUpdate=Check for Update general.actionCannotBeUndone=This action cannot be undone. general.install=Telepítés general.updateAvailable=Van elérhető frissítés @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Zárja be a Firefoxot, készítsen biztonsági másolatot, és törölje ki a bejelentkezési adatokat a Firefox profiljából, majd adja meg újra a bejelentkezési adatokat a Zotero beállítások Szinkronizáció nevű lapján. sync.error.syncInProgress=A szinkronizáció már folyamatban. sync.error.syncInProgress.wait=Várja meg, amíg a szinkronizáció befejeződik vagy indítsa újra a Firefoxot. -sync.error.writeAccessLost=Nincs írási jogosultsága a '%S' csoporthoz, ezért az új vagy módosított fájlokat nem lehet szinkronizálni a szerverrel. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Ha folytatja, a helyi változások elvesznek, és a szerveren található változat kerül a helyi gépre. sync.error.copyChangedItems=Ha jogosultságot szeretne kérni vagy egy másik csoporttal szinkronizálni, vesse el a szinkronizációt. sync.error.manualInterventionRequired=Az automatikus szinkronizáció hibát talált, ezért beavatkozásra van szükség. diff --git a/chrome/locale/id-ID/zotero/zotero.properties b/chrome/locale/id-ID/zotero/zotero.properties index c3582622ef..33d7863496 100644 --- a/chrome/locale/id-ID/zotero/zotero.properties +++ b/chrome/locale/id-ID/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Mohon restart %S. general.restartFirefoxAndTryAgain=Mohon restart %S dan coba kembali. -general.checkForUpdate=Periksa pemutakhiran +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Tindakan ini tidak dapat dibatalkan. general.install=Instal general.updateAvailable=Pemutakhiran Tersedia @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Tutuplah %S, back up dan hapus tanda.* dari profil %S Anda, lalu masukkanlah kembali informasi login Zotero Anda ke dalam jendela Sinkronisasi preferensi Zotero. sync.error.syncInProgress=Operasi sinkronisasi sedang dalam progres. sync.error.syncInProgress.wait=Tunggulah sinkronisasi sebelumnya selesasi atau restart %S. -sync.error.writeAccessLost=Anda tidak lagi memiliki akses penulisan kepada grup Zotero '%S', dan berkas-berkas yang telah Anda tambahkan atau edit tidak dapat disinkronisasikan ke dalam server. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Jika Anda berlanjut, salinan Anda pada grup akan direset menjadi keadaan seperti pada server, dan modifikasi lokal terhadap item-item dan berkas-berkas akan hilang. sync.error.copyChangedItems=Jika Anda ingin mencoba untuk menyalin perubahan apapun atau meminta akses penulisan dari administrator grup, batalkan sinkronisasi sekarang. sync.error.manualInterventionRequired=Sinkronisasi otomatis menghasilkan sebua konflik yang membutuhkan intervensi manual. diff --git a/chrome/locale/is-IS/zotero/zotero.properties b/chrome/locale/is-IS/zotero/zotero.properties index cd606c6397..e466a23304 100644 --- a/chrome/locale/is-IS/zotero/zotero.properties +++ b/chrome/locale/is-IS/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Vinsamlegast endurræsið %S general.restartFirefoxAndTryAgain=Vinsamlegast endurræsið %S og reynið aftur. -general.checkForUpdate=Athuga uppfærslur +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Ekki er hægt að taka þessa aðgerð til baka. general.install=Setja upp general.updateAvailable=Uppfærsla er fáanleg diff --git a/chrome/locale/it-IT/zotero/zotero.properties b/chrome/locale/it-IT/zotero/zotero.properties index 79694b5d7f..5c658505d0 100644 --- a/chrome/locale/it-IT/zotero/zotero.properties +++ b/chrome/locale/it-IT/zotero/zotero.properties @@ -11,17 +11,17 @@ general.restartRequiredForChange=Riavviare %S per rendere effettive le modifiche general.restartRequiredForChanges=Riavviare %S per rendere effettive le modifiche. general.restartNow=Riavvia ora general.restartLater=Riavvia in seguito -general.restartApp=Restart %S +general.restartApp=Riavviare %S general.quitApp=Quit %S general.errorHasOccurred=Si è verificato un errore. -general.unknownErrorOccurred=Si è verificato un errrore sconosciuto -general.invalidResponseServer=Invalid response from server. -general.tryAgainLater=Please try again in a few minutes. -general.serverError=The server returned an error. Please try again. -general.restartFirefox=Riavviare Firefox -general.restartFirefoxAndTryAgain=Riavviare Firefox e tentare di nuovo. -general.checkForUpdate=Controlla aggiornamenti -general.actionCannotBeUndone=Questa azione non può essere annullata +general.unknownErrorOccurred=Si è verificato un errrore sconosciuto. +general.invalidResponseServer=Risposta del server non valida. +general.tryAgainLater=Tentare di nuovo tra qualche minuto. +general.serverError=Il server ha restituito un errore. Ritentare. +general.restartFirefox=Riavviare %S. +general.restartFirefoxAndTryAgain=Riavviare %S e tentare di nuovo. +general.checkForUpdate=Check for Update +general.actionCannotBeUndone=Questa azione non può essere annullata. general.install=Installa general.updateAvailable=Aggiornamenti disponibili general.noUpdatesFound=No Updates Found @@ -47,11 +47,11 @@ general.disable=Disattiva general.remove=Rimuovi general.reset=Reset general.hide=Hide -general.quit=Quit -general.useDefault=Use Default +general.quit=Esci +general.useDefault=Usa impostazioni predefinite general.openDocumentation=Apri la documentazione -general.numMore=%S more… -general.openPreferences=Open Preferences +general.numMore=altri %S... +general.openPreferences=Apri le impostazioni general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ @@ -86,22 +86,22 @@ errorReport.advanceMessage=Premere '%S' per inviare un rapporto di errore agli s errorReport.stepsToReproduce=Passaggio da riprodurre: errorReport.expectedResult=Risultato previsto: errorReport.actualResult=Risultato verificatosi: -errorReport.noNetworkConnection=No network connection -errorReport.invalidResponseRepository=Invalid response from repository -errorReport.repoCannotBeContacted=Repository cannot be contacted +errorReport.noNetworkConnection=Nessuna connessione di rete +errorReport.invalidResponseRepository=Risposta non valida dal repository +errorReport.repoCannotBeContacted=Il repository non può essere contattato -attachmentBasePath.selectDir=Choose Base Directory -attachmentBasePath.chooseNewPath.title=Confirm New Base Directory -attachmentBasePath.chooseNewPath.message=Linked file attachments below this directory will be saved using relative paths. -attachmentBasePath.chooseNewPath.existingAttachments.singular=One existing attachment was found within the new base directory. -attachmentBasePath.chooseNewPath.existingAttachments.plural=%S existing attachments were found within the new base directory. -attachmentBasePath.chooseNewPath.button=Change Base Directory Setting -attachmentBasePath.clearBasePath.title=Revert to Absolute Paths -attachmentBasePath.clearBasePath.message=New linked file attachments will be saved using absolute paths. -attachmentBasePath.clearBasePath.existingAttachments.singular=One existing attachment within the old base directory will be converted to use an absolute path. -attachmentBasePath.clearBasePath.existingAttachments.plural=%S existing attachments within the old base directory will be converted to use absolute paths. -attachmentBasePath.clearBasePath.button=Clear Base Directory Setting +attachmentBasePath.selectDir=Scegliere la cartella base +attachmentBasePath.chooseNewPath.title=Confermare la nuova cartella base +attachmentBasePath.chooseNewPath.message=I file allegati inseriti in questa directory verranno salvati usando un percorso relativo. +attachmentBasePath.chooseNewPath.existingAttachments.singular=Un allegato esistente è stato trovato nella nuova directory base. +attachmentBasePath.chooseNewPath.existingAttachments.plural=%S allegati esistenti sono stati trovati nella nuova directory base. +attachmentBasePath.chooseNewPath.button=Cambiare l'impostazione della cartella base +attachmentBasePath.clearBasePath.title=Ripristina i percorsi assoluti +attachmentBasePath.clearBasePath.message=I file allegati inseriti in questa directory verranno salvati usando un percorso assoluto. +attachmentBasePath.clearBasePath.existingAttachments.singular=Un allegato esistente nella vecchia directory base sarà convertito usando un percorso assoluto. +attachmentBasePath.clearBasePath.existingAttachments.plural=%S allegati esistenti nella vecchia directory base saranno convertiti usando un percorso assoluto. +attachmentBasePath.clearBasePath.button=Ripristina l'impostazione della cartella base dataDir.notFound=Impossibile trovare la cartella dati di Zotero. dataDir.previousDir=Cartella precedente: @@ -109,12 +109,12 @@ 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.selectedDirEmpty.title=Directory Empty -dataDir.selectedDirEmpty.text=The directory you selected is empty. To move an existing Zotero data directory, you will need to manually move files from the existing data directory to the new location after %1$S has closed. +dataDir.selectedDirEmpty.title=Cartella vuota +dataDir.selectedDirEmpty.text=La cartella selezionata è vuota. Per trasferire una cartella dei dati di Zotero, sarà necessario trasferire manualmente i file dalla cartella dati esistente alla nuova posizione dopo la chiusura di %1$S. dataDir.selectedDirEmpty.useNewDir=Use the new directory? dataDir.moveFilesToNewLocation=Be sure to move files from your existing Zotero data directory to the new location before reopening %1$S. -dataDir.incompatibleDbVersion.title=Incompatible Database Version -dataDir.incompatibleDbVersion.text=The currently selected data directory is not compatible with Zotero Standalone, which can share a database only with Zotero for Firefox 2.1b3 or later.\n\nUpgrade to the latest version of Zotero for Firefox first or select a different data directory for use with Zotero Standalone. +dataDir.incompatibleDbVersion.title=Versione del database incompatibile +dataDir.incompatibleDbVersion.text=La cartella dati selezionata non è compatibile con Zotero Standalone, che può condividere il database solo con Zoero per Firefox 2.1b3 o versioni successive.\n\nAggiornare prima alla versione più recente di Zotero for Firefox, oppure selezionare una diversa cartella dati da usare con Zotero Standalone. dataDir.standaloneMigration.title=È stata trovata una libreria di Zotero già esistente dataDir.standaloneMigration.description=Sembra essere la prima volta che utilizzi %1$S. Vuoi che %1$S importi le impostazioni da %2$S e usi la cartella dati esistente? dataDir.standaloneMigration.multipleProfiles=%1$S condividerà la sua cartella dati con il profilo usato più di recente. @@ -160,11 +160,11 @@ pane.collections.newSavedSeach=Nuova ricerca salvata pane.collections.savedSearchName=Immettere un nome per la ricerca salvata: pane.collections.rename=Rinomina collezione: pane.collections.library=Libreria personale -pane.collections.groupLibraries=Group Libraries +pane.collections.groupLibraries=Biblioteche di gruppo pane.collections.trash=Cestino pane.collections.untitled=Senza titolo pane.collections.unfiled=Elemento non classificato -pane.collections.duplicate=Duplicate Items +pane.collections.duplicate=Elementi duplicati pane.collections.menu.rename.collection=Rinomina collezione... pane.collections.menu.edit.savedSearch=Modifica ricerca salvata @@ -186,14 +186,14 @@ pane.tagSelector.delete.message=Il tag verrà rimosso da tutti gli elementi. pane.tagSelector.numSelected.none=Nessun tag selezionato pane.tagSelector.numSelected.singular=%S tag selezionato pane.tagSelector.numSelected.plural=%S tag selezionati -pane.tagSelector.maxColoredTags=Only %S tags in each library can have colors assigned. +pane.tagSelector.maxColoredTags=Solo %S etichette per biblioteca possono essere associate a un colore. -tagColorChooser.numberKeyInstructions=You can add this tag to selected items by pressing the $NUMBER key on the keyboard. -tagColorChooser.maxTags=Up to %S tags in each library can have colors assigned. +tagColorChooser.numberKeyInstructions=È possibile aggiungere questa etichetta agli elementi selezionati premendo il tasto $NUMBER sulla tastiera. +tagColorChooser.maxTags=Fino a %S etichette per biblioteca possono essere associate a un colore. pane.items.loading=Caricamento lista elementi in corso... -pane.items.attach.link.uri.title=Attach Link to URI -pane.items.attach.link.uri=Enter a URI: +pane.items.attach.link.uri.title=Allega un collegamento alla URI +pane.items.attach.link.uri=Inserire una URI: pane.items.trash.title=Sposta nel Cestino pane.items.trash=Spostare l'elemento selezionato nel Cestino? pane.items.trash.multiple=Spostare gli elementi selezionati nel Cestino? @@ -230,12 +230,12 @@ pane.items.interview.manyParticipants=Intervista di %S e altri pane.item.selected.zero=Nessun elemento selezionato pane.item.selected.multiple=%S elementi selezionati -pane.item.unselected.zero=No items in this view -pane.item.unselected.singular=%S item in this view -pane.item.unselected.plural=%S items in this view +pane.item.unselected.zero=Nessun elemento in questa vista +pane.item.unselected.singular=%S elemento in questa vista +pane.item.unselected.plural=%S elementi in questa vista -pane.item.duplicates.selectToMerge=Select items to merge -pane.item.duplicates.mergeItems=Merge %S items +pane.item.duplicates.selectToMerge=Selezionare gli elementi da accorpare +pane.item.duplicates.mergeItems=Accorpare %S elementi pane.item.duplicates.writeAccessRequired=Library write access is required to merge items. pane.item.duplicates.onlyTopLevel=Only top-level full items can be merged. pane.item.duplicates.onlySameItemType=Merged items must all be of the same item type. @@ -247,8 +247,8 @@ pane.item.defaultLastName=cognome pane.item.defaultFullName=nome completo pane.item.switchFieldMode.one=Passa a campo unico pane.item.switchFieldMode.two=Passa a campo doppio -pane.item.creator.moveUp=Move Up -pane.item.creator.moveDown=Move Down +pane.item.creator.moveUp=Sposta in alto +pane.item.creator.moveDown=Sposta in basso pane.item.notes.untitled=Nota senza titolo pane.item.notes.delete.confirm=Cancellare questa nota? pane.item.notes.count.zero=%S note @@ -503,17 +503,17 @@ db.dbRestoreFailed=Il database '%S' di Zotero potrebbe essere danneggiato e il t db.integrityCheck.passed=Non è stato rilevato alcun errore nel database. db.integrityCheck.failed=Rilevato errore nel database di Zotero. db.integrityCheck.dbRepairTool=È possibile utilizzare gli strumenti di riparazione del database disponibili presso http://zotero.org/utils/dbfix per tentare di corregere questi errori. -db.integrityCheck.repairAttempt=Zotero can attempt to correct these errors. -db.integrityCheck.appRestartNeeded=%S will need to be restarted. -db.integrityCheck.fixAndRestart=Fix Errors and Restart %S -db.integrityCheck.errorsFixed=The errors in your Zotero database have been corrected. -db.integrityCheck.errorsNotFixed=Zotero was unable to correct all the errors in your database. -db.integrityCheck.reportInForums=You can report this problem in the Zotero Forums. +db.integrityCheck.repairAttempt=Zotero può tentare di correggere questi errori. +db.integrityCheck.appRestartNeeded=%S dovrà essere riavviato. +db.integrityCheck.fixAndRestart=Correggere gli errori e riavviare %S +db.integrityCheck.errorsFixed=Gli errori nel database di Zotero sono stati corretti. +db.integrityCheck.errorsNotFixed=Zotero non è riuscito a correggere tutti gli errori nel database. +db.integrityCheck.reportInForums=È possibile segnalare questo problema nei forum di Zotero. zotero.preferences.update.updated=Aggiornato zotero.preferences.update.upToDate=Aggiornato zotero.preferences.update.error=Errore -zotero.preferences.launchNonNativeFiles=Open PDFs and other files within %S when possible +zotero.preferences.launchNonNativeFiles=Apri PDF e altri file all'interno di %S quando possibile zotero.preferences.openurl.resolversFound.zero=Non è stato rilevato alcun motore di ricerca zotero.preferences.openurl.resolversFound.singular=Rilevato %S motore di ricerca zotero.preferences.openurl.resolversFound.plural=Rilevati %S motori di ricerca @@ -556,7 +556,7 @@ zotero.preferences.search.pdf.tryAgainOrViewManualInstructions=Riprovare in segu zotero.preferences.export.quickCopy.bibStyles=Stili bibliografici zotero.preferences.export.quickCopy.exportFormats=Formati di esportazione zotero.preferences.export.quickCopy.instructions=Copia veloce permette di copiare i riferimenti bibliografici selezionati negli Appunti utilizzando la scorciatoia da tastiera (%S) o trascinando l'elemento in un campo di testo di una pagina web. -zotero.preferences.export.quickCopy.citationInstructions=For bibliography styles, you can copy citations or footnotes by pressing %S or holding down Shift before dragging items. +zotero.preferences.export.quickCopy.citationInstructions=Per gli stili bibliografici, è possibile copiare le citazioni o le note a piè di pagina premendo %S oppure tenendo premuto Maiusc prima di trascinare gli elementi. zotero.preferences.styles.addStyle=Aggiungi stile zotero.preferences.advanced.resetTranslatorsAndStyles=Reimposta motori di ricerca e stili @@ -640,7 +640,7 @@ fulltext.indexState.partial=Parzialmente indicizzato exportOptions.exportNotes=Esporta note exportOptions.exportFileData=Esporta file -exportOptions.useJournalAbbreviation=Use Journal Abbreviation +exportOptions.useJournalAbbreviation=Usare l'abbreviazione dei titoli dei periodici charset.UTF8withoutBOM=Unicode (UTF-8 senza BOM) charset.autoDetect=(rilevamento automatico) @@ -656,8 +656,8 @@ citation.multipleSources=Fonti multiple... citation.singleSource=Fonte singola... citation.showEditor=Visualizza editor... citation.hideEditor=Nascondi editor... -citation.citations=Citations -citation.notes=Notes +citation.citations=Citazioni +citation.notes=Note report.title.default=Rapporto Zotero report.parentItem=Elemento principale: @@ -743,7 +743,7 @@ styles.abbreviations.title=Load Abbreviations styles.abbreviations.parseError=The abbreviations file "%1$S" is not valid JSON. styles.abbreviations.missingInfo=The abbreviations file "%1$S" does not specify a complete info block. -sync.sync=Sync +sync.sync=Sincronizzazione sync.cancel=Interrompere la Sincronizzazione sync.openSyncPreferences=Apri le impostazione di sincronizzazione... sync.resetGroupAndSync=Reimpostare i Gruppi e la Sincronizzazione @@ -753,10 +753,10 @@ sync.remoteObject=Oggetto remoto sync.mergedObject=Oggetto unificato sync.error.usernameNotSet=Nome utente non impostato -sync.error.usernameNotSet.text=You must enter your zotero.org username and password in the Zotero preferences to sync with the Zotero server. +sync.error.usernameNotSet.text=È necessario inserire le proprie credenziali di zotero.org nelle impostazioni di Zotero per attivare la sincronizzazione con il server Zotero. sync.error.passwordNotSet=Password non impostata sync.error.invalidLogin=Nome utente o password non validi -sync.error.invalidLogin.text=The Zotero sync server did not accept your username and password.\n\nPlease check that you have entered your zotero.org login information correctly in the Zotero sync preferences. +sync.error.invalidLogin.text=Il server di sincronizzazione di Zotero non ha accettato le credenziali inserite..\n\nControllare di avere inserito correttamente le credenziali di zotero.org nelle impostazioni sulla sincronizzazione di Zotero. sync.error.enterPassword=Immettere una password. sync.error.loginManagerInaccessible=Zotero cannot access your login information. sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully. @@ -765,21 +765,21 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Chiudere %S, fare un copia dei dati e eliminare le informazioni di login.* dal profilo di %S. Immettere nuovamente le proprie informazioni di login per Zotero nel pannello Sincronizzazione delle impostazioni di Zotero. sync.error.syncInProgress=Un'operazione di sincronizzazione è già in corso. sync.error.syncInProgress.wait=Attendere il completamento dell'operazione precedente o riavviare %S. -sync.error.writeAccessLost=Non si ha più privilegio di scrittura per il gruppo di Zotero '%S': i file aggiunti o modificati non possono essere sincronizzati con il server. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Se si continua, la propria copia del gruppo verrà allineata allo stato del server e tutte le modifiche apportate in locale andranno perse. sync.error.copyChangedItems=Annullare la sincronizzazione se si desidera avere la possibilità di salvare i propri cambiamenti o di richiedere i privilegi di scrittura da un amministratore del gruppo. sync.error.manualInterventionRequired=Una sincronizzazione automatica ha prodotto un conflitto che richiede un intervento manuale. sync.error.clickSyncIcon=Fare click sull'icona di sincronizzazione per avviare manualmente la sincronizzazione. -sync.error.invalidClock=The system clock is set to an invalid time. You will need to correct this to sync with the Zotero server. -sync.error.sslConnectionError=SSL connection error -sync.error.checkConnection=Error connecting to server. Check your Internet connection. -sync.error.emptyResponseServer=Empty response from server. -sync.error.invalidCharsFilename=The filename '%S' contains invalid characters.\n\nRename the file and try again. If you rename the file via the OS, you will need to relink it in Zotero. +sync.error.invalidClock=L'orologio di sistema è impostato su un orario sbagliato. È necessario correggere l'ora di sistema perché la sincronizzazione con il server di Zotero possa funzionare. +sync.error.sslConnectionError=Errore nella connessione SSL +sync.error.checkConnection=Errore nella connessione al server. Controllare la connessione a Internet. +sync.error.emptyResponseServer=Risposta vuota dal server. +sync.error.invalidCharsFilename=Il nome del file '%S' contiene caratteri non validi.\n\nRinominare il file e tentare nuovamente. Se il nome viene modificato tramite il sistema operativo, sarà necessario aggiungere di nuovo il collegamento in Zotero. -sync.lastSyncWithDifferentAccount=This Zotero database was last synced with a different zotero.org account ('%1$S') from the current one ('%2$S'). -sync.localDataWillBeCombined=If you continue, local Zotero data will be combined with data from the '%S' account stored on the server. -sync.localGroupsWillBeRemoved1=Local groups, including any with changed items, will also be removed. -sync.avoidCombiningData=To avoid combining or losing data, revert to the '%S' account or use the Reset options in the Sync pane of the Zotero preferences. +sync.lastSyncWithDifferentAccount=Questo database di Zotero è stato sincronizzato con un account zotero.org ('%1$S') diverso da quello attualmente in uso ('%2$S'). +sync.localDataWillBeCombined=Continuando, i dati locali di Zotero saranno combinati con quelli dell'account '%S' archiviato sul server. +sync.localGroupsWillBeRemoved1=Anche i gruppi locali, inclusi quelli con elementi modificati, verranno rimossi. +sync.avoidCombiningData=Per evitare di combinare o perdere dati, ritornare all'account '%S' oppure usare le opzioni di Ripristino nel pannello Sincronizzazione delle impostazioni di Zotero. sync.localGroupsWillBeRemoved2=If you continue, local groups, including any with changed items, will be removed and replaced with groups linked to the '%1$S' account.\n\nTo avoid losing local changes to groups, be sure you have synced with the '%2$S' account before syncing with the '%1$S' account. sync.conflict.autoChange.alert=One or more locally deleted Zotero %S have been modified remotely since the last sync. diff --git a/chrome/locale/ja-JP/zotero/preferences.dtd b/chrome/locale/ja-JP/zotero/preferences.dtd index 4def43046b..5f84d7207f 100644 --- a/chrome/locale/ja-JP/zotero/preferences.dtd +++ b/chrome/locale/ja-JP/zotero/preferences.dtd @@ -9,10 +9,10 @@ - + - + @@ -65,11 +65,11 @@ - + - + @@ -109,7 +109,7 @@ - + @@ -175,7 +175,7 @@ - + diff --git a/chrome/locale/ja-JP/zotero/zotero.properties b/chrome/locale/ja-JP/zotero/zotero.properties index 13235a7506..951cd72368 100644 --- a/chrome/locale/ja-JP/zotero/zotero.properties +++ b/chrome/locale/ja-JP/zotero/zotero.properties @@ -20,12 +20,12 @@ general.tryAgainLater=数分後にもう一度お試し下さい。 general.serverError=サーバーがエラーを返しました。もう一度お試し下さい。 general.restartFirefox=%S を再起動してください。 general.restartFirefoxAndTryAgain=%S を再起動してもう一度試してみて下さい。 -general.checkForUpdate=更新の確認 +general.checkForUpdate=更新を確認する general.actionCannotBeUndone=この操作を実行すると、元に戻すことができません。 general.install=インストールする general.updateAvailable=更新が公開されています -general.noUpdatesFound=No Updates Found -general.isUpToDate=%S is up to date. +general.noUpdatesFound=更新は見つかりませんでした。 +general.isUpToDate=%S は最新です。 general.upgrade=更新をインストールする general.yes=はい general.no=いいえ @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=おそらく、%Sのログインマネージ sync.error.loginManagerCorrupted2=%1$Sを閉じ、%2$Sプロファイルの signon.* をバックアップして削除した後、Zotero環境設定の「同期」タブにログイン情報を入力し直してください。 sync.error.syncInProgress=同期処理がすでに実行中です。 sync.error.syncInProgress.wait=この前の同期が完了するのをお待ち頂くか、あるいは %S を再起動してください。 -sync.error.writeAccessLost=あなたはもはや Zotero グループ '%S'に書き込みアクセス権限を持っていません。あなたが追加したり編集したファイルはサーバ側と同期させることができません。 +sync.error.writeAccessLost=あなたはもはや Zotero グループ '%S'への書き込み権限がありません。あなたが追加または編集したファイルをサーバ側と同期させることはできません。 sync.error.groupWillBeReset=もし続けると、このグループの手元のコピーはサーバ側の状態にリセットされ、アイテムやファイルへのローカル(手元)での変更内容は失われます。 sync.error.copyChangedItems=もしあなたの編集内容を別の場所へコピーしたい、あるいはグループ管理者に書き込みアクセス権限の供与を依頼したい場合は、直ちに同期をキャンセルしてください。 sync.error.manualInterventionRequired=自動の同期処理は、手動処理が必要な矛盾に陥りました。 diff --git a/chrome/locale/km/zotero/zotero.properties b/chrome/locale/km/zotero/zotero.properties index fc10d1017b..7125165632 100644 --- a/chrome/locale/km/zotero/zotero.properties +++ b/chrome/locale/km/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=សូមចាប់ផ្តើម %S​ ជាថ្មី។ general.restartFirefoxAndTryAgain=សូមចាប់ផ្តើម %S​ ជាថ្មី និង ព្យាយាមម្តងទៀត។ -general.checkForUpdate=ស្វែងរកទំនើបកម្ម +general.checkForUpdate=Check for Update general.actionCannotBeUndone=ចំណាត់ការនេះមិនអាចបកក្រោយវិញបានទេ។ general.install=ដំឡើង general.updateAvailable=មានទំនើបកម្មអាចដំឡើងបាន @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=សូមបិទ%S ការទាញរក្សាបម្រុងទុក និង លុបព័តិមានចូលមើលពីទម្រង់ %S របស់អ្នក និង​បញ្ចូលព័ត៌ជាថ្មីនៅត្រង់ផ្ទាំងសមកាលកម្មក្នុងជម្រើស​អាទិភាពហ្ស៊ូតេរ៉ូ។ sync.error.syncInProgress=សមកាលកម្មកំពុងតែដំណើរការ sync.error.syncInProgress.wait=សូមរង់ចាំឲសមកាលកម្មពីមុនបានបញ្ចប់សិន ឬ ចាប់ផ្តើម %S ជាថ្មីម្តង​ទៀត។ -sync.error.writeAccessLost=អ្នកលែងមានសិទិ្ធចូលក្នុងក្រុមហ្ស៊ូតេរ៉ូ '%S' បានទៀតហើយ រាល់ឯកសារ​ដែលអ្នកបានបន្ថែម ឬ បានកែតម្រូវមិនអាចធ្វើសមកាលកម្មទៅកាន់​ម៉ាស៊ីនបម្រើបានទៀតហើយ។ +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=ប្រសិនបើអ្នកបន្ត ឯកសារថតចម្លងនៃក្រុមនឹងត្រូវត្រលប់ទៅរកសភាព​ដើមវិញនៅក្នុងម៉ាស៊ីន​បម្រើ ហើយ រាល់ការកែតម្រូវផ្សេងៗនៅលើឯកសារ​នឹងត្រូវបាត់​បង់។ sync.error.copyChangedItems=ប្រសិនបើអ្នកចង់បានឱកាសថតចម្លងរាល់ការផ្លាស់ប្តូររបស់អ្នក ឬ ស្នើសុំ​សិទ្ធិចូលមើលពីក្រុមរដ្ឋបាល។ សូមបដិសេធសមកាលកម្មចោល។ sync.error.manualInterventionRequired=សមកាលកម្មដោយស្វ័យប្រវត្តិបណ្តាលឲមានការប៉ះទង្គិចគ្នា តម្រូវឲធ្វើសម​កាល​កម្មដោយដៃ។ diff --git a/chrome/locale/ko-KR/zotero/zotero.properties b/chrome/locale/ko-KR/zotero/zotero.properties index 2bf24a1aad..1ff11e898b 100644 --- a/chrome/locale/ko-KR/zotero/zotero.properties +++ b/chrome/locale/ko-KR/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Firefox를 재시작해 주세요. general.restartFirefoxAndTryAgain=Firefox를 재시작한 후 다시 시도해 주세요. -general.checkForUpdate=업데이트 확인 +general.checkForUpdate=Check for Update general.actionCannotBeUndone=주의! 되돌릴 수 없습니다. general.install=설치 general.updateAvailable=업데이트 내용이 존재합니다 @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=동기화 작업이 이미 진행중입니다. sync.error.syncInProgress.wait=이전의 동기화가 완료때까지 기다리거나 Firefox를 재시작하세요. -sync.error.writeAccessLost=더이상 '%S' Zotero 그룹에 쓰기 접근을 할 수 없습니다. 추가했거나 편집한 파일이 서버로 동기화되지 않습니다. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=계속 진행하면, 서버의 해당 그룹 상태로 리셋되고 항목들의 수정내용과 파일을 잃게 됩니다. sync.error.copyChangedItems=수정내용을 복사해 두거나 그룹 관리자로부터 쓰기 접근 권한을 요청하려면, 지금 동기화를 취소하십시오. sync.error.manualInterventionRequired=자동 동기화가 충돌을 일으켰으며, 이 문제를 수동으로 해결해야 합니다. diff --git a/chrome/locale/nb-NO/zotero/zotero.properties b/chrome/locale/nb-NO/zotero/zotero.properties index cddc426637..a713e1e725 100644 --- a/chrome/locale/nb-NO/zotero/zotero.properties +++ b/chrome/locale/nb-NO/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Vennligst start Firefox på nytt. general.restartFirefoxAndTryAgain=Vennligst start Firefox på nytt og prøv igjen. -general.checkForUpdate=Se etter oppdatering +general.checkForUpdate=Check for Update general.actionCannotBeUndone=This action cannot be undone. general.install=Installer general.updateAvailable=Oppdatering tilgjengelig diff --git a/chrome/locale/nl-NL/zotero/zotero.properties b/chrome/locale/nl-NL/zotero/zotero.properties index c39505b456..67a5adb6c6 100644 --- a/chrome/locale/nl-NL/zotero/zotero.properties +++ b/chrome/locale/nl-NL/zotero/zotero.properties @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Sluit %S, maak een backup en verwijder signons.* uit uw %S profiel, en voer opnieuw uw Zotero aanmeld-informatie in bij het Synchronisatie-paneel van de Zotero-voorkeuren. sync.error.syncInProgress=Er wordt al gesynchroniseerd. sync.error.syncInProgress.wait=Wacht totdat de vorige synchronisatie is voltooid of herstart %S. -sync.error.writeAccessLost=U heeft geen schrijfrechten meer voor de Zotero groep '%S', en bestanden die u heeft toegevoegd of gewijzigd kunnen niet met de server gesynchroniseerd worden. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Als u doorgaat zal uw kopie van de groep worden vervangen door de versie op de server. Lokale wijzigingen aan objecten en bestanden zullen verloren gaan. sync.error.copyChangedItems=Annuleer de synchronisatie als u eerst uw wijzigingen wilt opslaan, of als u schrijf-toegangsrechten wilt aanvragen bij de groepbeheerder. sync.error.manualInterventionRequired=Een automatische synchronisatie heeft tot een conflict geleidt dat handmatig opgelost moet worden. diff --git a/chrome/locale/nn-NO/zotero/zotero.properties b/chrome/locale/nn-NO/zotero/zotero.properties index 8043bbdde3..74e882be8d 100644 --- a/chrome/locale/nn-NO/zotero/zotero.properties +++ b/chrome/locale/nn-NO/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Ver god og start %S om att. general.restartFirefoxAndTryAgain=Start %S om att og prøv på nytt. -general.checkForUpdate=Sjå etter oppdatering +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Dette kan ikkje angrast. general.install=Installer general.updateAvailable=Oppdatering tilgjengeleg diff --git a/chrome/locale/pl-PL/zotero/zotero.properties b/chrome/locale/pl-PL/zotero/zotero.properties index 36f5857b5c..3d8a36e79d 100644 --- a/chrome/locale/pl-PL/zotero/zotero.properties +++ b/chrome/locale/pl-PL/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Proszę spróbować ponownie za kilka minut. general.serverError=Błąd serwera. Proszę spróbuj ponownie. general.restartFirefox=Proszę uruchomić ponownie %S. general.restartFirefoxAndTryAgain=Proszę uruchomić ponownie %S i spróbować ponownie. -general.checkForUpdate=Proszę sprawdzić dostępność aktualizacji +general.checkForUpdate=Check for Update general.actionCannotBeUndone=To polecenie nie może być cofnięte. general.install=Zainstaluj general.updateAvailable=Aktualizacja jest dostępna @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Zamknij %1$S, zrób kopie zapasowe oraz usuń pliki signons.* z twojego profilu %2$S, a następnie wprowadź ponownie swoje dane użytkownika Zotero w karcie Synchronizacja preferencji Zotero. sync.error.syncInProgress=Synchronizacja jest aktualnie w trakcie. sync.error.syncInProgress.wait=Poczekaj na zakończenie poprzedniej synchronizacji albo uruchom ponownie %S. -sync.error.writeAccessLost=Nie masz już prawa zapisu do grupy Zotero '%S', w związku z czym pliki które dodałeś lub zmieniłeś nie mogą być zsynchronizowane z serwerem. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Jeżeli będziesz kontynuować, twoja kopia grupy zostanie przywrócona do stanu na serwerze, a lokalne zmiany pozycji oraz plików zostaną usunięte. sync.error.copyChangedItems=Jeżeli chcesz mieć możliwość skopiowania zmienionych elementów w inne miejsce lub chcesz poprosić administratora grupy o prawo do zapisu, anuluj teraz synchronizację. sync.error.manualInterventionRequired=Automatyczna synchronizacja spowodowała konflikt, który wymaga ręcznej interwencji. diff --git a/chrome/locale/pt-BR/zotero/zotero.properties b/chrome/locale/pt-BR/zotero/zotero.properties index 88a6f7d843..7e991f08b0 100644 --- a/chrome/locale/pt-BR/zotero/zotero.properties +++ b/chrome/locale/pt-BR/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Por favor tente novamente em alguns minutos. general.serverError=O servidor retornou um erro. Por favor, tente novamente. general.restartFirefox=Por favor, reinicie o Firefox. general.restartFirefoxAndTryAgain=Por favor, reinicie o Firefox e tente novamente. -general.checkForUpdate=Verificar atualização +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Esta ação não pode ser desfeita. general.install=Instalar general.updateAvailable=Atualização disponível @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=Feche o Firefox, faça uma cópia de segurança e exclua o arquivo singons.* de seu perfil Firefox; em seguida redigite suas informações de login no painel Sincronização das preferências Zotero. sync.error.syncInProgress=Uma operação de sincronização já está em progresso. sync.error.syncInProgress.wait=Aguarde o fim da operação de sincronização anterior or reinicie o Firefox. -sync.error.writeAccessLost=Você não tem mais direitos de escrita no grupo Zotero '%S', e os arquivos que você adicionou ou editou não podem ser sincronizados com o servidor. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Se você continuar, sua cópia do grupo será reconfigurada conforme seu estado atual no servidor, e quaisquer modificações locais em itens e arquivos serão perdidas. sync.error.copyChangedItems=Se deseja uma oportunidade de copiar suas mudanças em outro lugar ou de requisitar direitos de escrita ao administrador do grupo, cancele a operação de sincronização agora. sync.error.manualInterventionRequired=Uma sincronização automática resultou em um conflito que requer intervenção manual. diff --git a/chrome/locale/pt-PT/zotero/zotero.properties b/chrome/locale/pt-PT/zotero/zotero.properties index 824b6621c8..62fcc75416 100644 --- a/chrome/locale/pt-PT/zotero/zotero.properties +++ b/chrome/locale/pt-PT/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Por favor volte a tentar dentro de alguns minutos. general.serverError=O servidor assinalou um erro. Por favor tente de novo. general.restartFirefox=Por favor reinicie o Firefox. general.restartFirefoxAndTryAgain=Por favor reinicie o Firefox e tente de novo. -general.checkForUpdate=Verificar existência de actualizações +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Esta acção não pode ser desfeita. general.install=Instalar general.updateAvailable=Actualização Disponível @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=O zotero não consegue aceder à sua informaç sync.error.loginManagerCorrupted2=Feche o Firefox, faça cópias de segurança e remova os signons.* do seu perfil do Firefox. Depois reintroduza as suas credenciais do Zotero no painel de sincronização das preferências do Zotero. sync.error.syncInProgress=Está em curso uma outra operação de sincronização. sync.error.syncInProgress.wait=Espere pelo fim da operação de sincronização anterior ou reinicie o Firefox. -sync.error.writeAccessLost=Você já não tem acesso de escrita ao grupo Zotero '%S'. Por isso, arquivos que adicionou ou a que acedeu não podem ser sincronizados com o servidor. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Se continuar, a sua cópia do grupo será reiniciada para o seu estado no servidor, perdendo-se as modificações locais a itens e ficheiros. sync.error.copyChangedItems=Se quiser ter uma oportunidade para copiar as suas alterações para lugar seguro ou para pedir acesso de escrita ao administrador do grupo, cancela a sincronização imediatamente. sync.error.manualInterventionRequired=Uma sincronização automática resultou num conflito que requer uma intervenção manual. diff --git a/chrome/locale/ro-RO/zotero/preferences.dtd b/chrome/locale/ro-RO/zotero/preferences.dtd index e7e923e4ea..1837a98fde 100644 --- a/chrome/locale/ro-RO/zotero/preferences.dtd +++ b/chrome/locale/ro-RO/zotero/preferences.dtd @@ -55,8 +55,8 @@ - - + + diff --git a/chrome/locale/ro-RO/zotero/zotero.properties b/chrome/locale/ro-RO/zotero/zotero.properties index 72bded43ed..0e370dce9c 100644 --- a/chrome/locale/ro-RO/zotero/zotero.properties +++ b/chrome/locale/ro-RO/zotero/zotero.properties @@ -20,16 +20,16 @@ general.tryAgainLater=Te rog să încerci din nou în câteva minute. general.serverError=Serverul a returnat o eroare. Te rog să încerci din nou. general.restartFirefox=Repornește %S, te rog. general.restartFirefoxAndTryAgain=Te rog să repornești %S și apoi încearcă din nou. -general.checkForUpdate=Caută după actualizări +general.checkForUpdate=Caută actualizări general.actionCannotBeUndone=Această acțiune nu poate fi anulată. general.install=Instalează general.updateAvailable=Actualizare valabilă -general.noUpdatesFound=No Updates Found -general.isUpToDate=%S is up to date. +general.noUpdatesFound=Nu s-au găsit actualizări +general.isUpToDate=%S este actualizat. general.upgrade=Actualizează la versiunea nouă general.yes=Da general.no=Nu -general.notNow=Not Now +general.notNow=Nu acum general.passed=Corect general.failed=Eșuat general.and=și @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero nu poate accesa informațiile tale de a sync.error.loginManagerCorrupted2=Închide %1$S, creează o copie de siguranță și șterge signons.* din profilul tău %2$S; apoi reintrodu informația ta de autentificare Zotero în panoul Sincronizare din Preferințe Zotero. sync.error.syncInProgress=O operație de sincronizare este deja în curs. sync.error.syncInProgress.wait=Așteaptă ca sincronizarea precedentă să se încheie sau repornește %S. -sync.error.writeAccessLost=Nu mai ai acces pentru scriere la grupul Zotero '%S' și fișierele pe care le-ai adăugat sau editat nu mai pot fi sincronizate pe server. +sync.error.writeAccessLost=Nu mai ai acces pentru scriere în grupul Zotero '%S', iar înregistrările pe care le-ai adăugat sau editat nu pot fi sincronizate cu serverul. sync.error.groupWillBeReset=Dacă vei continua, copia ta pentru grup va fi resetată la starea ei pe server și modificările locale pe înregistrări și fișiere vor fi pierdute. sync.error.copyChangedItems=Dacă vrei să-ți copiezi modificările altundeva sau să ceri permisiuni de scriere de la un grup de administratori, renunță la sincronizare acum. sync.error.manualInterventionRequired=O sincronizare automată a dus la un conflict care are nevoie de intervenție manuală. @@ -815,10 +815,10 @@ sync.status.uploadingData=Încarcă datele pe serverul de sincronizare sync.status.uploadAccepted=Încărcare acceptată — caută serverul de sincronizare sync.status.syncingFiles=Sincronizează fișierele -sync.fulltext.upgradePrompt.title=New: Full-Text Content Syncing -sync.fulltext.upgradePrompt.text=Zotero can now sync the full-text content of files in your Zotero libraries with zotero.org and other linked devices, allowing you to easily search for your files wherever you are. The full-text content of your files will not be shared publicly. -sync.fulltext.upgradePrompt.changeLater=You can change this setting later from the Sync pane of the Zotero preferences. -sync.fulltext.upgradePrompt.enable=Use Full-Text Syncing +sync.fulltext.upgradePrompt.title=Nou: sincronizare conținut text complet +sync.fulltext.upgradePrompt.text=Zotero poate sincroniza acum conținutul textului complet al fișierelor în bibliotecile tale Zotero cu zotero.org și alte dispozitive legate, permițându-ți să cauți după fișierele tale oriunde ai fi. Conținutul textului complet al fișierelor tale nu va fi partajat public. +sync.fulltext.upgradePrompt.changeLater=Poți salvea această setare mai târziu, în panoul Sincronizare din Preferințele Zotero. +sync.fulltext.upgradePrompt.enable=Utilizează sincronizarea textului complet sync.storage.mbRemaining=%SMB rămași sync.storage.kbRemaining=%SKB rămași @@ -953,7 +953,7 @@ standalone.updateMessage=Este valabilă o actualizare recomandată, dar setăril connector.error.title=Eroare la conectorul Zotero connector.standaloneOpen=Baza ta de date nu poate fi accesată fiindcă Zotero Standalone este deschis. Te rog să-ți vizualizezi înregistrările în Zotero Standalone. -connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox. +connector.loadInProgress=Zotero Standalone a fost lansat dar nu este accesibil. Dacă întâmpini o eroare la deschiderea programului Zotero Standalone, repornește Firefox. firstRunGuidance.saveIcon=Zotero a găsit o referință pe această pagină. Fă clic pe această iconiță din bara de adrese pentru a salva referința în biblioteca ta Zotero. firstRunGuidance.authorMenu=Zotero îți permite, de asemenea, să specifici editorii și traducătorii. Poți să schimbi un autor într-un editor sau traducător făcând o selecție în acest meniu. diff --git a/chrome/locale/ru-RU/zotero/zotero.properties b/chrome/locale/ru-RU/zotero/zotero.properties index 6f16c39b8a..13e4686ac1 100644 --- a/chrome/locale/ru-RU/zotero/zotero.properties +++ b/chrome/locale/ru-RU/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Повторите попытку позже. general.serverError=Сервер вернул ошибку. Повторите попытку. general.restartFirefox=Перезапустите Firefox. general.restartFirefoxAndTryAgain=Перезапустите Firefoх и попробуйте снова. -general.checkForUpdate=Проверить наличие обновлений +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Это действие не может быть отменено. general.install=Установить general.updateAvailable=Доступно обновление @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Приложению Zotero не удаетс sync.error.loginManagerCorrupted2=Закройте Firefox, сделайте резервную копию и удалите signons.* из вашего профиля Firefox, затем заново введите ваши регистрационные данные в панели Синхронизация настроек Zotero. sync.error.syncInProgress=Синхронизация уже выполняется. sync.error.syncInProgress.wait=Подождите завершение предыдущей синхронизации или перезапустите Firefox. -sync.error.writeAccessLost=У вас больше нет доступа на запись к группе Zotero '%S', и документы, которые вы добавили или изменили, не могут быть синхронизированы с сервером. +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=Если вы продолжите, ваша копия группы будет приведена к её состоянию на сервере. При этом локальные изменения документов и файлов будут утеряны. sync.error.copyChangedItems=Если вы хотите скопировать ваши изменения в другое место или попросить доступ на запись у администратора группы, отмените синхронизацию сейчас. sync.error.manualInterventionRequired=Автоматическая синхронизация привела к конфликту, требующему ручного вмешательства. diff --git a/chrome/locale/sl-SI/zotero/zotero.properties b/chrome/locale/sl-SI/zotero/zotero.properties index 5b58a1a7e3..81ceb8cd58 100644 --- a/chrome/locale/sl-SI/zotero/zotero.properties +++ b/chrome/locale/sl-SI/zotero/zotero.properties @@ -20,12 +20,12 @@ general.tryAgainLater=Poskusite znova čez nekaj minut. general.serverError=Strežnik je vrnil napako. Poskusite znova. general.restartFirefox=Ponovno zaženite %S. general.restartFirefoxAndTryAgain=Ponovno zaženite %S in poskusite znova. -general.checkForUpdate=Preveri stanje posodobitev +general.checkForUpdate=Preveri obstoj posodobitev general.actionCannotBeUndone=Tega dejanja ni mogoče preklicati. general.install=Namesti general.updateAvailable=Na voljo je posodobitev -general.noUpdatesFound=No Updates Found -general.isUpToDate=%S is up to date. +general.noUpdatesFound=Posodobitev ni mogoče najti +general.isUpToDate=%S je posodobljen. general.upgrade=Posodobi general.yes=Da general.no=Ne @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero ne more dostopati do vaših prijavnih p sync.error.loginManagerCorrupted2=Zaprite %1$S, naredite varnostno kopijo in izbrišite signons.* iz svojega profila %2$S, nato ponovno vnesite prijavne podatke Zotero v podoknu Usklajevanje v nastavitvah Zotera. sync.error.syncInProgress=Usklajevanje je že v teku. sync.error.syncInProgress.wait=Počakajte, da se prejšnje usklajevanje dokonča ali ponovno zaženite %S. -sync.error.writeAccessLost=V skupini Zotero »%S« nimate več pravice pisanja in datotek, ki ste jih dodali ali uredili, ni več mogoče usklajevati s strežnikom. +sync.error.writeAccessLost=V skupini Zotero '%S' nimate več pravice pisanja in elementov, ki ste jih dodali ali uredili, ni več mogoče usklajevati s strežnikom. sync.error.groupWillBeReset=Če nadaljujete bo kopija skupine ponastavljena na njeno stanje na strežniku, krajevne spremembe vnosov in datotek pa bodo izgubljene. sync.error.copyChangedItems=Če bi radi kopirali svoje spremembe drugam ali od skrbnika skupine zahtevali pravice za pisanje, takoj prekinite usklajevanje. sync.error.manualInterventionRequired=Samodejno usklajevanje je povzročilo spor, ki zahteva ročno posredovanje. diff --git a/chrome/locale/sr-RS/zotero/zotero.properties b/chrome/locale/sr-RS/zotero/zotero.properties index f53be50027..baa3ac3642 100644 --- a/chrome/locale/sr-RS/zotero/zotero.properties +++ b/chrome/locale/sr-RS/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Поново покрените Фајерфокс general.restartFirefoxAndTryAgain=Поново покрените Фајерфокс и покушајте поново. -general.checkForUpdate=Проверите за ажурирања +general.checkForUpdate=Check for Update general.actionCannotBeUndone=Ова акција не може да буде опозвана. general.install=Инсталирање general.updateAvailable=Ажурирања доступна diff --git a/chrome/locale/sv-SE/zotero/zotero.dtd b/chrome/locale/sv-SE/zotero/zotero.dtd index c589e1f351..1a58247f7c 100644 --- a/chrome/locale/sv-SE/zotero/zotero.dtd +++ b/chrome/locale/sv-SE/zotero/zotero.dtd @@ -245,7 +245,7 @@ - + diff --git a/chrome/locale/sv-SE/zotero/zotero.properties b/chrome/locale/sv-SE/zotero/zotero.properties index 38a6df4937..0f910d0da8 100644 --- a/chrome/locale/sv-SE/zotero/zotero.properties +++ b/chrome/locale/sv-SE/zotero/zotero.properties @@ -774,7 +774,7 @@ sync.error.invalidClock=Systemklockan är inställd på en ogiltig tid. Du behö sync.error.sslConnectionError=SSL-anslutningsfel sync.error.checkConnection=Fel vid anslutning till server. Kontrollera din internetuppkoppling. sync.error.emptyResponseServer=Tomt svar från server. -sync.error.invalidCharsFilename=Filnamnet '%S' innehåller ogiltiga tecken.\n\nDöp om filen och försik igen. Om du döper om filen i operativsystemet så måste du länka den i Zotero igen. +sync.error.invalidCharsFilename=Filnamnet '%S' innehåller ogiltiga tecken.\n\nDöp om filen och försök igen. Om du döper om filen i operativsystemet så måste du länka den i Zotero igen. sync.lastSyncWithDifferentAccount=Denna Zotero-databas synkroniserades med ett annat zotero.org-konto än senast. Förra kontot var ('%1$S'), nuvarande konto är ('%2$S'). sync.localDataWillBeCombined=Om du fortsätter så kommer lokal Zotero-data att slås ihop med data från servern från kontot '%S'. diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties index 2839ffebc7..68a6d4bfb8 100644 --- a/chrome/locale/th-TH/zotero/zotero.properties +++ b/chrome/locale/th-TH/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=โปรดเริ่ม %S ใหม่ general.restartFirefoxAndTryAgain=โปรดเริ่ม %S ใหม่และลองอีกครั้ง -general.checkForUpdate=ตรวจสอบรุ่นใหม่ +general.checkForUpdate=Check for Update general.actionCannotBeUndone=การกระทำนี้ย้อนกลับไม่ได้ general.install=ติดตั้ง general.updateAvailable=มีรุ่นใหม่ @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=ปิด %S สำรองและลบ signons.* จากโพรไฟล์ของคุณใน %S และป้อนบันทึกเข้า Zotero ในแผงการเชื่อมประสานของค่าตั้งพึงใจใน Zotero อีกครั้ง sync.error.syncInProgress=การเชื่อมประสานกำลังดำเนินการ sync.error.syncInProgress.wait=รอให้การเชื่อมประสานครั้งก่อนเสร็จสิ้นหรือเริ่ม %S ใหม่ -sync.error.writeAccessLost=คุณไม่มีสิทธิสำหรับการเขียนในกลุ่ม Zotero '%S' และแฟ้มที่คุณเพิ่มหรือแก้ไขนั้นไม่สามารถเชื่อมประสานไปยังเครื่องบริการได้ +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=ถ้าคุณยังต้องการทำต่อสำเนาของกลุ่มของคุณจะถูกตั้งค่าใหม่บนเครื่องบริการ และการแก้ไขที่เครื่องของคุณและแฟ้มข้อมูลจะสูญหาย sync.error.copyChangedItems=ถ้าคุณต้องการช่องทางสำหรับการสำเนาการเปลี่ยนแปลงที่อื่นหรือร้องขอสิทธิในการเขียนจากกลุ่มผู้บริหาร ให้ยกเลิกการเชื่อมประสานเดี๋ยวนี้ sync.error.manualInterventionRequired=การเชื่อประสานอัตโนมัติเกิดการขัดแย้งซึ่งคุณต้องทำด้วยตัวเองแทน diff --git a/chrome/locale/tr-TR/zotero/preferences.dtd b/chrome/locale/tr-TR/zotero/preferences.dtd index 9eac5ddf9c..30077db896 100644 --- a/chrome/locale/tr-TR/zotero/preferences.dtd +++ b/chrome/locale/tr-TR/zotero/preferences.dtd @@ -135,7 +135,7 @@ - + diff --git a/chrome/locale/vi-VN/zotero/zotero.properties b/chrome/locale/vi-VN/zotero/zotero.properties index a81dbfcc91..af4cf30e62 100644 --- a/chrome/locale/vi-VN/zotero/zotero.properties +++ b/chrome/locale/vi-VN/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=Xin hãy khởi động lại Firefox. general.restartFirefoxAndTryAgain=Xin hãy khởi động lại Firefox và thử lại một lần nữa. -general.checkForUpdate=Tìm bản bản cập nhật +general.checkForUpdate=Check for Update general.actionCannotBeUndone=This action cannot be undone. general.install=Cài đặt general.updateAvailable=Có bản cập nhật diff --git a/chrome/locale/zh-CN/zotero/zotero.properties b/chrome/locale/zh-CN/zotero/zotero.properties index 22c85e09ae..f6c53430cd 100644 --- a/chrome/locale/zh-CN/zotero/zotero.properties +++ b/chrome/locale/zh-CN/zotero/zotero.properties @@ -533,7 +533,7 @@ zotero.preferences.sync.reset.fileSyncHistory=将删除所有文件的同步记 zotero.preferences.search.rebuildIndex=重建索引 zotero.preferences.search.rebuildWarning=要重建整个索引吗? 这可能会花上一些时间.\n\n如果只想索引未索引的条目, 请用 %S. zotero.preferences.search.clearIndex=清除索引 -zotero.preferences.search.clearWarning=一旦清除索引, 附件内容将可搜索.\n\n网页链接形式的附件不会被重新索引, 除非重新访问网页. 要保留网页链接的索引, 请选择 %S. +zotero.preferences.search.clearWarning=一旦清除索引, 附件内容将不可搜索.\n\n网页链接形式的附件不会被重新索引, 除非重新访问网页. 要保留网页链接的索引, 请选择 %S. zotero.preferences.search.clearNonLinkedURLs=清除除网页以外的所有链接 zotero.preferences.search.indexUnindexed=索引尚未索引的条目 zotero.preferences.search.pdf.toolRegistered=%S 已安装 @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero 无法获取您的登录信息, 这可 sync.error.loginManagerCorrupted2=关闭 %1$S , 备份并从 %2$S 配置文件中删除signons.*, 然后在 Zotero 首选项的同步选项卡中重新输入登录信息. sync.error.syncInProgress=已经启用了一个同步进程. sync.error.syncInProgress.wait=等待上一次的同步完成或重启%S. -sync.error.writeAccessLost=你已无权编辑Zotero群组 '%S',你新增的或编辑过的项目将无法同步到服务器。 +sync.error.writeAccessLost=你已无权编辑Zotero群组 '%S', 你新增的或编辑过的项目将无法同步到服务器. sync.error.groupWillBeReset=如果您继续, 您所拥有的该群组的副本将被服务器上的群组重置, 本地修改的条目及文件将丢失. sync.error.copyChangedItems=如果您想要将您的变更拷贝到其它地方或请求群组管理员授予您写入权限, 请现在取消同步. sync.error.manualInterventionRequired=冲突导致自动同步挂起. diff --git a/chrome/locale/zh-TW/zotero/zotero.properties b/chrome/locale/zh-TW/zotero/zotero.properties index b81f312a84..3ca42f023e 100644 --- a/chrome/locale/zh-TW/zotero/zotero.properties +++ b/chrome/locale/zh-TW/zotero/zotero.properties @@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes. general.serverError=The server returned an error. Please try again. general.restartFirefox=請重新啟動 %S。 general.restartFirefoxAndTryAgain=請重新啟動 %S 然後再試一次。 -general.checkForUpdate=檢查更新 +general.checkForUpdate=Check for Update general.actionCannotBeUndone=這個動作無法復原。 general.install=安裝 general.updateAvailable=有可用的更新 @@ -765,7 +765,7 @@ sync.error.loginManagerCorrupted1=Zotero cannot access your login information, p sync.error.loginManagerCorrupted2=關閉 Firefox,備份並刪除你 Firefox profile 中的 signons.*,並在 Zotero 偏好設定的同步窗格中重新輸入你的 Zotero 登入資訊。 sync.error.syncInProgress=已有一項同步作業在進行中。 sync.error.syncInProgress.wait=等候先前的同步作業完成,或重新啟動 Firefox。 -sync.error.writeAccessLost=你不再具有寫入到 Zotero 群組 '%S' 的權限,你所新增或編輯的檔案無法被同步到伺服器。 +sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. sync.error.groupWillBeReset=如果繼續,你的群組拷貝將會被重設回伺服器上的狀態,而在本機對項目與檔案的修改將會遺失。 sync.error.copyChangedItems=如果你要有機會把你作的更改複製到別的地方或是向群組管理者要求寫入的權力,則現在取消這個同步化。 sync.error.manualInterventionRequired=自動同步導致了一個衝突,需要手動介入。 From 8502b68730109be1db05f7c5e4d822cbd478dce9 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Fri, 13 Dec 2013 18:35:00 -0500 Subject: [PATCH 11/79] Broadcast persistent descriptor is for database, not data directory --- chrome/content/zotero/xpcom/ipc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/ipc.js b/chrome/content/zotero/xpcom/ipc.js index 78b08b8822..ff0e0da3d8 100755 --- a/chrome/content/zotero/xpcom/ipc.js +++ b/chrome/content/zotero/xpcom/ipc.js @@ -66,7 +66,7 @@ Zotero.IPC = new function() { // Standalone sends this to the Firefox extension to tell the Firefox extension to // release its lock on the Zotero database if(!Zotero.isConnector && (msg.length === 11 || - msg.substr(12) === Zotero.getZoteroDirectory().persistentDescriptor)) { + msg.substr(12) === Zotero.getZoteroDatabase().persistentDescriptor)) { switchConnectorMode(true); } } else if(msg === "lockReleased") { From 6fa04103c25860a9724f82c85907946c7fa83e76 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Sat, 14 Dec 2013 02:07:36 -0500 Subject: [PATCH 12/79] Fix a bug where the Zotero pane would not close when opening Standalone If Zotero Standalone was opened before Firefox, closed, and opened again, the user would see a message stating Zotero Standalone was open, but the pane would not have closed. This was purely cosmetic. --- chrome/content/zotero/zoteroPane.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js index a51415ed3f..52802cd60d 100644 --- a/chrome/content/zotero/zoteroPane.js +++ b/chrome/content/zotero/zoteroPane.js @@ -146,11 +146,9 @@ var ZoteroPane = new function() * mode */ function _loadPane() { - if(!Zotero || !Zotero.initialized) return; + if(!Zotero || !Zotero.initialized || Zotero.isConnector) return; - if(!Zotero.isConnector) { - ZoteroPane_Local.clearItemsPaneMessage(); - } + ZoteroPane_Local.clearItemsPaneMessage(); //Initialize collections view ZoteroPane_Local.collectionsView = new Zotero.CollectionTreeView(); From d8ce6ce6f384245a632d676d81150316f6311095 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 16 Dec 2013 10:29:45 -0500 Subject: [PATCH 13/79] Fix an old typo --- chrome/content/zotero/overlay.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/overlay.js b/chrome/content/zotero/overlay.js index 4bbc77999a..062f8e4f50 100644 --- a/chrome/content/zotero/overlay.js +++ b/chrome/content/zotero/overlay.js @@ -104,7 +104,7 @@ var ZoteroOverlay = new function() else if (iconPref == 0) { var toolbar = icon.parentNode; if (toolbar.id == 'addon-bar') { - var palette = doc.getElementById("navigator-toolbox").palette; + var palette = document.getElementById("navigator-toolbox").palette; palette.appendChild(icon); toolbar.setAttribute("currentset", toolbar.currentSet); document.persist(toolbar.id, "currentset"); From d18266517350e0177847b43222fbb18951c07ea6 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 16 Dec 2013 19:17:25 -0500 Subject: [PATCH 14/79] Allow left pane collapsed state to persist Also fix weirdness trying to open collapsed tag selector after restart. (The splitter's 'state' attribute has to be persisted, not the 'collapsed' state of the pane in question.) --- chrome/content/zotero/zoteroPane.xul | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero/zoteroPane.xul b/chrome/content/zotero/zoteroPane.xul index 67d557caf1..7d6acb5d7a 100644 --- a/chrome/content/zotero/zoteroPane.xul +++ b/chrome/content/zotero/zoteroPane.xul @@ -315,14 +315,16 @@ - + - From 83bc0628db8489cad00d0bea7110970eb38d35c1 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 16 Dec 2013 20:27:15 -0500 Subject: [PATCH 15/79] Fix Zotero.Integration.activate() with no args in Mac Aurora/Nightly This is only used when there is a window open in the background anyway --- chrome/content/zotero/xpcom/integration.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index 0c7f385c6b..2f7287d7c9 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -313,7 +313,8 @@ Zotero.Integration = new function() { const BUNDLE_IDS = { "Zotero":"org.zotero.zotero", "Firefox":"org.mozilla.firefox", - "Minefield":"org.mozilla.minefield" + "Aurora":"org.mozilla.aurora", + "Nightly":"org.mozilla.nightly" }; if(win) { @@ -353,13 +354,7 @@ Zotero.Integration = new function() { ); }, false); } else { - if(Zotero.oscpu == "PPC Mac OS X 10.4" || Zotero.oscpu == "Intel Mac OS X 10.4" - || !BUNDLE_IDS[Zotero.appName]) { - // 10.4 doesn't support "tell application id" - _executeAppleScript('tell application "'+Zotero.appName+'" to activate'); - } else { - _executeAppleScript('tell application id "'+BUNDLE_IDS[Zotero.appName]+'" to activate'); - } + _executeAppleScript('tell application id "'+BUNDLE_IDS[Zotero.appName]+'" to activate'); } } else if(!Zotero.isWin && win) { Components.utils.import("resource://gre/modules/ctypes.jsm"); From b7f6f97cedbb69f1530998771fe81ddc9043acb7 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 16 Dec 2013 20:32:50 -0500 Subject: [PATCH 16/79] Fix broken startup on Windows Aurora/Nightly We were telling ourselves to release the DB lock because of the discrepancy between Zotero.appName and the message window name --- chrome/content/zotero/xpcom/ipc.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero/xpcom/ipc.js b/chrome/content/zotero/xpcom/ipc.js index ff0e0da3d8..3ca255bcdd 100755 --- a/chrome/content/zotero/xpcom/ipc.js +++ b/chrome/content/zotero/xpcom/ipc.js @@ -181,10 +181,17 @@ Zotero.IPC = new function() { {"lpData":ctypes.voidptr_t} ]); - const appNames = ["Firefox", "Zotero", "Nightly", "Aurora", "Minefield"]; + // Aurora/Nightly are always named "Firefox" in + // application.ini + const appNames = ["Firefox", "Zotero"]; + + // Different from Zotero.appName; this corresponds to the + // name in application.ini + const myAppName = Services.appInfo.name; + for each(var appName in appNames) { // don't send messages to ourself - if(appName === Zotero.appName) continue; + if(appName === myAppName) continue; var thWnd = FindWindow(appName+"MessageWindow", null); if(thWnd) { From b841ccf7b35e1ce338d65a04e7080187ae965ff1 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 16 Dec 2013 21:51:35 -0500 Subject: [PATCH 17/79] Fix typo --- chrome/content/zotero/xpcom/ipc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/ipc.js b/chrome/content/zotero/xpcom/ipc.js index 3ca255bcdd..7ceff05f4d 100755 --- a/chrome/content/zotero/xpcom/ipc.js +++ b/chrome/content/zotero/xpcom/ipc.js @@ -187,7 +187,7 @@ Zotero.IPC = new function() { // Different from Zotero.appName; this corresponds to the // name in application.ini - const myAppName = Services.appInfo.name; + const myAppName = Services.appinfo.name; for each(var appName in appNames) { // don't send messages to ourself From b5760d7f45d203b6dab993e9a2ca6ba2a2d278c7 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 16 Dec 2013 21:59:36 -0500 Subject: [PATCH 18/79] Don't try to detect a proxy on documents with no docShell/webNav This would previously have thrown an error. I'm not sure what these documents would be, but it's a safe bet that they're not loaded in a normal browser window. --- chrome/content/zotero/xpcom/proxy.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/proxy.js b/chrome/content/zotero/xpcom/proxy.js index e279221a6c..235db323e2 100644 --- a/chrome/content/zotero/xpcom/proxy.js +++ b/chrome/content/zotero/xpcom/proxy.js @@ -147,7 +147,9 @@ Zotero.Proxies = new function() { try { webNav = channel.notificationCallbacks.QueryInterface(Components.interfaces.nsIWebNavigation); docShell = channel.notificationCallbacks.QueryInterface(Components.interfaces.nsIDocShell); - } catch(e) {} + } catch(e) { + return; + } if(!docShell.allowMetaRedirects) return; From c9dbd34e010db25460694960b82cf48a47f6f56d Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 17 Dec 2013 18:12:42 -0500 Subject: [PATCH 19/79] Fix issue with old-style persisted 'collapsed' attribute on tag selector If localstore.rdf has the tag selector persisted closed from before zotero-persist, the 'state' attribute on the splitter that we now use won't cause the tag selector to open. --- chrome/content/zotero/zoteroPane.xul | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/zoteroPane.xul b/chrome/content/zotero/zoteroPane.xul index 7d6acb5d7a..1f24876493 100644 --- a/chrome/content/zotero/zoteroPane.xul +++ b/chrome/content/zotero/zoteroPane.xul @@ -319,7 +319,13 @@ zotero-persist="state"> - + From d50765536c6ee679751b91625a2f1c99da95f6a9 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 17 Dec 2013 23:39:47 -0500 Subject: [PATCH 20/79] Update 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 bb60b73450..29f20db142 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -39,7 +39,7 @@ const ZOTERO_CONFIG = { BOOKMARKLET_ORIGIN : 'https://www.zotero.org', HTTP_BOOKMARKLET_ORIGIN : 'http://www.zotero.org', BOOKMARKLET_URL: 'https://www.zotero.org/bookmarklet/', - VERSION: "4.0.16.SOURCE" + VERSION: "4.0.17.SOURCE" }; // Commonly used imports accessible anywhere From 111115a1001d341865bb986581ec299cfb481bae Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 17 Dec 2013 23:41:12 -0500 Subject: [PATCH 21/79] Update translators and repotime --- resource/schema/repotime.txt | 2 +- translators | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resource/schema/repotime.txt b/resource/schema/repotime.txt index 1969cc2f67..fe527ad42c 100644 --- a/resource/schema/repotime.txt +++ b/resource/schema/repotime.txt @@ -1 +1 @@ -2013-12-13 20:40:00 +2013-12-18 00:25:00 diff --git a/translators b/translators index 6e8ac45ca4..4a5bcd6dd2 160000 --- a/translators +++ b/translators @@ -1 +1 @@ -Subproject commit 6e8ac45ca4632dec4c44b588ee7487d7c7bd6272 +Subproject commit 4a5bcd6dd232c79e1a97ad5a2d96175f98f8feb6 From 875567dbc96dded808219c65f30d3a80579a1611 Mon Sep 17 00:00:00 2001 From: adam3smith Date: Sat, 4 Jan 2014 08:00:32 -0700 Subject: [PATCH 22/79] fix PMCID parsing --- chrome/content/zotero/xpcom/cite.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/cite.js b/chrome/content/zotero/xpcom/cite.js index 00ce12b72b..a17a0180a1 100644 --- a/chrome/content/zotero/xpcom/cite.js +++ b/chrome/content/zotero/xpcom/cite.js @@ -612,7 +612,7 @@ Zotero.Cite.System.prototype = { if(typeof extra === "string") { var m = /(?:^|\n)PMID:\s*([0-9]+)/.exec(extra); if(m) cslItem.PMID = m[1]; - m = /(?:^|\n)PMCID:\s*([0-9]+)/.exec(extra); + m = /(?:^|\n)PMCID:\s*((PMC)?[0-9]+)/.exec(extra); if(m) cslItem.PMCID = m[1]; } From 49ecb8ecac28e181bb27fee1da48417149ec8790 Mon Sep 17 00:00:00 2001 From: adam3smith Date: Sun, 5 Jan 2014 10:53:30 -0700 Subject: [PATCH 23/79] slightly adjust regex --- chrome/content/zotero/xpcom/cite.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/cite.js b/chrome/content/zotero/xpcom/cite.js index a17a0180a1..2c245fef9e 100644 --- a/chrome/content/zotero/xpcom/cite.js +++ b/chrome/content/zotero/xpcom/cite.js @@ -612,7 +612,7 @@ Zotero.Cite.System.prototype = { if(typeof extra === "string") { var m = /(?:^|\n)PMID:\s*([0-9]+)/.exec(extra); if(m) cslItem.PMID = m[1]; - m = /(?:^|\n)PMCID:\s*((PMC)?[0-9]+)/.exec(extra); + m = /(?:^|\n)PMCID:\s*((?:PMC)?[0-9]+)/.exec(extra); if(m) cslItem.PMCID = m[1]; } From a334e1f462b2ebafd2f3e1108f075ed5f0bb4811 Mon Sep 17 00:00:00 2001 From: aurimasv Date: Tue, 7 Jan 2014 22:02:15 -0600 Subject: [PATCH 24/79] Use documentURI/URL instead of location.href. document.location is null after the document is detached from its parent window (e.g. after we navigate to a different page in the same hidden browser) --- chrome/content/zotero/xpcom/translation/translate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js index 988081326c..ca827f8062 100644 --- a/chrome/content/zotero/xpcom/translation/translate.js +++ b/chrome/content/zotero/xpcom/translation/translate.js @@ -132,7 +132,7 @@ Zotero.Translate.Sandbox = { var nAttachments = attachments.length; for(var j=0; j Date: Thu, 24 Oct 2013 20:41:01 -0600 Subject: [PATCH 25/79] Change Transform text so that sentence case capitalizes after :, ?, ! This is in line with English usage and this function is principally useful for English titles. also deal with punctuation at the beginning of title Also fix capitalizeTitle to work with quotation marks and Spanish beginning punctuation. Also adds ? and ! as punctuation after which it always capitalizes switch sentence case conversion to a regex; I'm leaving capitalizeTitle as the substring routine, it's the same length and probably slightly more efficient. --- chrome/content/zotero/bindings/itembox.xml | 7 ++++++- chrome/content/zotero/xpcom/utilities.js | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/bindings/itembox.xml b/chrome/content/zotero/bindings/itembox.xml index f82050e1f1..fdd9a1841b 100644 --- a/chrome/content/zotero/bindings/itembox.xml +++ b/chrome/content/zotero/bindings/itembox.xml @@ -1947,7 +1947,12 @@ var newVal = Zotero.Utilities.capitalizeTitle(val.toLowerCase(), true); break; case 'sentence': - var newVal = val.length ? val[0].toUpperCase()+val.substr(1).toLowerCase() : val; + // capitalize the first letter, including after beginning punctuation + // capitalize after :, ?, ! and remove space(s) before those analogous to capitalizeTitle function + // also deal with initial punctuation here - open quotes and Spanish beginning quotation marks + newVal = val.toLowerCase(); + newVal = newVal.replace(/(([:\?!]\s*|^)([\'\"¡¿“‘„«\s]+)?[^\s])/g, function (x) { + return x.replace(/\s+/m, " ").toUpperCase();}); break; default: throw ("Invalid transform mode '" + mode + "' in zoteroitembox.textTransform()"); diff --git a/chrome/content/zotero/xpcom/utilities.js b/chrome/content/zotero/xpcom/utilities.js index fc4ca851c9..6e0b66bc7d 100644 --- a/chrome/content/zotero/xpcom/utilities.js +++ b/chrome/content/zotero/xpcom/utilities.js @@ -757,13 +757,17 @@ Zotero.Utilities = { // not first or last word && i != 0 && i != lastWordIndex // does not follow a colon - && (previousWordIndex == -1 || words[previousWordIndex][words[previousWordIndex].length-1] != ":") + && (previousWordIndex == -1 || words[previousWordIndex][words[previousWordIndex].length-1].search(/[:\?!]/)==-1) ) { words[i] = lowerCaseVariant; } else { // this is not a skip word or comes after a colon; // we must capitalize - words[i] = upperCaseVariant.substr(0, 1) + lowerCaseVariant.substr(1); + // handle punctuation in the beginning, including multiple, as in "¿Qué pasa?" + var punct = words[i].match(/^[\'\"¡¿“‘„«\s]+/); + punct = punct ? punct[0].length+1 : 1; + words[i] = words[i].length ? words[i].substr(0, punct).toUpperCase() + + words[i].substr(punct).toLowerCase() : words[i]; } } From 1f3cd9a1ae0ee17dbd2e361ab41188438660d8b5 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 24 Jan 2014 19:05:59 -0500 Subject: [PATCH 26/79] Don't wipe out fields from fieldsCombined during DB integrity check --- chrome/content/zotero/xpcom/schema.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/chrome/content/zotero/xpcom/schema.js b/chrome/content/zotero/xpcom/schema.js index a748b02ebd..9f5af6e7c8 100644 --- a/chrome/content/zotero/xpcom/schema.js +++ b/chrome/content/zotero/xpcom/schema.js @@ -1157,6 +1157,13 @@ Zotero.Schema = new function(){ this.integrityCheck = function (fix) { + // Just as a sanity check, make sure combined field tables are populated, + // so that we don't try to wipe out all data + if (!Zotero.DB.valueQuery("SELECT COUNT(*) FROM fieldsCombined") + || !Zotero.DB.valueQuery("SELECT COUNT(*) FROM itemTypeFieldsCombined")) { + return false; + } + // There should be an equivalent SELECT COUNT(*) statement for every // statement run by the DB Repair Tool var queries = [ @@ -1243,8 +1250,8 @@ Zotero.Schema = new function(){ "DELETE FROM itemCreators WHERE creatorID NOT IN (SELECT creatorID FROM creators)", ], [ - "SELECT COUNT(*) FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM fields)", - "DELETE FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM fields)", + "SELECT COUNT(*) FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM fieldsCombined)", + "DELETE FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM fieldsCombined)", ], [ "SELECT COUNT(*) FROM itemData WHERE valueID NOT IN (SELECT valueID FROM itemDataValues)", @@ -1259,8 +1266,8 @@ Zotero.Schema = new function(){ ], // Fields not in type [ - "SELECT COUNT(*) FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM itemTypeFields WHERE itemTypeID=(SELECT itemTypeID FROM items WHERE itemID=itemData.itemID))", - "DELETE FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM itemTypeFields WHERE itemTypeID=(SELECT itemTypeID FROM items WHERE itemID=itemData.itemID))", + "SELECT COUNT(*) FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM itemTypeFieldsCombined WHERE itemTypeID=(SELECT itemTypeID FROM items WHERE itemID=itemData.itemID))", + "DELETE FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM itemTypeFieldsCombined WHERE itemTypeID=(SELECT itemTypeID FROM items WHERE itemID=itemData.itemID))", ], // Missing itemAttachments row [ From 121b75ef6c3fbddf72bc20cdd88a20fbea97ecc5 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 24 Jan 2014 19:06:33 -0500 Subject: [PATCH 27/79] Remove synced settings from deleted libraries in integrity check --- chrome/content/zotero/xpcom/schema.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/chrome/content/zotero/xpcom/schema.js b/chrome/content/zotero/xpcom/schema.js index 9f5af6e7c8..b605c2985b 100644 --- a/chrome/content/zotero/xpcom/schema.js +++ b/chrome/content/zotero/xpcom/schema.js @@ -1335,6 +1335,10 @@ Zotero.Schema = new function(){ [ "SELECT COUNT(*) FROM fulltextItems WHERE itemID NOT IN (SELECT itemID FROM items WHERE itemTypeID=14)", "DELETE FROM fulltextItems WHERE itemID NOT IN (SELECT itemID FROM items WHERE itemTypeID=14)" + ], + [ + "SELECT COUNT(*) FROM syncedSettings WHERE libraryID != 0 AND libraryID NOT IN (SELECT libraryID FROM libraries)", + "DELETE FROM syncedSettings WHERE libraryID != 0 AND libraryID NOT IN (SELECT libraryID FROM libraries)" ] ]; From b3da19e96df1b0e0f0db49984dc897051db9037c Mon Sep 17 00:00:00 2001 From: aurimasv Date: Mon, 30 Dec 2013 23:00:56 -0600 Subject: [PATCH 28/79] [Retrieve Metadata] Recognize HTTP 503 code as Google Scholar CAPTCHA + other tweaks. * Stop metadata retrieval when cancelled * Display CAPTCHA dialog * Don't close window on blur * Use Zotero.Utilities.cleanISBN to validate ISBNs --- chrome/content/zotero/captcha.js | 52 ++++++ chrome/content/zotero/captcha.xul | 21 +++ chrome/content/zotero/recognizePDF.js | 168 +++++++++++++------ chrome/locale/en-US/zotero/zotero.dtd | 4 + chrome/locale/en-US/zotero/zotero.properties | 2 +- 5 files changed, 199 insertions(+), 48 deletions(-) create mode 100644 chrome/content/zotero/captcha.js create mode 100644 chrome/content/zotero/captcha.xul diff --git a/chrome/content/zotero/captcha.js b/chrome/content/zotero/captcha.js new file mode 100644 index 0000000000..72432cd64a --- /dev/null +++ b/chrome/content/zotero/captcha.js @@ -0,0 +1,52 @@ +/* + ***** BEGIN LICENSE BLOCK ***** + + Copyright © 2009 Center for History and New Media + George Mason University, Fairfax, Virginia, USA + http://zotero.org + + This file is part of Zotero. + + Zotero is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Zotero is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with Zotero. If not, see . + + ***** END LICENSE BLOCK ***** +*/ + +var Zotero_Captcha = new function() { + this._io; + + this.onLoad = function() { + this._io = window.arguments[0]; + document.getElementById('zotero-captcha-image').src = this._io.dataIn.imgUrl; + document.getElementById('zotero-captcha-input').focus(); + } + + this.imageOnLoad = function() { + window.sizeToContent(); + } + + this.resolve = function() { + var result = document.getElementById('zotero-captcha-input'); + if(!result.value) return; + + this._io.dataOut = { + captcha: result.value + }; + window.close(); + } + + this.cancel = function() { + window.close(); + } +} \ No newline at end of file diff --git a/chrome/content/zotero/captcha.xul b/chrome/content/zotero/captcha.xul new file mode 100644 index 0000000000..3893b7b7fb --- /dev/null +++ b/chrome/content/zotero/captcha.xul @@ -0,0 +1,21 @@ + + + + + + +