diff --git a/chrome.manifest b/chrome.manifest
index f799d93776..5d9ce78470 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 0290c8dfdf..6414110a93 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 8a77b1d143..a52fb3f4d0 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 f1d91adc40..9f0ab20eb2 100644
--- a/chrome/content/zotero/bindings/relatedbox.xml
+++ b/chrome/content/zotero/bindings/relatedbox.xml
@@ -138,8 +138,12 @@
+ style="padding:2em"
+ persist="screenX screenY">
@@ -44,7 +45,8 @@
-
+
diff --git a/chrome/content/zotero/xpcom/cite.js b/chrome/content/zotero/xpcom/cite.js
index 8049e5cf89..34048bc924 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 07c4a620a6..cfc611d164 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 9387b78c28..2a96b56b8a 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 15cc4f46c4..d0adb47431 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 842e9a8d9b..3aa22a8a10 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 6d35ce03da..2c4ca7a765 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 ff9ca4f6b6..9aba838b64 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 930ab8e30b..96d58ef707 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;
+ for (var i=0; i{content[i]};
+ 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 19cb0a50fd..845ff9bad8 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 76b3afb07b..a33f1a8193 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 24099c0dd6..39e708f1b8 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 f73db74e68..237dcdee9a 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
-
-
+
+
@@ -35,10 +35,10 @@
-
-
+
+
-
+
diff --git a/chrome/locale/es-ES/zotero/zotero.dtd b/chrome/locale/es-ES/zotero/zotero.dtd
index 790a8e2023..16aad7b529 100644
--- a/chrome/locale/es-ES/zotero/zotero.dtd
+++ b/chrome/locale/es-ES/zotero/zotero.dtd
@@ -5,8 +5,8 @@
-
-
+
+
@@ -35,7 +35,7 @@
-
+
diff --git a/chrome/locale/fr-FR/zotero/zotero.properties b/chrome/locale/fr-FR/zotero/zotero.properties
index ace0de5bca..5061358d8e 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 cae141d9e6..6182ba703c 100644
--- a/chrome/locale/it-IT/zotero/zotero.dtd
+++ b/chrome/locale/it-IT/zotero/zotero.dtd
@@ -5,8 +5,8 @@
-
-
+
+
@@ -35,10 +35,10 @@
-
-
+
+
-
+
diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/zotero/zotero.properties
index cc30da2b72..3250618afc 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 2682abb631..106d2c91f2 100644
--- a/chrome/locale/nb-NO/zotero/zotero.dtd
+++ b/chrome/locale/nb-NO/zotero/zotero.dtd
@@ -5,8 +5,8 @@
-
-
+
+
@@ -35,10 +35,10 @@
-
-
+
+
-
+
diff --git a/chrome/locale/sk-SK/zotero/about.dtd b/chrome/locale/sk-SK/zotero/about.dtd
new file mode 100644
index 0000000000..5a788a15d2
--- /dev/null
+++ b/chrome/locale/sk-SK/zotero/about.dtd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/sk-SK/zotero/preferences.dtd b/chrome/locale/sk-SK/zotero/preferences.dtd
new file mode 100644
index 0000000000..fa5864c617
--- /dev/null
+++ b/chrome/locale/sk-SK/zotero/preferences.dtd
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/sk-SK/zotero/searchbox.dtd b/chrome/locale/sk-SK/zotero/searchbox.dtd
new file mode 100644
index 0000000000..784a7d9725
--- /dev/null
+++ b/chrome/locale/sk-SK/zotero/searchbox.dtd
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/sk-SK/zotero/timeline.properties b/chrome/locale/sk-SK/zotero/timeline.properties
new file mode 100644
index 0000000000..dc8400ae25
--- /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 0000000000..e09e86a54e
--- /dev/null
+++ b/chrome/locale/sk-SK/zotero/zotero.dtd
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/sk-SK/zotero/zotero.properties b/chrome/locale/sk-SK/zotero/zotero.properties
new file mode 100644
index 0000000000..92b7dee1c7
--- /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 4f55e1277b..fe5d5c4173 100644
--- a/chrome/locale/sl-SI/zotero/searchbox.dtd
+++ b/chrome/locale/sl-SI/zotero/searchbox.dtd
@@ -1,8 +1,8 @@
-
-
-
+
+
+
diff --git a/chrome/locale/sr-YU/zotero/about.dtd b/chrome/locale/sr-YU/zotero/about.dtd
deleted file mode 100644
index 377d909e97..0000000000
--- a/chrome/locale/sr-YU/zotero/about.dtd
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/chrome/locale/sr-YU/zotero/preferences.dtd b/chrome/locale/sr-YU/zotero/preferences.dtd
deleted file mode 100644
index dd422e7add..0000000000
--- a/chrome/locale/sr-YU/zotero/preferences.dtd
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/chrome/locale/sr-YU/zotero/searchbox.dtd b/chrome/locale/sr-YU/zotero/searchbox.dtd
deleted file mode 100644
index 983698b8c7..0000000000
--- a/chrome/locale/sr-YU/zotero/searchbox.dtd
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/chrome/locale/sr-YU/zotero/timeline.properties b/chrome/locale/sr-YU/zotero/timeline.properties
deleted file mode 100644
index 26d34cd0b2..0000000000
--- 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 23119cf80a..0000000000
--- a/chrome/locale/sr-YU/zotero/zotero.dtd
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/chrome/locale/sr-YU/zotero/zotero.properties b/chrome/locale/sr-YU/zotero/zotero.properties
deleted file mode 100644
index dcf975e073..0000000000
--- 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 ea56345890..bcf4a525c8 100644
--- a/chrome/locale/th-TH/zotero/preferences.dtd
+++ b/chrome/locale/th-TH/zotero/preferences.dtd
@@ -54,7 +54,7 @@
-
+
@@ -62,16 +62,16 @@
-
+
-
+
-
+
@@ -83,7 +83,7 @@
-
+
diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties
index 936ff0866e..704d47533e 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 130b6bdcba..f9652c59ca 100644
--- a/chrome/locale/tr-TR/zotero/zotero.dtd
+++ b/chrome/locale/tr-TR/zotero/zotero.dtd
@@ -5,8 +5,8 @@
-
-
+
+
@@ -35,12 +35,12 @@
-
-
+
+
-
+
-
+
diff --git a/components/zotero-protocol-handler.js b/components/zotero-protocol-handler.js
index b41d64a8f2..20861dff1e 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 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 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>+/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 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 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 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(//)[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(//)[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