diff --git a/chrome.manifest b/chrome.manifest index f799d9377..5d9ce7847 100644 --- a/chrome.manifest +++ b/chrome.manifest @@ -32,9 +32,9 @@ locale zotero pt-BR chrome/locale/pt-BR/zotero/ locale zotero pt-PT chrome/locale/pt-PT/zotero/ locale zotero ro-RO chrome/locale/ro-RO/zotero/ locale zotero ru-RU chrome/locale/ru-RU/zotero/ +locale zotero sk-SK chrome/locale/sk-SK/zotero/ locale zotero sl-SI chrome/locale/sl-SI/zotero/ locale zotero sr-RS chrome/locale/sr-RS/zotero/ -locale zotero sr-YU chrome/locale/sr-YU/zotero/ locale zotero sv-SE chrome/locale/sv-SE/zotero/ locale zotero th-TH chrome/locale/th-TH/zotero/ locale zotero tr-TR chrome/locale/tr-TR/zotero/ diff --git a/chrome/content/zotero/about.xul b/chrome/content/zotero/about.xul index 0290c8dfd..6414110a9 100644 --- a/chrome/content/zotero/about.xul +++ b/chrome/content/zotero/about.xul @@ -54,7 +54,7 @@ "de-DE": [ "Harald Kliems", "Jason Verber", - "Helga" + "Morris Vollmann" ], "el-GR": [ @@ -147,6 +147,10 @@ "Yaroslav" ], + "sk-SK": [ + "athelas" + ], + "sl-SI": [ "Martin Srebotnjak" ], @@ -158,7 +162,11 @@ "sv-SE": [ "Erik Stattin" ], - + + "th-TH": [ + "chin" + ], + "tr-TR": [ "Zeki Celikbas" ], diff --git a/chrome/content/zotero/bibliography.js b/chrome/content/zotero/bibliography.js index 8a77b1d14..a52fb3f4d 100644 --- a/chrome/content/zotero/bibliography.js +++ b/chrome/content/zotero/bibliography.js @@ -110,13 +110,19 @@ var Zotero_File_Interface_Bibliography = new function() { document.getElementById("fields").label = Zotero.getString("integration."+formatOption+".label"); document.getElementById("fields-caption").textContent = Zotero.getString("integration."+formatOption+".caption"); - // add border on Windows if(Zotero.isWin) { + // add border on Windows document.getElementById("zotero-doc-prefs-dialog").style.border = "1px solid black"; } } - window.sizeToContent(); - window.centerWindowOnScreen(); + + // Center popup manually after a delay on Windows, since window + // isn't resizable and there might be a persisted position + if (Zotero.isWin) { + setTimeout(function () { + window.centerWindowOnScreen(); + }, 1); + } } /* diff --git a/chrome/content/zotero/bindings/relatedbox.xml b/chrome/content/zotero/bindings/relatedbox.xml index f1d91adc4..9f0ab20eb 100644 --- a/chrome/content/zotero/bindings/relatedbox.xml +++ b/chrome/content/zotero/bindings/relatedbox.xml @@ -138,8 +138,12 @@ <body> <![CDATA[ var io = {dataIn: null, dataOut: null}; - window.openDialog('chrome://zotero/content/selectItemsDialog.xul','','chrome,modal',io); - + + Components.classes["@mozilla.org/embedcomp/window-watcher;1"] + .getService(Components.interfaces.nsIWindowWatcher) + .openWindow(null, 'chrome://zotero/content/selectItemsDialog.xul', '', + 'chrome,modal,centerscreen', io); + if(io.dataOut && this.item) { for(var i = 0; i < io.dataOut.length; i++) diff --git a/chrome/content/zotero/bindings/tagselector.xml b/chrome/content/zotero/bindings/tagselector.xml index db3145433..0f736b9c0 100644 --- a/chrome/content/zotero/bindings/tagselector.xml +++ b/chrome/content/zotero/bindings/tagselector.xml @@ -44,7 +44,7 @@ <getter> <![CDATA[ var types = [0]; - if (this.showAutomatic == 'true') { + if (this.showAutomatic) { types.push(1); } return types; diff --git a/chrome/content/zotero/bindings/zoterosearch.xml b/chrome/content/zotero/bindings/zoterosearch.xml index dea7fc4f1..365654111 100644 --- a/chrome/content/zotero/bindings/zoterosearch.xml +++ b/chrome/content/zotero/bindings/zoterosearch.xml @@ -542,7 +542,9 @@ this.mode = condition['mode']; this.id('operatorsmenu').value = condition['operator']; - this.value = prefix + condition['value']; + this.value = prefix + + (condition.value ? condition.value : ''); + this.dontupdate = false; } diff --git a/chrome/content/zotero/reportInterface.js b/chrome/content/zotero/reportInterface.js index 08c7c9d10..38aeba120 100644 --- a/chrome/content/zotero/reportInterface.js +++ b/chrome/content/zotero/reportInterface.js @@ -36,10 +36,10 @@ var Zotero_Report_Interface = new function() { var id = ZoteroPane.getSelectedCollection(true); var sortColumn = ZoteroPane.getSortField(); var sortDirection = ZoteroPane.getSortDirection(); - - if (sortColumn != 'title' || sortDirection != 'ascending') { + // See note re: 'ascending'/'descending' for ItemTreeView.getSortDirection() + if (sortColumn != 'title' || sortDirection != 'descending') { queryString = '?sort=' + sortColumn + - (sortDirection != 'ascending' ? '/d' : ''); + (sortDirection != 'descending' ? '/d' : ''); } if (id) { diff --git a/chrome/content/zotero/selectItemsDialog.js b/chrome/content/zotero/selectItemsDialog.js index 1c0a7b91b..bff07b766 100644 --- a/chrome/content/zotero/selectItemsDialog.js +++ b/chrome/content/zotero/selectItemsDialog.js @@ -39,6 +39,15 @@ function doLoad() collectionsView = new Zotero.CollectionTreeView(); document.getElementById('zotero-collections-tree').view = collectionsView; + + // Center popup manually after a delay on Windows, since window + // isn't resizable and there might be a persisted position + if (Zotero.isWin && + window.document.activeElement.id != 'zotero-select-items-dialog') { + setTimeout(function () { + window.centerWindowOnScreen(); + }, 1); + } } function doUnload() diff --git a/chrome/content/zotero/selectItemsDialog.xul b/chrome/content/zotero/selectItemsDialog.xul index 1f6a065c4..e11b1ac13 100644 --- a/chrome/content/zotero/selectItemsDialog.xul +++ b/chrome/content/zotero/selectItemsDialog.xul @@ -35,7 +35,8 @@ onload="doLoad();" onunload="doUnload();" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - style="padding:2em"> + style="padding:2em" + persist="screenX screenY"> <script src="include.js"/> <script src="selectItemsDialog.js"/> @@ -44,7 +45,8 @@ <hbox align="center" pack="end"> <label value="&zotero.toolbar.search.label;" control="zotero-tb-search"/> - <textbox id="zotero-tb-search" type="timed" timeout="250" oncommand="onSearch()" dir="reverse" onkeypress="if(event.keyCode == event.DOM_VK_ESCAPE) { this.value = ''; this.doCommand('cmd_zotero_search'); return false; }"> + <textbox id="zotero-tb-search" type="timed" timeout="250" oncommand="onSearch()" dir="reverse" + onkeypress="if(event.keyCode == event.DOM_VK_ESCAPE) { if (this.value == '') { cancelDialog(); return false; } this.value = ''; this.doCommand('cmd_zotero_search'); return false; } return true;"> <toolbarbutton id="zotero-tb-search-cancel" oncommand="this.parentNode.value='';" hidden="true"/> </textbox> </hbox> diff --git a/chrome/content/zotero/xpcom/cite.js b/chrome/content/zotero/xpcom/cite.js index 8049e5cf8..34048bc92 100644 --- a/chrome/content/zotero/xpcom/cite.js +++ b/chrome/content/zotero/xpcom/cite.js @@ -1994,6 +1994,7 @@ Zotero.CSL.Item._zoteroFieldMap = { "issue":"issue", "number-of-volumes":"numberOfVolumes", "edition":"edition", + "version":"version", "section":"section", "genre":["type", "artworkSize"], /* artworkSize should move to SQL mapping tables, or added as a CSL variable */ "medium":"medium", diff --git a/chrome/content/zotero/xpcom/collectionTreeView.js b/chrome/content/zotero/xpcom/collectionTreeView.js index 07c4a620a..cfc611d16 100644 --- a/chrome/content/zotero/xpcom/collectionTreeView.js +++ b/chrome/content/zotero/xpcom/collectionTreeView.js @@ -965,14 +965,9 @@ Zotero.ItemGroup.prototype.getChildItems = function() var ids = s.search(); } catch (e) { - if (typeof e == 'string' && e.match(/Saved search [0-9]+ does not exist/)) { - Zotero.DB.rollbackTransaction(); - Zotero.debug(e, 2); - return false; - } - else { - throw (e); - } + Zotero.DB.rollbackAllTransactions(); + Zotero.debug(e, 2); + throw (e); } return Zotero.Items.get(ids); } diff --git a/chrome/content/zotero/xpcom/data/collection.js b/chrome/content/zotero/xpcom/data/collection.js index 9387b78c2..2a96b56b8 100644 --- a/chrome/content/zotero/xpcom/data/collection.js +++ b/chrome/content/zotero/xpcom/data/collection.js @@ -911,8 +911,14 @@ Zotero.Collection.prototype._loadChildCollections = function () { } Zotero.Collection.prototype._loadChildItems = function() { - var sql = "SELECT itemID FROM collectionItems WHERE collectionID=?"; - var ids = Zotero.DB.columnQuery(sql, this.id); + var sql = "SELECT itemID FROM collectionItems WHERE collectionID=? "; + // DEBUG: Fix for child items created via context menu on parent within + // a collection being added to the current collection + + "AND itemID NOT IN " + + "(SELECT itemID FROM itemNotes WHERE sourceItemID IS NOT NULL) " + + "AND itemID NOT IN " + + "(SELECT itemID FROM itemAttachments WHERE sourceItemID IS NOT NULL)"; + var ids = Zotero.DB.columnQuery(sql, this._id); this._childItems = []; diff --git a/chrome/content/zotero/xpcom/data/item.js b/chrome/content/zotero/xpcom/data/item.js index 15cc4f46c..d0adb4743 100644 --- a/chrome/content/zotero/xpcom/data/item.js +++ b/chrome/content/zotero/xpcom/data/item.js @@ -399,9 +399,18 @@ Zotero.Item.prototype.setType = function(itemTypeID, loadIn) { if (creators) { for (var i in creators) { if (!Zotero.CreatorTypes.isValidForItemType(creators[i].creatorTypeID, itemTypeID)) { + // Convert existing primary creator type to new item type's + // primary creator type, or contributor (creatorTypeID 2) + // if none or not currently primary + var oldPrimary = Zotero.CreatorTypes.getPrimaryIDForType(this.getType()); + if (oldPrimary == creators[i].creatorTypeID) { + var newPrimary = Zotero.CreatorTypes.getPrimaryIDForType(itemTypeID); + } + var target = newPrimary ? newPrimary : 2; + // Reset to contributor (creatorTypeID 2), which exists in all - this.setCreator(i, creators[i].ref, 2); - } + this.setCreator(i, creators[i].firstName, + creators[i].lastName, target, creators[i].fieldMode); } } } } diff --git a/chrome/content/zotero/xpcom/ingester.js b/chrome/content/zotero/xpcom/ingester.js index 842e9a8d9..3aa22a8a1 100644 --- a/chrome/content/zotero/xpcom/ingester.js +++ b/chrome/content/zotero/xpcom/ingester.js @@ -647,11 +647,13 @@ Zotero.Ingester.MIMEHandler = new function() { function init() { var prefStatus = Zotero.Prefs.get("parseEndNoteMIMETypes"); if(!on && prefStatus) { + Zotero.debug("Registering URIContentListener for RIS/Refer"); var uriLoader = Components.classes["@mozilla.org/uriloader;1"]. getService(Components.interfaces.nsIURILoader); uriLoader.registerContentListener(Zotero.Ingester.MIMEHandler.URIContentListener); on = true; } else if(on && !prefStatus) { + Zotero.debug("Unregistering URIContentListener for RIS/Refer"); var uriLoader = Components.classes["@mozilla.org/uriloader;1"]. getService(Components.interfaces.nsIURILoader); uriLoader.unRegisterContentListener(Zotero.Ingester.MIMEHandler.URIContentListener); diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index 6d35ce03d..2c4ca7a76 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -25,6 +25,8 @@ const API_VERSION = 5; Zotero.Integration = new function() { var _contentLengthRe = /[\r\n]Content-Length: *([0-9]+)/i; var _XMLRe = /<\?[^>]+\?>/; + var _onlineObserverRegistered; + this.ns = "http://www.zotero.org/namespaces/SOAP"; this.init = init; @@ -35,20 +37,26 @@ Zotero.Integration = new function() { * initializes a very rudimentary web server used for SOAP RPC */ function init() { - // start listening on socket - var sock = Components.classes["@mozilla.org/network/server-socket;1"]; - serv = sock.createInstance(); - serv = serv.QueryInterface(Components.interfaces.nsIServerSocket); + if (Zotero.Utilities.HTTP.browserIsOffline()) { + Zotero.debug('Browser is offline -- not initializing integration HTTP server'); + _registerOnlineObserver() + return; + } + // start listening on socket + var serv = Components.classes["@mozilla.org/network/server-socket;1"] + .createInstance(Components.interfaces.nsIServerSocket); try { // bind to a random port on loopback only - serv.init(50001, true, -1); + serv.init(Zotero.Prefs.get('integration.port'), true, -1); serv.asyncListen(Zotero.Integration.SocketListener); Zotero.debug("Integration HTTP server listening on 127.0.0.1:"+serv.port); } catch(e) { - Zotero.debug("Not initializing integration HTTP"); + Zotero.debug("Not initializing integration HTTP server"); } + + _registerOnlineObserver() } /* @@ -173,10 +181,34 @@ Zotero.Integration = new function() { return response; } + + + function _registerOnlineObserver() { + if (_onlineObserverRegistered) { + return; + } + + // Observer to enable the integration when we go online + var observer = { + observe: function(subject, topic, data) { + if (data == 'online') { + Zotero.Integration.init(); + } + } + }; + + var observerService = + Components.classes["@mozilla.org/observer-service;1"] + .getService(Components.interfaces.nsIObserverService); + observerService.addObserver(observer, "network:offline-status-changed", false); + + _onlineObserverRegistered = true; + } } Zotero.Integration.SocketListener = new function() { this.onSocketAccepted = onSocketAccepted; + this.onStopListening = onStopListening; /* * called when a socket is opened @@ -192,6 +224,10 @@ Zotero.Integration.SocketListener = new function() { pump.init(iStream, -1, -1, 0, 0, false); pump.asyncRead(dataListener, null); } + + function onStopListening(serverSocket, status) { + Zotero.debug("Integration HTTP server going offline"); + } } /* @@ -1036,6 +1072,9 @@ Zotero.Integration.Session.prototype.loadDocumentData = function(json) { if(documentData.custom) { for(var itemID in documentData.custom) { var item = this.itemSet.getItemsByIds([itemID])[0]; + if (!item) { + continue; + } item.setProperty("bibliography-Integration", documentData.custom[itemID]); } } diff --git a/chrome/content/zotero/xpcom/itemTreeView.js b/chrome/content/zotero/xpcom/itemTreeView.js index ff9ca4f6b..9aba838b6 100644 --- a/chrome/content/zotero/xpcom/itemTreeView.js +++ b/chrome/content/zotero/xpcom/itemTreeView.js @@ -1463,7 +1463,9 @@ Zotero.ItemTreeView.prototype.getSortField = function() { /* * Returns 'ascending' or 'descending' * - * A-Z == 'descending' + * A-Z == 'descending', because Mozilla is confused + * (an upwards-facing triangle is A-Z on OS X and Windows, + * but Firefox uses the opposite) */ Zotero.ItemTreeView.prototype.getSortDirection = function() { var column = this._treebox.columns.getSortedColumn(); diff --git a/chrome/content/zotero/xpcom/quickCopy.js b/chrome/content/zotero/xpcom/quickCopy.js index 930ab8e30..96d58ef70 100644 --- a/chrome/content/zotero/xpcom/quickCopy.js +++ b/chrome/content/zotero/xpcom/quickCopy.js @@ -144,6 +144,44 @@ Zotero.QuickCopy = new function() { return true; } else if (mode == 'bibliography') { + // Move notes to separate array + var allNotes = true; + var notes = []; + for (var i=0; i<items.length; i++) { + if (items[i].isNote()) { + notes.push(items.splice(i, 1)[0]); + i--; + } + else { + allNotes = false; + } + } + + // If all notes, export full content + if (allNotes) { + var content = []; + for (var i=0; i<notes.length; i++) { + content.push(notes[i].getNote()); + } + + default xml namespace = ''; + var html = <div/>; + for (var i=0; i<content.length; i++) { + var p = <p>{content[i]}</p>; + p.@style = 'white-space: pre-wrap'; + html.p += p; + } + + html = html.toXMLString(); + + var content = { + text: contentType == "html" ? html : content.join('\n\n\n'), + html: html + }; + + return content; + } + var csl = Zotero.Cite.getStyle(format); var itemSet = csl.createItemSet(items); var bibliography = { diff --git a/chrome/content/zotero/xpcom/search.js b/chrome/content/zotero/xpcom/search.js index 19cb0a50f..845ff9bad 100644 --- a/chrome/content/zotero/xpcom/search.js +++ b/chrome/content/zotero/xpcom/search.js @@ -1329,7 +1329,8 @@ Zotero.Search.prototype._buildQuery = function(){ case 'isNot': // excluded with NOT IN above // Automatically cast values which might // have been stored as integers - if (condition.value.match(/^[1-9]+[0-9]*$/)) { + if (condition.value + && condition.value.match(/^[1-9]+[0-9]*$/)) { condSQL += ' LIKE ?'; } else { diff --git a/chrome/content/zotero/xpcom/translate.js b/chrome/content/zotero/xpcom/translate.js index 76b3afb07..a33f1a819 100644 --- a/chrome/content/zotero/xpcom/translate.js +++ b/chrome/content/zotero/xpcom/translate.js @@ -1308,14 +1308,21 @@ Zotero.Translate.prototype._itemDone = function(item, attachedTo) { } } + var automaticSnapshots = Zotero.Prefs.get("automaticSnapshots"); + var downloadAssociatedFiles = Zotero.Prefs.get("downloadAssociatedFiles"); + // handle attachments - if(item.attachments && Zotero.Prefs.get("automaticSnapshots")) { + if(item.attachments && (automaticSnapshots || downloadAssociatedFiles)) { for each(var attachment in item.attachments) { if(this.type == "web") { if(!attachment.url && !attachment.document) { Zotero.debug("Translate: not adding attachment: no URL specified"); } else { if(attachment.snapshot === false) { + if(!automaticSnapshots) { + continue; + } + // if snapshot is explicitly set to false, attach as link if(attachment.document) { Zotero.Attachments.linkFromURL(attachment.document.location.href, myID, @@ -1336,7 +1343,8 @@ Zotero.Translate.prototype._itemDone = function(item, attachedTo) { } } else if(attachment.document || (attachment.mimeType && attachment.mimeType == "text/html") - || Zotero.Prefs.get("downloadAssociatedFiles")) { + || downloadAssociatedFiles) { + // if snapshot is not explicitly set to false, retrieve snapshot if(attachment.document) { try { @@ -1344,10 +1352,13 @@ Zotero.Translate.prototype._itemDone = function(item, attachedTo) { } catch(e) { Zotero.debug("Translate: error attaching document"); } - } else { + // Save attachment if snapshot pref enabled or not HTML + // (in which case downloadAssociatedFiles applies) + } else if(automaticSnapshots || !attachment.mimeType + || attachment.mimeType != "text/html") { var mimeType = null; var title = null; - + if(attachment.mimeType) { // first, try to extract mime type from mimeType attribute mimeType = attachment.mimeType; @@ -1355,18 +1366,18 @@ Zotero.Translate.prototype._itemDone = function(item, attachedTo) { // if that fails, use document if possible mimeType = attachment.document.contentType } - + // same procedure for title as mime type if(attachment.title) { title = attachment.title; } else if(attachment.document && attachment.document.title) { title = attachment.document.title; } - + if(this.locationIsProxied) { attachment.url = Zotero.Ingester.ProxyMonitor.properToProxy(attachment.url); } - + var fileBaseName = Zotero.Attachments.getFileBaseNameFromItem(myID); try { Zotero.Attachments.importFromURL(attachment.url, myID, title, fileBaseName); diff --git a/chrome/content/zotero/xpcom/utilities.js b/chrome/content/zotero/xpcom/utilities.js index 24099c0dd..39e708f1b 100644 --- a/chrome/content/zotero/xpcom/utilities.js +++ b/chrome/content/zotero/xpcom/utilities.js @@ -784,7 +784,8 @@ Zotero.Utilities.HTTP.processDocuments = function(firstDoc, urls, processor, don var urlIndex = -1; var removeListeners = function() { - hiddenBrowser.removeEventListener("load", onLoad, true); + var loadEvent = Zotero.isFx2 ? "load" : "pageshow"; + hiddenBrowser.removeEventListener(loadEvent, onLoad, true); if(!saveBrowser) { Zotero.Browser.deleteHiddenBrowser(hiddenBrowser); } diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index f73db74e6..237dcdee9 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -120,6 +120,12 @@ var Zotero = new function(){ this.version = gExtensionManager.getItemForID(ZOTERO_CONFIG['GUID']).version; + var appInfo = + Components.classes["@mozilla.org/xre/app-info;1"]. + getService(Components.interfaces.nsIXULAppInfo) + this.isFx2 = appInfo.platformVersion.indexOf('1.8') === 0; // TODO: remove + this.isFx3 = appInfo.platformVersion.indexOf('1.9') === 0; + // OS platform var win = Components.classes["@mozilla.org/appshell/appShellService;1"] .getService(Components.interfaces.nsIAppShellService) @@ -211,6 +217,7 @@ var Zotero = new function(){ Zotero.DB.test(); } catch (e) { + Components.utils.reportError(e); this.skipLoading = true; Zotero.DB.skipBackup = true; return; @@ -524,11 +531,14 @@ var Zotero = new function(){ "No chrome package registered for chrome://communicator", '[JavaScript Error: "Components is not defined" {file: "chrome://nightly/content/talkback/talkback.js', '[JavaScript Error: "document.getElementById("sanitizeItem")', - 'chrome://webclipper', 'No chrome package registered for chrome://piggy-bank', '[JavaScript Error: "[Exception... "\'Component is not available\' when calling method: [nsIHandlerService::getTypeFromExtension', '[JavaScript Error: "this._uiElement is null', - 'Error: a._updateVisibleText is not a function' + 'Error: a._updateVisibleText is not a function', + '[JavaScript Error: "Warning: unrecognized command line flag -psn', + 'LibX:', + 'function skype_', + '[JavaScript Error: "uncaught exception: Permission denied to call method Location.toString"]' ]; for (var i=0; i<blacklist.length; i++) { @@ -1694,6 +1704,7 @@ Zotero.Browser = new function() { // Create a hidden browser var hiddenBrowser = win.document.createElement("browser"); + hiddenBrowser.setAttribute('disablehistory', 'true'); win.document.documentElement.appendChild(hiddenBrowser); Zotero.debug("created hidden browser (" + win.document.getElementsByTagName('browser').length + ")"); diff --git a/chrome/locale/cs-CZ/zotero/zotero.dtd b/chrome/locale/cs-CZ/zotero/zotero.dtd index d0cda8b72..130be7f69 100644 --- a/chrome/locale/cs-CZ/zotero/zotero.dtd +++ b/chrome/locale/cs-CZ/zotero/zotero.dtd @@ -5,8 +5,8 @@ <!ENTITY zotero.errorReport.submissionInProgress "Čekejte, prosím, dokud nebude chybová zpráva podána."> <!ENTITY zotero.errorReport.submitted "Hlášení o chybách bylo odesláno."> <!ENTITY zotero.errorReport.reportID "ID hlášení:"> -<!ENTITY zotero.errorReport.postToForums "Please post a message to the Zotero forums (forums.zotero.org) with this Report ID, a description of the problem, and any steps necessary to reproduce it."> -<!ENTITY zotero.errorReport.notReviewed "Error reports are generally not reviewed unless referred to in the forums."> +<!ENTITY zotero.errorReport.postToForums "Prosím, napište zprávu do Zotero fóra (forums.zotero.org). Napište ID hlášení, popis problému a postupné kroky k jeho reprodukování."> +<!ENTITY zotero.errorReport.notReviewed "Chybová hlášení nejsou zpracovávána, dokud nahlášena do fóra."> <!ENTITY zotero.upgrade.newVersionInstalled "Nainstalovali jste novou verzi Zotero."> <!ENTITY zotero.upgrade.upgradeRequired "Databáze vašeho Zotera musí být upgradeována, aby mohla pracovat s novou verzí."> @@ -35,10 +35,10 @@ <!ENTITY zotero.items.date_column "Datum"> <!ENTITY zotero.items.year_column "Rok"> <!ENTITY zotero.items.publisher_column "Vydavatel"> -<!ENTITY zotero.items.publication_column "Publication"> -<!ENTITY zotero.items.journalAbbr_column "Journal Abbr"> +<!ENTITY zotero.items.publication_column "Publikace"> +<!ENTITY zotero.items.journalAbbr_column "Zkratka časopisu"> <!ENTITY zotero.items.language_column "Jazyk"> -<!ENTITY zotero.items.accessDate_column "Accessed"> +<!ENTITY zotero.items.accessDate_column "Přistoupeno"> <!ENTITY zotero.items.callNumber_column "Signatura"> <!ENTITY zotero.items.repository_column "Repozitář"> <!ENTITY zotero.items.rights_column "Práva"> diff --git a/chrome/locale/es-ES/zotero/zotero.dtd b/chrome/locale/es-ES/zotero/zotero.dtd index 790a8e202..16aad7b52 100644 --- a/chrome/locale/es-ES/zotero/zotero.dtd +++ b/chrome/locale/es-ES/zotero/zotero.dtd @@ -5,8 +5,8 @@ <!ENTITY zotero.errorReport.submissionInProgress "Por favor, espera mientras se envía el informe de error."> <!ENTITY zotero.errorReport.submitted "Se ha enviado el informe de error."> <!ENTITY zotero.errorReport.reportID "Identificador de informe:"> -<!ENTITY zotero.errorReport.postToForums "Please post a message to the Zotero forums (forums.zotero.org) with this Report ID, a description of the problem, and any steps necessary to reproduce it."> -<!ENTITY zotero.errorReport.notReviewed "Error reports are generally not reviewed unless referred to in the forums."> +<!ENTITY zotero.errorReport.postToForums "Envía un mensaje a los foros de Zotero (forums.zotero.org) con este identificador de informe, una descripción del problema, y los pasos necesarios para repetirlo."> +<!ENTITY zotero.errorReport.notReviewed "Los informes de error, en general, no se revisan a menos que se los mencione en los foros."> <!ENTITY zotero.upgrade.newVersionInstalled "Has instalado una versión nueva de Zotero."> <!ENTITY zotero.upgrade.upgradeRequired "Tu base de datos de Zotero debe actualizarse para funcionar con la versión nueva."> @@ -35,7 +35,7 @@ <!ENTITY zotero.items.date_column "Fecha"> <!ENTITY zotero.items.year_column "Año"> <!ENTITY zotero.items.publisher_column "Editorial"> -<!ENTITY zotero.items.publication_column "Publication"> +<!ENTITY zotero.items.publication_column "Publicación"> <!ENTITY zotero.items.journalAbbr_column "Abrev. de la revista"> <!ENTITY zotero.items.language_column "Idioma"> <!ENTITY zotero.items.accessDate_column "Visto"> diff --git a/chrome/locale/fr-FR/zotero/zotero.properties b/chrome/locale/fr-FR/zotero/zotero.properties index ace0de5bc..5061358d8 100644 --- a/chrome/locale/fr-FR/zotero/zotero.properties +++ b/chrome/locale/fr-FR/zotero/zotero.properties @@ -4,7 +4,7 @@ general.error=Erreur general.warning=Avertissement general.dontShowWarningAgain=Ne plus montrer cet avertissement à nouveau. general.browserIsOffline=%S est actuellement en mode hors connexion. -general.locate=En cours de localisation… +general.locate=Localisation en cours… general.restartRequired=Redémarrage nécessaire general.restartRequiredForChange=Firefox doit être redémarré pour que la modification soit prise en compte. general.restartRequiredForChanges=Firefox doit être redémarré pour que les modifications soient prises en compte. @@ -340,7 +340,7 @@ ingester.scrapeErrorDescription.linkText=Problèmes connus de collecteur ingester.scrapeError.transactionInProgress.previousError=Le processus de sauvegarde a échoué à cause d'une erreur antérieure de Zotero. db.dbCorrupted=La base de données Zotero '%S' semble avoir été corrompue. -db.dbCorrupted.restart=Redémarrez Firefox SVP pour tenter une restauration automatique à partir de la dernière sauvegarde. +db.dbCorrupted.restart=Veuillez redémarrer Firefox pour tenter une restauration automatique à partir de la dernière sauvegarde. db.dbCorruptedNoBackup=La base de données Zotero '%S' semble avoir été corrompue et aucune sauvegarde automatique n'est disponible.\n\nUn nouveau fichier de base de données a été créé. Le fichier endommagé a été enregistré dans le dossier Zotero. db.dbRestored=La base de données Zotero '%1$S' semble avoir été corrompue.\n\nVos données ont été rétablies à partir de la dernière sauvegarde automatique faite le %2$S à %3$S. Le fichier endommagé a été enregistré dans le dossier Zotero. db.dbRestoreFailed=La base de données Zotero '%S'semble avoir été corrompue et une tentative de rétablissement à partir de la dernière sauvegarde automatique a échoué.\n\nUn nouveau fichier de base de données a été créé. Le fichier endommagé a été enregistré dans le dossier Zotero. @@ -476,7 +476,7 @@ annotations.collapse.tooltip=Réduire l'annotation annotations.expand.tooltip=Développer l'annotation annotations.oneWindowWarning=Les annotations pour une capture d'écran ne peuvent être ouvertes simultanément que dans une fenêtre du navigateur. Cette capture sera ouverte sans annotation. -integration.incompatibleVersion=Cette version du plugin Zotero pour traitement de texte ($INTEGRATION_VERSION) est incompatible avec la version du module complémentaire Zotero de Firefox (%1$S) actuellement installée. Veuillez vous assurer que vous utilisez la dernière version des deux composants. +integration.incompatibleVersion=Cette version du plugin Zotero pour traitement de texte ($INTEGRATION_VERSION) est incompatible avec la version de Zotero pour Firefox (%1$S) actuellement installée. Veuillez vous assurer que vous utilisez la dernière version des deux composants. integration.fields.label=Champs integration.referenceMarks.label=Champs integration.fields.caption=Les champs de Microsoft Word risquent moins d'être modifiés accidentellement mais ne peuvent pas être partagés avec OpenOffice.org. diff --git a/chrome/locale/it-IT/zotero/zotero.dtd b/chrome/locale/it-IT/zotero/zotero.dtd index cae141d9e..6182ba703 100644 --- a/chrome/locale/it-IT/zotero/zotero.dtd +++ b/chrome/locale/it-IT/zotero/zotero.dtd @@ -5,8 +5,8 @@ <!ENTITY zotero.errorReport.submissionInProgress "Attendere, rapporto di errore in fase di invio."> <!ENTITY zotero.errorReport.submitted "Il rapporto di errore è stato inviato."> <!ENTITY zotero.errorReport.reportID "ID rapporto:"> -<!ENTITY zotero.errorReport.postToForums "Please post a message to the Zotero forums (forums.zotero.org) with this Report ID, a description of the problem, and any steps necessary to reproduce it."> -<!ENTITY zotero.errorReport.notReviewed "Error reports are generally not reviewed unless referred to in the forums."> +<!ENTITY zotero.errorReport.postToForums "Inviare un messaggio ai forum di Zotero (forums.zotero.org)riportando il numero ID del rapporto di errore, una descrizione del problema ed esponendo i passaggi che hanno condotto all'errore."> +<!ENTITY zotero.errorReport.notReviewed "In genere, i rapporti di errore non vengono esaminati se non sono stati inviati ai forum."> <!ENTITY zotero.upgrade.newVersionInstalled "Nuova versione di Zotero installata correttamente."> <!ENTITY zotero.upgrade.upgradeRequired "Il database deve essere aggiornato alla nuova versione di Zotero."> @@ -35,10 +35,10 @@ <!ENTITY zotero.items.date_column "Data"> <!ENTITY zotero.items.year_column "Anno"> <!ENTITY zotero.items.publisher_column "Editore"> -<!ENTITY zotero.items.publication_column "Publication"> -<!ENTITY zotero.items.journalAbbr_column "Journal Abbr"> +<!ENTITY zotero.items.publication_column "Pubblicazione"> +<!ENTITY zotero.items.journalAbbr_column "Abbreviazione dei titoli di periodici"> <!ENTITY zotero.items.language_column "Lingua"> -<!ENTITY zotero.items.accessDate_column "Accessed"> +<!ENTITY zotero.items.accessDate_column "Consultato"> <!ENTITY zotero.items.callNumber_column "Segnatura"> <!ENTITY zotero.items.repository_column "Deposito"> <!ENTITY zotero.items.rights_column "Diritti"> diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/zotero/zotero.properties index cc30da2b7..3250618af 100644 --- a/chrome/locale/mn-MN/zotero/zotero.properties +++ b/chrome/locale/mn-MN/zotero/zotero.properties @@ -1,20 +1,20 @@ extensions.zotero@chnm.gmu.edu.description=The Next-Generation Research Tool general.error=Алдаа -general.warning=Warning +general.warning=Сэрэмжлүүлэг general.dontShowWarningAgain=Don't show this warning again. general.browserIsOffline=%S is currently in offline mode. general.locate=Locate... general.restartRequired=Restart Required general.restartRequiredForChange=Firefox must be restarted for the change to take effect. general.restartRequiredForChanges=Firefox must be restarted for the changes to take effect. -general.restartNow=Restart now -general.restartLater=Restart later +general.restartNow=Одоо ачаалах +general.restartLater=Дараа ачаалах general.errorHasOccurred=An error has occurred. -general.restartFirefox=Please restart Firefox. +general.restartFirefox=Галт үнэг ахин ачаална уу. general.restartFirefoxAndTryAgain=Please restart Firefox and try again. general.checkForUpdate=Check for update -general.install=Install +general.install=Суулга general.updateAvailable=Update Available general.upgrade=Upgrade general.yes=Тийм @@ -24,14 +24,14 @@ general.failed=Failed general.and=and install.quickStartGuide=Quick Start Guide -install.quickStartGuide.message.welcome=Welcome to Zotero! +install.quickStartGuide.message.welcome=Зотерод тавтай морил! install.quickStartGuide.message.clickViewPage=Click the "View Page" button above to visit our Quick Start Guide and learn how to get started collecting, managing, and citing your research. -install.quickStartGuide.message.thanks=Thanks for installing Zotero. +install.quickStartGuide.message.thanks=Зотеро суулгасанд баярлалаа. upgrade.failed=Upgrading of the Zotero database failed: upgrade.advanceMessage=Press %S to upgrade now. -errorReport.reportErrors=Report Errors... +errorReport.reportErrors=Алдаануудыг илгээх... errorReport.reportInstructions=You can report this error by selecting "%S" from the Actions (gear) menu. errorReport.followingErrors=The following errors have occurred: errorReport.advanceMessage=Press %S to send an error report to the Zotero developers. @@ -55,8 +55,8 @@ pane.collections.name=Enter a name for this collection: pane.collections.newSavedSeach=New Saved Search pane.collections.savedSearchName=Enter a name for this saved search: pane.collections.rename=Rename collection: -pane.collections.library=My Library -pane.collections.untitled=Untitled +pane.collections.library=Миний номын сан +pane.collections.untitled=Гарчиггүй pane.collections.menu.rename.collection=Rename Collection... pane.collections.menu.edit.savedSearch=Edit Saved Search @@ -81,7 +81,7 @@ pane.tagSelector.numSelected.plural=%S tags selected pane.items.loading=Loading items list... pane.items.delete=Are you sure you want to delete the selected item? pane.items.delete.multiple=Are you sure you want to delete the selected items? -pane.items.delete.title=Delete +pane.items.delete.title=Устгах pane.items.delete.attached=Erase attached notes and files pane.items.menu.remove=Remove Selected Item pane.items.menu.remove.multiple=Remove Selected Items @@ -108,7 +108,7 @@ pane.items.interview.manyParticipants=Interview by %S et al. pane.item.selected.zero=No items selected pane.item.selected.multiple=%S items selected -pane.item.goToURL.online.label=View +pane.item.goToURL.online.label=Үзэх pane.item.goToURL.online.tooltip=Go to this item online pane.item.goToURL.snapshot.label=View Snapshot pane.item.goToURL.snapshot.tooltip=View snapshot for this item @@ -119,25 +119,25 @@ pane.item.defaultLastName=Сүүлийн pane.item.defaultFullName=Бүтэн нэр pane.item.switchFieldMode.one=Switch to single field pane.item.switchFieldMode.two=Switch to two fields -pane.item.notes.untitled=Untitled Note +pane.item.notes.untitled=Гарчиггүй тэмдэглэл pane.item.notes.delete.confirm=Are you sure you want to delete this note? -pane.item.notes.count.zero=%S notes: -pane.item.notes.count.singular=%S note: -pane.item.notes.count.plural=%S notes: +pane.item.notes.count.zero=%S тэмдэглэлүүд: +pane.item.notes.count.singular=%S тэмдэглэл: +pane.item.notes.count.plural=%S тэмдэглэлүүд: pane.item.attachments.rename.title=Шинэ гарчиг pane.item.attachments.rename.renameAssociatedFile=Rename associated file pane.item.attachments.rename.error=An error occurred while renaming the file. pane.item.attachments.view.link=Хуудас үзэх pane.item.attachments.view.snapshot=View Snapshot -pane.item.attachments.view.file=View File +pane.item.attachments.view.file=Файл үзэх pane.item.attachments.fileNotFound.title=Файл олдсонгүй pane.item.attachments.fileNotFound.text=The attached file could not be found.\n\nIt may have been moved or deleted outside of Zotero. pane.item.attachments.delete.confirm=Are you sure you want to delete this attachment? -pane.item.attachments.count.zero=%S attachments: -pane.item.attachments.count.singular=%S attachment: -pane.item.attachments.count.plural=%S attachments: +pane.item.attachments.count.zero=%S хавсралтууд: +pane.item.attachments.count.singular=%S хавсралт: +pane.item.attachments.count.plural=%S хавсралтууд: pane.item.attachments.select=Файлыг сонгох -pane.item.noteEditor.clickHere=click here +pane.item.noteEditor.clickHere=Энд сонго pane.item.tags=Tags: pane.item.tags.count.zero=%S tags: pane.item.tags.count.singular=%S tag: @@ -149,10 +149,10 @@ pane.item.related.count.zero=%S related: pane.item.related.count.singular=%S related: pane.item.related.count.plural=%S related: -noteEditor.editNote=Edit Note +noteEditor.editNote=Тэмдэглэл засварлах -itemTypes.note=Note -itemTypes.attachment=Attachment +itemTypes.note=Тэмдэглэл +itemTypes.attachment=Хавсралт itemTypes.book=Ном itemTypes.bookSection=Номын хэсэг itemTypes.journalArticle=Сэтгүүлийн өгүүлэл @@ -165,15 +165,15 @@ itemTypes.interview=Ярилцлага itemTypes.film=Кино itemTypes.artwork=Artwork itemTypes.webpage=Вэб хуудас -itemTypes.report=Report +itemTypes.report=Тайлан itemTypes.bill=Bill itemTypes.case=Case itemTypes.hearing=Hearing -itemTypes.patent=Patent +itemTypes.patent=Патент itemTypes.statute=Statute itemTypes.email=Электрон шуудан itemTypes.map=Газрын зураг -itemTypes.blogPost=Blog Post +itemTypes.blogPost=Блог бичлэг itemTypes.instantMessage=Instant Message itemTypes.forumPost=Forum Post itemTypes.audioRecording=Audio Recording @@ -182,32 +182,32 @@ itemTypes.videoRecording=Video Recording itemTypes.tvBroadcast=TV Broadcast itemTypes.radioBroadcast=Radio Broadcast itemTypes.podcast=Podcast -itemTypes.computerProgram=Computer Program -itemTypes.conferencePaper=Conference Paper +itemTypes.computerProgram=Компьютерийн програм +itemTypes.conferencePaper=Хурлын өгүүлэл itemTypes.document=Баримт -itemTypes.encyclopediaArticle=Encyclopedia Article +itemTypes.encyclopediaArticle=Тайлбар толийн өгүүлэл itemTypes.dictionaryEntry=Dictionary Entry -itemFields.itemType=Type -itemFields.title=Title +itemFields.itemType=Төрөл +itemFields.title=Гарчиг itemFields.dateAdded=Date Added itemFields.dateModified=Modified itemFields.source=Source -itemFields.notes=Тэмдэглэл +itemFields.notes=Тэмдэглэлүүд itemFields.tags=Tags -itemFields.attachments=Attachments +itemFields.attachments=Хавсралтууд itemFields.related=Related itemFields.url=URL -itemFields.rights=Rights +itemFields.rights=Эрхүүд itemFields.series=Series itemFields.volume=Volume itemFields.issue=Issue itemFields.edition=Edition itemFields.place=Place -itemFields.publisher=Publisher -itemFields.pages=Pages +itemFields.publisher=Хэвлэгч +itemFields.pages=Хуудасууд itemFields.ISBN=ISBN -itemFields.publicationTitle=Publication +itemFields.publicationTitle=Хэвлэл itemFields.ISSN=ISSN itemFields.date=Он сар өдөр itemFields.section=Section @@ -247,17 +247,17 @@ itemFields.interviewMedium=Дунд itemFields.letterType=Төрөл itemFields.manuscriptType=Төрөл itemFields.mapType=Төрөл -itemFields.scale=Scale +itemFields.scale=Масштаб itemFields.thesisType=Төрөл itemFields.websiteType=Вэб сайтын төрөл itemFields.audioRecordingType=Бичлэгийн төрөл -itemFields.label=Label +itemFields.label=Шошго itemFields.presentationType=Төрөл itemFields.meetingName=Уулзалтын нэр itemFields.studio=Studio itemFields.runningTime=Running Time itemFields.network=Сүлжээ -itemFields.postType=Post Type +itemFields.postType=Бичлэгийн төрөл itemFields.audioFileType=Файлын төрөл itemFields.version=Хувилбар itemFields.system=Систем @@ -367,12 +367,12 @@ zotero.preferences.search.pdf.automaticInstall=Zotero can automatically download zotero.preferences.search.pdf.advancedUsers=Advanced users may wish to view the %S for manual installation instructions. zotero.preferences.search.pdf.documentationLink=documentation zotero.preferences.search.pdf.checkForInstaller=Check for installer -zotero.preferences.search.pdf.downloading=Downloading... +zotero.preferences.search.pdf.downloading=Татаж байна... zotero.preferences.search.pdf.toolDownloadsNotAvailable=The %S utilities are not currently available for your platform via zotero.org. zotero.preferences.search.pdf.viewManualInstructions=View the documentation for manual installation instructions. zotero.preferences.search.pdf.availableDownloads=Available downloads for %1$S from %2$S: zotero.preferences.search.pdf.availableUpdates=Available updates for %1$S from %2$S: -zotero.preferences.search.pdf.toolVersionPlatform=%1$S version %2$S +zotero.preferences.search.pdf.toolVersionPlatform=%1$S хувилбар %2$S zotero.preferences.search.pdf.zoteroCanInstallVersion=Zotero can automatically install it into the Zotero data directory. zotero.preferences.search.pdf.zoteroCanInstallVersions=Zotero can automatically install these applications into the Zotero data directory. zotero.preferences.search.pdf.toolsDownloadError=An error occurred while attempting to download the %S utilities from zotero.org. @@ -446,7 +446,7 @@ searchConditions.fileTypeID=Attachment File Type searchConditions.annotation=Annotation fulltext.indexState.indexed=Indexed -fulltext.indexState.unavailable=Unknown +fulltext.indexState.unavailable=Мэдэхгүй fulltext.indexState.partial=Partial exportOptions.exportNotes=Export Notes diff --git a/chrome/locale/nb-NO/zotero/zotero.dtd b/chrome/locale/nb-NO/zotero/zotero.dtd index 2682abb63..106d2c91f 100644 --- a/chrome/locale/nb-NO/zotero/zotero.dtd +++ b/chrome/locale/nb-NO/zotero/zotero.dtd @@ -5,8 +5,8 @@ <!ENTITY zotero.errorReport.submissionInProgress "Vennligst vent mens feilrapporten blir levert."> <!ENTITY zotero.errorReport.submitted "Feilrapporten er levert."> <!ENTITY zotero.errorReport.reportID "Rapport-ID:"> -<!ENTITY zotero.errorReport.postToForums "Please post a message to the Zotero forums (forums.zotero.org) with this Report ID, a description of the problem, and any steps necessary to reproduce it."> -<!ENTITY zotero.errorReport.notReviewed "Error reports are generally not reviewed unless referred to in the forums."> +<!ENTITY zotero.errorReport.postToForums "Vennligst skriv en melding i Zotero-forumene (forums.zotero.org) med denne rapport-IDen, en beskrivelse av problemet og nødvendige steg for å reprodusere problemet."> +<!ENTITY zotero.errorReport.notReviewed "Feilrapporter blir vanligvis ikke kommentert, dersom problemet ikke tas opp i forumene."> <!ENTITY zotero.upgrade.newVersionInstalled "Du ha installert en ny versjon av Zotero."> <!ENTITY zotero.upgrade.upgradeRequired "Zotero-databasen din må oppgraderes for å fungere med den nye versjonen."> @@ -35,10 +35,10 @@ <!ENTITY zotero.items.date_column "Dato"> <!ENTITY zotero.items.year_column "År"> <!ENTITY zotero.items.publisher_column "Utgiver"> -<!ENTITY zotero.items.publication_column "Publication"> -<!ENTITY zotero.items.journalAbbr_column "Journal Abbr"> +<!ENTITY zotero.items.publication_column "Publikasjon"> +<!ENTITY zotero.items.journalAbbr_column "Tidsskriftsforkortelse"> <!ENTITY zotero.items.language_column "Språk"> -<!ENTITY zotero.items.accessDate_column "Accessed"> +<!ENTITY zotero.items.accessDate_column "Sist åpnet"> <!ENTITY zotero.items.callNumber_column "Plass-signatur"> <!ENTITY zotero.items.repository_column "Oppbevaringsplass"> <!ENTITY zotero.items.rights_column "Rettigheter"> diff --git a/chrome/locale/sk-SK/zotero/about.dtd b/chrome/locale/sk-SK/zotero/about.dtd new file mode 100644 index 000000000..5a788a15d --- /dev/null +++ b/chrome/locale/sk-SK/zotero/about.dtd @@ -0,0 +1,10 @@ +<!ENTITY zotero.version "verzia"> +<!ENTITY zotero.createdby "Vytvorili:"> +<!ENTITY zotero.directors "Pod vedením:"> +<!ENTITY zotero.developers "Vývojári:"> +<!ENTITY zotero.alumni "Alumni:"> +<!ENTITY zotero.about.localizations "Lokalizácia:"> +<!ENTITY zotero.about.additionalSoftware "Softvér tretích strán a štandardy:"> +<!ENTITY zotero.executiveProducer "Výkonný producent:"> +<!ENTITY zotero.thanks "Špeciálne poďakovanie:"> +<!ENTITY zotero.about.close "Zatvor"> diff --git a/chrome/locale/sk-SK/zotero/preferences.dtd b/chrome/locale/sk-SK/zotero/preferences.dtd new file mode 100644 index 000000000..fa5864c61 --- /dev/null +++ b/chrome/locale/sk-SK/zotero/preferences.dtd @@ -0,0 +1,92 @@ +<!ENTITY zotero.preferences.title "Zotero - Predvoľby"> + +<!ENTITY zotero.preferences.default "Predvolené:"> + +<!ENTITY zotero.preferences.prefpane.general "Všeobecné"> + +<!ENTITY zotero.preferences.userInterface "Používateľské rozhranie"> +<!ENTITY zotero.preferences.position "Zobraz Zotero"> +<!ENTITY zotero.preferences.position.above "pod"> +<!ENTITY zotero.preferences.position.below "nad"> +<!ENTITY zotero.preferences.position.browser "hlavným oknom prehliadača"> +<!ENTITY zotero.preferences.statusBarIcon "Ikonka v spodnej lište:"> +<!ENTITY zotero.preferences.statusBarIcon.none "žiadna"> +<!ENTITY zotero.preferences.fontSize "Veľkosť písma:"> +<!ENTITY zotero.preferences.fontSize.small "malé"> +<!ENTITY zotero.preferences.fontSize.medium "stredné"> +<!ENTITY zotero.preferences.fontSize.large "veľké"> + +<!ENTITY zotero.preferences.miscellaneous "Rôzne"> +<!ENTITY zotero.preferences.autoUpdate "automaticky kontroluj aktualizácie konvertorov"> +<!ENTITY zotero.preferences.updateNow "Aktualizuj teraz"> +<!ENTITY zotero.preferences.reportTranslationFailure "hlás chybné konvertory"> +<!ENTITY zotero.preferences.parseRISRefer "použi Zotero pre prevzaté RIS/Refer súbory"> +<!ENTITY zotero.preferences.automaticSnapshots "pri vytváraní položiek s webových stránok automaticky urob snímku"> +<!ENTITY zotero.preferences.downloadAssociatedFiles "pri ukladaní položiek automaticky pripoj prepojené PDF a ostatné súbory"> +<!ENTITY zotero.preferences.automaticTags "automaticky použi kľúčové slová a predmetové heslá ako tagy"> + +<!ENTITY zotero.preferences.openurl.caption "OpenURL"> + +<!ENTITY zotero.preferences.openurl.search "Hľadaj resolvery"> +<!ENTITY zotero.preferences.openurl.custom "Vlastné..."> +<!ENTITY zotero.preferences.openurl.server "Resolver:"> +<!ENTITY zotero.preferences.openurl.version "Verzia:"> + +<!ENTITY zotero.preferences.prefpane.search "Vyhľadávanie"> +<!ENTITY zotero.preferences.search.fulltextCache "Index pre plnotextové vyhľadávanie"> +<!ENTITY zotero.preferences.search.pdfIndexing "Indexovanie PDF súborov"> +<!ENTITY zotero.preferences.search.indexStats "Štatistiky indexu pre plnotextové vyhľadávanie"> + +<!ENTITY zotero.preferences.search.indexStats.indexed "Indexovaných:"> +<!ENTITY zotero.preferences.search.indexStats.partial "Čiastočne indexovaných:"> +<!ENTITY zotero.preferences.search.indexStats.unindexed "Neindexovaných:"> +<!ENTITY zotero.preferences.search.indexStats.words "Slov:"> + +<!ENTITY zotero.preferences.fulltext.textMaxLength "Maximálny počet indexovaných znakov z 1 súboru:"> +<!ENTITY zotero.preferences.fulltext.pdfMaxPages "Maximálny počet indexovaných stránok z jedného súboru:"> + +<!ENTITY zotero.preferences.prefpane.export "Export"> + +<!ENTITY zotero.preferences.citationOptions.caption "Možnosti citovania"> +<!ENTITY zotero.preferences.export.citePaperJournalArticleURL "Zahrň do referencií URL adresy článkov"> +<!ENTITY zotero.preferences.export.citePaperJournalArticleURL.description "Keď táto voľba nie je vybraná, Zotero vloží URL adresy pri citovaní článkov (z odborných a populárnych časopisov alebo novín) iba v prípade, ak článok nemá špecifikovaný rozsah strán."> + +<!ENTITY zotero.preferences.quickCopy.caption "Rýchle kopírovanie"> +<!ENTITY zotero.preferences.quickCopy.defaultOutputFormat "Predvolený formát výstupu:"> +<!ENTITY zotero.preferences.quickCopy.copyAsHTML "Kopíruj ako HTML"> +<!ENTITY zotero.preferences.quickCopy.macWarning "Poznámka: Formát textu sa v Mac OS X nezachová."> +<!ENTITY zotero.preferences.quickCopy.siteEditor.setings "Nastavenia pre jednotlivé sídla:"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "doména/cesta"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(napr. wikipedia.org)"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "výstupný formát"> + +<!ENTITY zotero.preferences.export.getAdditionalStyles "Získaj ďalšie štýly"> + +<!ENTITY zotero.preferences.prefpane.keys "Klávesové skratky"> + +<!ENTITY zotero.preferences.keys.openZotero "Otvorenie/zatvorenie Zotera"> +<!ENTITY zotero.preferences.keys.toggleFullscreen "Prepnutie Zotera do celého okna"> +<!ENTITY zotero.preferences.keys.library "Knižnica"> +<!ENTITY zotero.preferences.keys.quicksearch "Rýchle hľadanie"> +<!ENTITY zotero.preferences.keys.newItem "Vytvorenie novej položky"> +<!ENTITY zotero.preferences.keys.newNote "Vytvorenie novej poznámky"> +<!ENTITY zotero.preferences.keys.toggleTagSelector "Zobrazenie/skrytie tagov"> +<!ENTITY zotero.preferences.keys.copySelectedItemCitationsToClipboard "Kopírovanie vybraných citácií do schránky"> +<!ENTITY zotero.preferences.keys.copySelectedItemsToClipboard "Kopírovanie vybraných položiek do schránky"> +<!ENTITY zotero.preferences.keys.overrideGlobal "Pokús sa získať kontrolu v prípade konfliktu skratiek s inými rozšíreniami"> +<!ENTITY zotero.preferences.keys.changesTakeEffect "Zmeny sa prejavia iba v nových oknách"> + + +<!ENTITY zotero.preferences.prefpane.advanced "Pokročilé"> + +<!ENTITY zotero.preferences.dataDir "Ukladanie dát"> +<!ENTITY zotero.preferences.dataDir.useProfile "Použi priečinok, kde má Firefox uložený profil"> +<!ENTITY zotero.preferences.dataDir.custom "Vlastné umiestnenie:"> +<!ENTITY zotero.preferences.dataDir.choose "Vyber..."> +<!ENTITY zotero.preferences.dataDir.reveal "Zobraz priečinok s dátami"> + +<!ENTITY zotero.preferences.dbMaintenance "Údržba databázy"> +<!ENTITY zotero.preferences.dbMaintenance.integrityCheck "Skontroluj integritu"> +<!ENTITY zotero.preferences.dbMaintenance.resetTranslatorsAndStyles "Obnov konvertory a citačné štýly..."> +<!ENTITY zotero.preferences.dbMaintenance.resetTranslators "Obnov konvertory..."> +<!ENTITY zotero.preferences.dbMaintenance.resetStyles "Obnov citačné štýly..."> diff --git a/chrome/locale/sk-SK/zotero/searchbox.dtd b/chrome/locale/sk-SK/zotero/searchbox.dtd new file mode 100644 index 000000000..784a7d972 --- /dev/null +++ b/chrome/locale/sk-SK/zotero/searchbox.dtd @@ -0,0 +1,23 @@ +<!ENTITY zotero.search.name "Meno:"> + +<!ENTITY zotero.search.joinMode.prefix "Zodpovedá"> +<!ENTITY zotero.search.joinMode.any "ktorémukoľvek"> +<!ENTITY zotero.search.joinMode.all "všetkým"> +<!ENTITY zotero.search.joinMode.suffix "z nasledujúcich pravidiel"> + +<!ENTITY zotero.search.recursive.label "Hľadaj v podpriečinkoch"> +<!ENTITY zotero.search.noChildren "Zobrazuj iba položky z prvej úrovne"> +<!ENTITY zotero.search.includeParentsAndChildren "K nájdeným položkám zahrň aj všetky rodičovské a dcérske položky"> + +<!ENTITY zotero.search.textModes.phrase "Výraz"> +<!ENTITY zotero.search.textModes.phraseBinary "Výraz (vrátane binárnych súborov)"> +<!ENTITY zotero.search.textModes.regexp "regulárny výraz"> +<!ENTITY zotero.search.textModes.regexpCS "regulárny výraz (rozliš. malé a veľké)"> + +<!ENTITY zotero.search.date.units.days "dni"> +<!ENTITY zotero.search.date.units.months "mesiace"> +<!ENTITY zotero.search.date.units.years "roky"> + +<!ENTITY zotero.search.search "Hľadaj"> +<!ENTITY zotero.search.clear "Vymaž"> +<!ENTITY zotero.search.saveSearch "Ulož vyhľadávanie"> diff --git a/chrome/locale/sk-SK/zotero/timeline.properties b/chrome/locale/sk-SK/zotero/timeline.properties new file mode 100644 index 000000000..dc8400ae2 --- /dev/null +++ b/chrome/locale/sk-SK/zotero/timeline.properties @@ -0,0 +1,21 @@ +general.title=Zotero časová os +general.filter=Filter: +general.highlight=Zvýrazni: +general.clearAll=Odznač všetko +general.jumpToYear=Skoč na rok: +general.firstBand=Prvá os: +general.secondBand=Druhá os: +general.thirdBand=Tretia os: +general.dateType=Typ dátumu: +general.timelineHeight=Vyška osi: +general.fitToScreen=Prispôsob veľkosti okna + +interval.day=deň +interval.month=mesiac +interval.year=rok +interval.decade=dekáda +interval.century=storočie +interval.millennium=tisícročie + +dateType.published=dátum publikovania +dateType.modified=dátum zmeny diff --git a/chrome/locale/sk-SK/zotero/zotero.dtd b/chrome/locale/sk-SK/zotero/zotero.dtd new file mode 100644 index 000000000..e09e86a54 --- /dev/null +++ b/chrome/locale/sk-SK/zotero/zotero.dtd @@ -0,0 +1,153 @@ +<!ENTITY zotero.general.optional "(Voliteľné)"> +<!ENTITY zotero.general.note "Poznámka:"> + +<!ENTITY zotero.errorReport.unrelatedMessages "Hlásenie o chybe môže obsahovať informácie nesúvisiace so Zoterom."> +<!ENTITY zotero.errorReport.submissionInProgress "Prosím počkajte kým sa hlásenie o chybe neodošle."> +<!ENTITY zotero.errorReport.submitted "Hlásenie o chybe bola odoslaná."> +<!ENTITY zotero.errorReport.reportID "ID hlásenia:"> +<!ENTITY zotero.errorReport.postToForums "Prosím napíšte správu do diskusného Zotero fóra (forums.zotero.org) obsahujúcu toto ID, popis problému a kroky, ktoré sú potrebné k jeho reprodukovaniu."> +<!ENTITY zotero.errorReport.notReviewed "Hlásenia o chybách nie sú zvyčajne preskúmané pokiaľ o nich nie je zmienka vo diskusných fórach."> + +<!ENTITY zotero.upgrade.newVersionInstalled "Nainštalovali ste novú verziu Zotera."> +<!ENTITY zotero.upgrade.upgradeRequired "Na to, aby ste mohli pracovať s novou verziou je potrebné aktualizovať vašu Zotero databázu."> +<!ENTITY zotero.upgrade.autoBackup "Pred tým, než budú vykonané zmeny, sa vaša súčasná databáza automaticky archivuje."> +<!ENTITY zotero.upgrade.upgradeInProgress "Prosím počkajte kým sa dokončí aktualizácia. Môže to trvať niekoľko minút."> +<!ENTITY zotero.upgrade.upgradeSucceeded "Vaša Zotero databáza bola úspešne aktualizovaná."> +<!ENTITY zotero.upgrade.changeLogBeforeLink "Prosím prezrite si"> +<!ENTITY zotero.upgrade.changeLogLink "protokol o zmenách"> +<!ENTITY zotero.upgrade.changeLogAfterLink "aby ste sa dozvedeli, čo je nového."> + +<!ENTITY zotero.contextMenu.addTextToCurrentNote "Pridajte výber do Zotera ako poznámku"> +<!ENTITY zotero.contextMenu.addTextToNewNote "Pridajte výber do Zotera ako novú položku a poznámku"> +<!ENTITY zotero.contextMenu.saveLinkAsSnapshot "Uložte odkaz do Zotera ako snímku"> +<!ENTITY zotero.contextMenu.saveImageAsSnapshot "Uložte obrázok do Zotera ako snímku."> + +<!ENTITY zotero.tabs.info.label "Info"> +<!ENTITY zotero.tabs.notes.label "Poznámky"> +<!ENTITY zotero.tabs.attachments.label "Prílohy"> +<!ENTITY zotero.tabs.tags.label "Tagy"> +<!ENTITY zotero.tabs.related.label "Súvisiace"> +<!ENTITY zotero.notes.separate "Uprav v samostatnom okne"> + +<!ENTITY zotero.items.type_column "Typ"> +<!ENTITY zotero.items.title_column "Názov"> +<!ENTITY zotero.items.creator_column "Autor"> +<!ENTITY zotero.items.date_column "Dátum"> +<!ENTITY zotero.items.year_column "Rok"> +<!ENTITY zotero.items.publisher_column "Vydavateľ"> +<!ENTITY zotero.items.publication_column "Publikácia"> +<!ENTITY zotero.items.journalAbbr_column "Skratka periodika"> +<!ENTITY zotero.items.language_column "Jazyk"> +<!ENTITY zotero.items.accessDate_column "Citované"> +<!ENTITY zotero.items.callNumber_column "Signatúra"> +<!ENTITY zotero.items.repository_column "Repozitár"> +<!ENTITY zotero.items.rights_column "Práva"> +<!ENTITY zotero.items.dateAdded_column "Pridané dňa"> +<!ENTITY zotero.items.dateModified_column "Upravené dňa"> +<!ENTITY zotero.items.numChildren_column "+"> + +<!ENTITY zotero.items.menu.showInLibrary "Zobraz v knižnici"> +<!ENTITY zotero.items.menu.attach.note "Pridaj poznámku"> +<!ENTITY zotero.items.menu.attach.snapshot "Pripoj snímku aktuálnej stránky"> +<!ENTITY zotero.items.menu.attach.link "Pripoj odkaz na aktuálnu stránku"> +<!ENTITY zotero.items.menu.duplicateItem "Duplikuj vybranú položku"> + +<!ENTITY zotero.collections.name_column "Kolekcie"> + +<!ENTITY zotero.toolbar.newItem.label "Nová položka"> +<!ENTITY zotero.toolbar.moreItemTypes.label "Viac"> +<!ENTITY zotero.toolbar.newItemFromPage.label "Vytvor novú položku z aktuálnej stránky"> +<!ENTITY zotero.toolbar.removeItem.label "Odstráň položku..."> +<!ENTITY zotero.toolbar.newCollection.label "Nová kolekcia..."> +<!ENTITY zotero.toolbar.newSubcollection.label "Nový sub-kolekcia..."> +<!ENTITY zotero.toolbar.newSavedSearch.label "Nové uložené vyhľadávanie..."> +<!ENTITY zotero.toolbar.tagSelector.label "Ukáž/skry tagy"> +<!ENTITY zotero.toolbar.actions.label "Akcie"> +<!ENTITY zotero.toolbar.import.label "Import..."> +<!ENTITY zotero.toolbar.export.label "Exportuj knižnicu..."> +<!ENTITY zotero.toolbar.timeline.label "Vytvor časovú os"> +<!ENTITY zotero.toolbar.preferences.label "Predvoľby..."> +<!ENTITY zotero.toolbar.documentation.label "Dokumentácia"> +<!ENTITY zotero.toolbar.about.label "O Zotere"> +<!ENTITY zotero.toolbar.advancedSearch "Pokročilé vyhľadávanie"> +<!ENTITY zotero.toolbar.search.label "Hľadaj:"> +<!ENTITY zotero.toolbar.fullscreen.tooltip "Zväčši do celého okna"> +<!ENTITY zotero.toolbar.openURL.label "Nájdi"> +<!ENTITY zotero.toolbar.openURL.tooltip "Nájdi v miestnej knižnici"> + +<!ENTITY zotero.item.add "Pridaj"> +<!ENTITY zotero.item.attachment.file.show "Zobraz súbor"> +<!ENTITY zotero.item.textTransform "Preveď text"> +<!ENTITY zotero.item.textTransform.lowercase "malé písmená"> +<!ENTITY zotero.item.textTransform.titlecase "Prvé Veľké"> + +<!ENTITY zotero.toolbar.note.standalone "Nová samostatná poznámka"> +<!ENTITY zotero.toolbar.attachment.linked "Odkaz na súbor..."> +<!ENTITY zotero.toolbar.attachment.add "Ulož kópiu súboru..."> +<!ENTITY zotero.toolbar.attachment.weblink "Ulož odkaz na aktuálnu stránku"> +<!ENTITY zotero.toolbar.attachment.snapshot "Urob snímku z aktuálnej stránky"> + +<!ENTITY zotero.tagSelector.noTagsToDisplay "Žiadne tagy na zobrazenie"> +<!ENTITY zotero.tagSelector.filter "Filter:"> +<!ENTITY zotero.tagSelector.showAutomatic "Zobrazuj automaticky"> +<!ENTITY zotero.tagSelector.displayAll "Zobraz všetky tagy"> +<!ENTITY zotero.tagSelector.selectVisible "Označ viditeľné"> +<!ENTITY zotero.tagSelector.clearVisible "Odznač viditeľné"> +<!ENTITY zotero.tagSelector.clearAll "Odznač všetky"> +<!ENTITY zotero.tagSelector.renameTag "Premenuj tag..."> +<!ENTITY zotero.tagSelector.deleteTag "Vymaž tag..."> + +<!ENTITY zotero.selectitems.title "Označte položky"> +<!ENTITY zotero.selectitems.intro.label "Označte, ktoré položky chcete pridať do Zotera"> +<!ENTITY zotero.selectitems.cancel.label "Zrušiť"> +<!ENTITY zotero.selectitems.select.label "OK"> + +<!ENTITY zotero.bibliography.title "Vytvor bibliografiu"> +<!ENTITY zotero.bibliography.style.label "Citačný štýl:"> +<!ENTITY zotero.bibliography.output.label "Výstupný formát"> +<!ENTITY zotero.bibliography.saveAsRTF.label "Ulož ako RTF"> +<!ENTITY zotero.bibliography.saveAsHTML.label "Ulož ako HTML"> +<!ENTITY zotero.bibliography.copyToClipboard.label "Skopíruj do schránky"> +<!ENTITY zotero.bibliography.macClipboardWarning "(Formát textu sa nezachová)"> +<!ENTITY zotero.bibliography.print.label "Tlač"> + +<!ENTITY zotero.integration.docPrefs.title "Vlastnosti dokumentu"> +<!ENTITY zotero.integration.addEditCitation.title "Pridaj/Uprav citáciu"> +<!ENTITY zotero.integration.editBibliography.title "Uprav bibliografiu"> + +<!ENTITY zotero.progress.title "Postup"> + +<!ENTITY zotero.exportOptions.title "Export..."> +<!ENTITY zotero.exportOptions.format.label "Formát:"> +<!ENTITY zotero.exportOptions.translatorOptions.label "Možnosti konvertora"> + +<!ENTITY zotero.citation.keepSorted.label "Zachovaj zdroje zoradené"> + +<!ENTITY zotero.citation.page "Strana"> +<!ENTITY zotero.citation.paragraph "Odstavec"> +<!ENTITY zotero.citation.line "Riadok"> +<!ENTITY zotero.citation.suppressAuthor.label "Potlač autora"> +<!ENTITY zotero.citation.prefix.label "Predpona:"> +<!ENTITY zotero.citation.suffix.label "Prípona:"> + +<!ENTITY zotero.richText.italic.label "Kruzíva"> +<!ENTITY zotero.richText.bold.label "Tučné"> +<!ENTITY zotero.richText.underline.label "Podčiarknuté"> +<!ENTITY zotero.richText.superscript.label "Horný index"> +<!ENTITY zotero.richText.subscript.label "Dolný index"> + +<!ENTITY zotero.annotate.toolbar.add.label "Vlož anotáciu"> +<!ENTITY zotero.annotate.toolbar.collapse.label "Zbaľ všetky anotácie"> +<!ENTITY zotero.annotate.toolbar.expand.label "Rozbaľ všetky anotácie"> +<!ENTITY zotero.annotate.toolbar.highlight.label "Zvýrazni text"> +<!ENTITY zotero.annotate.toolbar.unhighlight.label "Zruš zvýraznenie"> + +<!ENTITY zotero.integration.prefs.displayAs.label "Zobraz citácie ako:"> +<!ENTITY zotero.integration.prefs.footnotes.label "poznámky pod čiarou"> +<!ENTITY zotero.integration.prefs.endnotes.label "poznámky na konci textu"> + +<!ENTITY zotero.integration.prefs.formatUsing.label "Formátuj pomocou:"> +<!ENTITY zotero.integration.prefs.bookmarks.label "záložiek"> +<!ENTITY zotero.integration.prefs.bookmarks.caption "Záložky sa zachovajú pri prenose z MS Wordu do OpenOffice a naopak, ale môžu byť náhodne modifikované."> + +<!ENTITY zotero.integration.references.label "Referencie v bibliografii"> diff --git a/chrome/locale/sk-SK/zotero/zotero.properties b/chrome/locale/sk-SK/zotero/zotero.properties new file mode 100644 index 000000000..92b7dee1c --- /dev/null +++ b/chrome/locale/sk-SK/zotero/zotero.properties @@ -0,0 +1,495 @@ +extensions.zotero@chnm.gmu.edu.description=Nástroj pre výskum novej generácie + +general.error=Chyba +general.warning=Upozornenie +general.dontShowWarningAgain=Toto upozornenie už viacej nezobrazovať +general.browserIsOffline=%S je momentálne v režime offline. +general.locate=Nájdi... +general.restartRequired=Požaduje sa reštart +general.restartRequiredForChange=Aby sa zmena aplikovala, je potrebné reštartovať Firefox. +general.restartRequiredForChanges=Aby sa zmeny aplikovali, je potrebné reštartovať Firefox. +general.restartNow=Reštartovať teraz +general.restartLater=Reštartovať neskôr +general.errorHasOccurred=Vyskytla sa chyba. +general.restartFirefox=Prosím, reštartujte Firefox. +general.restartFirefoxAndTryAgain=Prosím, reštartujte Firefox a skúste to opäť. +general.checkForUpdate=Hľadaj aktualizácie +general.install=Inštaluj +general.updateAvailable=Nová aktualizácia +general.upgrade=Aktualizuj +general.yes=Áno +general.no=Nie +general.passed=Prešiel +general.failed=Neprešiel +general.and=a + +install.quickStartGuide=Rýchly sprievodca +install.quickStartGuide.message.welcome=Vitajte v Zotere! +install.quickStartGuide.message.clickViewPage=Pre zobrazenie Rýchleho sprievodcu kliknite na hore tlačidlo "Prezrieť stránku" a naučte sa ako začať získavať a spravovať citácie a ako ich následne použiť pri vašom výskume. +install.quickStartGuide.message.thanks=Ďakujeme, že ste si nainštalovali Zotero. + +upgrade.failed=Aktualizácia Zotero databázy sa nepodarila: +upgrade.advanceMessage=Stlačte %S ak chcete aktualizovať teraz. + +errorReport.reportErrors=Ohlás chyby... +errorReport.reportInstructions=Túto chybu môžete nahlásiť zvolením "%S" z menu Akcie (ozubené koliesko). +errorReport.followingErrors=Vyskytli sa nasledujúce chyby: +errorReport.advanceMessage=Pre nahlásenie chyby vývojárom stlačte %S. +errorReport.stepsToReproduce=Kroky, ktoré viedli k chybe: +errorReport.expectedResult=Čo ste očakávali, že sa stane: +errorReport.actualResult=Čo sa stalo naozaj: + +dataDir.notFound=Zotero nemôže nájsť svoj priečinok s dátami. +dataDir.previousDir=Predchádzajúci priečinok: +dataDir.useProfileDir=Použi priečinok s profilom Firefoxu +dataDir.selectDir=Vyberte si priečinok, kam má Zotero ukladať dáta +dataDir.selectedDirNonEmpty.title=Priečinok nie je prázdny +dataDir.selectedDirNonEmpty.text=Zvolený priečinok nie je prázdny a nevyzerá, že by obsahoval dáta zo Zotera.\n\nChcete napriek tomu, aby sa súbory vytvorili v tomto priečinku? + +startupError=Pri spúštaní Zotera sa vyskytla chyba. + +pane.collections.delete=Naozaj chcete vymazať vybranú kolekciu? +pane.collections.deleteSearch=Naozaj chcete vymazať vybrané vyhľadávanie? +pane.collections.newCollection=Nová kolekcia +pane.collections.name=Vložte názov pre túto kolekciu: +pane.collections.newSavedSeach=Nové uložené vyhľadávanie +pane.collections.savedSearchName=Vložte názov pre toto uložené vyhľadávanie: +pane.collections.rename=Premenuj kolekciu: +pane.collections.library=Moja knižnica +pane.collections.untitled=Bez názvu + +pane.collections.menu.rename.collection=Premenuj kolekciu... +pane.collections.menu.edit.savedSearch=Uprav uložené vyhľadávanie +pane.collections.menu.remove.collection=Odstráň kolekciu... +pane.collections.menu.remove.savedSearch=Odtráň uložené vyhľadávanie... +pane.collections.menu.export.collection=Exportuj kolekciu... +pane.collections.menu.export.savedSearch=Exportuj uložené vyhľadávanie... +pane.collections.menu.createBib.collection=Vytvor bibliografiu z kolekcie... +pane.collections.menu.createBib.savedSearch=Vytvor bibliografiu z uloženého vyhľadávania... + +pane.collections.menu.generateReport.collection=Vytvor správu z kolekcie... +pane.collections.menu.generateReport.savedSearch=Vytvor správu z uloženého vyhľadávania... + +pane.tagSelector.rename.title=Premenuj tag +pane.tagSelector.rename.message=Prosím vložte nový názov pre tento tag.\n\nTag bude zmenený vo všetkých položkách, ktoré ho obsahujú. +pane.tagSelector.delete.title=Vymaž tag +pane.tagSelector.delete.message=Naozaj chcete vymazať tento tag?\n\nTag bude odstránený zo všetkých položiek. +pane.tagSelector.numSelected.none=Nie je vybraný žiaden tag +pane.tagSelector.numSelected.singular=%S vybraný tag +pane.tagSelector.numSelected.plural=%S vybraných tagov + +pane.items.loading=Nahrávam zoznam položiek... +pane.items.delete=Naozaj chcete vymazať zvolenú položku? +pane.items.delete.multiple=Naozaj že chcete vymazať zvolené položky? +pane.items.delete.title=Vymaž +pane.items.delete.attached=Vymaž priložené poznámky a súbory +pane.items.menu.remove=Odstráň vybranú položku +pane.items.menu.remove.multiple=Odstráň vybrané položky +pane.items.menu.erase=Vymaž vybranú položku z knižnice... +pane.items.menu.erase.multiple=Vymaž vybrané položky z knižnice... +pane.items.menu.export=Exportuj vybranú položku... +pane.items.menu.export.multiple=Exportuj vybrané položky... +pane.items.menu.createBib=Vytvor bibliografiu z vybranej položky... +pane.items.menu.createBib.multiple=Vytvor bibliografiu z vybraných položiek... +pane.items.menu.generateReport=Vytvor správu z vybranej položky... +pane.items.menu.generateReport.multiple=Vytvor správu z vybraných položiek... +pane.items.menu.reindexItem=Reindexuj položku +pane.items.menu.reindexItem.multiple=Reindexuj položky + +pane.items.letter.oneParticipant=List pre %S +pane.items.letter.twoParticipants=List pre %S a %S +pane.items.letter.threeParticipants=List pre %S, %S a %S +pane.items.letter.manyParticipants=List pre %S et al. +pane.items.interview.oneParticipant=Rozhovor - %S +pane.items.interview.twoParticipants=Rozhovor - %S a %S +pane.items.interview.threeParticipants=Rozhovor - %S, %S a %S +pane.items.interview.manyParticipants=Rozhovor - %S et al. + +pane.item.selected.zero=Nie sú vybrané žiadne položky +pane.item.selected.multiple=%S vybraných položiek + +pane.item.goToURL.online.label=Zobraz +pane.item.goToURL.online.tooltip=Prejdi na túto položku na internete +pane.item.goToURL.snapshot.label=Zobraz snímku +pane.item.goToURL.snapshot.tooltip=Zobraz snímku tejto položky +pane.item.changeType.title=Zmeň typ položky +pane.item.changeType.text=Naozaj chcete zmeniť typ položky?\n\nNasledujúce polia sa stratia: +pane.item.defaultFirstName=krstné +pane.item.defaultLastName=priezvisko +pane.item.defaultFullName=celé meno +pane.item.switchFieldMode.one=Spoločné pole pre meno +pane.item.switchFieldMode.two=Samostatné polia pre meno +pane.item.notes.untitled=Nepomenovaná poznámka +pane.item.notes.delete.confirm=Naozaj chcete vymazať túto poznámku? +pane.item.notes.count.zero=Žiadne poznámky: +pane.item.notes.count.singular=%S poznámka: +pane.item.notes.count.plural=%S poznámok: +pane.item.attachments.rename.title=Nový názov: +pane.item.attachments.rename.renameAssociatedFile=Premenuj príslušný súbor +pane.item.attachments.rename.error=Pri premenovávaní súboru sa vyskytla chyba. +pane.item.attachments.view.link=Zobraz stránku +pane.item.attachments.view.snapshot=Zobraz snímku +pane.item.attachments.view.file=Zobraz súbor +pane.item.attachments.fileNotFound.title=Súbor sa nenašiel +pane.item.attachments.fileNotFound.text=Pripojený súbor sa nenašiel.\n\nMožno bol upravený alebo vymazaný mimo Zotera. +pane.item.attachments.delete.confirm=Naozaj chcete vymazať túto prílohu? +pane.item.attachments.count.zero=Žiadne prílohy: +pane.item.attachments.count.singular=%S príloha: +pane.item.attachments.count.plural=%S príloh: +pane.item.attachments.select=Vyberte súbor +pane.item.noteEditor.clickHere=kliknite sem +pane.item.tags=Tagy: +pane.item.tags.count.zero=Žiadne tagy: +pane.item.tags.count.singular=%S tag: +pane.item.tags.count.plural=%S tagov: +pane.item.tags.icon.user=Tag pridaný používateľov +pane.item.tags.icon.automatic=Automaticky pridaný tag +pane.item.related=Súvisiace: +pane.item.related.count.zero=Žiadne súvisiace položky: +pane.item.related.count.singular=%S súvisiaca položka: +pane.item.related.count.plural=%S súvisiacich položiek: + +noteEditor.editNote=Uprav poznámku + +itemTypes.note=Poznámka +itemTypes.attachment=Príloha +itemTypes.book=Kniha +itemTypes.bookSection=Časť knihy +itemTypes.journalArticle=Článok v odbornom časopise +itemTypes.magazineArticle=Článok v populárnom časopise +itemTypes.newspaperArticle=Článok v novinách +itemTypes.thesis=Záverečná práca +itemTypes.letter=List +itemTypes.manuscript=Manuskript +itemTypes.interview=Osobná komunikácia +itemTypes.film=Film +itemTypes.artwork=Umelecké dielo +itemTypes.webpage=Webová stránka +itemTypes.report=Správa +itemTypes.bill=Legislatívny dokument +itemTypes.case=Prípad (súdny) +itemTypes.hearing=Výsluch (konanie) +itemTypes.patent=Patent +itemTypes.statute=Nariadenie +itemTypes.email=e-mail +itemTypes.map=Mapa +itemTypes.blogPost=Príspevok na blogu +itemTypes.instantMessage=Chatová správa +itemTypes.forumPost=Príspevok do fóra +itemTypes.audioRecording=Audio záznam +itemTypes.presentation=Prezentácia +itemTypes.videoRecording=Video záznam +itemTypes.tvBroadcast=Televízne vysielanie +itemTypes.radioBroadcast=Rádio +itemTypes.podcast=Podcast +itemTypes.computerProgram=Počítačový program +itemTypes.conferencePaper=Príspevok na konferenciu +itemTypes.document=Dokument +itemTypes.encyclopediaArticle=Článok v encyklopédii +itemTypes.dictionaryEntry=Položka v slovníku + +itemFields.itemType=Typ +itemFields.title=Názov +itemFields.dateAdded=Dátum vloženia +itemFields.dateModified=Upravené +itemFields.source=Zdroj +itemFields.notes=Poznámky +itemFields.tags=Tagy +itemFields.attachments=Prílohy +itemFields.related=Súvisiace +itemFields.url=URL +itemFields.rights=Práva +itemFields.series=Séria +itemFields.volume=Ročník +itemFields.issue=Číslo +itemFields.edition=Edícia +itemFields.place=Miesto +itemFields.publisher=Vydavateľ +itemFields.pages=Strany +itemFields.ISBN=ISBN +itemFields.publicationTitle=Názov publikácie +itemFields.ISSN=ISSN +itemFields.date=Dátum +itemFields.section=Sekcia +itemFields.callNumber=Signatúra +itemFields.archiveLocation=Lokácia +itemFields.distributor=Distribútor +itemFields.extra=Extra +itemFields.journalAbbreviation=Skratka časopisu +itemFields.DOI=DOI +itemFields.accessDate=Citované +itemFields.seriesTitle=Názov série +itemFields.seriesText=Text série +itemFields.seriesNumber=Číslo série +itemFields.institution=Inštitúcia +itemFields.reportType=Druh správy +itemFields.code=Zákonník +itemFields.session=Zasadnutie +itemFields.legislativeBody=Legislatívny orgán +itemFields.history=História +itemFields.reporter=Zbierka súd. rozhodnutí +itemFields.court=Súd +itemFields.numberOfVolumes=Počet ročníkov +itemFields.committee=Výbor/porota +itemFields.assignee=Prihlasovateľ +itemFields.patentNumber=Číslo patentu +itemFields.priorityNumbers=Čísla priority +itemFields.issueDate=Dátum vydania +itemFields.references=Odkazy +itemFields.legalStatus=Právny status +itemFields.codeNumber=Kódové číslo +itemFields.artworkMedium=Médium +itemFields.number=Číslo +itemFields.artworkSize=Rozmery +itemFields.repository=Repozitár +itemFields.videoRecordingType=Druh záznamu +itemFields.interviewMedium=Médium +itemFields.letterType=Druh +itemFields.manuscriptType=Druh +itemFields.mapType=Druh +itemFields.scale=Mierka +itemFields.thesisType=Druh záv. práce +itemFields.websiteType=Druh sídla +itemFields.audioRecordingType=Druh záznamu +itemFields.label=Vydavateľstvo +itemFields.presentationType=Typ prezentácie +itemFields.meetingName=Názov stretnutia +itemFields.studio=Štúdio +itemFields.runningTime=Dĺžka +itemFields.network=Sieť +itemFields.postType=Druh príspevku +itemFields.audioFileType=Typ súboru +itemFields.version=Verzia +itemFields.system=Operačný systém +itemFields.company=Spoločnosť +itemFields.conferenceName=Názov konferencie +itemFields.encyclopediaTitle=Názov encyklopédie +itemFields.dictionaryTitle=Názov slovníku +itemFields.language=Jazyk +itemFields.programmingLanguage=Program. jazyk +itemFields.university=Univerzita +itemFields.abstractNote=Abstrakt +itemFields.websiteTitle=Názov webstránky +itemFields.reportNumber=Číslo správy +itemFields.billNumber=Číslo +itemFields.codeVolume=Ročník +itemFields.codePages=Strany +itemFields.dateDecided=Dátum rozhodnutia +itemFields.reporterVolume=Ročník +itemFields.firstPage=Prvá strana +itemFields.documentNumber=Číslo dokumentu +itemFields.dateEnacted=Dátum vstúp. do platnosti +itemFields.publicLawNumber=Číslo zákona +itemFields.country=Štát +itemFields.applicationNumber=Číslo prihlášky +itemFields.forumTitle=Názov fóra/Diskusnej skupiny +itemFields.episodeNumber=Číslo epizódy +itemFields.blogTitle=Názov blogy +itemFields.caseName=Názov prípadu +itemFields.nameOfAct=Názov zákona +itemFields.subject=Predmet +itemFields.proceedingsTitle=Názov zborníka +itemFields.bookTitle=Názov knihy +itemFields.shortTitle=Krátky názov + +creatorTypes.author=Autor +creatorTypes.contributor=Prispievateľ +creatorTypes.editor=Editor +creatorTypes.translator=Prekladateľ +creatorTypes.seriesEditor=Autor série +creatorTypes.interviewee=Rozhovor s +creatorTypes.interviewer=Spytujúci sa +creatorTypes.director=Režisér +creatorTypes.scriptwriter=Scenárista +creatorTypes.producer=Producent +creatorTypes.castMember=Účinkujúci +creatorTypes.sponsor=Spoznor +creatorTypes.counsel=Právny zástupca +creatorTypes.inventor=Vynálezca +creatorTypes.attorneyAgent=Advokát/Zástupca +creatorTypes.recipient=Príjemca +creatorTypes.performer=Interpret +creatorTypes.composer=Skladateľ +creatorTypes.wordsBy=Autor textu +creatorTypes.cartographer=Kartograf +creatorTypes.programmer=Programátor +creatorTypes.reviewedAuthor=Recenzent +creatorTypes.artist=Umelec +creatorTypes.commenter=Komentátor +creatorTypes.presenter=Prezentujúci +creatorTypes.guest=Hosť +creatorTypes.podcaster=Autor podcastu + +fileTypes.webpage=Web stránka +fileTypes.image=Obrázok +fileTypes.pdf=PDF +fileTypes.audio=Audio +fileTypes.video=Video +fileTypes.presentation=Prezentácia +fileTypes.document=Dokument + +save.attachment=Ukladám snímku... +save.link=Ukladám odkaz... + +ingester.saveToZotero=Uložiť do Zotera +ingester.scraping=Ukladám položku... +ingester.scrapeComplete=Položka uložená +ingester.scrapeError=Nemôžem uložiť položku +ingester.scrapeErrorDescription=Pri ukladaní položky sa vyskytla chyba. Viac informácii nájdete kliknutím sem %S. +ingester.scrapeErrorDescription.linkText=Známe problémy s konvertormi +ingester.scrapeError.transactionInProgress.previousError=Kvôli predchádzajúcej chybe Zotera ukladanie zlyhalo. + +db.dbCorrupted=Zdá sa, že došlo k porušeniu Zotero databázy '%S'. +db.dbCorrupted.restart=Prosím, reštartujte Firefox aby bolo možné pokúsiť sa o automatickú obnovu z poslednej zálohy. +db.dbCorruptedNoBackup=Zdá sa, že došlo k porušeniu Zotero databázy '%S' a automatická záloha nie je k dispozícii.\n\nBola vytvorená nová databáza a pôvodný poškodený súbor bol uložený vo vašom Zotero adresári. +db.dbRestored=Keďže sa zdá, že došlo k porušeniu Zotero databázy '%1$S'.\n\nvaše dáta boli obnovené z poslednej automatickej zálohy vytvorenej %2$S o %3$S. Pôvodný poškodený súbor bol uložený vo vašom Zotero adresári. +db.dbRestoreFailed=Zdá sa, že došlo k porušeniu Zotero databázy '%S' a pokus o obnovu dát z automatickej zálohy zlyhal.\n\nBola vytvorená nová databáza a pôvodný poškodený súbor bol uložený vo vašom Zotero adresári. + +db.integrityCheck.passed=Databáza je v úplnom poriadku. +db.integrityCheck.failed=V databáze boli nájdené chyby! + +zotero.preferences.update.updated=Aktualizované +zotero.preferences.update.upToDate=Aktuálne +zotero.preferences.update.error=Chyba +zotero.preferences.openurl.resolversFound.zero=Nebol nájdený žiadny resolver +zotero.preferences.openurl.resolversFound.singular=Našiel sa %S resolver +zotero.preferences.openurl.resolversFound.plural=Nájdených %S resolverov +zotero.preferences.search.rebuildIndex=Znovu vytvoriť index +zotero.preferences.search.rebuildWarning=Naozaj chcete znovu vytvoriť celý index? Môže to chvíľu trvať.\n\nAk chcete indexovať len položky, ktoré neboli indexované, použite %S. +zotero.preferences.search.clearIndex=Vymazať index +zotero.preferences.search.clearWarning=Po vymazaní indexu nebude možné vyhľadávať v prílohách.\n\nInternetové odkazy nie je možné znovu indexovať bez navštívenia daných stránok. Ak chcete internetové odkazy ponechať indexované, použite %S. +zotero.preferences.search.clearNonLinkedURLs=Vymazať všetko okrem internetových odkazov +zotero.preferences.search.indexUnindexed=Indexovať neindexované položky +zotero.preferences.search.pdf.toolRegistered=%S je nainštalovaný +zotero.preferences.search.pdf.toolNotRegistered=%S NIE JE nainštalovaný +zotero.preferences.search.pdf.toolsRequired=Indexovanie PDF súborov vyžaduje %1$S a %2$S - nástroje z projektu %3$S. +zotero.preferences.search.pdf.automaticInstall=Pre určité systémy dokáže Zotero tieto aplikácie automaticky prevziať a nainštalovať z adresy zotero.org. +zotero.preferences.search.pdf.advancedUsers=Pokročilí používatelia si možno budú chcieť prezrieť %S s inštrukciami pre manuálnu inštaláciu. +zotero.preferences.search.pdf.documentationLink=dokumentáciu +zotero.preferences.search.pdf.checkForInstaller=Zisti, či je k dispozícii inštalátor +zotero.preferences.search.pdf.downloading=Sťahujem... +zotero.preferences.search.pdf.toolDownloadsNotAvailable=%S nástroje nie sú momentálne prostredníctvom zotero.org pre váš systém dostupné. +zotero.preferences.search.pdf.viewManualInstructions=Prezrite si prosím dokumentáciu s inštrukciami pre manuálnu inštaláciu. +zotero.preferences.search.pdf.availableDownloads=%1$S možno sťahovať z adresy %2$S: +zotero.preferences.search.pdf.availableUpdates=%1$S možno aktualizovať z adresy %2$S: +zotero.preferences.search.pdf.toolVersionPlatform=%1$S verzia %2$S +zotero.preferences.search.pdf.zoteroCanInstallVersion=Zotero to môže automaticky nainštalovať svojho dátového adresára. +zotero.preferences.search.pdf.zoteroCanInstallVersions=Zotero môže tieto aplikácie automaticky nainštalovať do svojho dátového adresára. +zotero.preferences.search.pdf.toolsDownloadError=Pri pokuse o prevzatie nástrojov %S zo zotero.org sa vyskytla chyba. +zotero.preferences.search.pdf.tryAgainOrViewManualInstructions=Prosím, skúste to opäť neskôr alebo si prezrite dokumentáciu s inštrukciami pre manuálnu inštaláciu. +zotero.preferences.export.quickCopy.bibStyles=Bibliografické štýly +zotero.preferences.export.quickCopy.exportFormats=Formáty pre export +zotero.preferences.export.quickCopy.instructions=Rýchle kopírovanie vám umožňuje kopírovať referencie do schránky stlačením klávesovej skratky (%S) alebo pretiahnutím položiek do textového poľa na webovej schránke. + +zotero.preferences.advanced.resetTranslatorsAndStyles=Obnov konvertory a štýly +zotero.preferences.advanced.resetTranslatorsAndStyles.changesLost=Všetky nové alebo modifikované konvertory alebo štýly budú stratené. +zotero.preferences.advanced.resetTranslators=Obnov konvertory +zotero.preferences.advanced.resetTranslators.changesLost=Všetky nové alebo modifikované konvertory budú stratené. +zotero.preferences.advanced.resetStyles=Obnov štýly +zotero.preferences.advanced.resetStyles.changesLost=Všetky nové alebo modifikované štýly budú stratené. + +dragAndDrop.existingFiles=Nasledujúce súbory už v cieľovom priečinku existovali a neboli skopírované: +dragAndDrop.filesNotFound=Nasledujúce súbory sa nenašli a neboli skopírované: + +fileInterface.itemsImported=Importujem položky... +fileInterface.itemsExported=Exportujem položky... +fileInterface.import=Import +fileInterface.export=Export +fileInterface.exportedItems=Exportované položky +fileInterface.imported=Importované +fileInterface.fileFormatUnsupported=Pre daný súbor nemôžem nájsť žiaden konvertor. +fileInterface.untitledBibliography=Nepomenovaná bibliografia +fileInterface.bibliographyHTMLTitle=Bibliografia +fileInterface.importError=Pri importovaní zvoleného súboru sa vyskytla chyba. Prosím, skontrolujte či je súbor v poriadku a skúste to znova. +fileInterface.noReferencesError=Označené položky neobsahujú žiadne referencie. Prosím, vyberte jednu alebo viac referencií a skúste to znovu. +fileInterface.bibliographyGenerationError=Pri vytváraní bibliografie sa vyskytla chyba. Skúste to znovu. +fileInterface.exportError=Pri exportovaní vybraného súboru sa vyskytla chyba. + +advancedSearchMode=Pokročilé vyhľadávanie - pre hľadanie stlačte Enter +searchInProgress=Vyhľadávam - prosím čakajte. + +searchOperator.is=je +searchOperator.isNot=nie je +searchOperator.beginsWith=začína s +searchOperator.contains=obsahuje +searchOperator.doesNotContain=neobsahuje +searchOperator.isLessThan=je menšie než +searchOperator.isGreaterThan=je väčšie než +searchOperator.isBefore=je pred +searchOperator.isAfter=je po +searchOperator.isInTheLast=je v posledných + +searchConditions.tooltip.fields=Polia: +searchConditions.collectionID=Kolekcia +searchConditions.itemTypeID=Typ položky +searchConditions.tag=Tag +searchConditions.note=Poznámka +searchConditions.childNote=Vnorená poznámka +searchConditions.creator=Autor +searchConditions.type=Typ +searchConditions.thesisType=Druh záverečnej práce +searchConditions.reportType=Druh správy +searchConditions.videoRecordingType=Druh videozáznamu +searchConditions.audioFileType=Typ audio súboru +searchConditions.audioRecordingType=Druh audiozáznamu +searchConditions.letterType=Druh listu +searchConditions.interviewMedium=Komunikačné médium +searchConditions.manuscriptType=Druh manuskriptu +searchConditions.presentationType=Typ prezentácie +searchConditions.mapType=Druh mapy +searchConditions.medium=Médium +searchConditions.artworkMedium=Médium umeleckého diela +searchConditions.dateModified=Dátum zmeny +searchConditions.fulltextContent=Obsah prílohy +searchConditions.programmingLanguage=Programovací jazyk +searchConditions.fileTypeID=Typ priloženého súboru +searchConditions.annotation=Anotácia + +fulltext.indexState.indexed=Indexované +fulltext.indexState.unavailable=Neznáme +fulltext.indexState.partial=Čiastočne indexované + +exportOptions.exportNotes=Exportuj poznámky +exportOptions.exportFileData=Exportuj súbory +exportOptions.UTF8=Exportuj v UTF-8 + +date.daySuffixes=,,, +date.abbreviation.year=r +date.abbreviation.month=m +date.abbreviation.day=d + +citation.multipleSources=Viaceré zdroje... +citation.singleSource=Jeden zdroj... +citation.showEditor=Zobraz editor +citation.hideEditor=Skry editor... + +report.title.default=Hlásenie Zotera +report.parentItem=Rodičovská položka: +report.notes=Poznámky: +report.tags=Tagy: + +annotations.confirmClose.title=Naozaj chcete zatvoriť túto anotáciu? +annotations.confirmClose.body=Všetok text sa stratí. +annotations.close.tooltip=Zmaž anotáciu +annotations.move.tooltip=Presuň anotáciu +annotations.collapse.tooltip=Zbaľ anotáciu +annotations.expand.tooltip=Rozbaľ anotáciu +annotations.oneWindowWarning=Anotácie pre snímky môžu byť naraz otvorené iba v jednom okne. Táto snímka bude otvorená bez anotácií. + +integration.incompatibleVersion=Verzia doplnku Zotero Word ($INTEGRATION_VERSION) nie je kompatibilná s aktuálne nainštalovanou rozšírenia Zotero pre Firefox (%1$S). Prosím uistite sa, že používate najnovšie verzie oboch komponentov. +integration.fields.label=polí +integration.referenceMarks.label=Odkazy na referencie +integration.fields.caption=Pri poliach v MS Worde je menšia pravdepodobnosť, že budú náhodne modifikované, ale nie je ich možné zdieľať s OpenOffice.org. +integration.referenceMarks.caption=Pri odkazoch na referencie v OpenOffice.org je menšia pravdepodobnosť, že budú náhodne modifikované, ale nie je ich možné zdieľať s MS Wordom. + +integration.regenerate.title=Chcete znovu vygenerovať citácie? +integration.regenerate.body=Zmeny, ktoré ste urobili v editore citácií sa stratia. +integration.regenerate.saveBehavior=Vždy sa drž tohto výberu. + +integration.deleteCitedItem.title=Naozaj chcete odstrániť túto referenciu? +integration.deleteCitedItem.body=Táto referencia je v dokumente už citovaná. Jej vymazaním odstránite všetky príslušné citácie. + +styles.installStyle=Nainštalovať štýl "%1$S" z %2$S? +styles.updateStyle=Aktualizovať existujúci štýl "%1$S" s "%2$S" z %3$S? +styles.installed=Štýl "%S" bol úspešne nainštalovaný. +styles.installError=%S sa nejaví ako platný CSL súbor. diff --git a/chrome/locale/sl-SI/zotero/searchbox.dtd b/chrome/locale/sl-SI/zotero/searchbox.dtd index 4f55e1277..fe5d5c417 100644 --- a/chrome/locale/sl-SI/zotero/searchbox.dtd +++ b/chrome/locale/sl-SI/zotero/searchbox.dtd @@ -1,8 +1,8 @@ <!ENTITY zotero.search.name "Ime:"> -<!ENTITY zotero.search.joinMode.prefix "Ujemanje z"> -<!ENTITY zotero.search.joinMode.any "katerimkoli"> -<!ENTITY zotero.search.joinMode.all "vsemi"> +<!ENTITY zotero.search.joinMode.prefix "Ujemanje"> +<!ENTITY zotero.search.joinMode.any "s katerimkoli"> +<!ENTITY zotero.search.joinMode.all "z vsemi"> <!ENTITY zotero.search.joinMode.suffix "izmed naslednjih:"> <!ENTITY zotero.search.recursive.label "Išči v podmapah"> diff --git a/chrome/locale/sr-YU/zotero/about.dtd b/chrome/locale/sr-YU/zotero/about.dtd deleted file mode 100644 index 377d909e9..000000000 --- a/chrome/locale/sr-YU/zotero/about.dtd +++ /dev/null @@ -1,10 +0,0 @@ -<!ENTITY zotero.version "верзија"> -<!ENTITY zotero.createdby "Направљена од стране:"> -<!ENTITY zotero.directors "Директори:"> -<!ENTITY zotero.developers "Програмери:"> -<!ENTITY zotero.alumni "Предходни:"> -<!ENTITY zotero.about.localizations "Локализације:"> -<!ENTITY zotero.about.additionalSoftware "Стандарди и софтвер трећег лица:"> -<!ENTITY zotero.executiveProducer "Извршни продуцент:"> -<!ENTITY zotero.thanks "Посебне захвалнице:"> -<!ENTITY zotero.about.close "Затвори"> diff --git a/chrome/locale/sr-YU/zotero/preferences.dtd b/chrome/locale/sr-YU/zotero/preferences.dtd deleted file mode 100644 index dd422e7ad..000000000 --- a/chrome/locale/sr-YU/zotero/preferences.dtd +++ /dev/null @@ -1,92 +0,0 @@ -<!ENTITY zotero.preferences.title "Зотеро поставке"> - -<!ENTITY zotero.preferences.default "Подразумевано:"> - -<!ENTITY zotero.preferences.prefpane.general "Опште"> - -<!ENTITY zotero.preferences.userInterface "Корисничко сучеље"> -<!ENTITY zotero.preferences.position "Прикажи Зотеро"> -<!ENTITY zotero.preferences.position.above "изнад"> -<!ENTITY zotero.preferences.position.below "испод"> -<!ENTITY zotero.preferences.position.browser "садржаја веб претраживача"> -<!ENTITY zotero.preferences.statusBarIcon "Икона статусне линије:"> -<!ENTITY zotero.preferences.statusBarIcon.none "Ништа"> -<!ENTITY zotero.preferences.fontSize "Величина фонта:"> -<!ENTITY zotero.preferences.fontSize.small "Мали"> -<!ENTITY zotero.preferences.fontSize.medium "Средњи"> -<!ENTITY zotero.preferences.fontSize.large "Велики"> - -<!ENTITY zotero.preferences.miscellaneous "Разне поставке"> -<!ENTITY zotero.preferences.autoUpdate "Самостално провери за ажуриране преводиоце"> -<!ENTITY zotero.preferences.updateNow "Ажурирај сада"> -<!ENTITY zotero.preferences.reportTranslationFailure "Извести о грешкама у „преводиоцу странице“"> -<!ENTITY zotero.preferences.parseRISRefer "Користи Зотеро за преузимање RIS/Refer датотека"> -<!ENTITY zotero.preferences.automaticSnapshots "Самостално узми снимак када се прави ставка са веб странице"> -<!ENTITY zotero.preferences.downloadAssociatedFiles "Самостално приложи повезане PDF и друге датотека када чуваш ставке"> -<!ENTITY zotero.preferences.automaticTags "Самостално стави назнаку на ставке са кључним речима и насловом субјекта"> - -<!ENTITY zotero.preferences.openurl.caption "OpenURL"> - -<!ENTITY zotero.preferences.openurl.search "Нађи разрешиваче"> -<!ENTITY zotero.preferences.openurl.custom "Прилагођено..."> -<!ENTITY zotero.preferences.openurl.server "Разрешивач:"> -<!ENTITY zotero.preferences.openurl.version "Верзија:"> - -<!ENTITY zotero.preferences.prefpane.search "Претражи"> -<!ENTITY zotero.preferences.search.fulltextCache "Текст кеш"> -<!ENTITY zotero.preferences.search.pdfIndexing "PDF индексирање"> -<!ENTITY zotero.preferences.search.indexStats "Статистика индекса"> - -<!ENTITY zotero.preferences.search.indexStats.indexed "Индексирано:"> -<!ENTITY zotero.preferences.search.indexStats.partial "Делимично:"> -<!ENTITY zotero.preferences.search.indexStats.unindexed "Није индексирано:"> -<!ENTITY zotero.preferences.search.indexStats.words "Речи:"> - -<!ENTITY zotero.preferences.fulltext.textMaxLength "Број знакова индексираних по датотеци:"> -<!ENTITY zotero.preferences.fulltext.pdfMaxPages "Број страница индексираних по датотеци:"> - -<!ENTITY zotero.preferences.prefpane.export "Извоз"> - -<!ENTITY zotero.preferences.citationOptions.caption "Опције за цитате"> -<!ENTITY zotero.preferences.export.citePaperJournalArticleURL "Укључи УРЛе чланака у референцама"> -<!ENTITY zotero.preferences.export.citePaperJournalArticleURL.description "Када је ова опција искључена, Zoterо ће ставити УРЛе при цитирању чланака из журнала, магазина и новина само ако чланак нема наведен опсег страница."> - -<!ENTITY zotero.preferences.quickCopy.caption "Брзо умножавање"> -<!ENTITY zotero.preferences.quickCopy.defaultOutputFormat "Подразумевани излазни формат:"> -<!ENTITY zotero.preferences.quickCopy.copyAsHTML "Copy as HTML"> -<!ENTITY zotero.preferences.quickCopy.macWarning "Белешка: Rich-text формат ће бити изгубљен на Mac OS X."> -<!ENTITY zotero.preferences.quickCopy.siteEditor.setings "Поставке нарочите за веб место:"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Домен/путања"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(нпр. sr.wikipedia.org)"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Излазни формат"> - -<!ENTITY zotero.preferences.export.getAdditionalStyles "Добави додатне стилове..."> - -<!ENTITY zotero.preferences.prefpane.keys "Пречице на тастатури"> - -<!ENTITY zotero.preferences.keys.openZotero "Отвори/затвори Зотеро површ"> -<!ENTITY zotero.preferences.keys.toggleFullscreen "Укључи/искључи приказ преко целог екрана"> -<!ENTITY zotero.preferences.keys.library "Библиотека"> -<!ENTITY zotero.preferences.keys.quicksearch "Брза претрага"> -<!ENTITY zotero.preferences.keys.newItem "Направи нову ставку"> -<!ENTITY zotero.preferences.keys.newNote "Направи нову белешку"> -<!ENTITY zotero.preferences.keys.toggleTagSelector "Искључи/укључи избирача ознаке"> -<!ENTITY zotero.preferences.keys.copySelectedItemCitationsToClipboard "Умножи изабрани предмет цитата у списак исечака"> -<!ENTITY zotero.preferences.keys.copySelectedItemsToClipboard "Умножи изабране ставке у списак исечака"> -<!ENTITY zotero.preferences.keys.overrideGlobal "Покушај да премостиш сукобљене пречице"> -<!ENTITY zotero.preferences.keys.changesTakeEffect "Промене су постављене само у новом прозору"> - - -<!ENTITY zotero.preferences.prefpane.advanced "Напредно"> - -<!ENTITY zotero.preferences.dataDir "Место за складиштење"> -<!ENTITY zotero.preferences.dataDir.useProfile "Користи Firefox директоријум за профил"> -<!ENTITY zotero.preferences.dataDir.custom "Прилагођено:"> -<!ENTITY zotero.preferences.dataDir.choose "Изабери..."> -<!ENTITY zotero.preferences.dataDir.reveal "Прикажи директоријум података"> - -<!ENTITY zotero.preferences.dbMaintenance "Одржавање базе података"> -<!ENTITY zotero.preferences.dbMaintenance.integrityCheck "Провери целовитост базе података"> -<!ENTITY zotero.preferences.dbMaintenance.resetTranslatorsAndStyles "Постави на почетне вредности преводиоце и стилове..."> -<!ENTITY zotero.preferences.dbMaintenance.resetTranslators "Постави на почетне вредности преводиоце..."> -<!ENTITY zotero.preferences.dbMaintenance.resetStyles "Постави на почетне вредности стилове..."> diff --git a/chrome/locale/sr-YU/zotero/searchbox.dtd b/chrome/locale/sr-YU/zotero/searchbox.dtd deleted file mode 100644 index 983698b8c..000000000 --- a/chrome/locale/sr-YU/zotero/searchbox.dtd +++ /dev/null @@ -1,23 +0,0 @@ -<!ENTITY zotero.search.name "Име:"> - -<!ENTITY zotero.search.joinMode.prefix "Преклапај"> -<!ENTITY zotero.search.joinMode.any "било шта"> -<!ENTITY zotero.search.joinMode.all "све"> -<!ENTITY zotero.search.joinMode.suffix "од следећег:"> - -<!ENTITY zotero.search.recursive.label "Претражи подфасцикле"> -<!ENTITY zotero.search.noChildren "Прикажи само ставке на највишем нивоу"> -<!ENTITY zotero.search.includeParentsAndChildren "Укључи родитеља и дете ставке која се преклапа са нађеним ставкама"> - -<!ENTITY zotero.search.textModes.phrase "Израз"> -<!ENTITY zotero.search.textModes.phraseBinary "Израз (укључујући бинарне датотеке)"> -<!ENTITY zotero.search.textModes.regexp "Регуларни израз"> -<!ENTITY zotero.search.textModes.regexpCS "Регуларни израз (препознаје велика/мала слова)"> - -<!ENTITY zotero.search.date.units.days "дани"> -<!ENTITY zotero.search.date.units.months "месеци"> -<!ENTITY zotero.search.date.units.years "године"> - -<!ENTITY zotero.search.search "Претражи"> -<!ENTITY zotero.search.clear "Очисти"> -<!ENTITY zotero.search.saveSearch "Сачувај претрагу"> diff --git a/chrome/locale/sr-YU/zotero/timeline.properties b/chrome/locale/sr-YU/zotero/timeline.properties deleted file mode 100644 index 26d34cd0b..000000000 --- a/chrome/locale/sr-YU/zotero/timeline.properties +++ /dev/null @@ -1,21 +0,0 @@ -general.title=Временски ток Зотера -general.filter=Филтер: -general.highlight=Назначи: -general.clearAll=Очисти све -general.jumpToYear=Иди на годину: -general.firstBand=Први опсег: -general.secondBand=Други опсег: -general.thirdBand=Трећи опсег: -general.dateType=Врста времена: -general.timelineHeight=Висина временског тока: -general.fitToScreen=Прекриј екран - -interval.day=Дан -interval.month=Месец -interval.year=Година -interval.decade=Декада -interval.century=Век -interval.millennium=Миленијум - -dateType.published=Датум објављивања -dateType.modified=Датум измене diff --git a/chrome/locale/sr-YU/zotero/zotero.dtd b/chrome/locale/sr-YU/zotero/zotero.dtd deleted file mode 100644 index 23119cf80..000000000 --- a/chrome/locale/sr-YU/zotero/zotero.dtd +++ /dev/null @@ -1,153 +0,0 @@ -<!ENTITY zotero.general.optional "(Изборно)"> -<!ENTITY zotero.general.note "Белешка:"> - -<!ENTITY zotero.errorReport.unrelatedMessages "Днвеник грешака може да садржи поруке невезане за Зотеро."> -<!ENTITY zotero.errorReport.additionalInfo "Додатни подаци"> -<!ENTITY zotero.errorReport.emailAddress "Ваша ел. адреса:"> -<!ENTITY zotero.errorReport.errorSteps "Шта сте радили када је дошло до грешке? Ако је могуће, укључите кораке како доћи до грешке."> -<!ENTITY zotero.errorReport.submissionInProgress "Сачекајте док се извештај о грешци шаље."> -<!ENTITY zotero.errorReport.submitted "Извештај о грешци је послат."> -<!ENTITY zotero.errorReport.reportID "Бр. извештаја:"> -<!ENTITY zotero.errorReport.furtherAssistance "Погледајте страницу Познати проблеми и форуме за даљу помоћ."> -<!ENTITY zotero.errorReport.includeReportID "Укључите број извештаја са током било које преписке са програмерима Зотера у вези ове грешке."> - -<!ENTITY zotero.upgrade.newVersionInstalled "Инсталирали сте нову верзију Зотера."> -<!ENTITY zotero.upgrade.upgradeRequired "Ваша Зотеро база података мора бити надограђена да би радила са новом верзијом."> -<!ENTITY zotero.upgrade.autoBackup "Резерва за Вашу постојећу базу података ће бити аутоматски направљена пре било које измене."> -<!ENTITY zotero.upgrade.upgradeInProgress "Сачекајте док се процес надоградње извршава. Ово може потрајати неколико минута."> -<!ENTITY zotero.upgrade.upgradeSucceeded "Зотеро база података је успешно надограђена."> -<!ENTITY zotero.upgrade.changeLogBeforeLink "Погледајте"> -<!ENTITY zotero.upgrade.changeLogLink "дневник промена"> -<!ENTITY zotero.upgrade.changeLogAfterLink "да би видели шта је ново."> - -<!ENTITY zotero.contextMenu.addTextToCurrentNote "Додај назначено у Зотеро белешке"> -<!ENTITY zotero.contextMenu.addTextToNewNote "Направи Зотеро ставку и белешку из назначеног"> -<!ENTITY zotero.contextMenu.saveLinkAsSnapshot "Сачувај везу као Зотеро снимак"> -<!ENTITY zotero.contextMenu.saveImageAsSnapshot "Сачувај слику као Зотеро снимак"> - -<!ENTITY zotero.tabs.info.label "Инфо"> -<!ENTITY zotero.tabs.notes.label "Белешке"> -<!ENTITY zotero.tabs.attachments.label "Прилози"> -<!ENTITY zotero.tabs.tags.label "Ознаке"> -<!ENTITY zotero.tabs.related.label "Сродно"> -<!ENTITY zotero.notes.separate "Уреди у одвојеном прозору"> - -<!ENTITY zotero.items.type_column "Врста"> -<!ENTITY zotero.items.title_column "Наслов"> -<!ENTITY zotero.items.creator_column "Аутор"> -<!ENTITY zotero.items.date_column "Датум"> -<!ENTITY zotero.items.year_column "Година"> -<!ENTITY zotero.items.publisher_column "Издавач"> -<!ENTITY zotero.items.language_column "Језик"> -<!ENTITY zotero.items.callNumber_column "Сигнатура"> -<!ENTITY zotero.items.repository_column "Ризница"> -<!ENTITY zotero.items.rights_column "Права"> -<!ENTITY zotero.items.dateAdded_column "Датум додавања"> -<!ENTITY zotero.items.dateModified_column "Датум промене"> -<!ENTITY zotero.items.numChildren_column "+"> - -<!ENTITY zotero.items.menu.showInLibrary "Прикажи у библиотеци"> -<!ENTITY zotero.items.menu.attach.note "Додај белешку"> -<!ENTITY zotero.items.menu.attach.snapshot "Додај снимак текуће странице"> -<!ENTITY zotero.items.menu.attach.link "Додај везу до текуће странице"> -<!ENTITY zotero.items.menu.duplicateItem "Умножите изабрану ставку"> - -<!ENTITY zotero.collections.name_column "Збирке"> - -<!ENTITY zotero.toolbar.newItem.label "Нова ставка"> -<!ENTITY zotero.toolbar.moreItemTypes.label "Више"> -<!ENTITY zotero.toolbar.newItemFromPage.label "Направи нову ставку од текуће странице"> -<!ENTITY zotero.toolbar.removeItem.label "Избаци ставку..."> -<!ENTITY zotero.toolbar.newCollection.label "Нова збирка..."> -<!ENTITY zotero.toolbar.newSubcollection.label "Нова подзбирка..."> -<!ENTITY zotero.toolbar.newSavedSearch.label "Нова сачувана претрага..."> -<!ENTITY zotero.toolbar.tagSelector.label "Покажи/сакриј изборника ознаке"> -<!ENTITY zotero.toolbar.actions.label "Радње"> -<!ENTITY zotero.toolbar.import.label "Увези..."> -<!ENTITY zotero.toolbar.export.label "Извези библиотеку..."> -<!ENTITY zotero.toolbar.timeline.label "Направите временски ток"> -<!ENTITY zotero.toolbar.preferences.label "Поставке..."> -<!ENTITY zotero.toolbar.documentation.label "Документација"> -<!ENTITY zotero.toolbar.about.label "О програму Зотеро"> -<!ENTITY zotero.toolbar.advancedSearch "Напредна претрага"> -<!ENTITY zotero.toolbar.search.label "Претражи:"> -<!ENTITY zotero.toolbar.fullscreen.tooltip "Укључи/искључи приказ преко читавог екрана"> -<!ENTITY zotero.toolbar.openURL.label "Пронађи"> -<!ENTITY zotero.toolbar.openURL.tooltip "Нађи кроз Вашу локалну библиотеку"> - -<!ENTITY zotero.item.add "Додај"> -<!ENTITY zotero.item.attachment.file.show "Прикажи датотеку"> -<!ENTITY zotero.item.textTransform "Преиначи текст"> -<!ENTITY zotero.item.textTransform.lowercase "мала слова"> -<!ENTITY zotero.item.textTransform.titlecase "Величина слова у наслову"> - -<!ENTITY zotero.toolbar.note.standalone "Нова самостојећа белешка"> -<!ENTITY zotero.toolbar.attachment.linked "Повежи са датотеком..."> -<!ENTITY zotero.toolbar.attachment.add "Сачувај умножак датотеке..."> -<!ENTITY zotero.toolbar.attachment.weblink "Сачувај везу на тренутну страницу"> -<!ENTITY zotero.toolbar.attachment.snapshot "Узми снимак тренутне странице"> - -<!ENTITY zotero.tagSelector.noTagsToDisplay "Нема ознаке за приказ"> -<!ENTITY zotero.tagSelector.filter "Филтер:"> -<!ENTITY zotero.tagSelector.showAutomatic "Самостално покажи"> -<!ENTITY zotero.tagSelector.displayAll "Прикажи све ознаке"> -<!ENTITY zotero.tagSelector.selectVisible "Изабери видљиве"> -<!ENTITY zotero.tagSelector.clearVisible "Избаци из избора видљиве"> -<!ENTITY zotero.tagSelector.clearAll "Избаци из избора све"> -<!ENTITY zotero.tagSelector.renameTag "Преименуј ознаку..."> -<!ENTITY zotero.tagSelector.deleteTag "Избриши ознаку..."> - -<!ENTITY zotero.selectitems.title "Изабери ставке"> -<!ENTITY zotero.selectitems.intro.label "Изабери које ставке бисте желели додати у вашу библиотеку"> -<!ENTITY zotero.selectitems.cancel.label "Откажи"> -<!ENTITY zotero.selectitems.select.label "У реду"> - -<!ENTITY zotero.bibliography.title "Направи библиографију"> -<!ENTITY zotero.bibliography.style.label "Стил цитата:"> -<!ENTITY zotero.bibliography.output.label "Излазни формат"> -<!ENTITY zotero.bibliography.saveAsRTF.label "Сними као RTF"> -<!ENTITY zotero.bibliography.saveAsHTML.label "Сними као HTML"> -<!ENTITY zotero.bibliography.copyToClipboard.label "Умножи"> -<!ENTITY zotero.bibliography.macClipboardWarning "(rich-text формат ће бити изгубљен.)"> -<!ENTITY zotero.bibliography.print.label "Штампај"> - -<!ENTITY zotero.integration.docPrefs.title "Поставке документа"> -<!ENTITY zotero.integration.addEditCitation.title "Додај/уреди цитације"> -<!ENTITY zotero.integration.editBibliography.title "Уреди библиографију"> - -<!ENTITY zotero.progress.title "Напредак"> - -<!ENTITY zotero.exportOptions.title "Извоз..."> -<!ENTITY zotero.exportOptions.format.label "Формат:"> -<!ENTITY zotero.exportOptions.translatorOptions.label "Опције преводиоца"> - -<!ENTITY zotero.citation.keepSorted.label "Држи изворе поредане"> - -<!ENTITY zotero.citation.page "Страна"> -<!ENTITY zotero.citation.paragraph "Параграф"> -<!ENTITY zotero.citation.line "Ред"> -<!ENTITY zotero.citation.suppressAuthor.label "Потисни аутора"> -<!ENTITY zotero.citation.prefix.label "Префикс:"> -<!ENTITY zotero.citation.suffix.label "Суфикс:"> - -<!ENTITY zotero.richText.italic.label "Курзив"> -<!ENTITY zotero.richText.bold.label "Подебљана"> -<!ENTITY zotero.richText.underline.label "Подвучена"> -<!ENTITY zotero.richText.superscript.label "Суперскрипт"> -<!ENTITY zotero.richText.subscript.label "Супскрипт"> - -<!ENTITY zotero.annotate.toolbar.add.label "Додај напомену"> -<!ENTITY zotero.annotate.toolbar.collapse.label "Скупи све напомене"> -<!ENTITY zotero.annotate.toolbar.expand.label "Рашири све напомене"> -<!ENTITY zotero.annotate.toolbar.highlight.label "Назначи текст"> -<!ENTITY zotero.annotate.toolbar.unhighlight.label "Склони назнаку текста"> - -<!ENTITY zotero.integration.prefs.displayAs.label "Прикажи цитате као:"> -<!ENTITY zotero.integration.prefs.footnotes.label "Фуснота"> -<!ENTITY zotero.integration.prefs.endnotes.label "Енднота"> - -<!ENTITY zotero.integration.prefs.formatUsing.label "Форматирај користећи:"> -<!ENTITY zotero.integration.prefs.bookmarks.label "Пречице"> -<!ENTITY zotero.integration.prefs.bookmarks.caption "Пречице су сачуване кроз Microsoft Word и OpenOffice.org, али могу бити нехотично промењене."> - -<!ENTITY zotero.integration.references.label "Референце у библиографији"> diff --git a/chrome/locale/sr-YU/zotero/zotero.properties b/chrome/locale/sr-YU/zotero/zotero.properties deleted file mode 100644 index dcf975e07..000000000 --- a/chrome/locale/sr-YU/zotero/zotero.properties +++ /dev/null @@ -1,495 +0,0 @@ -extensions.zotero@chnm.gmu.edu.description=Алатка за испомоћ у истраживачком раду следеће генерације - -general.error=Грешка -general.warning=Упозорење -general.dontShowWarningAgain=Не показуј ово упозорење поново. -general.browserIsOffline=%S је тренутно у режиму без повезаности са мрежом. -general.locate=Нађи... -general.restartRequired=Поновно покретање је потребно -general.restartRequiredForChange=Firefox се море поново покренути да би промена дошла у дејство. -general.restartRequiredForChanges=Фајерфокс се море поново покренути да би промене дошле у дејство. -general.restartNow=Поново покрени сада -general.restartLater=Поново покрени касније -general.errorHasOccurred=Дошло је до грешке. -general.restartFirefox=Поново покрените Firefox -general.restartFirefoxAndTryAgain=Поново покрените Firefox и покушајте поново. -general.checkForUpdate=Проверите за ажурирања -general.install=Инсталирај -general.updateAvailable=Ажурирања доступна -general.upgrade=Надогради -general.yes=Да -general.no=Не -general.passed=Успешно -general.failed=Неуспешно -general.and=и - -install.quickStartGuide=Водич за брзи почетак -install.quickStartGuide.message.welcome=Добродошли у Зотеро! -install.quickStartGuide.message.clickViewPage=Кликните на дугме "Преглед странице" како би посетили наш Водич за брзи почетак и научили како започети скупљање, уређивање и цитирање вашег истрживачког рада. -install.quickStartGuide.message.thanks=Хвала за инсталарацију Зотера. - -upgrade.failed=Надоградња Зотеро базе података је неуспешна: -upgrade.advanceMessage=Притисните %S да надоградите сада. - -errorReport.reportErrors=Направи извештај о грешкама... -errorReport.reportInstructions=Можете известити ову грешку избором „%S“ из менија за Радње (зупчаник). -errorReport.followingErrors=Дошло је до следећих грешака -errorReport.advanceMessage=Притисните %S да пошаљете извештај о грешци програмерима Зотера -errorReport.stepsToReproduce=Кораци за репродукцију: -errorReport.expectedResult=Очекивани резултати: -errorReport.actualResult=Стварни резултат: - -dataDir.notFound=Зотеро подаци се нису могли наћи. -dataDir.previousDir=Предходни директоријум: -dataDir.useProfileDir=Користи директоријум за Фајерфокс профил -dataDir.selectDir=Изабери директоријум за Зотеро податке -dataDir.selectedDirNonEmpty.title=Директоријум није празан -dataDir.selectedDirNonEmpty.text=Директоријум који сте изабрали није празан и не изгледа као Зотеро директоријум за податке.\n\n Да се направе Зотеро датотеке у овом директоријуму свакако? - -startupError=Дошло је до грешке приликом покретања Зотера. - -pane.collections.delete=Да ли сте сигурни да желите избрисати изабране збирке? -pane.collections.deleteSearch=Да ли сте сигурни да желите избрисати изабране претраге? -pane.collections.newCollection=Нова збирка -pane.collections.name=Име збирке: -pane.collections.newSavedSeach=Нова сачувана претрага -pane.collections.savedSearchName=Упишите назив за ову сачувану претрагу: -pane.collections.rename=Преименуј збирку: -pane.collections.library=Моја библиотека -pane.collections.untitled=Безимено - -pane.collections.menu.rename.collection=Преименуј збирку... -pane.collections.menu.edit.savedSearch=Уреди сачувану претрагу -pane.collections.menu.remove.collection=Избаци збирку... -pane.collections.menu.remove.savedSearch=Избаци сачуване претраге... -pane.collections.menu.export.collection=Изведи збирку... -pane.collections.menu.export.savedSearch=Изведи сачувану претрагу... -pane.collections.menu.createBib.collection=Направи библиографију од збирке... -pane.collections.menu.createBib.savedSearch=Направи библиографију од сачуване претраге.. - -pane.collections.menu.generateReport.collection=Направи извештај од збирке... -pane.collections.menu.generateReport.savedSearch=Направи извештај од сачуване претраге... - -pane.tagSelector.rename.title=Преименуј ознаку. -pane.tagSelector.rename.message=Унеси ново име за ову ознаку.\n\nОзнака ће бити промењена у свим повезаним ставкама. -pane.tagSelector.delete.title=Избриши ознаку -pane.tagSelector.delete.message=Да ли сте сигурни да желите избрисати ову ознаку?\n\nОзнака ће бити избачена из свих ставки. -pane.tagSelector.numSelected.none=0 ознака изабрано -pane.tagSelector.numSelected.singular=%S ознака изабрана -pane.tagSelector.numSelected.plural=%S ознаке(а) изабране - -pane.items.loading=Учитавам списак ставки... -pane.items.delete=Да ли сте сигурни да желите избрисати изабрану ставку? -pane.items.delete.multiple=Да ли сте сигурни да желите избрисати изабране ставке? -pane.items.delete.title=Избриши -pane.items.delete.attached=Избриши приложене белешке и датотеке -pane.items.menu.remove=Избаци изабрану ставку -pane.items.menu.remove.multiple=Избаци изабране ставке -pane.items.menu.erase=Избриши изабрану ставку из библиотеке... -pane.items.menu.erase.multiple=Избриши изабране ставке из библиотеке... -pane.items.menu.export=Извези изабрану ставку... -pane.items.menu.export.multiple=Извези изабране ставке... -pane.items.menu.createBib=Направи библиографију од изабране ставке... -pane.items.menu.createBib.multiple=Направи библиографију од изабраних ставки... -pane.items.menu.generateReport=Направи извештај од изабране ставке -pane.items.menu.generateReport.multiple=Направи извештај од изабраних ставки -pane.items.menu.reindexItem=Поново индексирај ставке -pane.items.menu.reindexItem.multiple=Поново индексирај ставке - -pane.items.letter.oneParticipant=Писмо за %S -pane.items.letter.twoParticipants=Писмо за %S и %S -pane.items.letter.threeParticipants=Писмо за %S, %S и %S -pane.items.letter.manyParticipants=Писмо за %S и остале -pane.items.interview.oneParticipant=Интервју %S -pane.items.interview.twoParticipants=Интервју %S и %S -pane.items.interview.threeParticipants=Интервју %S, %S и %S -pane.items.interview.manyParticipants=Интервју %S и осталих - -pane.item.selected.zero=Ни једна ставка није изабрана -pane.item.selected.multiple=%S изабраних ставки - -pane.item.goToURL.online.label=Отвори -pane.item.goToURL.online.tooltip=Отвори ову ставку преко мреже -pane.item.goToURL.snapshot.label=Отвори снимак -pane.item.goToURL.snapshot.tooltip=Прегледај снимак ове ставке -pane.item.changeType.title=Промени врсту ставке -pane.item.changeType.text=Да ли сте сигурни да желите променити врсту ставке?/n/nСледећа поља ће бити изгубљена: -pane.item.defaultFirstName=први -pane.item.defaultLastName=задњи -pane.item.defaultFullName=пуно име -pane.item.switchFieldMode.one=Промени на једно поље -pane.item.switchFieldMode.two=Промени на два поља -pane.item.notes.untitled=Безимена белешка -pane.item.notes.delete.confirm=Да ли сте сигурни да желите избрисати ову белешку? -pane.item.notes.count.zero=%S белешки: -pane.item.notes.count.singular=%S белешка: -pane.item.notes.count.plural=%S белешке(и): -pane.item.attachments.rename.title=Нови наслов: -pane.item.attachments.rename.renameAssociatedFile=Преименујте повезану датотеку -pane.item.attachments.rename.error=Грешка током промене имена датотеке. -pane.item.attachments.view.link=Отвори страницу -pane.item.attachments.view.snapshot=Отвори снимак -pane.item.attachments.view.file=Отвори датотеку -pane.item.attachments.fileNotFound.title=Датотека није нађена -pane.item.attachments.fileNotFound.text=Приложена датотека није нађена.\n\nМогуће је да је померена или избрисана изван Зотера. -pane.item.attachments.delete.confirm=Да ли сте сигурни да желите избрисати овај прилог? -pane.item.attachments.count.zero=%S прилога: -pane.item.attachments.count.singular=%S прилог: -pane.item.attachments.count.plural=%S прилога: -pane.item.attachments.select=Изабери датотеку -pane.item.noteEditor.clickHere=Кликни овде -pane.item.tags=Ознаке: -pane.item.tags.count.zero=%S ознака: -pane.item.tags.count.singular=%S ознака: -pane.item.tags.count.plural=%S ознаке(а): -pane.item.tags.icon.user=Ознаке додане од стране корисника -pane.item.tags.icon.automatic=Самостално додане ознаке -pane.item.related=Сродно: -pane.item.related.count.zero=%S сродних -pane.item.related.count.singular=%S сродна: -pane.item.related.count.plural=%S сродне(их): - -noteEditor.editNote=Уреди белешку - -itemTypes.note=Белешка -itemTypes.attachment=Прилог -itemTypes.book=Књига -itemTypes.bookSection=Поглавље у књизи -itemTypes.journalArticle=Чланак из журнала -itemTypes.magazineArticle=Чланак из часописа -itemTypes.newspaperArticle=Чланак из новина -itemTypes.thesis=Теза -itemTypes.letter=Писмо -itemTypes.manuscript=Рукопис -itemTypes.interview=Интервју -itemTypes.film=Филм -itemTypes.artwork=Уметничко дело -itemTypes.webpage=Веб страница -itemTypes.report=Извештај -itemTypes.bill=Закон -itemTypes.case=Случај -itemTypes.hearing=Саслушање -itemTypes.patent=Патент -itemTypes.statute=Уредба -itemTypes.email=Ел. пошта -itemTypes.map=Мапа -itemTypes.blogPost=Блог порука -itemTypes.instantMessage=Брза порука -itemTypes.forumPost=Порука на форуму -itemTypes.audioRecording=Звучни снимак -itemTypes.presentation=Презентација -itemTypes.videoRecording=Видео снимак -itemTypes.tvBroadcast=ТВ пренос -itemTypes.radioBroadcast=Радио пренос -itemTypes.podcast=Подкаст -itemTypes.computerProgram=Рачунарски програм -itemTypes.conferencePaper=Папир са конференције -itemTypes.document=Документ -itemTypes.encyclopediaArticle=Чланак из енциклопедије -itemTypes.dictionaryEntry=Унос из речника - -itemFields.itemType=Врста -itemFields.title=Наслов -itemFields.dateAdded=Датум додавања -itemFields.dateModified=Промењено -itemFields.source=Извор -itemFields.notes=Белешке -itemFields.tags=Ознаке -itemFields.attachments=Прилози -itemFields.related=Сродно -itemFields.url=УРЛ -itemFields.rights=Права -itemFields.series=Серије -itemFields.volume=Том -itemFields.issue=Издање -itemFields.edition=Редакција -itemFields.place=Место -itemFields.publisher=Издавач -itemFields.pages=Странице -itemFields.ISBN=ISBN -itemFields.publicationTitle=Издање -itemFields.ISSN=ISSN -itemFields.date=Датум -itemFields.section=Секција -itemFields.callNumber=Заводни број -itemFields.archiveLocation=Место у архиви -itemFields.distributor=Опскрбљивач -itemFields.extra=Додатни подаци -itemFields.journalAbbreviation=Скраћеница за часопис -itemFields.DOI=DOI -itemFields.accessDate=Приступљено -itemFields.seriesTitle=Наслов серије -itemFields.seriesText=Текст серије -itemFields.seriesNumber=Број серије -itemFields.institution=Институција -itemFields.reportType=Врста извештаја -itemFields.code=Код -itemFields.session=Сесија -itemFields.legislativeBody=Законодавно тело -itemFields.history=Историја -itemFields.reporter=Известитељ -itemFields.court=Суд -itemFields.numberOfVolumes=Број томова -itemFields.committee=Комисија -itemFields.assignee=Пуномоћник -itemFields.patentNumber=Број патента -itemFields.priorityNumbers=Бројеви приоритета -itemFields.issueDate=Датум издања -itemFields.references=Референце -itemFields.legalStatus=Правни положај -itemFields.codeNumber=Број кода -itemFields.artworkMedium=Медијум уметничког дела -itemFields.number=Број -itemFields.artworkSize=Величина уметничког дела -itemFields.repository=Ризница -itemFields.videoRecordingType=Врста снимка -itemFields.interviewMedium=Медијум -itemFields.letterType=Врста -itemFields.manuscriptType=Врста -itemFields.mapType=Врста -itemFields.scale=Опсег -itemFields.thesisType=Врста -itemFields.websiteType=Врста веб места -itemFields.audioRecordingType=Врста снимка -itemFields.label=Ознака -itemFields.presentationType=Врста -itemFields.meetingName=Име састанка -itemFields.studio=Студио -itemFields.runningTime=Дужина трајања -itemFields.network=Мрежа -itemFields.postType=Врста поруке -itemFields.audioFileType=Врста датотеке -itemFields.version=Верзија -itemFields.system=Систем -itemFields.company=Предузеће -itemFields.conferenceName=Име конференције -itemFields.encyclopediaTitle=Наслов енциклопедије -itemFields.dictionaryTitle=Наслов речника -itemFields.language=Језик -itemFields.programmingLanguage=Језик -itemFields.university=Универзитет -itemFields.abstractNote=Сиже -itemFields.websiteTitle=Наслов веб странице -itemFields.reportNumber=Број извештаја -itemFields.billNumber=Број закона -itemFields.codeVolume=Код тома -itemFields.codePages=Код страница -itemFields.dateDecided=Датум одлуке -itemFields.reporterVolume=Том известиоца -itemFields.firstPage=Прва страница -itemFields.documentNumber=Број документа -itemFields.dateEnacted=Датум озакоњена -itemFields.publicLawNumber=Јавни број закона -itemFields.country=Земља -itemFields.applicationNumber=Број програма -itemFields.forumTitle=Наслов форума или listserv -itemFields.episodeNumber=Број епизоде -itemFields.blogTitle=Наслов блога -itemFields.caseName=Број случаја -itemFields.nameOfAct=Име указа -itemFields.subject=Субјекат -itemFields.proceedingsTitle=Наслов списа -itemFields.bookTitle=Наслов књиге -itemFields.shortTitle=Кратак наслов - -creatorTypes.author=Аутор -creatorTypes.contributor=Сарадник -creatorTypes.editor=Уредник -creatorTypes.translator=Преводиоц -creatorTypes.seriesEditor=Уредник серије -creatorTypes.interviewee=Разговор са -creatorTypes.interviewer=Водич -creatorTypes.director=Директор -creatorTypes.scriptwriter=Сценариста -creatorTypes.producer=Продуцент -creatorTypes.castMember=Члан посаде -creatorTypes.sponsor=Спонзор -creatorTypes.counsel=Савет -creatorTypes.inventor=Проналазач -creatorTypes.attorneyAgent=Адвокат/Представник -creatorTypes.recipient=Прималац -creatorTypes.performer=Извођач -creatorTypes.composer=Композитор -creatorTypes.wordsBy=Речи написао -creatorTypes.cartographer=Картографер -creatorTypes.programmer=Програмер -creatorTypes.reviewedAuthor=Оверени аутор -creatorTypes.artist=Уметник -creatorTypes.commenter=Коментатор -creatorTypes.presenter=Представник -creatorTypes.guest=Гост -creatorTypes.podcaster=Подкастер - -fileTypes.webpage=Веб страница -fileTypes.image=Слика -fileTypes.pdf=PDF -fileTypes.audio=Звук -fileTypes.video=Видео -fileTypes.presentation=Презентација -fileTypes.document=Документ - -save.attachment=Чувам снимак... -save.link=Чувам везу... - -ingester.saveToZotero=Сачувај у Зотеру -ingester.scraping=Чувам ставку... -ingester.scrapeComplete=Ставка сачувана. -ingester.scrapeError=Нисам могао сачувати ставку. -ingester.scrapeErrorDescription=Грешка је начињена током чувања ове ставке. Погледајте %S за више података. -ingester.scrapeErrorDescription.linkText=Познати проблеми преводиоца -ingester.scrapeError.transactionInProgress.previousError=Процес чувања није успео због предходне грешке у Зотеру. - -db.dbCorrupted=Зотеро база података „%S“ изгледа оштећена. -db.dbCorrupted.restart=Поново покрените Firefox да би покушали самостални повраћај података из најновије резерве. -db.dbCorruptedNoBackup=Зотеро база података „%S“ изгледа оштећена, а нема ни једне самонаправљене резервне копије. \n\nНова датотека датабазе је направљена. Оштећена датотека је сачувана у вашем Зотеро директоријуму. -db.dbRestored=Зотеро база података „%1$S“ изгледа оштећена.\n\nВаши подаци су обновљени из задње самонаправљене резервне копије %2$S у %3$S. Оштећена датотека је сачувана у вашем Зотеро директоријуму. -db.dbRestoreFailed=Зотеро база података „%S“ изгледа оштећена, а покушај да се поврате подаци из задње самостално направљене резерве је неуспешан.\n\nНова датотека за базу података је направљена. Оштећена датотека је сачувана у Зотеро директоријуму. - -db.integrityCheck.passed=База података нема грешака. -db.integrityCheck.failed=Постоје грешке у Зотеро бази података! - -zotero.preferences.update.updated=Ажурирано -zotero.preferences.update.upToDate=Усклађено -zotero.preferences.update.error=Грешка -zotero.preferences.openurl.resolversFound.zero=%S система за решавање нађено -zotero.preferences.openurl.resolversFound.singular=%S систем за решавање нађен -zotero.preferences.openurl.resolversFound.plural=%S система за решавања нађено -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.clearNonLinkedURLs=Избриши све осим веб веза -zotero.preferences.search.indexUnindexed=Индексирај не индексиране ставке -zotero.preferences.search.pdf.toolRegistered=%S је инсталиран -zotero.preferences.search.pdf.toolNotRegistered=%S није инсталиран -zotero.preferences.search.pdf.toolsRequired=PDF индексирање захтева %1$S и %2$S алатке из %3$S пројекта. -zotero.preferences.search.pdf.automaticInstall=Зотеро може самостално преузети и инсталирати ове програме са zotero.org за поједине платформе. -zotero.preferences.search.pdf.advancedUsers=Напредни корисници можда желе да виде %S за упуства за ручну инсталацију. -zotero.preferences.search.pdf.documentationLink=документацију -zotero.preferences.search.pdf.checkForInstaller=Провери за постојање инсталатера -zotero.preferences.search.pdf.downloading=Преузимам... -zotero.preferences.search.pdf.toolDownloadsNotAvailable=%S алатке нису тренутно доступне за Вашу платформу преко zotero.org -zotero.preferences.search.pdf.viewManualInstructions=Прегледајте документацију за упуства за ручну инсталацију -zotero.preferences.search.pdf.availableDownloads=Доступна преузимања за %1$S из %2$S: -zotero.preferences.search.pdf.availableUpdates=Доступна ажурирања за %1$S из %2$S: -zotero.preferences.search.pdf.toolVersionPlatform=%1$S верзија %2$S -zotero.preferences.search.pdf.zoteroCanInstallVersion=Зотеро га може самостално инсталирати у Зотеро директоријум података. -zotero.preferences.search.pdf.zoteroCanInstallVersions=Зотеро може самостално инсталирати ове програме у Зотеро директоријум података. -zotero.preferences.search.pdf.toolsDownloadError=Дошло је до грешке приликом покушаја преузимања %S алатки са zotero.org. -zotero.preferences.search.pdf.tryAgainOrViewManualInstructions=Покушајте поново касније, или погледајте документацију за упутства за ручну инсталацију. -zotero.preferences.export.quickCopy.bibStyles=Библиографски стил -zotero.preferences.export.quickCopy.exportFormats=Извозни формат -zotero.preferences.export.quickCopy.instructions=Брзо умножавање вам дозвољава да умножите изабране референце у списак исечака (clipboard) притискајући дугме за пречицу (%S) или превлачењем ставки у поље за текст на веб страници. - -zotero.preferences.advanced.resetTranslatorsAndStyles=Постави на почетне вредности преводиоце и стилове -zotero.preferences.advanced.resetTranslatorsAndStyles.changesLost=Сви нови или измењени преводиоци или стилови ће бити изгубљени. -zotero.preferences.advanced.resetTranslators=Постави на почетне вредности преводиоце -zotero.preferences.advanced.resetTranslators.changesLost=Сви нови или измењени преводиоци ће бити изгубљени. -zotero.preferences.advanced.resetStyles=Постави на почетне вредности стилове -zotero.preferences.advanced.resetStyles.changesLost=Сви нови или измењени стилови ће бити изгубљени. - -dragAndDrop.existingFiles=Следеће датотеке већ постоје у одредишном директоријуму и нису умножене: -dragAndDrop.filesNotFound=Следеће датотеке нису нађене и због тога нису умножене: - -fileInterface.itemsImported=Увожење ставки... -fileInterface.itemsExported=Извоз ставки... -fileInterface.import=Увоз -fileInterface.export=Извоз -fileInterface.exportedItems=Изведене ставке -fileInterface.imported=Увезено -fileInterface.fileFormatUnsupported=Преводилац за дату датотеку се није могао наћи. -fileInterface.untitledBibliography=Безимена библиографија -fileInterface.bibliographyHTMLTitle=Библиографија -fileInterface.importError=Грешка се десила током покушаја увеза изабране датотеке. Молим проверите исправност датотеке и покушајте поново. -fileInterface.noReferencesError=Ставке које сте изабрали не садрже референце. Молимо изаберите једну или више референци и покушајте поново. -fileInterface.bibliographyGenerationError=Грешка се десила током прављења библиографије. Покушајте поново. -fileInterface.exportError=Грешка се десила током покушаја извоза изабране датотеке. - -advancedSearchMode=Напредни режим претраге -- притисните Enter за претрагу. -searchInProgress=Претрага у току -- молим сачекајте. - -searchOperator.is=је -searchOperator.isNot=није -searchOperator.beginsWith=почиње са -searchOperator.contains=садржи -searchOperator.doesNotContain=не садржи -searchOperator.isLessThan=је мање од -searchOperator.isGreaterThan=је веће од -searchOperator.isBefore=је пре -searchOperator.isAfter=је после -searchOperator.isInTheLast=је у задњих - -searchConditions.tooltip.fields=Поља: -searchConditions.collectionID=Колекција -searchConditions.itemTypeID=Врста ставке -searchConditions.tag=Ознака -searchConditions.note=Белешка -searchConditions.childNote=Белешка детета -searchConditions.creator=Стваралац -searchConditions.type=Врста -searchConditions.thesisType=Врста тезе -searchConditions.reportType=Врста извештаја -searchConditions.videoRecordingType=Врста видео конференције -searchConditions.audioFileType=Врста звучне датотеке -searchConditions.audioRecordingType=Врста звучног снимка -searchConditions.letterType=Врста писма -searchConditions.interviewMedium=Медијум разговора -searchConditions.manuscriptType=Врста рукописа -searchConditions.presentationType=Врста презентације -searchConditions.mapType=Врста мапе -searchConditions.medium=Медијум -searchConditions.artworkMedium=Медијум уметничког дела -searchConditions.dateModified=Датум измене -searchConditions.fulltextContent=Садржај прилога -searchConditions.programmingLanguage=Програмски језик -searchConditions.fileTypeID=Врста приложене датотеке -searchConditions.annotation=Напомена - -fulltext.indexState.indexed=Индексирано -fulltext.indexState.unavailable=Непознато -fulltext.indexState.partial=Делимично - -exportOptions.exportNotes=Извези белешке -exportOptions.exportFileData=Извези датотеке -exportOptions.UTF8=Извези ка UTF-8 - -date.daySuffixes=-ог, -ог, -ег, -ог -date.abbreviation.year=г -date.abbreviation.month=м -date.abbreviation.day=д - -citation.multipleSources=Вишеструки извори... -citation.singleSource=Један извор... -citation.showEditor=Прикажи уређивач... -citation.hideEditor=Сакриј уређивач... - -report.title.default=Зотеро извештај -report.parentItem=Родитељски предмет: -report.notes=Белешке: -report.tags=Ознаке: - -annotations.confirmClose.title=Да ли сте сигурни да желите затворити ову напомену? -annotations.confirmClose.body=Текст ће бити изгубљен. -annotations.close.tooltip=Избриши напомену -annotations.move.tooltip=Премести напомену -annotations.collapse.tooltip=Скупи напомену -annotations.expand.tooltip=Рашири напомену -annotations.oneWindowWarning=Напомене за снимак могу једино бити отворене у једном прозору веб читача истовремено. Овај снимак ће бити отворен без напомена. - -integration.incompatibleVersion=This version of the Zotero Word 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.fields.label=Поља -integration.referenceMarks.label=Референтне Ознаке -integration.fields.caption=Мања је могућност случајне промене Microsoft Word поља, али она не могу бити дељена са OpenOffice.org-ом. -integration.referenceMarks.caption=Мања је могућност случајне промене OpenOffice.org референтних ознака, али оне не могу бити дељене са Microsoft Word-ом. - -integration.regenerate.title=Да ли желите поново направити табелу цитација? -integration.regenerate.body=Промене које сте направили у уређивачу цитација ће бити изгубљене. -integration.regenerate.saveBehavior=Увек прати овај избор. - -integration.deleteCitedItem.title=Да ли сте сигурни да желите избацити ову референцу? -integration.deleteCitedItem.body=Ова референца је цитирана у тексту вашег документа. Брисање ње ће избацити све цитације. - -styles.installStyle=Инсталирати стил „%1$S“ из %2$S? -styles.updateStyle=Ажурирати постојећи стил „%1$S“ са „%2$S“ из %3$S? -styles.installed=Стил „%S“ је успешно инсталиран. -styles.installError=%S не изгледа као исправна CSL датотека. diff --git a/chrome/locale/th-TH/zotero/preferences.dtd b/chrome/locale/th-TH/zotero/preferences.dtd index ea5634589..bcf4a525c 100644 --- a/chrome/locale/th-TH/zotero/preferences.dtd +++ b/chrome/locale/th-TH/zotero/preferences.dtd @@ -54,7 +54,7 @@ <!ENTITY zotero.preferences.quickCopy.caption "ทำสำเนาอย่างเร็ว"> <!ENTITY zotero.preferences.quickCopy.defaultOutputFormat "Default Output Format:"> <!ENTITY zotero.preferences.quickCopy.copyAsHTML "ทำสำเนาเป็น HTML"> -<!ENTITY zotero.preferences.quickCopy.macWarning "Note: Rich-text formatting will be lost on Mac OS X."> +<!ENTITY zotero.preferences.quickCopy.macWarning "โน๊ต: การจัดหน้าจะสูญหายไปบน Mac OS X"> <!ENTITY zotero.preferences.quickCopy.siteEditor.setings "Site-Specific Settings:"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domain/Path"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(เช่น wikipedia.org)"> @@ -62,16 +62,16 @@ <!ENTITY zotero.preferences.export.getAdditionalStyles "Get additional styles..."> -<!ENTITY zotero.preferences.prefpane.keys "Shortcut Keys"> +<!ENTITY zotero.preferences.prefpane.keys "คีย์ลัด"> <!ENTITY zotero.preferences.keys.openZotero "Open/Close Zotero Pane"> <!ENTITY zotero.preferences.keys.toggleFullscreen "Toggle Fullscreen Mode"> -<!ENTITY zotero.preferences.keys.library "Library"> +<!ENTITY zotero.preferences.keys.library "ไลบรารี่"> <!ENTITY zotero.preferences.keys.quicksearch "ค้นหาด่วน"> <!ENTITY zotero.preferences.keys.newItem "สร้างไอเทมใหม่"> <!ENTITY zotero.preferences.keys.newNote "สร้างโน๊ตใหม่"> <!ENTITY zotero.preferences.keys.toggleTagSelector "Toggle Tag Selector"> -<!ENTITY zotero.preferences.keys.copySelectedItemCitationsToClipboard "Copy Selected Item Citations to Clipboard"> +<!ENTITY zotero.preferences.keys.copySelectedItemCitationsToClipboard "ทำสำเนาอ้างอิงที่เลือกไว้ไปที่คลิปบอร์ด"> <!ENTITY zotero.preferences.keys.copySelectedItemsToClipboard "ทำสำเนาไอเทมไปที่คลิปบอร์ด"> <!ENTITY zotero.preferences.keys.overrideGlobal "Try to override conflicting shortcuts"> <!ENTITY zotero.preferences.keys.changesTakeEffect "Changes take effect in new windows only"> @@ -83,7 +83,7 @@ <!ENTITY zotero.preferences.dataDir.useProfile "ใช้ไดเรคทอรีของโปรไฟล์ไฟร์ฟ๊อกซ์"> <!ENTITY zotero.preferences.dataDir.custom "Custom:"> <!ENTITY zotero.preferences.dataDir.choose "โปรดเลือก..."> -<!ENTITY zotero.preferences.dataDir.reveal "Show Data Directory"> +<!ENTITY zotero.preferences.dataDir.reveal "แสดงไดเรคทอรีข้อมูล"> <!ENTITY zotero.preferences.dbMaintenance "Database Maintenance"> <!ENTITY zotero.preferences.dbMaintenance.integrityCheck "ตรวจสอบความถูกต้องของฐานข้อมูล"> diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties index 936ff0866..704d47533 100644 --- a/chrome/locale/th-TH/zotero/zotero.properties +++ b/chrome/locale/th-TH/zotero/zotero.properties @@ -55,15 +55,15 @@ pane.collections.name=ใส่ชื่อสำหรับคอลเลค pane.collections.newSavedSeach=บันทึกผลการค้นหาใหม่ pane.collections.savedSearchName=ใส่ชื่อสำหรับบันทึกผลการค้นหานี้ pane.collections.rename=เปลี่ยนชื่อคอลเลคชัน -pane.collections.library=My Library +pane.collections.library=ไลบรารีของฉัน pane.collections.untitled=ไม่มีชื่อ pane.collections.menu.rename.collection=เปลี่ยนชื่อคอลเลคชัน -pane.collections.menu.edit.savedSearch=Edit Saved Search +pane.collections.menu.edit.savedSearch=แก้ไขบันทึกผลการค้นหา pane.collections.menu.remove.collection=ลบคอลเลคชัน -pane.collections.menu.remove.savedSearch=Remove Saved Search... +pane.collections.menu.remove.savedSearch=ลบบันทึกผลการค้นหา pane.collections.menu.export.collection=ส่งออกคอลเลคชัน -pane.collections.menu.export.savedSearch=Export Saved Search... +pane.collections.menu.export.savedSearch=ส่งออกบันทึกผลการค้นหา pane.collections.menu.createBib.collection=Create Bibliography From Collection... pane.collections.menu.createBib.savedSearch=Create Bibliography From Saved Search... diff --git a/chrome/locale/tr-TR/zotero/zotero.dtd b/chrome/locale/tr-TR/zotero/zotero.dtd index 130b6bdcb..f9652c59c 100644 --- a/chrome/locale/tr-TR/zotero/zotero.dtd +++ b/chrome/locale/tr-TR/zotero/zotero.dtd @@ -5,8 +5,8 @@ <!ENTITY zotero.errorReport.submissionInProgress "Lütfen hata raporu gönderilene kadar bekleyiniz."> <!ENTITY zotero.errorReport.submitted "Hata raporu gönderilmiştir."> <!ENTITY zotero.errorReport.reportID "Rapor ID:"> -<!ENTITY zotero.errorReport.postToForums "Please post a message to the Zotero forums (forums.zotero.org) with this Report ID, a description of the problem, and any steps necessary to reproduce it."> -<!ENTITY zotero.errorReport.notReviewed "Error reports are generally not reviewed unless referred to in the forums."> +<!ENTITY zotero.errorReport.postToForums "Lütfen bu Rapor ile ilgili olarak Zotero forumlarına ileti gönderiniz, ayrıca iletinizde sorunun bir tanımı ve sorunu oluşturan adımları da yazınız."> +<!ENTITY zotero.errorReport.notReviewed "Genellikle hata raporları forumlara gönderilmediği sürece incelenmez."> <!ENTITY zotero.upgrade.newVersionInstalled "Zotero'nun yeni bir sürümünü kurdunuz."> <!ENTITY zotero.upgrade.upgradeRequired "Zotero veri tabanınız yeni sürüm ile birlikte çalışabilmesi için yükseltilmesi gerekir."> @@ -35,12 +35,12 @@ <!ENTITY zotero.items.date_column "Tarih"> <!ENTITY zotero.items.year_column "Yıl"> <!ENTITY zotero.items.publisher_column "Yayıncı"> -<!ENTITY zotero.items.publication_column "Publication"> -<!ENTITY zotero.items.journalAbbr_column "Journal Abbr"> +<!ENTITY zotero.items.publication_column "Yayın"> +<!ENTITY zotero.items.journalAbbr_column "Dergi Kısaltması"> <!ENTITY zotero.items.language_column "Dil"> -<!ENTITY zotero.items.accessDate_column "Accessed"> +<!ENTITY zotero.items.accessDate_column "Erişildi"> <!ENTITY zotero.items.callNumber_column "Yer Numarası"> -<!ENTITY zotero.items.repository_column "Havuz"> +<!ENTITY zotero.items.repository_column "Depo"> <!ENTITY zotero.items.rights_column "Telif"> <!ENTITY zotero.items.dateAdded_column "Eklendiği Tarih"> <!ENTITY zotero.items.dateModified_column "Değiştirildiği Tarih"> diff --git a/components/zotero-protocol-handler.js b/components/zotero-protocol-handler.js index b41d64a8f..20861dff1 100644 --- a/components/zotero-protocol-handler.js +++ b/components/zotero-protocol-handler.js @@ -142,6 +142,7 @@ function ChromeExtensionHandler() { var includeAllChildItems = Zotero.Prefs.get('report.includeAllChildItems'); var combineChildItems = Zotero.Prefs.get('report.combineChildItems'); + var unhandledParents = {}; for (var i=0; i<results.length; i++) { // Don't add child items directly // (instead mark their parents for inclusion below) @@ -155,12 +156,16 @@ function ChromeExtensionHandler() { includeAllChildItems = false; } // If combining children or standalone note/attachment, add matching parents - else if (combineChildItems || !results[i].isRegularItem()) { - itemsHash[results[i].getID()] = items.length; + else if (combineChildItems || !results[i].isRegularItem() + || results[i].numChildren() == 0) { + itemsHash[results[i].getID()] = [items.length]; items.push(results[i].toArray(2)); // Flag item as a search match items[items.length - 1].reportSearchMatch = true; } + else { + unhandledParents[i] = true; + } searchItemIDs[results[i].getID()] = true; } @@ -186,11 +191,21 @@ function ChromeExtensionHandler() { } } } + // If not including all children, add matching parents, + // in case they don't have any matching children below + else { + for (var i in unhandledParents) { + itemsHash[results[i].id] = [items.length]; + items.push(results[i].toArray(2)); + // Flag item as a search match + items[items.length - 1].reportSearchMatch = true; + } + } if (combineChildItems) { // Add parents of matches if parents aren't matches themselves for (var id in searchParentIDs) { - if (!searchItemIDs[id]) { + if (!searchItemIDs[id] && !itemsHash[id]) { var item = Zotero.Items.get(id); itemsHash[id] = items.length; items.push(item.toArray(2)); @@ -290,51 +305,68 @@ function ChromeExtensionHandler() { // Multidimensional sort do { - // Note and attachment sorting when combineChildItems is false - if (!combineChildItems && sorts[index].field == 'note') { - if (a.itemType == 'note' || a.itemType == 'attachment') { - var valA = a.note; - } - else if (a.reportChildren) { - var valA = a.reportChildren.notes[0].note; - } - else { - var valA = ''; + // In combineChildItems, use note or attachment as item + if (!combineChildItems) { + if (a.reportChildren) { + if (a.reportChildren.notes.length) { + a = a.reportChildren.notes[0]; + } + else { + a = a.reportChildren.attachments[0]; + } } - if (b.itemType == 'note' || b.itemType == 'attachment') { - var valB = b.note; + if (b.reportChildren) { + if (b.reportChildren.notes.length) { + b = b.reportChildren.notes[0]; + } + else { + b = b.reportChildren.attachments[0]; + } } - else if (b.reportChildren) { - var valB = b.reportChildren.notes[0].note; + } + + var valA, valB; + + if (sorts[index].field == 'title') { + // For notes, use content for 'title' + if (a.itemType == 'note') { + valA = a.note; } else { - var valB = ''; + valA = a.title; } - // Put items without notes last - if (valA == '' && valB != '') { - var cmp = 1; - } - else if (valA != '' && valB == '') { - var cmp = -1; + if (b.itemType == 'note') { + valB = b.note; } else { - var cmp = collation.compareString(0, valA, valB); + valB = b.title; } + + valA = Zotero.Items.getSortTitle(valA); + valB = Zotero.Items.getSortTitle(valB); } else { - var cmp = collation.compareString(0, - a[sorts[index].field], - b[sorts[index].field] - ); + var valA = a[sorts[index].field]; + var valB = b[sorts[index].field]; } - if (cmp == 0) { - continue; + // Put empty values last + if (!valA && valB) { + var cmp = 1; + } + else if (valA && !valB) { + var cmp = -1; + } + else { + var cmp = collation.compareString(0, valA, valB); } - var result = cmp * sorts[index].order; + var result = 0; + if (cmp != 0) { + result = cmp * sorts[index].order; + } index++; } while (result == 0 && sorts[index]); diff --git a/defaults/preferences/zotero.js b/defaults/preferences/zotero.js index 6197c0fb0..54be5e3d5 100644 --- a/defaults/preferences/zotero.js +++ b/defaults/preferences/zotero.js @@ -66,6 +66,7 @@ pref("extensions.zotero.export.citePaperJournalArticleURL", false); pref("extensions.zotero.export.quickCopy.setting", 'bibliography=http://www.zotero.org/styles/chicago-note'); // Integration settings +pref("extensions.zotero.integration.port", 50001); pref("extensions.zotero.integration.autoRegenerate", -1); // -1 = ask; 0 = no; 1 = yes // Zeroconf diff --git a/scrapers.sql b/scrapers.sql index 00502f6f4..3cbc292e6 100644 --- a/scrapers.sql +++ b/scrapers.sql @@ -22,7 +22,7 @@ -- Set the following timestamp to the most recent scraper update date -REPLACE INTO version VALUES ('repository', STRFTIME('%s', '2008-05-15 21:30:00')); +REPLACE INTO version VALUES ('repository', STRFTIME('%s', '2008-06-11 05:00:00')); REPLACE INTO translators VALUES ('96b9f483-c44d-5784-cdad-ce21b984fe01', '1.0.0b4.r1', '', '2008-03-21 20:00:00', '1', '100', '4', 'Amazon.com', 'Sean Takats and Michael Berkowitz', '^https?://(?:www\.)?amazon', 'function detectWeb(doc, url) { @@ -1089,11 +1089,1338 @@ REPLACE INTO translators VALUES ('88915634-1af6-c134-0171-56fd198235ed', '1.0.0b Zotero.wait(); }'); -REPLACE INTO translators VALUES ('83538f48-906f-40ef-bdb3-e94f63676307', '1.0.0b4.r5', '', '2008-05-09 23:15:00', '0', '100', '4', 'NAA RecordSearch', 'Tim Sherratt', 'http://naa12.naa.gov.au/scripts/', +REPLACE INTO translators VALUES ('59cce211-9d77-4cdd-876d-6229ea20367f', '1.0.0b4.r5', '', '2008-06-10 22:30:00', '0', '100', '4', 'Bibliothèque et Archives nationales du Québec', 'Adam Crymble', 'http://catalogue.banq.qc.ca', 'function detectWeb(doc, url) { - if (url.match("Items_listing")) { + if (doc.title.match("Search")) { + return "multiple"; + } else if (doc.title.match("Recherche")) { + return "multiple"; + + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("book")) { + return "book"; + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("mmusic")) { + return "book"; + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("manalytic")) { + return "book"; + + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("msdisc")) { + return "audioRecording"; + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("msound")) { + return "audioRecording"; + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("mscas")) { + return "audioRecording"; + + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("mvdisc")) { + return "videoRecording"; + + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("mpaint")) { + return "artwork"; + + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("mserial")) { + return "report"; + + } else if (doc.evaluate(''//td[2]/a/img'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().src.match("mcomponent")) { + return "newspaperArticle"; + } +} + +', +'//Bibliotheque et Archives National du Quebec. Code by Adam Crymble + +function associateData (newItem, dataTags, field, zoteroField) { + if (dataTags[field]) { + newItem[zoteroField] = dataTags[field]; + } +} + +function scrape(doc, url) { + var namespace = doc.documentElement.namespaceURI; + var nsResolver = namespace ? function(prefix) { + if (prefix == ''x'') return namespace; else return null; + } : null; + + var dataTags = new Object(); + var fieldTitle; + var contents; + var descriptionField; + var tagsContent= new Array(); + var inField = 0; + + //determines media type + if (detectWeb(doc, url) == "book") { + var newItem = new Zotero.Item("book"); + descriptionField = "pages"; + } else if (detectWeb(doc, url) == "audioRecording") { + var newItem = new Zotero.Item("audioRecording"); + descriptionField = "runningTime"; + } else if (detectWeb(doc, url) == "videoRecording") { + var newItem = new Zotero.Item("videoRecording"); + descriptionField = "runningTime"; + } else if (detectWeb(doc, url) == "artwork") { + var newItem = new Zotero.Item("artwork"); + descriptionField = "artworkSize"; + } else if (detectWeb(doc, url) == "report") { + var newItem = new Zotero.Item("report"); + descriptionField = "pages"; + } else if (detectWeb(doc, url) == "newspaperArticle") { + var newItem = new Zotero.Item("newspaperArticle"); + descriptionField = "pages" + } + +//determines language + var lang = doc.evaluate(''//td[2]/a/img'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var langCount = doc.evaluate(''count (//td[2]/a/img)'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var lang1 = lang.iterateNext().src; + + if (langCount.numberValue > 1) { + lang1 = lang.iterateNext().src; + + if (lang1.match("lfre")) { + newItem.language = "French"; + } else if (lang1.match("leng")) { + newItem.language = "English"; + } + } + +//scraping XPaths + var xPathHeadings = doc.evaluate(''//td/table/tbody/tr/td[2]/b'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var xPathContents = doc.evaluate(''//td[2]/table/tbody/tr/td/table/tbody/tr/td[4]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var xPathCount = doc.evaluate(''count (//td/table/tbody/tr/td[2]/b)'', doc, nsResolver, XPathResult.ANY_TYPE, null); + + if (doc.evaluate(''//td/table/tbody/tr/td[2]/b'', doc, nsResolver, XPathResult.ANY_TYPE, null)) { + + for (i=0; i<xPathCount.numberValue; i++) { + + fieldTitle = xPathHeadings.iterateNext().textContent.replace(/\s+/g, ''''); + contents = xPathContents.iterateNext().textContent; + + if (contents.match("[*]") && fieldTitle!= "Publisher" && fieldTitle!= "Éditeur") { + var removeTagExcess = contents.indexOf("["); + contents = contents.substr(0, removeTagExcess); + } + + if (fieldTitle == "Author" | fieldTitle == "Auteur") { + fieldTitle = "Author"; + dataTags[fieldTitle] = (contents); + var authorName = dataTags["Author"].split(","); + authorName[0] = authorName[0].replace(/\s+/g, ''''); + + dataTags["Author"] = (authorName[1] + (" ") + authorName[0]); + newItem.creators.push(Zotero.Utilities.cleanAuthor(dataTags["Author"], "author")); + + //publishing info + } else if (fieldTitle == "Publisher" | fieldTitle == "Éditeur") { + fieldTitle = "Publisher"; + + dataTags["Publisher"] = (contents); + + if (dataTags["Publisher"].match(":")) { + + var place1 = dataTags["Publisher"].split(":"); + dataTags["Place"] = place1[0].replace(/^\s*|\[|\]/g,''''); + + var publish = place1[1].split(","); + dataTags["Publish"] = (publish[0].replace(/^\s*|\[|\]/g,'''')); + + place1[1] = place1[1].replace(/^\s*|\s*$|\[|\]/g, ''''); + if (place1[1].match("/?")) { + var dateLength = place1[1].length-5; + } else { + var dateLength = place1[1].length-4; + } + dataTags["Date"] = place1[1].substr(dateLength); + } else { + dataTags["Date"] = (contents); + } + + //tags + } else if (fieldTitle == "Subjects" | fieldTitle == "Sujets") { + fieldTitle = "Subjects"; + tagsContent = contents.split("\n"); + + //source + } else if (fieldTitle == "Source") { + dataTags[fieldTitle] = (contents.replace(/^\s*|\s*$/g, '''')); + dataTags["Source"] = ("Source: " + dataTags["Source"]); + Zotero.debug(doc.title); + //normal + } else { + dataTags[fieldTitle] = (contents.replace(/^\s*|\s*$/g, '''')); + } + } + + //series + if (fieldTitle == "Series" | fieldTitle == "Collection") { + fieldTitle = "Series"; + dataTags[fieldTitle] = (contents.replace(/\s\s\s*/g, '''')); + } + + //makes tags + for (i = 0; i < tagsContent.length; i++) { + if (tagsContent[i] != ("") && tagsContent[i] !=(" ")) { + newItem.tags[i] = tagsContent[i]; + } + } + + associateData (newItem, dataTags, "Description", descriptionField); + + associateData (newItem, dataTags, "Title", "title"); + associateData (newItem, dataTags, "Place", "place"); + associateData (newItem, dataTags, "Publish", "publisher"); + associateData (newItem, dataTags, "Date", "date"); + associateData (newItem, dataTags, "Source", "extra"); + associateData (newItem, dataTags, "ISBN", "ISBN"); + associateData (newItem, dataTags, "Localinf.", "rights"); + associateData (newItem, dataTags, "Series", "series"); + associateData (newItem, dataTags, "Notes", "abstractNote"); + associateData (newItem, dataTags, "Numbering", "reportNumber"); + + associateData (newItem, dataTags, "Titre", "title"); + associateData (newItem, dataTags, "Numérotation", "reportNumber"); + + } + + newItem.url = doc.location.href; + newItem.complete(); +} + +function doWeb(doc, url) { + var namespace = doc.documentElement.namespaceURI; + var nsResolver = namespace ? function(prefix) { + if (prefix == ''x'') return namespace; else return null; + } : null; + + var articles = new Array(); + + if (detectWeb(doc, url) == "multiple") { + var items = new Object(); + var next_title = new Array(); + var links1 = new Array(); + var y = 0; + var next_title1 = new Array(); + + var titlesCount = doc.evaluate(''count (//p/table/tbody/tr/td/b)'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var numAndTitle= doc.evaluate(''//p/table/tbody/tr/td/b'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var links = doc.evaluate(''//p/table/tbody/tr/td/a[img]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var multipleTest = 0; + + for (j=0; j < titlesCount.numberValue; j++) { + + next_title[j] = numAndTitle.iterateNext().textContent; + next_title[j] = next_title[j].substr(0, next_title[j].length-1); + + if (/^\d*$/.test(next_title[j])) { + multipleTest = 0; + } else if (multipleTest < 1) { + multipleTest++; + next_title1[y] = next_title[j]; + y++; + Zotero.debug(next_title1[0]); + + } else if (multipleTest > 1) { + multipleTest = 0; + } + } + + for (j = 0; j < 10; j++) { + links1[j] = links.iterateNext().href; + //Zotero.debug(links1[0]); + items[links1] = next_title1[j]; + } + + + items = Zotero.selectItems(items); + for (var i in items) { + articles.push(i); + } + } else { + articles = [url]; + } + Zotero.Utilities.processDocuments(articles, scrape, function() {Zotero.done();}); + Zotero.wait(); + +}'); + +REPLACE INTO translators VALUES ('2d174277-7651-458f-86dd-20e168d2f1f3', '1.0.0b4.r5', '', '2008-06-06 08:45:00', '0', '100', '4', 'Canadiana.org', 'Adam Crymble', 'http://(www.)?canadiana.org', +'function detectWeb(doc, url) { + + //checks the title of the webpage. If it matches, then the little blue book symbol appears in the address bar. + //works for English and French versions of the page. + + if(doc.title == "Early Canadiana Online - Item Record"|doc.title == "Notre mémoire en ligne - Notice") { + return "book"; + } else if (doc.evaluate(''//div[@id="Content"]/div[@class="NormalRecord"]/h3/a'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "multiple"; + } +} + +', +'//Canadiana Translator Coding by Adam Crymble +//because the site uses so many random formats for the "Imprint" field, it''s not always perfect. But it works for MOST entries + +function associateData (newItem, dataTags, field, zoteroField) { + if (dataTags[field]) { + newItem[zoteroField] = dataTags[field]; + } +} + +function scrape(doc, url) { + var namespace = doc.documentElement.namespaceURI; + var nsResolver = namespace ? function(prefix) { + if (prefix == "x" ) return namespace; else return null; + } : null; + + //declaring variables to be used later. + var newItem = new Zotero.Item("book"); + newItem.url = doc.location.href; + + var dataTags = new Object(); + var fieldTitle; + var tagsContent= new Array(); + + //these variables tell the program where to find the data we want in the HTML file we''re looking at. + //in this case, the data is found in a table. + var xPath1 = ''//tr/td[1][@class="Label"]''; + var xPath2 = ''//tr/td[2]''; + + + //at this point, all the data we want has been saved into the following 2 Objects: one for the headings, one for the content. + // The 3rd object tells us how many items we''ve found. + if (doc.evaluate(''//tr/td[1][@class="Label"]'', doc, nsResolver, XPathResult.ANY_TYPE, null)) { + var xPath1Results = doc.evaluate(xPath1, doc, nsResolver, XPathResult.ANY_TYPE, null); + var xPath2Results = doc.evaluate(xPath2, doc, nsResolver, XPathResult.ANY_TYPE, null); + var xPathCount = doc.evaluate( ''count (//tr/td[1][@class="Label"])'', doc, nsResolver, XPathResult.ANY_TYPE, null); + } + + //At this point we have two lists (xPath1Results and xPath2Results). this loop matches the first item in the first list + //with the first item in the second list, and on until the end. + //If we then ask for the "Principal Author" the program returns "J.K. Rowling" instead of "Principal Author" + if (doc.evaluate(''//tr/td[1][@class="Label"]'', doc, nsResolver, XPathResult.ANY_TYPE, null)) { + for (i=0; i<xPathCount.numberValue; i++) { + + fieldTitle=xPath1Results.iterateNext().textContent.replace(/\s+/g, ''''); + + //gets the author''s name without cleaning it away using cleanTags. + if (fieldTitle =="PrincipalAuthor:" || fieldTitle == "Auteurprincipal:") { + + fieldTitle="PrincipalAuthor:"; + dataTags[fieldTitle]=(xPath2Results.iterateNext().textContent); + var authorName =dataTags["PrincipalAuthor:"].split(","); + authorName[0]=authorName[0].replace(/\s+/g, ''''); + dataTags["PrincipalAuthor:"]= (authorName[1] + (" ") + authorName[0]); + newItem.creators.push(Zotero.Utilities.cleanAuthor(dataTags["PrincipalAuthor:"], "author")); + + //Splits Adressebibliographique or Imprint into 3 fields and cleans away any extra whitespace or unwanted characters. + } else if (fieldTitle =="Adressebibliographique:" || fieldTitle == "Imprint:") { + + fieldTitle = "Imprint:"; + dataTags[fieldTitle] = Zotero.Utilities.cleanTags(xPath2Results.iterateNext().textContent); + + var separateImprint = dataTags["Imprint:"].split(":"); + separateImprint[0]= separateImprint[0].replace(/^\s*|\[|\]/g,''''); + dataTags["Place:"]=separateImprint[0]; + + var justDate = separateImprint[1].replace(/\D/g, ''''); + dataTags["Date:"]= justDate; + + separateImprint[1] = separateImprint[1].replace(/\d|\[|\]|\./g, ''''); + separateImprint[1] = separateImprint[1].replace(/^\s*|\s*$/g, ''''); + dataTags["Publisher:"]= separateImprint[1]; + + // determines how many tags there will be, pushes them into an array and clears away whitespace. + } else if (fieldTitle == "Subject:" || fieldTitle == "Sujet:") { + + tagsContent.push(Zotero.Utilities.cleanTags(xPath2Results.iterateNext().textContent.replace(/^\s*|\s*$/g, ''''))); + while (fieldTitle != "Collection:") { + i=i+1; + tagsContent.push(Zotero.Utilities.cleanTags(xPath2Results.iterateNext().textContent.replace(/^\s*|\s*$/g, ''''))); + fieldTitle=xPath1Results.iterateNext().textContent.replace(/\s+/g, ''''); + } + + } else { + + dataTags[fieldTitle] = Zotero.Utilities.cleanTags(xPath2Results.iterateNext().textContent.replace(/^\s*|\s*$/g, '''')); + + } + } + } + //Adds a string to CIHM no: and ICMH no: so that the resulting number makes sense to the reader. + if (dataTags["CIHMno.:"]) { + + dataTags["CIHMno.:"]=("CIHM Number: " + dataTags["CIHMno.:"]); + } + + if (dataTags["ICMHno:"]) { + + dataTags["ICMHno:"]=("ICMH nombre: " + dataTags["ICMHno:"]); + } + + //makes tags of the items in the "tagsContent" array. + for (var i = 0; i < tagsContent.length; i++) { + newItem.tags[i] = tagsContent[i]; + } + + //calls the associateData function to put the data in the correct Zotero field. + associateData (newItem, dataTags, "Title:", "title"); + associateData (newItem, dataTags, "Place:", "place"); + associateData (newItem, dataTags, "Publisher:", "publisher"); + associateData (newItem, dataTags, "Date:", "date"); + associateData (newItem, dataTags, "PageCount:", "pages"); + associateData (newItem, dataTags, "CIHMno.:", "extra"); + associateData (newItem, dataTags, "DocumentSource:", "rights"); + + associateData (newItem, dataTags, "Titre:", "title" ); + associateData (newItem, dataTags, "Nombredepages:", "pages"); + associateData (newItem, dataTags, "ICMHno:", "extra"); + associateData (newItem, dataTags, "Documentoriginal:", "rights"); + + //Saves everything to Zotero. + newItem.complete(); + +} + + +function doWeb(doc, url) { + var namespace = doc.documentElement.namespaceURI; + var nsResolver = namespace ? function(prefix) { + if (prefix == ''x'') return namespace; else return null; + } : null; + + var articles = new Array(); + + if (detectWeb(doc, url) == "multiple") { + var items = new Object(); + var titles = doc.evaluate(''//div[@id="Content"]/div[@class="NormalRecord"]/h3/a'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var next_title; + while (next_title = titles.iterateNext()) { + items[next_title.href] = next_title.textContent; + } + items = Zotero.selectItems(items); + for (var i in items) { + articles.push(i); + } + } else { + articles = [url]; + } + Zotero.Utilities.processDocuments(articles, scrape, function() {Zotero.done();}); + Zotero.wait(); + + + +}'); + +REPLACE INTO translators VALUES ('1f245496-4c1b-406a-8641-d286b3888231', '1.0.0b4.r5', '', '2008-06-06 08:45:00', '0', '100', '4', 'The Boston Globe', 'Adam Crymble', 'http://(www|search).boston.com/', +'function detectWeb(doc, url) { + if (url.match("search.boston.com")) { + return "multiple"; + } else if (doc.evaluate(''//div[@id="headTools"]/h1'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "newspaperArticle"; + } else if (doc.evaluate(''//div[@id="blogEntry"]/h1/a'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "blogPost"; + } +}', +'//Boston Globe and Boston.com Translator. Code by Adam Crymble + +function scrape (doc, url) { + var namespace = doc.documentElement.namespaceURI; + var nsResolver = namespace ? function(prefix) { + }: null; + + //sets variables that remain constant in both formats + + if (doc.evaluate(''//span[@id="dateline"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + var xPathDateResults = doc.evaluate (''//span[@id="dateline"]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + } + + if (doc.evaluate(''//span[@id="byline"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + var xPathAuthorResults= doc.evaluate (''//span[@id="byline"]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + } + + + //sets variables unique to the blog posts on Boston.com + + if (doc.evaluate(''//div[@id="blogEntry"]/h1/a'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + + var newItem =new Zotero.Item("blogPost"); + newItem.publicationTitle = "Boston.com"; + + //title + var xPathTitle = ''//div[@id="blogEntry"]/h1/a''; + + //date + var articleDate = xPathDateResults.iterateNext().textContent; + newItem.date = articleDate; + + //author + var articleAuthor = xPathAuthorResults.iterateNext().textContent.replace(/Posted by /i, ''''); + articleAuthor = articleAuthor.split('',''); + var authorName = articleAuthor[0].split("and "); + + //else it sets the variables unique to the articles on the Boston Globe + + } else if (doc.evaluate(''//div[@id="headTools"]/h1'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + + var newItem = new Zotero.Item("newspaperArticle"); + newItem.publicationTitle = "The Boston Globe"; + + //title + var xPathTitle = ''//div[@id="headTools"]/h1''; + + //date + if (doc.evaluate(''//span[@id="dateline"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + var articleDate = xPathDateResults.iterateNext().textContent; + if (articleDate.match(''/'')) { + articleDate = articleDate.split(''/''); + newItem.date = articleDate[1]; + } else { + newItem.date = articleDate; + } + + } + + //author(s) + var articleAuthor = xPathAuthorResults.iterateNext().textContent.replace(/^\s*|\s*$/g, ''''); + articleAuthor= articleAuthor.substr(3); + var authorName = articleAuthor.split("and "); + + + //byline + if (doc.evaluate(''//div[@id="headTools"]/h2'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + newItem.abstractNote = doc.evaluate (''//div[@id="headTools"]/h2'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; + } + } + + //creates title using xPaths defined above + var xPathTitleResults = doc.evaluate (xPathTitle, doc, nsResolver, XPathResult.ANY_TYPE, null); + newItem.title = xPathTitleResults.iterateNext().textContent; + + //pushes author(s) + + for (var i=0; i<authorName.length; i++) { + newItem.creators.push(Zotero.Utilities.cleanAuthor(authorName[i], "author")); + } + + newItem.url = doc.location.href; + + newItem.complete(); +} + + +function doWeb (doc, url) { + var namespace = doc.documentElement.namespaceURI; + var nsResolver = namespace ? function(prefix) { + }: null; + + var uris= new Array(); + + if (detectWeb(doc, url) == "multiple") { + var items = new Object(); + var result = doc.evaluate(''//div[@class="regTZ"]/a[@class="titleLink"]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var elmt = result.iterateNext(); + Zotero.debug(elmt); + while (elmt) { + //items.push(elmt.href); + items[elmt.href] = elmt.textContent; + elmt = result.iterateNext(); + } + + items = Zotero.selectItems(items); + + if (!items) { + return true; + } + + for (var i in items) { + uris.push(i); + } + } else + uris.push(url); + Zotero.debug(uris); + Zotero.Utilities.processDocuments(uris, scrape, function() {Zotero.done();}); + Zotero.wait(); +}'); + +REPLACE INTO translators VALUES ('91acf493-0de7-4473-8b62-89fd141e6c74', '1.0.0b3.r1', '', '2008-06-10 22:30:00', '1', '100', '1', 'MAB2', 'Simon Kornblith. Adaptions for MAB2: Leon Krauthausen (FUB)', 'mab2', +'function detectImport() { + var mab2RecordRegexp = /^[0-9]{3}[a-z ]{2}[a-z ]{3}$/ + var read = Zotero.read(8); + if(mab2RecordRegexp.test(read)) { + return true; + } +}', +'var fieldTerminator = "\x1E"; +var recordTerminator = "\x1D"; +var subfieldDelimiter = "\x1F"; + +/* +* CLEANING FUNCTIONS +*/ + +// general purpose cleaning +function clean(value) { + value = value.replace(/^[\s\.\,\/\:;]+/, ''''); + value = value.replace(/[\s\.\,\/\:;]+$/, ''''); + value = value.replace(/<<+/g, ''''); + value = value.replace(/>>+/g, ''''); + value = value.replace(/ +/g, '' ''); + + var char1 = value[0]; + var char2 = value[value.length-1]; + if((char1 == "[" && char2 == "]") || (char1 == "(" && char2 == ")")) { + // chop of extraneous characters + return value.substr(1, value.length-2); + } + + return value; +} + +function cleanTag(value) { + // Chop off Authority-IDs + value = value.slice(0, value.indexOf(''|'')); + return value; +} + +// number extraction +function pullNumber(text) { + var pullRe = /[0-9]+/; + var m = pullRe.exec(text); + if(m) { + return m[0]; + } +} + +// ISBN extraction +function pullISBN(text) { + var pullRe = /[0-9X\-]+/; + var m = pullRe.exec(text); + if(m) { + return m[0]; + } +} + +// corporate author extraction +function corpAuthor(author) { + return {lastName:author, fieldMode:true}; +} + +// regular author extraction +function author(author, type, useComma) { + return Zotero.Utilities.cleanAuthor(author, type, useComma); +} + +// MAB2 author extraction +// evaluates subfield $b and sets authType +function authorMab(author, authType, useComma) { + if(!authType) var authType=''author''; + authType = authType.replace(''[Hrsg.]'', ''editor''); + authType = authType.replace(''[Mitarb.]'', ''contributor''); + authType = authType.replace(''[Übers.]'', ''translator''); + return Zotero.Utilities.cleanAuthor(author, authType, useComma); +} +/* +* END CLEANING FUNCTIONS +*/ + +var record = function() { + this.directory = new Object(); + this.leader = ""; + this.content = ""; + + // defaults + this.indicatorLength = 2; + this.subfieldCodeLength = 2; +} + +// import a binary MAB2 record into this record +record.prototype.importBinary = function(record) { + // get directory and leader + var directory = record.substr(0, record.indexOf(fieldTerminator)); + this.leader = directory.substr(0, 24); + var directory = directory.substr(24); + + // get various data + this.indicatorLength = parseInt(this.leader[10], 10); + this.subfieldCodeLength = parseInt(this.leader[11], 10); + var baseAddress = parseInt(this.leader.substr(12, 5), 10); + + // get record data + var contentTmp = record.substr(baseAddress); + + // MARC wants one-byte characters, so when we have multi-byte UTF-8 + // sequences, add null characters so that the directory shows up right. we + // can strip the nulls later. + this.content = ""; + for(i=0; i<contentTmp.length; i++) { + this.content += contentTmp[i]; + if(contentTmp.charCodeAt(i) > 0x00FFFF) { + this.content += "\x00\x00\x00"; + } else if(contentTmp.charCodeAt(i) > 0x0007FF) { + this.content += "\x00\x00"; + } else if(contentTmp.charCodeAt(i) > 0x00007F) { + this.content += "\x00"; + } + } + + // read directory + for(var i=0; i<directory.length; i+=12) { + var tag = parseInt(directory.substr(i, 3), 10); + var fieldLength = parseInt(directory.substr(i+3, 4), 10); + var fieldPosition = parseInt(directory.substr(i+7, 5), 10); + + if(!this.directory[tag]) { + this.directory[tag] = new Array(); + } + this.directory[tag].push([fieldPosition, fieldLength]); + } +} + +// add a field to this record +record.prototype.addField = function(field, indicator, value) { + field = parseInt(field, 10); + // make sure indicator is the right length + if(indicator.length > this.indicatorLength) { + indicator = indicator.substr(0, this.indicatorLength); + } else if(indicator.length != this.indicatorLength) { + indicator = Zotero.Utilities.lpad(indicator, " ", this.indicatorLength); + } + + // add terminator + value = indicator+value+fieldTerminator; + + // add field to directory + if(!this.directory[field]) { + this.directory[field] = new Array(); + } + this.directory[field].push([this.content.length, value.length]); + + // add field to record + this.content += value; +} + +// get all fields with a certain field number +record.prototype.getField = function(field) { + field = parseInt(field, 10); + var fields = new Array(); + + // make sure fields exist + if(!this.directory[field]) { + return fields; + } + + // get fields + for(var i in this.directory[field]) { + var location = this.directory[field][i]; + + // add to array, replacing null characters + fields.push([this.content.substr(location[0], this.indicatorLength), + this.content.substr(location[0]+this.indicatorLength, + location[1]-this.indicatorLength-1).replace(/\x00/g, "")]); + } + + return fields; +} + +// get subfields from a field +record.prototype.getFieldSubfields = function(tag) { // returns a two-dimensional array of values + var fields = this.getField(tag); + var returnFields = new Array(); + + for(var i in fields) { + returnFields[i] = new Object(); + + var subfields = fields[i][1].split(subfieldDelimiter); + if (subfields.length == 1) { + returnFields[i]["?"] = fields[i][1]; + } else { + for(var j in subfields) { + if(subfields[j]) { + var subfieldIndex = subfields[j].substr(0, this.subfieldCodeLength-1); + if(!returnFields[i][subfieldIndex]) { + returnFields[i][subfieldIndex] = subfields[j].substr(this.subfieldCodeLength-1); + } + } + } + } + } + + return returnFields; +} + +// add field to DB +record.prototype._associateDBField = function(item, fieldNo, part, fieldName, execMe, arg1, arg2) { + var field = this.getFieldSubfields(fieldNo); + Zotero.debug(''MARC: found ''+field.length+'' matches for ''+fieldNo+part); + if(field) { + for(var i in field) { + var value = false; + for(var j=0; j<part.length; j++) { + var myPart = part[j]; + if(field[i][myPart]) { + if(value) { + value += " "+field[i][myPart]; + } else { + value = field[i][myPart]; + } + } + } + if(value) { + value = clean(value); + + if(execMe) { + value = execMe(value, arg1, arg2); + } + + if(fieldName == "creator") { + item.creators.push(value); + } else { + item[fieldName] = value; + return; + } + } + } + } +} + +// add field to DB as tags +record.prototype._associateTags = function(item, fieldNo, part) { + var field = this.getFieldSubfields(fieldNo); + for(var i in field) { + for(var j=0; j<part.length; j++) { + var myPart = part[j]; + if(field[i][myPart]) { + item.tags.push(cleanTag(field[i][myPart])); + } + } + } +} + +// this function loads a MAB2 record into our database +record.prototype.translate = function(item) { + // get item type + if(this.leader) { + var marcType = this.leader[6]; + if(marcType == "g") { + item.itemType = "film"; + } else if(marcType == "k" || marcType == "e" || marcType == "f") { + item.itemType = "artwork"; + } else if(marcType == "t") { + item.itemType = "manuscript"; + } else { + item.itemType = "book"; + } + } else { + item.itemType = "book"; + } + + // Extract MAB2 fields + // FUB Added language, edition, pages, url, edition, series, ISBN, url + for (var i = 100; i <= 196; i++) { + if (this.getFieldSubfields(i)[0]) { + var field = this.getFieldSubfields(i)[0][''a'']; + var authType = this.getFieldSubfields(i)[0][''b'']; + this._associateDBField(item, i, "a", "creator", authorMab, authType, true); + } + } + + // if (this.getFieldSubfields("800")[0]) this._associateDBField(item, "800", "a", "creator", author, "author", true); + if (!item.language) this._associateDBField(item, "037b", "a", "language"); + this._associateDBField(item, "200", "a", "creator", corpAuthor); + if (!item.title) this._associateDBField(item, "331", "a", "title"); + this._associateDBField(item, "304", "a", "extra"); + if (this.getFieldSubfields("335")[0]) { + item.title = item.title + ": " + this.getFieldSubfields("335")[0][''a'']; + } + if (!item.edition) this._associateDBField(item, "403", "a", "edition"); + if (!item.place) this._associateDBField(item, "410", "a", "place"); + if (!item.publisher) this._associateDBField(item, "412", "a", "publisher"); + if (!item.title) this._associateDBField(item, "1300", "a", "title"); + if (!item.date) this._associateDBField(item, "425", "a", "date", pullNumber); + if (!item.pages) this._associateDBField(item, "433", "a", "pages", pullNumber); + if (!item.series) this._associateDBField(item, "451", "a", "series"); + this._associateDBField(item, "501", "a", "extra"); + this._associateDBField(item, "519", "a", "extra"); + if (!item.edition) this._associateDBField(item, "523", "a", "edition"); + if (!item.ISBN) this._associateDBField(item, "540", "a", "ISBN", pullISBN); + if (!item.date) this._associateDBField(item, "595", "a", "date", pullNumber); + if (!item.url) this._associateDBField(item, "655e", "u", "url"); + + // Extract German subject headings (RSWK) as tags + this._associateTags(item, "902", "acfgpkstz"); + this._associateTags(item, "907", "acfgpkstz"); + this._associateTags(item, "912", "acfgpkstz"); + this._associateTags(item, "917", "acfgpkstz"); + this._associateTags(item, "922", "acfgpkstz"); + this._associateTags(item, "927", "acfgpkstz"); + this._associateTags(item, "932", "acfgpkstz"); + this._associateTags(item, "937", "acfgpkstz"); + this._associateTags(item, "942", "acfgpkstz"); + + +} + +function doImport() { + var text; + var holdOver = ""; // part of the text held over from the last loop + + Zotero.setCharacterSet("utf-8"); + + while(text = Zotero.read(4096)) { // read in 4096 byte increments + var records = text.split("\x1D"); + + if(records.length > 1) { + records[0] = holdOver + records[0]; + holdOver = records.pop(); // skip last record, since it''s not done + + for(var i in records) { + var newItem = new Zotero.Item(); + + // create new record + var rec = new record(); + rec.importBinary(records[i]); + rec.translate(newItem); + + newItem.complete(); + } + } else { + holdOver += text; + } + } +}'); + +REPLACE INTO translators VALUES ('b662c6eb-e478-46bd- bad4-23cdfd0c9d67', '1.0.0b4.r5', '', '2008-06-10 22:30:00', '0', '100', '4', 'JurPC', 'Oliver Vivell and Michael Berkowitz', 'http://www.jurpc.de/', +'function detectWeb(doc, url) { + var doctype = doc.evaluate(''//meta/@doctype'', doc, null,XPathResult.ANY_TYPE, null).iterateNext().textContent; + + if (doctype == "Aufsatz"){ + return "Aufsatz"; + }else{ + return "Rechtsprechung"; + } +}', +'function doWeb(doc, url) { + + var articles = new Array(); + + if (detectWeb(doc, url) == "Aufsatz") { + + // Aufsatz gefunden + + Zotero.debug("Ok, we have an JurPC Article"); + var authors = ''//meta/@Author''; + var title = ''//meta/@Title''; + var webdoktext = ''//meta/@WebDok''; + + var authors = parseDoc(authors,doc); + var title = parseDoc(title,doc); + + var webabs = webdoktext.substr(webdoktext.lastIndexOf("Abs."), webdoktext.length); + + //Zotero.debug(doctype); + Zotero.debug(webdoktext); + var year = url.substr(28, 4); + + //Get Year & WebDok Number from Url + var webdok = url.substr(32, 4); + + var suche = webdok.indexOf("0"); + if (suche == 0){ + webdok = url.substr(33, 3); + suche = webdok.indexOf("0"); + + if(suche == 0){ + webdok = url.substr(34, 2); + suche = webdok.indexOf("0"); + } + //Zotero.debug(suche); + if(suche == 0){ + webdok = url.substr(35, 1); + suche = webdok.indexOf("0"); + } + } + + var re = /<[^>]*>/ + Zotero.debug(re); + title = title.replace(re,""); + title = title.replace(re,""); + title = title.replace(re,""); + Zotero.debug(title); + + var newArticle = new Zotero.Item(''journalArticle''); + + newArticle.title = title; + newArticle.journal = "JurPC"; + newArticle.journalAbbreviation = "JurPC"; + newArticle.year = year; + newArticle.volume = "WebDok " + webdok + "/" + year; + newArticle.pages = webabs ; + newArticle.url = url; + var aus = authors.split("/"); + for (var i=0; i< aus.length ; i++) { + Zotero.debug(aus[0]); + newArticle.creators.push(Zotero.Utilities.cleanAuthor(aus[i], "author")); + } + newArticle.complete(); + } else { + + // Dokument ist ein Urteil + + var gericht = ''//meta/@Gericht''; + var ereignis = ''//meta/@Ereignis''; + var datum = ''//meta/@Datum''; + var aktz = ''//meta/@aktz''; + var titel = ''//meta/@Title''; + var webdok = ''//meta/@WebDok''; + + try{ + var gericht = parseDoc(gericht,doc); + var ereignis = parseDoc(ereignis,doc); + var datum = parseDoc(datum,doc); + var aktz = parseDoc(aktz,doc); + var webdok = parseDoc(webdok,doc); + var titel = parseDoc(titel,doc); + } catch (e) { var titel = doc.evaluate(''//meta/@Titel'', doc, null,XPathResult.ANY_TYPE, null).iterateNext().textContent;} + //Zotero.debug(titel); + + + // Informationen an Zotero übergeben + + var newCase = new Zotero.Item(''case''); + newCase.court = gericht; + newCase.caseName = titel; + newCase.title = titel; + newCase.shortTitle = "WebDok " + webdok; + newCase.dateDecided = ereignis + " , " + aktz; + newCase.url = url; + newCase.journalAbbreviation = "JurPC"; + //Zotero.debug(newCase.codeNumber); + newCase.complete(); + } +} + +function parseDoc(xpath, doc) { + var content = doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE,null).iterateNext().textContent; + return content; +}'); + +REPLACE INTO translators VALUES ('cae7d3ec-bc8d-465b-974f-8b0dcfe24290', '1.0.0b4.r5', '', '2008-06-10 22:30:00', '0', '100', '4', 'BIUM', 'Michael Berkowitz', 'http://hip.bium.univ-paris5.fr/', +'function detectWeb(doc, url) { + if (doc.evaluate(''//td/a[@class="itemTitle"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "multiple"; + } else if (doc.evaluate(''//td[1]/span[@class="uportal-channel-strong"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "book"; + } +}', +'function makeMARCurl(link, rsId, rrsId, query) { + return ''http://hip.bium.univ-paris5.fr/uPortal/Print?link='' + link + ''&xslFileName=com/dynix/hip/uportal/channels/standard/FullMarc.xsl&F=/searching/getmarcdata&responseSessionId='' + rsId + ''&responseResultSetId='' + rrsId + ''&searchGroup=BIUM-13&query='' + query + ''&searchTargets=16&locale=fr_FR''; +} + +function doWeb(doc, url) { + var n = doc.documentElement.namespaceURI; + var ns = n ? function(prefix) { + if (prefix == ''x'') return n; else return null; + } : null; + + var books = new Array(); + if (detectWeb(doc, url) == "multiple") { + var items = new Object(); + var links = doc.evaluate(''//a[@class="itemTitle"]'', doc, ns, XPathResult.ANY_TYPE, null); + var link; + while (link = links.iterateNext()) { + items[link.href] = Zotero.Utilities.trimInternal(link.textContent); + } + items = Zotero.selectItems(items); + var rsId = doc.evaluate(''//input[@name="responseSessionId"]'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().value; + var rrsId = doc.evaluate(''//input[@name="responseResultSetId"]'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().value; + var query = doc.evaluate(''//input[@name="query"]'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().value; + var linkRE = new RegExp("''([^'']+)''", "g"); + for (var i in items) { + var link = linkRE.exec(i)[1]; + Zotero.debug(link); + books.push(makeMARCurl(link, rsId, rrsId, query)); + } + } else { + var link = url.match(/link=([^&]+)/)[1]; + var rsId = url.match(/responseSessionId=([^&]+)/)[1]; + var rrsId = url.match(/responseResultSetId=([^&]+)/)[1]; + var query = url.match(/query=([^&]+)/)[1]; + books = [makeMARCurl(link, rsId, rrsId, query)]; + } + var translator = Zotero.loadTranslator("import"); + translator.setTranslator("a6ee60df-1ddc-4aae-bb25-45e0537be973"); + var marc = translator.getTranslatorObject(); + Zotero.Utilities.processDocuments(books, function(doc) { + var rows = doc.evaluate(''//center/table/tbody/tr'', doc, ns, XPathResult.ANY_TYPE, null); + var row; + var record = new marc.record(); + while (row = rows.iterateNext()) { + var field = Zotero.Utilities.trimInternal(doc.evaluate(''./td[1]'', row, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent.replace(":", "")); + if (field) { + var value = doc.evaluate(''./td[2]'', row, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent; + if (value.split(/\n/)[1]) value = Zotero.Utilities.trimInternal(value.split(/\n/)[1]); + if (field == "LDR") { + record.leader = value; + } else if (field != "FMT") { + value = value.replace(/\¤([a-z])/g, marc.subfieldDelimiter+ "$1"); + var code = field.substring(0, 3); + var ind = ""; + if (field.length > 3) { + ind = field[3]; + if (field.length > 4) { + ind += field[4]; + } + } + record.addField(code, ind, value); + } + } + } + var item = new Zotero.Item(); + record.translate(item); + + var oldauthors = item.creators; + var newauthors = new Array(); + for each (var aut in oldauthors) { + if (aut.lastName.match(/^[A-Z][^\s]+\s[^\s]+/)) newauthors.push(Zotero.Utilities.cleanAuthor(aut.lastName.match(/^[A-Z][^\s]+\s[^\s]+/)[0].replace(/^([^\s]+)\s+(.*)$/, "$2 $1"), "author")); + } + item.creators = newauthors; + item.complete(); + }, function() {Zotero.done;}); + Zotero.wait(); +}'); + +REPLACE INTO translators VALUES ('fc410e64-0252-4cd3-acb1-25e584775fa2', '1.0.0b4.r5', '', '2008-06-08 23:00:00', '0', '100', '4', 'National Library of Australia', 'Michael Berkowitz', 'http://librariesaustralia.nla.gov.au/', +'function detectWeb(doc, url) { + if (url.match("action=Search")) { + return "multiple"; + } else if (url.match("action=Display")) { + return "book"; + } +}', +'function doWeb(doc, url) { + var n = doc.documentElement.namespaceURI; + var ns = n ? function(prefix) { + if (prefix == ''x'') return n; else return null; + } : null; + var books = new Array(); + if (detectWeb(doc, url) == "multiple") { + var items = Zotero.Utilities.getItemArray(doc, doc, ''action=Display&''); + items = Zotero.selectItems(items); + for (var i in items) { + books.push(i); + } + } else { + books = [url]; + } + Zotero.Utilities.processDocuments(books, function(doc) { + var table = doc.evaluate(''//tbody/tr[td[1][@class="CellAlignRight"]/strong]'', doc, ns, XPathResult.ANY_TYPE, null); + var row; + var data = new Object(); + while (row = table.iterateNext()) { + var heading = doc.evaluate(''./td[1]'', row, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent; + var value = doc.evaluate(''./td[2]'', row, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent; + data[Zotero.Utilities.trimInternal(heading)] = value; + } + item = new Zotero.Item("book"); + item.title = Zotero.Utilities.trimInternal(data[''Title:''].match(/^[^/]+/)[0]); + if (data[''Author:''].match(/\w+/)) item.creators.push(Zotero.Utilities.cleanAuthor(data[''Author:''], "author", true)); + if (data[''Published:''].match(/\w+/)) { + var pub = data[''Published:''].match(/^([^:]+):([^,]+),(.*)$/); + item.location = Zotero.Utilities.trimInternal(pub[1]); + item.publisher = Zotero.Utilities.trimInternal(pub[2]); + item.date = Zotero.Utilities.trimInternal(pub[3].replace(/\D/g, "")); + } + if (data[''Subjects:'']) { + var kws = data[''Subjects:''].split("."); + Zotero.debug(kws); + for each (var key in kws) { + if (key.match(/\w+/)) item.tags.push(key); + } + } + if (data[''ISBN:''].match(/\w+/)) item.ISBN = Zotero.Utilities.trimInternal(data[''ISBN:''].match(/^[^(]+/)[0]); + item.complete(); + }, function() {Zotero.done;}); + Zotero.wait(); +}'); + +REPLACE INTO translators VALUES ('e40a27bc-0eef-4c50-b78b-37274808d7d2', '1.0.0b4.r5', '', '2008-06-06 08:45:00', '0', '100', '4', 'J-Stage', 'Michael Berkowitz', 'http://www.jstage.jst.go.jp/', +'function detectWeb(doc, url) { + if (doc.evaluate(''//a[contains(@href, "_ris")]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "journalArticle"; + } else if (doc.evaluate(''//tr/td[2]/table/tbody/tr/td/table/tbody/tr[td[2]//a]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext() || + doc.evaluate(''//tr/td/table/tbody/tr/td/table/tbody/tr[td[1]//a]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "multiple"; + } +} +', +'function RISify(str) { + return str.replace("_article", "_ris").replace("article", "download"); +} + +function doWeb(doc, url) { + var n = doc.documentElement.namespaceURI; + var ns = n ? function(prefix) { + if (prefix == ''x'') return n; else return null; + } : null; + + var arts = new Array(); + if (detectWeb(doc, url) == "multiple") { + var items = new Object(); + var xpath; + var titlex; + var linkx; + if (doc.evaluate(''//tr/td[2]/table/tbody/tr/td/table/tbody/tr[td[2]//a]'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext()) { + xpath = ''//tr/td[2]/table/tbody/tr/td/table/tbody/tr[td[2]//a]''; + titlex = ''./td[2]//strong''; + linkx = ''./td[2]//a[1]''; + } else if (doc.evaluate(''//tr/td/table/tbody/tr/td/table/tbody/tr[td[1]//a]'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext()) { + xpath = ''/html/body/div/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[td//a[contains(@href, "_pdf")]]''; + titlex = ''.//td/b''; + linkx = ''.//td/a[contains(@href, "_article")]''; + } + Zotero.debug(xpath); + + var list = doc.evaluate(xpath, doc, ns, XPathResult.ANY_TYPE, null); + var nextitem; + while (nextitem = list.iterateNext()) { + var title = Zotero.Utilities.trimInternal(doc.evaluate(titlex, nextitem, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + var link = doc.evaluate(linkx, nextitem, ns, XPathResult.ANY_TYPE, null).iterateNext().href; + items[link] = title; + } + items = Zotero.selectItems(items); + for (var i in items) { + arts.push(RISify(i)); + } + } else { + arts = [RISify(url)]; + } + Zotero.debug(arts); + for each (var uri in arts) { + Zotero.Utilities.HTTP.doGet(uri, function(text) { + Zotero.debug(text); + var translator = Zotero.loadTranslator("import"); + translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); + translator.setString(text); + translator.setHandler("itemDone", function(obj, item) { + item.url = uri.replace("download", "article").replace("_ris", "_article"); + var pdfurl = item.url.replace(/(\d+)_(\d+)\/_article/, "$2/_pdf").replace("download", "article"); + Zotero.debug(pdfurl); + item.attachments = [ + {url:item.url, title:item.publicationTitle + " Snapshot", mimeType:"text/html"}, + {url:pdfurl, title:item.publicationTitle + " PDF", mimeType:"application/pdf"} + ]; + item.complete(); + }); + translator.translate(); + }); + } +}'); + +REPLACE INTO translators VALUES ('bbf1617b-d836-4665-9aae-45f223264460', '1.0.0b4.r5', '', '2008-06-03 19:40:00', '0', '100', '4', 'A Contra Corriente', 'Michael Berkowitz', 'http://www.ncsu.edu/project/acontracorriente', +'function detectWeb(doc, url) { + if (doc.evaluate(''//tr[td[1]//img][td[3]]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "multiple"; + } +}', +'function doWeb(doc, url) { + var arts = doc.evaluate(''//tr[td[1]//img][td[3]]'', doc, null, XPathResult.ANY_TYPE, null); + var art; + var selectList = new Object(); + var items = new Object(); + while (art = arts.iterateNext()) { + var item = new Object(); + var title = doc.evaluate(''.//a'', art, null, XPathResult.ANY_TYPE, null).iterateNext(); + item[''title''] = Zotero.Utilities.trimInternal(title.textContent); + item[''pdfurl''] = title.href; + item[''author''] = doc.evaluate(''.//strong'', art, null, XPathResult.ANY_TYPE, null).iterateNext().textContent; + selectList[item.title] = item.title; + items[item.title] = item; + } + var selected = Zotero.selectItems(selectList); + var voliss = Zotero.Utilities.trimInternal(doc.evaluate(''//td[@class="red01"]/font[2]/strong'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent); + voliss = voliss.match(/Vol\.\s+(\d+),\s+No\.\s+(\d+)\.\s+([^|]+)|/); + Zotero.debug(voliss); + for each (var title in selected) { + var item = new Zotero.Item("journalArticle"); + var olditem = items[title]; + item.title = olditem.title; + item.creators = [Zotero.Utilities.cleanAuthor(olditem.author, "author")]; + item.volume = voliss[1]; + item.issue = voliss[2] + item.date = Zotero.Utilities.trimInternal(voliss[3]); + item.complete(); + } +}'); + +REPLACE INTO translators VALUES ('0aea3026-a246-4201-a4b5-265f75b9a6a7', '1.0.0b4.r5', '', '2008-05-30 08:00:00', '0', '100', '4', 'Australian Dictionary of Biography', 'Tim Sherratt and Michael Berkowitz', 'http://www.adb.online.anu.edu.au', +'function detectWeb(doc, url) { + if (url.match(/adbp-ent_search|browse_people|browse_authors/)) { return "multiple"; - } else if (url.match("ItemDetail")) { + } else if (url.match(/biogs\/AS*\d+b.htm/)) { + return "bookSection"; + } +}', +'function doWeb(doc, url) { + var namespace = doc.documentElement.namespaceURI; + var nsResolver = namespace ? function(prefix) { + if (prefix == "x") return namespace; else return null; + } : null; + if (detectWeb(doc, url) == "multiple") { + var records = new Array(); + var items = new Object(); + if (url.match(/browse_people/)) { + var titles = doc.evaluate(''//ul[@class="pb-results"]/li'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var links = doc.evaluate(''//ul[@class="pb-results"]/li/a[1]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + } else if (url.match(/browse_authors/)) { + var titles = doc.evaluate(''//div[@id="content"]/dl/dd'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var links = doc.evaluate(''//div[@id="content"]/dl/dd/a[1]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + } else if (url.match(/adbp-ent_search/)) { + var titles = doc.evaluate(''//div[@id="content"]/ol/li'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var links = doc.evaluate(''//div[@id="content"]/ol/li//a[1]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + } + var title; + var link; + while ((link = links.iterateNext()) && (title = titles.iterateNext())) { + items[link.href] = Zotero.Utilities.trimInternal(title.textContent); + } + + items = Zotero.selectItems(items); + for (var i in items) { + records.push(i); + } + } else { + records = [url]; + } + Zotero.Utilities.processDocuments(records, function(doc) { + var item = new Zotero.Item("bookSection"); + var author = Zotero.Utilities.cleanString(doc.evaluate(''//div[@id="content"]/p[strong="Author"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().lastChild.textContent); + item.creators.push(Zotero.Utilities.cleanAuthor(author, "author")); + item.title = Zotero.Utilities.cleanString(doc.evaluate(''//h1'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent); + var pubdetails = Zotero.Utilities.cleanString(doc.evaluate(''//div[@id="content"]/p[strong="Print Publication Details"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent); + pubdetails = pubdetails.match(/Volume (\d+), ([\w ]+), (\d{4}), p+\.*\s+([\d-]+)/); + item.volume = RegExp.$1; + item.publisher = RegExp.$2; + item.date = RegExp.$3; + item.pages = RegExp.$4; + item.url = doc.location.href; + item.bookTitle = "Australian Dictionary of Biography"; + item.place = "Melbourne"; + item.repository = "Australian Dictionary of Biography"; + var tags = doc.evaluate(''//li/a[starts-with(@title, "find people with the occupation")]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + while (tag = tags.iterateNext()) { + item.tags.push(tag.textContent); + } + item.attachments = [ + {url:item.url, title: "Snapshot - " + item.title, mimeType:"text/html"}, + ]; + item.complete(); + + }, function() {Zotero.done;}); +}'); + +REPLACE INTO translators VALUES ('83538f48-906f-40ef-bdb3-e94f63676307', '1.0.0b4.r5', '', '2008-05-30 08:00:00', '1', '100', '4', 'NAA RecordSearch', 'Tim Sherratt', 'http://naa12.naa.gov.au/scripts/', +'function detectWeb(doc, url) { + if (url.match(/Items_listing.asp/i)) { + return "multiple"; + } else if (url.match(/ItemDetail.asp/i)) { return "manuscript"; } }', @@ -1149,7 +2476,297 @@ REPLACE INTO translators VALUES ('83538f48-906f-40ef-bdb3-e94f63676307', '1.0.0b }, function() {Zotero.done;}); }'); -REPLACE INTO translators VALUES ('882f70a8-b8ad-403e-bd76-cb160224999d', '1.0.0b4.r5', '', '2008-05-15 21:30:00', '0', '100', '4', 'Vanderbilt eJournals', 'Michael Berkowitz', 'http://ejournals.library.vanderbilt.edu/', +REPLACE INTO translators VALUES ('cdf8269c-86b9-4039-9bc4-9d998c67740e', '1.0.0b4.r5', '', '2008-05-21 19:15:00', '0', '100', '4', 'Verniana-Jules Verne Studies', 'Michael Berkowitz', 'http://jv.gilead.org.il/studies/', +'function detectWeb(doc, url) { + if (url.match(/article\/view/)) { + return "journalArticle"; + } else if (url.match(/(issue|advancedResults)/)) { + return "multiple"; + } +}', +'function prepNos(link) { + if (link.match(/\d+\/\d+$/)) { + var nos = link.match(/\d+\/\d+$/)[0]; + } else { + var nos = link.match(/\d+$/)[0] + ''/0''; + } + return ''http://jv.gilead.org.il/studies/index.php/studies/rt/captureCite/'' + nos + ''/RefManCitationPlugin''; +} + +function doWeb(doc, url) { + var n = doc.documentElement.namespaceURI; + var ns = n ? function(prefix) { + if (prefix == ''x'') return n; else return null; + } : null; + + var arts = new Array(); + if (detectWeb(doc, url) == "multiple") { + var items = new Object(); + var xpath = ''//tr[td/a[2]]''; + if (url.match(/issue/)) { + var titlex = ''./td[1]''; + var linkx = ''./td[2]/a[contains(text(), "HTML")]''; + } else if (url.match(/advanced/)) { + var titlex = ''./td[2]''; + var linkx = ''./td[3]/a[contains(text(), "HTML")]''; + } + var results = doc.evaluate(xpath, doc, ns, XPathResult.ANY_TYPE, null); + var result; + while (result = results.iterateNext()) { + var title = Zotero.Utilities.trimInternal(doc.evaluate(titlex, result, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + var link = doc.evaluate(linkx, result, ns, XPathResult.ANY_TYPE, null).iterateNext().href; + items[link] = title; + } + items = Zotero.selectItems(items); + for (var i in items) { + arts.push(prepNos(i)); + } + } else { + arts = [prepNos(url)]; + } + Zotero.Utilities.HTTP.doGet(arts, function(text) { + var translator = Zotero.loadTranslator("import"); + translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); + translator.setString(text); + translator.setHandler("itemDone", function(obj, item) { + var auts = new Array(); + for each (var aut in item.creators) { + auts.push(Zotero.Utilities.cleanAuthor(aut.lastName, "author")); + } + item.creators = auts; + item.attachments = [{url:item.url, title:"Verniana Snapshot", mimeType:"text/html"}]; + var bits = item.publicationTitle.split(/;/); + item.publicationTitle = bits[0]; + var voliss = bits[1].match(/Vol\s+(\d+)\s+\((\d+)\)/); + item.volume = voliss[1]; + item.date = voliss[2]; + item.complete(); + }); + translator.translate(); + }); + Zotero.wait(); +}'); + +REPLACE INTO translators VALUES ('b33af0e1-d122-45b2-b144-4b4eedd12d5d', '1.0.0b4.r5', '', '2008-05-21 19:15:00', '0', '100', '4', 'Wildlife Biology in Practice', 'Michael Berkowitz', 'http://www.socpvs.org/journals/index.php/wbp', +'function detectWeb(doc, url) { + if (url.match(/showToc/) || url.match(/advancedResults/)) { + return "multiple"; + } else if (url.match(/article/)) { + return "journalArticle"; + } +}', +'function doWeb(doc, url) { + var n = doc.documentElement.namespaceURI; + var ns = n ? function(prefix) { + if (prefix == ''x'') return n; else return null; + } : null; + + var arts = new Array(); + if (detectWeb(doc, url) == "multiple") { + var items = new Object(); + var xpath = ''//tr[td/a[2]]''; + if (url.match(/issue/)) { + var linkx = ''./td[2]/a[1]''; + var titlex = ''./td[1]''; + } else if (url.match(/advanced/)) { + var linkx = ''./td[3]/a[1]''; + var titlex = ''./td[2]''; + } + var results = doc.evaluate(xpath, doc, ns, XPathResult.ANY_TYPE, null); + var result; + while (result = results.iterateNext()) { + var title = doc.evaluate(titlex, result, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent; + var link = doc.evaluate(linkx, result, ns, XPathResult.ANY_TYPE, null).iterateNext().href; + items[link] = Zotero.Utilities.trimInternal(title); + } + items = Zotero.selectItems(items); + for (var i in items) { + arts.push(i.replace(/view/, "viewArticle")); + } + } else { + arts = [url.replace(/viewRST/, "viewArticle")]; + } + Zotero.Utilities.processDocuments(arts, function(doc) { + var item = new Zotero.Item("journalArticle"); + var voliss = Zotero.Utilities.trimInternal(doc.evaluate(''//div[@id="main"]/h2'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + voliss = voliss.match(/^([^,]+),\s+([^;]+);\s+(\d+)\((\d+)\);\s+([^;]+)/); + item.journalAbbreviation = voliss[1]; + item.date = voliss[2]; + item.issue = voliss[3]; + item.volume = voliss[4]; + item.pages = voliss[5]; + var authors = doc.evaluate(''//div[@id="authorDetails"]/ul[@class="lista"]/li/strong/a'', doc, ns, XPathResult.ANY_TYPE, null); + var author; + while (author = authors.iterateNext()) { + item.creators.push(Zotero.Utilities.cleanAuthor(author.title.match(/^\w+\b\s+(.*)\s+\b\w+$/)[1], "author")); + } + item.publicationTitle = "Wildlife Biology in Practice"; + item.ISSN = "1646-2742"; + item.DOI = doc.evaluate(''//div[@id="copyArticle"]/a[1]'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent.match(/doi:\s+([^\s]+)/)[1]; + item.url = doc.location.href; + item.title = Zotero.Utilities.trimInternal(doc.evaluate(''//div[@id="content"]/h3'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + item.abstractNote = Zotero.Utilities.trimInternal(doc.evaluate(''//div[@id="abstract"]/blockquote/p'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + item.tags = doc.evaluate(''//div[@id="abstract"]'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent.match(/Keywords:\s+([^\.]+)/)[1].split(/,\s+/); + + var pdfurl = doc.evaluate(''//div[@id="rt"]/a[@class="action noarrow"]'', doc, ns, XPathResult.ANY_TYPE, null).iterateNext().href; + item.attachments = [ + {url:item.url, title:item.publicationTitle + " Snapshot", mimeType:"text/html"}, + {url:pdfurl, title:item.publicationTitle + " PDF", mimeType:"application/pdf"} + ]; + item.complete(); + }, function() {Zotero.done;}); + Zotero.wait(); +}'); + +REPLACE INTO translators VALUES ('d2416f31-4f24-4e18-8c66-06122af5bc2c', '1.0.0b4.r5', '', '2008-05-20 19:10:00', '0', '100', '4', 'Women in Judaism', 'Michael Berkowitz', 'http://jps.library.utoronto.ca/', +'function detectWeb(doc, url) { + if (doc.evaluate(''//tr[td/a[2]]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "multiple"; + } else if (url.match(/article\/view/)) { + return "journalArticle"; + } +}', +'function doWeb(doc, url) { + var n = doc.documentElement.namespaceURI; + var ns = n ? function(prefix) { + if (prefix == ''x'') return n; else return null; + } : null; + + var arts = new Array(); + if (detectWeb(doc, url) == "multiple") { + var xpath = ''//tr[td/a[2]]''; + if (url.match(/search/)) { + var titlex = ''./td[2]''; + var linkx = ''./td[3]/a[1]''; + } else if (url.match(/issue/)) { + var titlex = ''./td[1]''; + var linkx = ''./td[2]/a[1]''; + } + var items = new Object(); + var results = doc.evaluate(xpath, doc, ns, XPathResult.ANY_TYPE, null); + var result; + while (result = results.iterateNext()) { + var title = Zotero.Utilities.trimInternal(doc.evaluate(titlex, result, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + var link = doc.evaluate(linkx, result, ns, XPathResult.ANY_TYPE, null).iterateNext().href; + items[link] = title; + } + items = Zotero.selectItems(items); + for (var i in items) { + arts.push(i.replace("view", "viewArticle")); + } + } else { + arts = [url]; + } + Zotero.debug(arts); + Zotero.Utilities.processDocuments(arts,function(doc) { + var newDoc = doc; + //var newDoc = doc.defaultView.window.frames[0].document; + Zotero.debug(newDoc.location.href); + + var item = new Zotero.Item("journalArticle"); + if (newDoc.evaluate(''//div[@class="Section1"]/div/p/b/span'', newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext()) { + item.title = Zotero.Utilities.trimInternal(newDoc.evaluate(''//div[@class="Section1"]/div/p/b/span'', newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + } else { + item.title = Zotero.Utilities.trimInternal(newDoc.evaluate(''//div[@id="content"]/h3'', newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + } + var absX = ''//div[@id="content"]/div[2]''; + if (newDoc.evaluate(absX, newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext()) item.abstractNote = Zotero.Utilities.trimInternal(newDoc.evaluate(absX, newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + if (newDoc.evaluate(''//div[@id="content"]/div/i'', newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext()) { + var authors = newDoc.evaluate(''//div[@id="content"]/div/i'', newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent.split(/,\s+/); + for each (var aut in authors) { + item.creators.push(Zotero.Utilities.cleanAuthor(aut, "author")); + } + var voliss = newDoc.evaluate(''//div[@id="breadcrumb"]/a[2]'', newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent.match(/(\d+)/g); + item.volume = voliss[0]; + item.issue = voliss[1]; + item.date = voliss[2]; + } + var pdfurl = doc.evaluate(''//a[contains(text(), "PDF")]'', newDoc, ns, XPathResult.ANY_TYPE, null).iterateNext().href.replace("view", "download"); + item.attachments = [ + {url:doc.location.href, title:"Women In Judaism Snapshot", mimeType:"text/html"}, + {url:pdfurl, title:"Women In Judaism PDF", mimeType:"application/pdf"} + ]; + item.complete(); + }, function() {Zotero.done;}); + Zotero.wait(); +}'); + +REPLACE INTO translators VALUES ('4f62425a-c99f-4ce1-b7c1-5a3ac0d636a3', '1.0.0b4.r5', '', '2008-05-20 19:10:00', '0', '100', '4', 'AfroEuropa', 'Michael Berkowitz', 'http://journal.afroeuropa.eu/', +'function detectWeb(doc, url) { + if (doc.evaluate(''//tr[td/a[2]]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + return "multiple"; + } else if (url.match(/article\/view\//)) { + return "journalArticle"; + } +}', +'function makeExport(site, str) { + var nums = str.match(/\d+(\/\d+)?/)[0]; + if (!nums.match(/\//)) nums += "/0"; + return site + ''rt/captureCite/'' + nums + ''/referenceManager''; +} + +function doWeb(doc, url) { + var n = doc.documentElement.namespaceURI; + var ns = n ? function(prefix) { + if (prefix == ''x'') return n; else return null; + } : null; + + var site = url.match(/^http:\/\/([^/]*\/)+index\.php\/[^/]*\//)[0]; + var arts = new Array(); + if (detectWeb(doc, url) == "multiple") { + var xpath = ''//tr[td/a]''; + if (url.match(/search/)) { + var titlex = ''./td[2]''; + var linkx = ''./td[3]/a[1]''; + } else if (url.match(/issue/)) { + var titlex = ''./td[1]''; + var linkx = ''./td[2]/a[1]''; + } + var items = new Object(); + var results = doc.evaluate(xpath, doc, ns, XPathResult.ANY_TYPE, null); + var result; + while (result = results.iterateNext()) { + var title = Zotero.Utilities.trimInternal(doc.evaluate(titlex, result, ns, XPathResult.ANY_TYPE, null).iterateNext().textContent); + var link = doc.evaluate(linkx, result, ns, XPathResult.ANY_TYPE, null).iterateNext().href; + items[makeExport(site, link)] = title; + } + items = Zotero.selectItems(items); + for (var i in items) { + arts.push(i); + } + } else { + arts = [makeExport(cite, url)]; + } + Zotero.Utilities.HTTP.doGet(arts, function(text) { + var translator = Zotero.loadTranslator("import"); + translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); + translator.setString(text); + translator.setHandler("itemDone", function(obj, item) { + item.title = Zotero.Utilities.capitalizeTitle(item.title); + var voliss = item.publicationTitle.split(/;\s+/); + item.publicationTitle = Zotero.Utilities.trimInternal(voliss[0]); + voliss = voliss[1].match(/(\d+),\s+No\s+(\d+)\s+\((\d+)\)/); + item.volume = voliss[1]; + item.issue = voliss[2]; + item.date = voliss[3]; + var auts = new Array(); + for each (var aut in item.creators) { + auts.push(aut.lastName); + } + item.creators = new Array(); + for each (var aut in auts) { + item.creators.push(Zotero.Utilities.cleanAuthor(aut, "author")); + } + item.attachments[0].mimeType = "text/html"; + item.attachments[0].title = "AfroEuropa Snapshot"; + item.complete(); + }); + translator.translate(); + }); + Zotero.wait(); +}'); + +REPLACE INTO translators VALUES ('882f70a8-b8ad-403e-bd76-cb160224999d', '1.0.0b4.r5', '', '2008-05-19 17:20:00', '0', '100', '4', 'Vanderbilt eJournals', 'Michael Berkowitz', 'http://ejournals.library.vanderbilt.edu/', 'function detectWeb(doc, url) { if (url.match(/viewarticle.php/)) { return "journalArticle"; @@ -2093,9 +3710,9 @@ REPLACE INTO translators VALUES ('bdaac15c-b0ee-453f-9f1d-f35d00c7a994', '1.0.0b Zotero.wait(); }'); -REPLACE INTO translators VALUES ('5278b20c-7c2c-4599-a785-12198ea648bf', '1.0.0b4.r5', '', '2008-05-08 20:30:00', '1', '100', '4', 'ARTstor', 'Ameer Ahmed and Michael Berkowitz', 'http://web2.artstor.org', +REPLACE INTO translators VALUES ('5278b20c-7c2c-4599-a785-12198ea648bf', '1.0.0b4.r5', '', '2008-05-19 19:00:00', '1', '100', '4', 'ARTstor', 'Ameer Ahmed and Michael Berkowitz', 'http://[^/]*web2.artstor.org[^/]*', 'function detectWeb(doc, url) { - if (url.match(/(S|s)earch/)) return "multiple" + if (url.match(/(S|s)earch/) && (doc.evaluate(''//div[@id="thumbContentWrap"]/div'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent.match(/\w+/))) return "multiple" }', 'function doWeb(doc, url) { if (url.indexOf("|")!=-1){ @@ -3103,7 +4720,7 @@ function doWeb(doc, url) { Zotero.wait(); }'); -REPLACE INTO translators VALUES ('4afb932d-9211-4c0b-a31c-cfa984d62b66', '1.0.0b4.r5', '', '2008-04-18 08:55:00', '0', '100', '4', 'OAIster', 'Michael Berkowitz', 'http://quod.lib.umich.edu/cgi/b/', +REPLACE INTO translators VALUES ('4afb932d-9211-4c0b-a31c-cfa984d62b66', '1.0.0b4.r5', '', '2008-05-20 19:10:00', '1', '100', '4', 'OAIster', 'Michael Berkowitz', 'http://quod.lib.umich.edu/cgi/b/', 'function detectWeb(doc, url) { if (doc.title.indexOf("OAIster") != -1) { return "multiple"; @@ -3152,17 +4769,21 @@ REPLACE INTO translators VALUES ('4afb932d-9211-4c0b-a31c-cfa984d62b66', '1.0.0b item.itemType = "journalArticle"; } else if (itemType.match(/(T|t)hesis/)) { item.itemType = "thesis"; + } else if (itemType == "image") { + item.itemType = "artwork"; } item.title = data[''Title'']; - var authors = data[''Author/Creator''].split(/;/); - for each (var aut in authors) { - if (aut.match(/,/)) { - aut = aut.split(/,\s+/); - aut = aut[1] + " " + aut[0]; + if (data[''Author/Creator'']) { + var authors = data[''Author/Creator''].split(/;/); + for each (var aut in authors) { + if (aut.match(/,/)) { + aut = aut.split(/,\s+/); + aut = aut[1] + " " + aut[0]; + } + item.creators.push(Zotero.Utilities.cleanAuthor(aut, "author")); } - item.creators.push(Zotero.Utilities.cleanAuthor(aut, "author")); } - item.date = data[''Year''].match(/\d{4}\-\d{2}\-\d{2}/)[0]; + item.date = data[''Year'']; //.match(/\d{4}\-\d{2}\-\d{2}/)[0]; item.url = data[''URL'']; if (data[''Note'']) item.abstractNote = Zotero.Utilities.trimInternal(data[''Note'']); if (data[''Subject'']) { @@ -3801,7 +5422,7 @@ REPLACE INTO translators VALUES ('a69deb08-47d9-46ad-afca-bc3a2499ad34', '1.0.0b Zotero.wait(); }'); -REPLACE INTO translators VALUES ('d921155f-0186-1684-615c-ca57682ced9b', '1.0.0b4.r1', '', '2008-05-15 18:30:00', '1', '100', '4', 'JSTOR', 'Simon Kornblith, Sean Takats and Michael Berkowitz', 'https?://[^/]*jstor\.org[^/]*/(action/(showArticle|doBasicSearch|doAdvancedSearch)|stable/|pss)', +REPLACE INTO translators VALUES ('d921155f-0186-1684-615c-ca57682ced9b', '1.0.0b4.r1', '', '2008-05-27 16:45:00', '1', '100', '4', 'JSTOR', 'Simon Kornblith, Sean Takats and Michael Berkowitz', 'https?://[^/]*jstor\.org[^/]*/(action/(showArticle|doBasicSearch|doAdvancedSearch)|stable/|pss|sici)', 'function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -3840,8 +5461,8 @@ REPLACE INTO translators VALUES ('d921155f-0186-1684-615c-ca57682ced9b', '1.0.0b var downloadString = "&noDoi=yesDoi&downloadFileName=deadbeef&suffix=" + jid; var pdfYes = false; } else { - if(elmts.iterateNext()) { - var jid; + if(elmt = elmts.iterateNext()) { + var jid; var jidRe1 = new RegExp("doi=[0-9\.]+/([0-9]+)"); var jidRe2 = new RegExp("stable/view/([0-9]+)"); var jidRe3 = new RegExp("stable/([0-9]+)"); @@ -3855,7 +5476,7 @@ REPLACE INTO translators VALUES ('d921155f-0186-1684-615c-ca57682ced9b', '1.0.0b } else if (jidmatch3) { jid = jidmatch3[1]; } else { - return false; + jid = elmt.href.match(/jid=([0-9]+)/)[1]; } var downloadString = "&noDoi=yesDoi&downloadFileName=deadbeef&suffix="+jid; } @@ -4607,11 +6228,11 @@ function doWeb(doc, url) { Zotero.wait(); }'); -REPLACE INTO translators VALUES ('b8a86e36-c270-48c9-bdd1-22aaa167ef46', '1.0.0b4.r5', '', '2008-03-30 08:00:00', '0', '100', '4', 'Agencia del ISBN', 'Michael Berkowitz', 'http://www.mcu.es/cgi-brs/BasesHTML', +REPLACE INTO translators VALUES ('b8a86e36-c270-48c9-bdd1-22aaa167ef46', '1.0.0b4.r5', '', '2008-06-08 23:00:00', '0', '100', '4', 'Agencia del ISBN', 'Michael Berkowitz', 'http://www.mcu.es/webISBN', 'function detectWeb(doc, url) { - if (doc.evaluate(''//div[@id="formularios"]/div[@class="isbnResultado"]/div[@class="isbnResDescripcion"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + if (doc.evaluate(''//div[@class="isbnResultado"]/div[@class="isbnResDescripcion"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { return "multiple"; - } else if (doc.evaluate(''//div[@id="fichaISBN"]/table/tbody/tr'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + } else if (doc.evaluate(''//div[@class="fichaISBN"]/div[@class="cabecera"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { return "book"; } }', @@ -4619,7 +6240,7 @@ REPLACE INTO translators VALUES ('b8a86e36-c270-48c9-bdd1-22aaa167ef46', '1.0.0b var books = new Array(); if (detectWeb(doc, url) == "multiple") { var items = new Object(); - var boxes = doc.evaluate(''//div[@id="formularios"]/div[@class="isbnResultado"]/div[@class="isbnResDescripcion"]'', doc, null, XPathResult.ANY_TYPE, null); + var boxes = doc.evaluate(''//div[@class="isbnResultado"]/div[@class="isbnResDescripcion"]'', doc, null, XPathResult.ANY_TYPE, null); var box; while (box = boxes.iterateNext()) { var book = doc.evaluate(''./p/span/strong/a'', box, null, XPathResult.ANY_TYPE, null).iterateNext(); @@ -4634,36 +6255,27 @@ REPLACE INTO translators VALUES ('b8a86e36-c270-48c9-bdd1-22aaa167ef46', '1.0.0b } Zotero.Utilities.processDocuments(books, function(newDoc) { var data = new Object(); - var rows = newDoc.evaluate(''//div[@id="fichaISBN"]/table/tbody/tr'', newDoc, null, XPathResult.ANY_TYPE, null); + var rows = newDoc.evaluate(''//div[@class="fichaISBN"]/table/tbody/tr'', newDoc, null, XPathResult.ANY_TYPE, null); var next_row; while (next_row = rows.iterateNext()) { var heading = newDoc.evaluate(''./th'', next_row, null, XPathResult.ANY_TYPE, null).iterateNext().textContent; var value = newDoc.evaluate(''./td'', next_row, null, XPathResult.ANY_TYPE, null).iterateNext().textContent; - data[heading] = Zotero.Utilities.trimInternal(value); + data[heading.replace(/\W/g, "")] = value; } var isbn = Zotero.Utilities.trimInternal(newDoc.evaluate(''//span[@class="cabTitulo"]/strong'', newDoc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent); var item = new Zotero.Item("book"); item.ISBN = isbn; - item.title = data[''Título:'']; - author = data[''Autor:'']; + item.title = Zotero.Utilities.trimInternal(data[''Ttulo'']); + + author = data[''Autores'']; if (author) { - if (author.match(/tr\.$/)) { - item.creators.push(Zotero.Utilities.cleanAuthor(author.match(/([\w\s,]+)/)[1], "author")); - if (author.match(/\[([^\]]+)\]/)) { - item.creators.push(Zotero.Utilities.cleanAuthor(author.match(/\[([^\]]+)\]/)[1], "translator")); - } else { - item.creators.push(Zotero.Utilities.cleanAuthor(author.match(/\)(.*)tr\./)[1], "translator")); - } - } else { - item.creators.push(Zotero.Utilities.cleanAuthor(author, "author")); + var authors = author.match(/\b.*,\s+\w+[^([]/g); + for each (aut in authors) { + item.creators.push(Zotero.Utilities.cleanAuthor(Zotero.Utilities.trimInternal(aut), "author", true)); } } - if (data[''Publicación:'']) { - var pub = data[''Publicación:''].match(/([^.]+)\.([\D]+)([\d\/]+)$/); - item.place = pub[1]; - item.publisher = Zotero.Utilities.trimInternal(pub[2]).replace(/[\s,]+$/, ""); - item.date = pub[3]; - } + if (data[''Publicacin'']) item.publisher = Zotero.Utilities.trimInternal(data[''Publicacin'']); + if (data[''FechaEdicin'']) item.date = Zotero.Utilities.trimInternal(data[''FechaEdicin'']); item.complete(); }, function() {Zotero.done;}); Zotero.wait(); @@ -5065,9 +6677,9 @@ function doWeb(doc, url) { Zotero.wait(); }'); -REPLACE INTO translators VALUES ('9e306d5d-193f-44ae-9dd6-ace63bf47689', '1.0.0b3r1', '', '2008-03-28 16:30:00', '1', '100', '4', 'IngentaConnect', 'Michael Berkowitz', 'http://(www.)?ingentaconnect.com', +REPLACE INTO translators VALUES ('9e306d5d-193f-44ae-9dd6-ace63bf47689', '1.0.0b3r1', '', '2008-05-30 08:00:00', '1', '100', '4', 'IngentaConnect', 'Michael Berkowitz', 'http://(www.)?ingentaconnect.com', 'function detectWeb(doc, url) { - if (url.indexOf("article?") != -1 || url.indexOf("article;") != -1) { + if (url.indexOf("article?") != -1 || url.indexOf("article;") != -1 || url.indexOf("/art") != -1) { return "journalArticle"; } else if (url.indexOf("search?") !=-1 || url.indexOf("search;") != -1) { return "multiple"; @@ -5097,9 +6709,10 @@ REPLACE INTO translators VALUES ('9e306d5d-193f-44ae-9dd6-ace63bf47689', '1.0.0b var key; var keys = new Array(); while (key = keywords.iterateNext()) { - keys.push(key.textContent); + keys.push(Zotero.Utilities.capitalizeTitle(key.textContent)); } Zotero.Utilities.HTTP.doGet(risurl, function(text) { + text = text.replace(/\/{2,}/g, "").replace(/\//g, "-"); var translator = Zotero.loadTranslator("import"); translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); translator.setString(text); @@ -5184,7 +6797,7 @@ REPLACE INTO translators VALUES ('636c8ea6-2af7-4488-8ccd-ea280e4a7a98', '1.0.0b Zotero.wait(); }'); -REPLACE INTO translators VALUES ('3eabecf9-663a-4774-a3e6-0790d2732eed', '1.0.0b4.r5', '', '2008-05-15 00:30:00', '1', '100', '4', 'SciELO', 'Michael Berkowitz', 'http://(www.)?scielo.(org|br)/', +REPLACE INTO translators VALUES ('3eabecf9-663a-4774-a3e6-0790d2732eed', '1.0.0b4.r5', '', '2008-05-30 08:00:00', '1', '100', '4', 'SciELO', 'Michael Berkowitz', 'http://(www.)?scielo.(org|br)/', 'function detectWeb(doc, url) { if (url.indexOf("wxis.exe") != -1) { if (doc.evaluate(''//*[@class="isoref"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { @@ -5199,7 +6812,7 @@ REPLACE INTO translators VALUES ('3eabecf9-663a-4774-a3e6-0790d2732eed', '1.0.0b } }', 'function makeURL(host, str) { - return ''http://'' + host + ''/scieloOrg/php/articleXML.php?pid='' + str.match(/pid=([^&]+)/)[1] + ''&lang=en''; + return ''http://www.scielo.br/scieloOrg/php/articleXML.php?pid='' + str.match(/pid=([^&]+)/)[1]; } function doWeb(doc, url) { @@ -5463,11 +7076,11 @@ function doWeb(doc, url) { Zotero.Utilities.processDocuments(articles, scrape, function() {Zotero.done;}); }'); -REPLACE INTO translators VALUES ('0abd577b-ec45-4e9f-9081-448737e2fd34', '1.0.0b4.r5', '', '2008-02-22 20:30:00', '0', '100', '4', 'DSpace', 'Michael Berkowitz', 'dspace', +REPLACE INTO translators VALUES ('0abd577b-ec45-4e9f-9081-448737e2fd34', '1.0.0b4.r5', '', '2008-06-06 08:45:00', '0', '100', '4', 'DSpace', 'Michael Berkowitz', '(dspace|upcommons.upc.edu)', 'function detectWeb(doc, url) { - if (doc.evaluate(''//center/table[@class="itemDisplayTable"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + if (doc.evaluate(''//table[@class="itemDisplayTable"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { return "document"; - } else if (doc.evaluate(''//table[@class="miscTable"]//td[2]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + } else if (doc.evaluate(''//table[@class="miscTable"]//td[2]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext() || doc.evaluate(''//div[@id="main"]/ul[@class="browselist"]/li/a'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { return "multiple"; } }', @@ -5483,7 +7096,11 @@ function doWeb(doc, url) { var records = new Array(); if (detectWeb(doc, url) == "multiple") { var items = new Object(); - var xpath = ''//table[@class="miscTable"]/tbody/tr/td[2]/a''; + if (doc.evaluate(''//div[@id="main"]/ul[@class="browselist"]/li/a'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + var xpath = ''//div[@id="main"]/ul[@class="browselist"]/li/a''; + } else { + var xpath = ''//table[@class="miscTable"]//td[2]//a''; + } var rows = doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null); var row; while (row = rows.iterateNext()) { @@ -5496,9 +7113,7 @@ function doWeb(doc, url) { } else { records = [url.match(/^([^?]+)\??/)[1] + "?mode=full"]; } - Zotero.debug(records); Zotero.Utilities.processDocuments(records, function(newDoc) { - Zotero.debug(newDoc.location.href); var values = new Object(); var fields = newDoc.evaluate(''//table[@class="itemDisplayTable"]/tbody/tr/td[1]'', newDoc, null, XPathResult.ANY_TYPE, null); var data = newDoc.evaluate(''//table[@class="itemDisplayTable"]/tbody/tr/td[2]'', newDoc, null, XPathResult.ANY_TYPE, null); @@ -5541,12 +7156,11 @@ function doWeb(doc, url) { newItem.rights = datum; } } - var pdf = newDoc.evaluate(''//td[@class="standard"]/a'', newDoc, null, XPathResult.ANY_TYPE, null).iterateNext().href; - newItem.attachments = [ - {url:newDoc.location.href, title:"DSpace Snapshot", mimeType:"text/html"}, - {url:pdf, title:"DSpace PDF", mimeType:"application/pdf"} - ]; - Zotero.debug(newItem); + if (newDoc.evaluate(''//td[@class="standard"]/a'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) var pdf = newDoc.evaluate(''//td[@class="standard"]/a'', newDoc, null, XPathResult.ANY_TYPE, null).iterateNext().href; + newItem.attachments = [{url:newDoc.location.href, title:"DSpace Snapshot", mimeType:"text/html"}]; + if (pdf) { + newItem.attachments.push({url:pdf, title:"DSpace PDF", mimeType:"application/pdf"}); + } newItem.complete(); }, function() {Zotero.done;}); }'); @@ -5850,7 +7464,7 @@ function doWeb(doc, url) { }'); -REPLACE INTO translators VALUES ('e4660e05-a935-43ec-8eec-df0347362e4c', '1.0.0b4.r1', '', '2007-07-31 16:45:00', '0', '100', '4', 'ERIC', 'Ramesh Srigiriraju', '^http://(?:www\.)?eric\.ed\.gov/', +REPLACE INTO translators VALUES ('e4660e05-a935-43ec-8eec-df0347362e4c', '1.0.0b4.r1', '', '2008-06-03 19:40:00', '0', '100', '4', 'ERIC', 'Ramesh Srigiriraju', '^http://(?:www\.)?eric\.ed\.gov/', 'function detectWeb(doc, url) { var namespace=doc.documentElement.namespaceURI; var nsResolver=namespace?function(prefix) { @@ -5926,14 +7540,9 @@ REPLACE INTO translators VALUES ('e4660e05-a935-43ec-8eec-df0347362e4c', '1.0.0b if(doc.evaluate(singpath, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) { var idpath=''//input[@type="hidden"][@name="accno"]/@value''; var idpath2=''//meta[@name="eric #"]/@content''; - var id; - var temp=doc.evaluate(idpath, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext(); - if(temp) - id=temp.nodeValue; - else - id=doc.evaluate(idpath2, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().nodeValue; + var id = url.match(/accno=([^&]+)/)[1]; var string="http://eric.ed.gov/ERICWebPortal/custom/portlets/clipboard/performExport.jsp?accno="; - string+=id+"&texttype=endnote&citationtype=brief&Download.x=86&Download.y=14"; + string+= id+"&texttype=endnote&citationtype=brief&Download.x=86&Download.y=14"; Zotero.Utilities.HTTP.doGet(string, function(text) { var trans=Zotero.loadTranslator("import"); trans.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); @@ -5952,7 +7561,7 @@ REPLACE INTO translators VALUES ('e4660e05-a935-43ec-8eec-df0347362e4c', '1.0.0b } }'); -REPLACE INTO translators VALUES ('5dd22e9a-5124-4942-9b9e-6ee779f1023e', '1.0.0b4.r5', '', '2007-11-29 18:00:00', '1', '100', '4', 'Flickr', 'Sean Takats', '^http://(?:www\.)?flickr\.com/', +REPLACE INTO translators VALUES ('5dd22e9a-5124-4942-9b9e-6ee779f1023e', '1.0.0b4.r5', '', '2008-06-01 17:20:00', '1', '100', '4', 'Flickr', 'Sean Takats', '^http://(?:www\.)?flickr\.com/', 'function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -6022,7 +7631,7 @@ REPLACE INTO translators VALUES ('5dd22e9a-5124-4942-9b9e-6ee779f1023e', '1.0.0b } // tagged with } else if (doc.evaluate(''//p[@class="StreamList" or @class="UserTagList"]/a'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){ - var elmts = doc.evaluate(''//p[@class="StreamList" or @class="UserTagList"]/a[img]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var elmts = doc.evaluate(''//p[@class="StreamList" or @class="UserTagList"]//a[img]'', doc, nsResolver, XPathResult.ANY_TYPE, null); while (elmt = elmts.iterateNext()){ var title = Zotero.Utilities.trimInternal(elmt.title); var link = elmt.href; @@ -7361,7 +8970,7 @@ REPLACE INTO translators VALUES ('b86bb082-6310-4772-a93c-913eaa3dfa1b', '1.0.0b } }'); -REPLACE INTO translators VALUES ('d9be934c-edb9-490c-a88d-34e2ee106cd7', '1.0.0b4.r5', '', '2008-03-25 18:20:36', '0', '100', '4', 'Time.com', 'Michael Berkowitz', '^http://www.time.com/time/', +REPLACE INTO translators VALUES ('d9be934c-edb9-490c-a88d-34e2ee106cd7', '1.0.0b4.r5', '', '2008-05-21 19:15:00', '0', '100', '4', 'Time.com', 'Michael Berkowitz', 'http://www.time.com/time/', 'function detectWeb(doc, url) { if (doc.title == "TIME Magazine - Search Results") { return "multiple"; @@ -7384,7 +8993,7 @@ REPLACE INTO translators VALUES ('d9be934c-edb9-490c-a88d-34e2ee106cd7', '1.0.0b ', 'function associateMeta(newItem, metaTags, field, zoteroField) { if (metaTags[field]) { - newItem[zoteroField] = metaTags[field]; + newItem[zoteroField] = Zotero.Utilities.trimInternal(metaTags[field]); } } @@ -7393,7 +9002,6 @@ function scrape(doc, url) { newItem.publicationTitle = "Time Magazine"; newItem.ISSN = "0040-718X"; newItem.url = doc.location.href; - var metaTags = new Object(); var metaTagHTML = doc.getElementsByTagName("meta") @@ -7431,7 +9039,7 @@ function scrape(doc, url) { newItem.date = date.join(", "); } if (metaTags["keywords"]) { - newItem.tags = Zotero.Utilities.cleanString(metaTags["keywords"]).split(", "); + newItem.tags = Zotero.Utilities.trimInternal(metaTags["keywords"]).split(", "); for (var i in newItem.tags) { if (newItem.tags[i] == "" || newItem.tags[i] == " ") { break; @@ -7449,12 +9057,12 @@ function scrape(doc, url) { } if (metaTags["byline"]) { - var byline = Zotero.Utilities.cleanString(metaTags["byline"]); + var byline = Zotero.Utilities.trimInternal(metaTags["byline"]); var byline1 = byline.split(" and "); for (var i = 0 ; i < byline1.length ; i++) { var byline2 = byline1[i].split("/"); for (var j = 0 ; j < byline2.length ; j++) { - byline2[j] = Zotero.Utilities.cleanString(byline2[j]); + byline2[j] = Zotero.Utilities.trimInternal(byline2[j]); if (byline2[j].indexOf(" ") == -1) { if (byline2[j].length == 2) { newItem.extra = byline2[j]; @@ -7486,7 +9094,6 @@ function doWeb(doc, url) { if (doc.title == "TIME Magazine - Search Results") { var items = new Array(); var items = Zotero.Utilities.getItemArray(doc, doc.getElementById("search_results").getElementsByTagName("h3"), ''^http://www.time.com/time/.*\.html$''); - Zotero.debug(items); items = Zotero.selectItems(items); @@ -7499,11 +9106,12 @@ function doWeb(doc, url) { urls.push(i); } } - Zotero.Utilities.processDocuments(urls, scrape, function() { Zotero.done(); } ); } else if (doc.evaluate(''//meta[@name="byline"]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext() || doc.evaluate(''//div[@class="byline"]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext() || doc.evaluate(''//div[@class="copy"]/div[@class="byline"]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext() ) { - scrape(doc, doc.location.href); + urls.push(doc.location.href); } - + Zotero.Utilities.processDocuments(urls, function(newDoc) { + scrape(newDoc); + }, function() { Zotero.done; } ); Zotero.wait(); }'); @@ -7698,7 +9306,7 @@ function doWeb(doc, url) { } }'); -REPLACE INTO translators VALUES ('6ec8008d-b206-4a4c-8d0a-8ef33807703b', '1.0.0b4.r5', '', '2007-08-27 02:00:00', '1', '100', '4', 'The Economist', 'Michael Berkowitz', '^http://(www.)?economist.com/', +REPLACE INTO translators VALUES ('6ec8008d-b206-4a4c-8d0a-8ef33807703b', '1.0.0b4.r5', '', '2008-05-22 20:30:00', '1', '100', '4', 'The Economist', 'Michael Berkowitz', '^http://(www.)?economist.com/', 'function detectWeb(doc, url) { if (doc.location.href.indexOf("search") != -1) { return "multiple"; @@ -7744,12 +9352,10 @@ REPLACE INTO translators VALUES ('6ec8008d-b206-4a4c-8d0a-8ef33807703b', '1.0.0b newItem.abstractNote = doc.evaluate(''//div[@id="content"]/div[@class="clear top-border"]/div[@class="col-left"]/h2'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; } else if (doc.evaluate(''//div[@class="clear"][@id="pay-barrier"]/div[@class="col-left"]/div[@class="article"]/p/strong'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext() ) { newItem.abstractNote = doc.evaluate(''//div[@class="clear"][@id="pay-barrier"]/div[@class="col-left"]/div[@class="article"]/p/strong'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; + } else if (doc.evaluate(''//div[@id="content"]/div[@class="clear top-border"]/div[@class="col-left"]/p[3]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) { + newItem.abstractNote = doc.evaluate(''//div[@id="content"]/div[@class="clear top-border"]/div[@class="col-left"]/p[3]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; } - - if (newItem.abstractNote[newItem.abstractNote.length - 1] != ".") { - newItem.abstractNote += "."; - } - + if (newItem.abstractNote) newItem.abstractNote = Zotero.Utilities.trimInternal(newItem.abstractNote); //get date and extra stuff if (doc.evaluate(''//div[@class="col-left"]/p[@class="info"]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext() ) { newItem.date = doc.evaluate(''//div[@class="col-left"]/p[@class="info"]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent.substr(0,13); @@ -7803,7 +9409,6 @@ function doWeb(doc, url) { Zotero.Utilities.processDocuments(urls, scrape, function() { Zotero.done(); }); Zotero.wait(); - }'); REPLACE INTO translators VALUES ('84bd421d-c6d1-4223-ab80-a156f98a8e30', '1.0.0b4.r1', '', '2007-07-31 16:45:00', '0', '100', '4', 'International Herald Tribune', 'Michael Berkowitz', '^http://(www.)?iht.com/', @@ -9986,7 +11591,7 @@ REPLACE INTO translators VALUES ('a1a97ad4-493a-45f2-bd46-016069de4162', '1.0.0b }'); -REPLACE INTO translators VALUES ('b61c224b-34b6-4bfd-8a76-a476e7092d43', '1.0.0b4.r5', '', '2008-05-05 07:45:00', '1', '100', '4', 'SSRN', 'Michael Berkowitz', 'http://papers\.ssrn\.com/', +REPLACE INTO translators VALUES ('b61c224b-34b6-4bfd-8a76-a476e7092d43', '1.0.0b4.r5', '', '2008-05-22 19:00:00', '1', '100', '4', 'SSRN', 'Michael Berkowitz', 'http://papers\.ssrn\.com/', 'function detectWeb(doc, url) { var namespace=doc.documentElement.namespaceURI; var nsResolver=namespace?function(prefix) { @@ -10023,31 +11628,54 @@ REPLACE INTO translators VALUES ('b61c224b-34b6-4bfd-8a76-a476e7092d43', '1.0.0b uris.push(url); } - Zotero.Utilities.processDocuments(uris, function(newDoc) { - var id = newDoc.location.href.match(/abstract_id=(\d+)/)[1]; - if (newDoc.evaluate(''//a[@title="Download from Social Science Research Network"]'', newDoc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) { - var pdfurl = newDoc.evaluate(''//a[@title="Download from Social Science Research Network"]'', newDoc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().href; - } - var newURL = ''http://papers.ssrn.com/sol3/RefExport.cfm?abstract_id='' + id + ''&format=3''; - Zotero.Utilities.HTTP.doGet(newURL, function(text) { - var ris=text.match(/<input type=\"Hidden\"\s+name=\"hdnContent\"\s+value=\"([^"]*)\">/)[1]; - var trans=Zotero.loadTranslator("import"); - trans.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); - trans.setString(ris); - trans.setHandler("itemDone", function(obj, item) { - item.itemType = "journalArticle"; - var tags = new Array(); - for each (var tag in item.tags) { - var newtags = tag.split(","); - for each (var newtag in newtags) tags.push(newtag); - } - item.tags = tags; - item.attachments = [{url:item.url, title:"SSRN Snapshot", mimeType:"text/html"}]; - if (pdfurl) item.attachments.push({url:pdfurl, title:"SSRN Full Text PDF", mimeType:"application/pdf"}); - item.complete(); + Zotero.Utilities.processDocuments(uris, function(doc) { + if (doc.evaluate(''//span[@id="knownuser"]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) { + var id = doc.location.href.match(/abstract_id=(\d+)/)[1]; + if (doc.evaluate(''//a[@title="Download from Social Science Research Network"]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) { + var pdfurl = doc.evaluate(''//a[@title="Download from Social Science Research Network"]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().href; + } + var newURL = ''http://papers.ssrn.com/sol3/RefExport.cfm?abstract_id='' + id + ''&format=3''; + Zotero.Utilities.HTTP.doGet(newURL, function(text) { + var ris=text.match(/<input type=\"Hidden\"\s+name=\"hdnContent\"\s+value=\"([^"]*)\">/)[1]; + var trans=Zotero.loadTranslator("import"); + trans.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); + trans.setString(ris); + trans.setHandler("itemDone", function(obj, item) { + item.itemType = "journalArticle"; + var tags = new Array(); + for each (var tag in item.tags) { + var newtags = tag.split(","); + for each (var newtag in newtags) tags.push(newtag); + } + item.tags = tags; + item.attachments = [{url:item.url, title:"SSRN Snapshot", mimeType:"text/html"}]; + if (pdfurl) item.attachments.push({url:pdfurl, title:"SSRN Full Text PDF", mimeType:"application/pdf"}); + item.complete(); + }); + trans.translate(); }); - trans.translate(); - }); + } else { + var item = new Zotero.Item("journalArticle"); + item.title = Zotero.Utilities.capitalizeTitle(Zotero.Utilities.trimInternal(doc.evaluate(''//tbody/tr/td[2]/font/strong'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent)); + var authors = doc.evaluate(''//tr/td/center/font/a[@class="textlink"]'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var author; + while (author = authors.iterateNext()) { + var aut = Zotero.Utilities.capitalizeTitle(Zotero.Utilities.trimInternal(author.textContent)); + item.creators.push(Zotero.Utilities.cleanAuthor(aut, "author")); + } + item.abstractNote = Zotero.Utilities.trimInternal(doc.evaluate(''//td[strong/font]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent).substr(10); + item.tags = Zotero.Utilities.trimInternal(doc.evaluate(''//font[contains(text(), "Key")]'', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent).substr(10).split(/,\s+/); + item.publicationTitle = "SSRN eLibrary"; + + var bits = doc.evaluate(''//tr/td/center/font'', doc, nsResolver, XPathResult.ANY_TYPE, null); + var bit; + while (bit = bits.iterateNext()) { + if (bit.textContent.match(/\d{4}/)) item.date = Zotero.Utilities.trimInternal(bit.textContent); + } + item.url = doc.location.href; + item.attachments = [{url:item.url, title:"SSRN Snapshot", mimeType:"text/html"}]; + item.complete(); + } }, function() {Zotero.done;}); Zotero.wait(); }'); @@ -10478,10 +12106,11 @@ function doWeb(doc, url) { Zotero.wait(); }'); -REPLACE INTO translators VALUES ('4fd6b89b-2316-2dc4-fd87-61a97dd941e8', '1.0.0b3.r1', '', '2008-05-15 00:30:00', '1', '200', '4', 'Library Catalog (InnoPAC)', 'Simon Kornblith and Michael Berkowitz', 'https?://[^/]+/(search(\*spi)?(\?|~(S[\d]+)?)?)\??/(a|X|t)?\??', +REPLACE INTO translators VALUES ('4fd6b89b-2316-2dc4-fd87-61a97dd941e8', '1.0.0b3.r1', '', '2008-05-28 18:30:00', '1', '200', '4', 'Library Catalog (InnoPAC)', 'Simon Kornblith and Michael Berkowitz', '(search~|\/search\?|(a|X|t|Y|w)\?|\?(searchtype|searchscope)|frameset&FF)', 'function detectWeb(doc, url) { + if (!url.match(/SEARCH=/) && !url.match(/searchargs?=/) && !url.match(/&FF/)) return false; // First, check to see if the URL alone reveals InnoPAC, since some sites don''t reveal the MARC button - var matchRegexp = new RegExp(''^https?://[^/]+/search[^/]*\\??/[^/]+(/[^/]+/[0-9]+\%2C[^/]+/frameset(.+)$)?''); + var matchRegexp = new RegExp(''^https?://[^/]+/search[^/]*\\??/[^/]+/[^/]+/[0-9]+\%2C[^/]+/frameset(.+)$''); if(matchRegexp.test(doc.location.href)) { if (!url.match("SEARCH") && !url.match("searchtype")) { return "book"; @@ -10501,7 +12130,7 @@ REPLACE INTO translators VALUES ('4fd6b89b-2316-2dc4-fd87-61a97dd941e8', '1.0.0b // Also, check for links to an item display page var tags = doc.getElementsByTagName("a"); for(var i=0; i<tags.length; i++) { - if(matchRegexp.test(tags[i].href) || tags[i].href.match(/^https?:\/\/[^/]+\/(?:search\??\/|record=?|search%7e\/)/)) { + if(matchRegexp.test(tags[i].href) || tags[i].href.match(/^https?:\/\/([^/]+\/(?:search\??\/|record=?|search%7e\/)|frameset&FF=)/)) { return "multiple"; } } @@ -10626,12 +12255,10 @@ function doWeb(doc, url) { var i = 0; while(tableRow = tableRows.iterateNext()) { // get link - var links = doc.evaluate(''.//span[@class="briefcitTitle"]/a'', tableRow, - nsResolver, XPathResult.ANY_TYPE, null); + var links = doc.evaluate(''.//span[@class="briefcitTitle"]/a'', tableRow, nsResolver, XPathResult.ANY_TYPE, null); var link = links.iterateNext(); if(!link) { - var links = doc.evaluate(".//a", tableRow, nsResolver, - XPathResult.ANY_TYPE, null); + var links = doc.evaluate(".//a", tableRow, nsResolver, XPathResult.ANY_TYPE, null); link = links.iterateNext(); } @@ -10643,7 +12270,7 @@ function doWeb(doc, url) { // Go through links while(link) { - availableItems[link.href] = link.textContent; + if (link.textContent.match(/\w+/)) availableItems[link.href] = link.textContent; link = links.iterateNext(); } i++; @@ -10666,7 +12293,7 @@ function doWeb(doc, url) { Zotero.wait(); }'); -REPLACE INTO translators VALUES ('add7c71c-21f3-ee14-d188-caf9da12728b', '1.0.0b3.r1', '', '2007-03-25 00:50:00', '1', '100', '4', 'Library Catalog (SIRSI)', 'Sean Takats', '/uhtbin/cgisirsi', +REPLACE INTO translators VALUES ('add7c71c-21f3-ee14-d188-caf9da12728b', '1.0.0b3.r1', '', '2008-05-27 20:00:00', '1', '100', '4', 'Library Catalog (SIRSI)', 'Sean Takats', '/uhtbin/cgisirsi', 'function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -10721,6 +12348,7 @@ REPLACE INTO translators VALUES ('add7c71c-21f3-ee14-d188-caf9da12728b', '1.0.0b var newItem = new Zotero.Item("book"); newItem.extra = ""; + authors = []; while(elmt) { try { var node = doc.evaluate(''./TD[1]/A[1]/text()[1]'', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext(); @@ -10742,28 +12370,49 @@ REPLACE INTO translators VALUES ('add7c71c-21f3-ee14-d188-caf9da12728b', '1.0.0b var re = /^[0-9](?:[0-9X]+)/; var m = re.exec(value); newItem.ISBN = m[0]; - } else if(field == "title") { + } else if(field == "title" || field == "título") { var titleParts = value.split(" / "); newItem.title = Zotero.Utilities.capitalizeTitle(titleParts[0]); - } else if(field == "publication info") { + } else if(field == "publication info" || field == "publicación") { var pubParts = value.split(" : "); newItem.place = pubParts[0]; - } else if(field == "personal author") { - newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "author", true)); - } else if(field == "author"){ - newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "author", true)); + if (pubParts[1].match(/\d+/)) newItem.date = pubParts[1].match(/\d+/)[0]; + } else if(field == "personal author" || field == "autor personal") { + if(authors.indexOf(value) == -1) { + value = value.replace(/(\(|\)|\d+|\-)/g, ""); + newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "author", true)); + authors.push(value); + } + } else if(field == "author"){ + if(authors.indexOf(value) == -1) { + newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "author", true)); + authors.push(value); + } } else if(field == "added author") { - newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "contributor", true)); + if(authors.indexOf(value) == -1) { + newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "contributor", true)); + authors.push(value); + } } else if(field == "corporate author") { - newItem.creators.push({lastName:author, fieldMode:true}); + if(authors.indexOf(value) == -1) { + newItem.creators.push({lastName:value, fieldMode:true}); + authors.push(value); + } } else if(field == "edition") { - newItem.tags = newItem.edition = value; + newItem.edition = value; } else if(field == "subject term" || field == "corporate subject" || field == "geographic term" || field == "subject") { var subjects = value.split("--"); - newItem.tags = newItem.tags.concat(subjects); + for(var i=0; i<subjects.length; i++) { + if(newItem.tags.indexOf(subjects[i]) == -1) { + newItem.tags.push(subjects[i]); + } + } } else if(field == "personal subject") { var subjects = value.split(", "); - newItem.tags = newItem.tags.push(value[0]+", "+value[1]); + var tag = value[0]+", "+value[1]; + if(newItems.tag.indexOf(tag) == -1) { + newItem.tags.push(tag); + } } else if(value && field != "http") { newItem.extra += casedField+": "+value+"\n"; } @@ -11632,7 +13281,7 @@ REPLACE INTO translators VALUES ('b047a13c-fe5c-6604-c997-bef15e502b09', '1.0.0b Zotero.wait(); }'); -REPLACE INTO translators VALUES ('5e3e6245-83da-4f55-a39b-b712df54a935', '1.0.0b3.r1', '', '2007-08-27 05:00:00', '0', '90', '4', 'Melvyl', 'Sean Takats', '^https?://(?:melvyl.cdlib.org|melvyl-dev.cdlib.org:8162)/F(?:/[A-Z0-9\-]+(?:\?.*)?$|\?func=find|\?func=scan)', +REPLACE INTO translators VALUES ('5e3e6245-83da-4f55-a39b-b712df54a935', '1.0.0b3.r1', '', '2008-05-19 17:20:00', '0', '90', '4', 'Melvyl', 'Sean Takats and Michael Berkowitz', '^https?://(?:melvyl.cdlib.org|melvyl-dev.cdlib.org:8162)/F(?:/[A-Z0-9\-]+(?:\?.*)?$|\?func=find|\?func=scan)', 'function detectWeb(doc, url) { var singleRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=[0-9]{3}|func=direct)"); @@ -11712,7 +13361,7 @@ REPLACE INTO translators VALUES ('5e3e6245-83da-4f55-a39b-b712df54a935', '1.0.0b var marc = translator.getTranslatorObject(); Zotero.Utilities.processDocuments(newUris, function(newDoc) { var uri = newDoc.location.href; - + var namespace = newDoc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { if (prefix == ''x'') return namespace; else return null; @@ -11724,14 +13373,13 @@ REPLACE INTO translators VALUES ('5e3e6245-83da-4f55-a39b-b712df54a935', '1.0.0b var record = new marc.record(); while(elmt = elmts.iterateNext()) { - var field = Zotero.Utilities.superCleanString(doc.evaluate(''./TD[1]/strong/text()[1]'', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().nodeValue); - var value = doc.evaluate(''./TD[2]'', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; + var field = Zotero.Utilities.trimInternal(newDoc.evaluate(''./TD[1]/strong/text()[1]'', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().nodeValue); + var value = newDoc.evaluate(''./TD[2]'', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; if(field == "LDR") { record.leader = value; } else if(field != "FMT") { - Zotero.debug("field=" + field); value = value.replace(/\|([a-z]) /g, marc.subfieldDelimiter+"$1"); var code = field.substring(0, 3); @@ -11742,7 +13390,6 @@ REPLACE INTO translators VALUES ('5e3e6245-83da-4f55-a39b-b712df54a935', '1.0.0b ind += field[4]; } } - record.addField(code, ind, value); } } @@ -11759,9 +13406,9 @@ REPLACE INTO translators VALUES ('5e3e6245-83da-4f55-a39b-b712df54a935', '1.0.0b Zotero.wait(); }'); -REPLACE INTO translators VALUES ('cf87eca8-041d-b954-795a-2d86348999d5', '1.0.0b3.r1', '', '2008-04-15 07:30:00', '1', '100', '4', 'Library Catalog (Aleph)', 'Simon Kornblith and Michael Berkowitz', 'https?://[^/]+/F(?:/[A-Z0-9\-]+(?:\?.*)?$|\?func=find|\?func=scan)', +REPLACE INTO translators VALUES ('cf87eca8-041d-b954-795a-2d86348999d5', '1.0.0b3.r1', '', '2008-06-10 22:30:00', '1', '100', '4', 'Library Catalog (Aleph)', 'Simon Kornblith and Michael Berkowitz', 'https?://[^/]+/F(?:/[A-Z0-9\-]+(?:\?.*)?$|\?func=find|\?func=scan|\?func=short)', 'function detectWeb(doc, url) { - var singleRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=[0-9]{3}|func=direct)"); + var singleRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=[0-9]{3}|func=direct|func=myshelf-full.*)"); if(singleRe.test(doc.location.href)) { return "book"; @@ -11775,7 +13422,8 @@ REPLACE INTO translators VALUES ('cf87eca8-041d-b954-795a-2d86348999d5', '1.0.0b } }', 'function doWeb(doc, url) { - var detailRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=[0-9]{3}|func=direct)"); + var detailRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=[0-9]{3}|func=direct|func=myshelf-full.*)"); + var mab2Opac = new RegExp("^https?://[^/]+berlin|193\.30\.112\.134|duisburg-essen/F/[A-Z0-9\-]+\?.*"); var uri = doc.location.href; var newUris = new Array(); @@ -11784,7 +13432,7 @@ REPLACE INTO translators VALUES ('cf87eca8-041d-b954-795a-2d86348999d5', '1.0.0b if (newuri == uri) newuri += "&format=001"; newUris.push(newuri); } else { - var itemRegexp = ''^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=999|func=direct)'' + var itemRegexp = ''^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=999|func=direct|func=myshelf-full.*)'' var items = Zotero.Utilities.getItemArray(doc, doc, itemRegexp, ''^[0-9]+$''); // ugly hack to see if we have any items @@ -11814,7 +13462,11 @@ REPLACE INTO translators VALUES ('cf87eca8-041d-b954-795a-2d86348999d5', '1.0.0b } } var translator = Zotero.loadTranslator("import"); - translator.setTranslator("a6ee60df-1ddc-4aae-bb25-45e0537be973"); + if(mab2Opac.test(uri)) { + translator.setTranslator("91acf493-0de7-4473-8b62-89fd141e6c74"); + } else { + translator.setTranslator("a6ee60df-1ddc-4aae-bb25-45e0537be973"); + } var marc = translator.getTranslatorObject(); Zotero.Utilities.processDocuments(newUris, function(newDoc) { var uri = newDoc.location.href; @@ -12490,7 +14142,7 @@ REPLACE INTO translators VALUES ('c54d1932-73ce-dfd4-a943-109380e06574', '1.0.0b } }'); -REPLACE INTO translators VALUES ('fcf41bed-0cbc-3704-85c7-8062a0068a7a', '1.0.0b3.r1', '', '2008-03-14 18:00:00', '1', '100', '4', 'NCBI PubMed', 'Simon Kornblith and Michael Berkowitz', 'http://[^/]*www\.ncbi\.nlm\.nih\.gov[^/]*/(pubmed|sites/entrez|entrez/query\.fcgi\?.*db=PubMed)', +REPLACE INTO translators VALUES ('fcf41bed-0cbc-3704-85c7-8062a0068a7a', '1.0.0b3.r1', '', '2008-06-11 05:00:00', '1', '100', '4', 'NCBI PubMed', 'Simon Kornblith and Michael Berkowitz', 'http://[^/]*www\.ncbi\.nlm\.nih\.gov[^/]*/(pubmed|sites/entrez|entrez/query\.fcgi\?.*db=PubMed)', 'function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -12570,7 +14222,7 @@ function detectSearch(item) { if(article.Journal.length()) { var issn = article.Journal.ISSN.text().toString(); if(issn) { - newItem.ISSN = issn.replace(/[^0-9]/g, ""); + newItem.ISSN = issn; } newItem.journalAbbreviation = Zotero.Utilities.superCleanString(citation.MedlineJournalInfo.MedlineTA.text().toString()); @@ -12618,6 +14270,9 @@ function detectSearch(item) { } newItem.abstractNote = article.Abstract.AbstractText.toString() + newItem.DOI = xml.PubmedArticle[i].PubmedData.ArticleIdList.ArticleId[0].text().toString(); + newItem.journalAbbreviation = newItem.journalAbbreviation.replace(/(\w\b)/g, "$1."); + newItem.publicationTitle = Zotero.Utilities.capitalizeTitle(newItem.publicationTitle); newItem.complete(); } @@ -14418,7 +16073,7 @@ function doWeb(doc, url) { Zotero.wait(); }'); -REPLACE INTO translators VALUES ('d0b1914a-11f1-4dd7-8557-b32fe8a3dd47', '1.0.0b3.r1', '', '2008-05-05 07:45:00', '1', '100', '4', 'EBSCOhost', 'Simon Kornblith', 'https?://[^/]+/(?:bsi|ehost)/(?:results|detail|folder)', +REPLACE INTO translators VALUES ('d0b1914a-11f1-4dd7-8557-b32fe8a3dd47', '1.0.0b3.r1', '', '2008-05-22 20:30:00', '1', '100', '4', 'EBSCOhost', 'Simon Kornblith', 'https?://[^/]+/(?:bsi|ehost)/(?:results|detail|folder)', 'function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -14480,11 +16135,6 @@ function downloadFunction(text) { if (text.match("L3")) { item.DOI = text.match(/L3\s+\-\s*(.*)/)[1]; } - - if(item.notes && item.notes[0]) { - item.abstractNote = item.notes[0].note; - item.notes = new Array(); - } item.complete(); }); translator.translate(); @@ -15618,12 +17268,12 @@ REPLACE INTO translators VALUES ('fe728bc9-595a-4f03-98fc-766f1d8d0936', '1.0.0b Zotero.wait(); }'); -REPLACE INTO translators VALUES ('b6d0a7a-d076-48ae-b2f0-b6de28b194e', '1.0.0b3.r1', '', '2008-04-28 17:50:00', '1', '100', '4', 'ScienceDirect', 'Michael Berkowitz', 'https?://www\.sciencedirect\.com[^/]*/science(\/article)?\?(?:.+\&|)_ob=(?:ArticleURL|ArticleListURL|PublicationURL)', +REPLACE INTO translators VALUES ('b6d0a7a-d076-48ae-b2f0-b6de28b194e', '1.0.0b3.r1', '', '2008-05-27 17:30:00', '1', '100', '4', 'ScienceDirect', 'Michael Berkowitz', 'https?://www\.sciencedirect\.com[^/]*/science(\/article)?\?(?:.+\&|)_ob=(?:ArticleURL|ArticleListURL|PublicationURL)', 'function detectWeb(doc, url) { if ((url.indexOf("_ob=DownloadURL") != -1) || doc.title == "ScienceDirect Login") { return false; } - if(url.indexOf("_ob=ArticleURL") == -1) { + if(url.indexOf("_ob=ArticleURL") == -1 || url.indexOf("/journal/") != -1) { return "multiple"; } else { return "journalArticle"; @@ -15652,7 +17302,7 @@ REPLACE INTO translators VALUES ('b6d0a7a-d076-48ae-b2f0-b6de28b194e', '1.0.0b3. while (next_row = rows.iterateNext()) { var title = next_row.textContent; var link = next_row.href; - items[link] = title; + if (!title.match(/PDF \(/) && !title.match(/Related Articles/)) items[link] = title; } items = Zotero.selectItems(items); for (var i in items) { @@ -15737,17 +17387,11 @@ REPLACE INTO translators VALUES ('b6d0a7a-d076-48ae-b2f0-b6de28b194e', '1.0.0b3. var title = doc2.title.match(/^[^-]+\-([^:]+):(.*)$/); item.title = Zotero.Utilities.trimInternal(title[2]); item.publicationTitle = Zotero.Utilities.trimInternal(title[1]); - var voliss = Zotero.Utilities.trimInternal(doc2.evaluate(''//div[@class="pageText"][@id="sdBody"]/table/tbody/tr/td[1]'', doc2, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent).split(/,/); - if (voliss[3] && voliss[3].match(/[\-\d]+/)) { - item.volume = voliss[0].match(/\d+/)[0]; - item.issue = voliss[1].match(/[\-\d]+/)[0]; - item.date = Zotero.Utilities.trimInternal(voliss[2]); - item.pages = voliss[3].match(/[R\-\d]+/)[0]; - } else if (voliss[2]) { - item.volume = voliss[0].match(/\d+/)[0]; - item.date = Zotero.Utilities.trimInternal(voliss[1]); - item.pages = voliss[2].match(/[R\-\d]+/)[0]; - } + voliss = doc2.evaluate(''//div[@class="pageText"][@id="sdBody"]/table/tbody/tr/td[1]'', doc2, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; + if (voliss.match(/Volume\s+\d+/)) item.volume = voliss.match(/Volume\s+(\d+)/)[1]; + if (voliss.match(/Issues?\s+[^,]+/)) item.issue = voliss.match(/Issues?\s+([^,]+)/)[1]; + if (voliss.match(/(J|F|M|A|S|O|N|D)\w+\s+\d{4}/)) item.date = voliss.match(/(J|F|M|A|S|O|N|D)\w+\s+\d{4}/)[0]; + if (voliss.match(/Pages?\s+[^,^\s]+/)) item.pages = voliss.match(/Pages?\s+([^,^\s]+)/)[1]; item.DOI = doc2.evaluate(''//div[@class="articleHeaderInner"][@id="articleHeader"]/a[contains(text(), "doi")]'', doc2, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent.substr(4); var abspath = ''//div[@class="articleHeaderInner"][@id="articleHeader"]/div[@class="articleText"]/p''; var absx = doc2.evaluate(abspath, doc2, nsResolver, XPathResult.ANY_TYPE, null); @@ -16621,7 +18265,7 @@ REPLACE INTO translators VALUES ('92d4ed84-8d0-4d3c-941f-d4b9124cfbb', '1.0.0b3. Zotero.wait(); }'); -REPLACE INTO translators VALUES ('7bdb79e-a47f-4e3d-b317-ccd5a0a74456', '1.0.0b3.r1', '', '2007-03-24 22:20:00', '1', '100', '4', 'Factiva', 'Simon Kornblith', '^https?://global\.factiva\.com[^/]*/ha/default\.aspx$', +REPLACE INTO translators VALUES ('7bdb79e-a47f-4e3d-b317-ccd5a0a74456', '1.0.0b3.r1', '', '2008-05-20 19:10:00', '1', '100', '4', 'Factiva', 'Simon Kornblith', 'https?://[^/]*global\.factiva\.com[^/]*/ha/default\.aspx$', 'function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -16842,7 +18486,7 @@ function doWeb(doc, url){ Zotero.wait(); }'); -REPLACE INTO translators VALUES ('82174f4f-8c13-403b-99b2-affc7bc7769b', '1.0.0b3.r1', '', '2008-03-20 20:00:00', '1', '100', '4', 'Cambridge Scientific Abstracts', 'Simon Kornblith and Michael Berkowitz', 'https?://[^/]+/ids70/(?:results.php|view_record.php)', +REPLACE INTO translators VALUES ('82174f4f-8c13-403b-99b2-affc7bc7769b', '1.0.0b3.r1', '', '2008-05-28 18:30:00', '1', '100', '4', 'Cambridge Scientific Abstracts', 'Simon Kornblith and Michael Berkowitz', 'https?://[^/]+/ids70/(?:results.php|view_record.php)', 'function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -16920,16 +18564,14 @@ REPLACE INTO translators VALUES ('82174f4f-8c13-403b-99b2-affc7bc7769b', '1.0.0b } else if(heading == "author") { var authors = content.split("; "); for each(var author in authors) { - newItem.creators.push(Zotero.Utilities.cleanAuthor(author, "author", true)); + newItem.creators.push(Zotero.Utilities.cleanAuthor(author.replace(/\d+/g, ""), "author", true)); } } else if(heading == "source") { if(itemType == "journalArticle") { var parts = content.split(/(,|;)/); newItem.publicationTitle = parts.shift(); - Zotero.debug(parts); for each (var i in parts) { if (i.match(/\d+/)) { - Zotero.debug(i); if (i.match(/v(ol)?/)) { newItem.volume = i.match(/\d+/)[0]; } else if (i.match(/pp/)) { @@ -17019,7 +18661,7 @@ function doWeb(doc, url) { } }'); -REPLACE INTO translators VALUES ('e78d20f7-488-4023-831-dfe39679f3f', '1.0.0b3.r1', '', '2008-03-04 20:00:00', '1', '100', '4', 'ACM', 'Simon Kornblith', 'https?://[^/]*portal\.acm\.org[^/]*/(?:results\.cfm|citation\.cfm)', +REPLACE INTO translators VALUES ('e78d20f7-488-4023-831-dfe39679f3f', '1.0.0b3.r1', '', '2008-06-06 08:45:00', '1', '100', '4', 'ACM', 'Simon Kornblith and Michael Berkowitz', 'https?://[^/]*portal\.acm\.org[^/]*/(?:results\.cfm|citation\.cfm)', 'function detectWeb(doc, url) { if(url.indexOf("/results.cfm") != -1) { var items = Zotero.Utilities.getItemArray(doc, doc, ''^https?://[^/]+/citation.cfm\\?[^#]+$''); @@ -17055,10 +18697,13 @@ function scrape(doc) { null).iterateNext().getAttribute("onClick"); var m = onClick.match(/''([^'']+)''/); - var abstract = doc.evaluate(''//div[@class="abstract"]/p[@class="abstract"]'', doc, null, - XPathResult.ANY_TYPE, null).iterateNext(); - if(abstract) abstract = Zotero.Utilities.cleanString(abstract.textContent); - + if (doc.evaluate(''//div[@class="abstract"]/p[@class="abstract"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) { + var abstract = doc.evaluate(''//div[@class="abstract"]/p[@class="abstract"]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext(); + if (!abstract.textContent.match(/\w+/)) { + var abstract = doc.evaluate(''//div[@class="abstract"]/p[2]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext(); + } + if(abstract) abstract = Zotero.Utilities.cleanString(abstract.textContent); + } var snapshot = doc.location.href; var attachments = new Array(); @@ -17953,7 +19598,7 @@ function doWeb(doc, url) { }'); -REPLACE INTO translators VALUES ('1b9ed730-69c7-40b0-8a06-517a89a3a278', '1.0.0b3.r1', '', '2007-01-24 01:35:00', '0', '100', '4', 'Sudoc', 'Sean Takats', '^http://www\.sudoc\.abes\.fr', +REPLACE INTO translators VALUES ('1b9ed730-69c7-40b0-8a06-517a89a3a278', '1.0.0b3.r1', '', '2008-05-19 17:30:00', '0', '100', '4', 'Sudoc', 'Sean Takats and Michael Berkowitz', '^http://www\.sudoc\.abes\.fr', 'function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -18028,7 +19673,7 @@ REPLACE INTO translators VALUES ('1b9ed730-69c7-40b0-8a06-517a89a3a278', '1.0.0b var field = doc.evaluate(''./td[1]'', tableRow, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; var value = doc.evaluate(''./td[2]'', tableRow, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; field = Zotero.Utilities.superCleanString(field); - + field = field.replace(/(\(s\))?\s*:\s*$/, ""); if (field == "Titre" || field == "Title"){ Zotero.debug("title = " + value); value = value.replace(/(\[[^\]]+\])/g,""); @@ -18040,7 +19685,7 @@ REPLACE INTO translators VALUES ('1b9ed730-69c7-40b0-8a06-517a89a3a278', '1.0.0b while (author = authors.iterateNext()){ var authorText = author.textContent; var authorParts = authorText.split(" ("); - newItem.creators.push(Zotero.Utilities.cleanAuthor(authorParts[0], 1, true)); + newItem.creators.push(Zotero.Utilities.cleanAuthor(authorParts[0], "author", true)); } } if (field.substr(0,4) == "Date"){ @@ -21110,7 +22755,7 @@ function doExport() { } }'); -REPLACE INTO translators VALUES ('9cb70025-a888-4a29-a210-93ec52da40d4', '1.0.0b4.r1', '', '2008-05-06 18:45:00', '1', '200', '3', 'BibTeX', 'Simon Kornblith', 'bib', +REPLACE INTO translators VALUES ('9cb70025-a888-4a29-a210-93ec52da40d4', '1.0.0b4.r1', '', '2008-05-20 06:00:00', '1', '200', '3', 'BibTeX', 'Simon Kornblith', 'bib', 'Zotero.configure("dataMode", "block"); Zotero.addOption("UTF8", true); @@ -21163,6 +22808,7 @@ var fieldMap = { var inputFieldMap = { booktitle :"publicationTitle", school:"publisher", + institution:"publisher", publisher:"publisher" }; @@ -21188,7 +22834,8 @@ var zotero2bibtexTypeMap = { "film":"misc", "artwork":"misc", "webpage":"misc", - "conferencePaper":"inproceedings" + "conferencePaper":"inproceedings", + "report":"techreport" }; var bibtex2zoteroTypeMap = { @@ -22207,7 +23854,8 @@ var reversemappingTable = { "\u2026":"{\\textellipsis}", // HORIZONTAL ELLIPSIS "\u2030":"{\\textperthousand}", // PER MILLE SIGN "\u2034":"''''''", // TRIPLE PRIME - "\u2036":"``", // REVERSED DOUBLE PRIME + "\u201D":"''''", // RIGHT DOUBLE QUOTATION MARK (could be a double prime) + "\u201C":"``", // LEFT DOUBLE QUOTATION MARK (could be a reversed double prime) "\u2037":"```", // REVERSED TRIPLE PRIME "\u2039":"{\\guilsinglleft}", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK "\u203A":"{\\guilsinglright}", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK @@ -23004,13 +24652,13 @@ function doExport() { writeField(field, item[fieldMap[field]]); } } - - if(item.proceedingsTitle || item.conferenceName) { - writeField("booktitle", item.proceedingsTitle || item.conferenceName); + + if(item.reportNumber || item.issue) { + writeField("number", item.reportNumber || item.issue); } if(item.publicationTitle) { - if(item.itemType == "chapter") { + if(item.itemType == "chapter" || item.itemType == "conferencePaper") { writeField("booktitle", item.publicationTitle); } else { writeField("journal", item.publicationTitle); @@ -23020,6 +24668,8 @@ function doExport() { if(item.publisher) { if(item.itemType == "thesis") { writeField("school", item.publisher); + } else if(item.itemType =="report") { + writeField("institution", item.publisher); } else { writeField("publisher", item.publisher); } @@ -23075,7 +24725,7 @@ function doExport() { } if(item.pages) { - writeField("pages", item.pages); + writeField("pages", item.pages.replace("-","--")); } if(item.itemType == "webpage") {