Merge branch '3.0'
Conflicts: chrome/content/zotero/xpcom/integration.js chrome/content/zotero/xpcom/storage/webdav.js chrome/content/zotero/xpcom/storage/zfs.js install.rdf update.rdf
This commit is contained in:
commit
3a4401a995
78 changed files with 1033 additions and 633 deletions
|
@ -16,12 +16,17 @@
|
||||||
margin-left: 7px;
|
margin-left: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zotero-tb-button {
|
.zotero-tb-button, .zotero-tb-button:first-child, .zotero-tb-button:last-child {
|
||||||
-moz-margin-start: 5px;
|
-moz-margin-start: 0 !important;
|
||||||
-moz-padding-end: 10px;
|
-moz-margin-end: 3px !important;
|
||||||
|
-moz-padding-end: 10px !important;
|
||||||
background: url("chrome://zotero/skin/mac/menubutton-end.png") right center no-repeat;
|
background: url("chrome://zotero/skin/mac/menubutton-end.png") right center no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#zotero-collections-toolbar {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
:root:not([active]) #zotero-pane:not([ignoreActiveAttribute]) .zotero-tb-button, .zotero-tb-button[disabled="true"]{
|
:root:not([active]) #zotero-pane:not([ignoreActiveAttribute]) .zotero-tb-button, .zotero-tb-button[disabled="true"]{
|
||||||
opacity: 0.7;
|
opacity: 0.7;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,12 +3,12 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
#quick-format-search:not([multiline="true"]) {
|
#quick-format-search:not([multiline="true"]) {
|
||||||
height: 27px !important;
|
height: 29px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#quick-format-search {
|
#quick-format-search {
|
||||||
background: white;
|
background: white;
|
||||||
padding: 1px 2px 1px 0;
|
padding: 0 2px 0 0;
|
||||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||||
-moz-appearance: textfield;
|
-moz-appearance: textfield;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,3 @@
|
||||||
.zotero-tb-button:not(:first-child) {
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.zotero-tb-button:not([type=menu]) {
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zotero-tb-search-menu-button {
|
#zotero-tb-search-menu-button {
|
||||||
margin: 0 -1px 0 -4px;
|
margin: 0 -1px 0 -4px;
|
||||||
border: 0;
|
border: 0;
|
||||||
|
@ -49,13 +41,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#zotero-toolbar {
|
#zotero-toolbar {
|
||||||
|
-moz-appearance: toolbox !important;
|
||||||
|
padding-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#zotero-toolbar:-moz-system-metric(windows-compositor) {
|
||||||
-moz-appearance: none !important;
|
-moz-appearance: none !important;
|
||||||
background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
|
background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
|
||||||
background-color: rgb(207, 219, 236) !important;
|
background-color: rgb(207, 219, 236) !important;
|
||||||
border-width: 0 0 1px 0;
|
border-width: 0 0 1px 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-color: #818790;
|
border-color: #818790;
|
||||||
padding-left: 2px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#zotero-collections-tree, #zotero-items-tree, #zotero-view-item {
|
#zotero-collections-tree, #zotero-items-tree, #zotero-view-item {
|
||||||
|
@ -89,6 +85,14 @@
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#zotero-item-pane-groupbox {
|
||||||
|
-moz-appearance: none !important;
|
||||||
|
border-radius: 0;
|
||||||
|
border-width: 0 0 0 1px;
|
||||||
|
border-color: #818790;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
|
||||||
#zotero-editpane-item-box > scrollbox, #zotero-view-item > tabpanel > vbox,
|
#zotero-editpane-item-box > scrollbox, #zotero-view-item > tabpanel > vbox,
|
||||||
#zotero-editpane-tags > scrollbox, #zotero-editpane-related {
|
#zotero-editpane-tags > scrollbox, #zotero-editpane-related {
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
|
|
|
@ -48,7 +48,14 @@
|
||||||
panel = document.getAnonymousNodes(this)[0];
|
panel = document.getAnonymousNodes(this)[0];
|
||||||
|
|
||||||
if(!forEl) forEl = document.getElementById(this.getAttribute("for"));
|
if(!forEl) forEl = document.getElementById(this.getAttribute("for"));
|
||||||
panel.lastChild.textContent = Zotero.getString("firstRunGuidance."+about);
|
var text = Zotero.getString("firstRunGuidance."+about).split("\n");
|
||||||
|
var descriptionNode = panel.lastChild;
|
||||||
|
while(text.length) {
|
||||||
|
var textLine = text.shift();
|
||||||
|
descriptionNode.appendChild(document.createTextNode(textLine));
|
||||||
|
if(text.length) descriptionNode.appendChild(document.createElementNS(
|
||||||
|
"http://www.w3.org/1999/xhtml", "br"));
|
||||||
|
}
|
||||||
panel.openPopup(forEl, position ? position : "after_start",
|
panel.openPopup(forEl, position ? position : "after_start",
|
||||||
x ? parseInt(x, 10) : 0, y ? parseInt(y, 10) : 0, false, false, null);
|
x ? parseInt(x, 10) : 0, y ? parseInt(y, 10) : 0, false, false, null);
|
||||||
|
|
||||||
|
@ -56,6 +63,13 @@
|
||||||
]]>
|
]]>
|
||||||
</body>
|
</body>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="hide">
|
||||||
|
<body>
|
||||||
|
<![CDATA[
|
||||||
|
document.getAnonymousNodes(this)[0].hidePopup();
|
||||||
|
]]>
|
||||||
|
</body>
|
||||||
|
</method>
|
||||||
</implementation>
|
</implementation>
|
||||||
|
|
||||||
<content>
|
<content>
|
||||||
|
|
|
@ -369,7 +369,7 @@
|
||||||
var str = "The NoScript extension is preventing Zotero "
|
var str = "The NoScript extension is preventing Zotero "
|
||||||
+ "from displaying notes. To use NoScript and Zotero together, "
|
+ "from displaying notes. To use NoScript and Zotero together, "
|
||||||
+ "whitelist the 'file:' scheme in the NoScript preferences "
|
+ "whitelist the 'file:' scheme in the NoScript preferences "
|
||||||
+ "and restart Firefox.";
|
+ "and restart " + Zotero.appName + ".";
|
||||||
warning.appendChild(document.createTextNode(str));
|
warning.appendChild(document.createTextNode(str));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -482,8 +482,6 @@ var Zotero_Browser = new function() {
|
||||||
collection.addItem(dbItem.id);
|
collection.addItem(dbItem.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
Zotero.repaint(window);
|
|
||||||
|
|
||||||
if(Zotero_Browser.isScraping) {
|
if(Zotero_Browser.isScraping) {
|
||||||
// initialize close timer between item saves in case translator doesn't call done
|
// initialize close timer between item saves in case translator doesn't call done
|
||||||
Zotero_Browser.progress.startCloseTimer(10000); // is this long enough?
|
Zotero_Browser.progress.startCloseTimer(10000); // is this long enough?
|
||||||
|
|
|
@ -295,9 +295,11 @@ var Zotero_File_Interface = new function() {
|
||||||
Zotero_File_Interface.Progress.show(
|
Zotero_File_Interface.Progress.show(
|
||||||
Zotero.getString("fileInterface.itemsImported")
|
Zotero.getString("fileInterface.itemsImported")
|
||||||
);
|
);
|
||||||
Zotero.repaint(window);
|
|
||||||
Zotero.DB.beginTransaction();
|
window.setTimeout(function() {
|
||||||
translation.translate();
|
Zotero.DB.beginTransaction();
|
||||||
|
translation.translate();
|
||||||
|
}, 0);
|
||||||
} else {
|
} else {
|
||||||
// TODO: localize and remove fileInterface.fileFormatUnsupported string
|
// TODO: localize and remove fileInterface.fileFormatUnsupported string
|
||||||
var unsupportedFormat = "The selected file is not in a supported format.";
|
var unsupportedFormat = "The selected file is not in a supported format.";
|
||||||
|
@ -617,7 +619,28 @@ var Zotero_File_Interface = new function() {
|
||||||
*/
|
*/
|
||||||
this.updateProgress = function(translate) {
|
this.updateProgress = function(translate) {
|
||||||
Zotero.updateZoteroPaneProgressMeter(translate.getProgress());
|
Zotero.updateZoteroPaneProgressMeter(translate.getProgress());
|
||||||
Zotero.repaint(window);
|
|
||||||
|
var now = Date.now();
|
||||||
|
|
||||||
|
// Don't repaint more than 10 times per second unless forced.
|
||||||
|
if(window.zoteroLastRepaint && (now - window.zoteroLastRepaint) < 100) return
|
||||||
|
|
||||||
|
// Start a nested event queue
|
||||||
|
Zotero.mainThread.pushEventQueue(null);
|
||||||
|
try {
|
||||||
|
// Add the redraw event onto event queue
|
||||||
|
window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
|
||||||
|
.getInterface(Components.interfaces.nsIDOMWindowUtils)
|
||||||
|
.redraw();
|
||||||
|
|
||||||
|
// Process redraw event
|
||||||
|
Zotero.mainThread.processNextEvent(false);
|
||||||
|
} finally {
|
||||||
|
// Close nested event queue
|
||||||
|
Zotero.mainThread.popEventQueue();
|
||||||
|
}
|
||||||
|
|
||||||
|
window.zoteroLastRepaint = now;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,11 +25,18 @@
|
||||||
|
|
||||||
var Zotero_QuickFormat = new function () {
|
var Zotero_QuickFormat = new function () {
|
||||||
const pixelRe = /^([0-9]+)px$/
|
const pixelRe = /^([0-9]+)px$/
|
||||||
var initialized, io, qfs, qfi, qfiWindow, qfiDocument, qfe, qfb, qfbHeight, keepSorted,
|
const specifiedLocatorRe = /^(?:,? *(p{0,2})(?:\. *| +)|:)([0-9\-]+) *$/;
|
||||||
showEditor, referencePanel, referenceBox, referenceHeight = 0, separatorHeight = 0,
|
const yearRe = /,? *([0-9]+) *(B[. ]*C[. ]*(?:E[. ]*)?|A[. ]*D[. ]*|C[. ]*E[. ]*)?$/i;
|
||||||
currentLocator, currentLocatorLabel, currentSearchTime, dragging, panel,
|
const locatorRe = /(?:,? *(p{0,2})\.?|(\:)) *([0-9]+)$/i;
|
||||||
panelPrefix, panelSuffix, panelSuppressAuthor, panelLocatorLabel, panelLocator, panelInfo,
|
const creatorSplitRe = /(?:,| *(?:and|\&)) +/;
|
||||||
panelRefersToBubble, panelFrameHeight = 0, accepted = false;
|
const charRe = /[\w\u007F-\uFFFF]/;
|
||||||
|
const numRe = /^[0-9\-]+$/;
|
||||||
|
|
||||||
|
var initialized, io, qfs, qfi, qfiWindow, qfiDocument, qfe, qfb, qfbHeight, qfGuidance,
|
||||||
|
keepSorted, showEditor, referencePanel, referenceBox, referenceHeight = 0,
|
||||||
|
separatorHeight = 0, currentLocator, currentLocatorLabel, currentSearchTime, dragging,
|
||||||
|
panel, panelPrefix, panelSuffix, panelSuppressAuthor, panelLocatorLabel, panelLocator,
|
||||||
|
panelInfo, panelRefersToBubble, panelFrameHeight = 0, accepted = false;
|
||||||
|
|
||||||
// A variable that contains the timeout object for the latest onKeyPress event
|
// A variable that contains the timeout object for the latest onKeyPress event
|
||||||
var eventTimeout = null;
|
var eventTimeout = null;
|
||||||
|
@ -49,6 +56,12 @@ var Zotero_QuickFormat = new function () {
|
||||||
document.documentElement.setAttribute("hidechrome", true);
|
document.documentElement.setAttribute("hidechrome", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Include a different key combo in message on Mac
|
||||||
|
if(Zotero.isMac) {
|
||||||
|
var qf = document.getElementById('quick-format-guidance');
|
||||||
|
qf.setAttribute('about', qf.getAttribute('about') + "Mac");
|
||||||
|
}
|
||||||
|
|
||||||
new WindowDraggingElement(document.getElementById("quick-format-dialog"), window);
|
new WindowDraggingElement(document.getElementById("quick-format-dialog"), window);
|
||||||
|
|
||||||
qfs = document.getElementById("quick-format-search");
|
qfs = document.getElementById("quick-format-search");
|
||||||
|
@ -97,6 +110,11 @@ var Zotero_QuickFormat = new function () {
|
||||||
panelLocatorLabel = document.getElementById("locator-label");
|
panelLocatorLabel = document.getElementById("locator-label");
|
||||||
panelLocator = document.getElementById("locator");
|
panelLocator = document.getElementById("locator");
|
||||||
panelInfo = document.getElementById("citation-properties-info");
|
panelInfo = document.getElementById("citation-properties-info");
|
||||||
|
|
||||||
|
// Don't need to set noautohide dynamically on these platforms, so do it now
|
||||||
|
if(Zotero.isMac || Zotero.isWin) {
|
||||||
|
referencePanel.setAttribute("noautohide", true);
|
||||||
|
}
|
||||||
} else if(event.target === qfi.contentDocument) {
|
} else if(event.target === qfi.contentDocument) {
|
||||||
qfiWindow = qfi.contentWindow;
|
qfiWindow = qfi.contentWindow;
|
||||||
qfiDocument = qfi.contentDocument;
|
qfiDocument = qfi.contentDocument;
|
||||||
|
@ -123,6 +141,9 @@ var Zotero_QuickFormat = new function () {
|
||||||
Zotero.debug("Moving window to "+targetX+", "+targetY);
|
Zotero.debug("Moving window to "+targetX+", "+targetY);
|
||||||
window.moveTo(targetX, targetY);
|
window.moveTo(targetX, targetY);
|
||||||
}
|
}
|
||||||
|
qfGuidance = document.getElementById('quick-format-guidance');
|
||||||
|
qfGuidance.show();
|
||||||
|
_refocusQfe();
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
window.focus();
|
window.focus();
|
||||||
|
@ -182,11 +203,6 @@ var Zotero_QuickFormat = new function () {
|
||||||
var str = _getEditorContent();
|
var str = _getEditorContent();
|
||||||
var haveConditions = false;
|
var haveConditions = false;
|
||||||
|
|
||||||
const specifiedLocatorRe = /^(?:,? *(pp|p)(?:\. *| +)|:)([0-9\-]+) *$/;
|
|
||||||
const yearPageLocatorRe = /,? *([0-9]+) *((B[. ]*C[. ]*|B[. ]*)|[AC][. ]*|A[. ]*D[. ]*|C[. ]*E[. ]*)?,? *(?:([0-9\-]+))?$/i;
|
|
||||||
const creatorSplitRe = /(?:,| *(?:and|\&)) +/;
|
|
||||||
const charRe = /[\w\u007F-\uFFFF]/;
|
|
||||||
const numRe = /^[0-9\-]+$/;
|
|
||||||
const etAl = " et al.";
|
const etAl = " et al.";
|
||||||
|
|
||||||
var m,
|
var m,
|
||||||
|
@ -234,20 +250,11 @@ var Zotero_QuickFormat = new function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
// check for year and pages
|
// check for year and pages
|
||||||
m = yearPageLocatorRe.exec(str);
|
str = _updateLocator(str);
|
||||||
|
m = yearRe.exec(str);
|
||||||
if(m) {
|
if(m) {
|
||||||
if(m[1].length === 4 || m[2] || m[4]) {
|
year = parseInt(m[1]);
|
||||||
year = parseInt(m[1]);
|
isBC = m[2] && m[2][0] === "B";
|
||||||
if(m[3]) {
|
|
||||||
isBC = true;
|
|
||||||
}
|
|
||||||
if(!currentLocator && m[4]) {
|
|
||||||
currentLocator = m[4];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
currentLocator = m[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
str = str.substr(0, m.index)+str.substring(m.index+m[0].length);
|
str = str.substr(0, m.index)+str.substring(m.index+m[0].length);
|
||||||
}
|
}
|
||||||
if(year) str += " "+year;
|
if(year) str += " "+year;
|
||||||
|
@ -323,6 +330,20 @@ var Zotero_QuickFormat = new function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates currentLocator based on a string
|
||||||
|
* @param {String} str String to search for locator
|
||||||
|
* @return {String} str without locator
|
||||||
|
*/
|
||||||
|
function _updateLocator(str) {
|
||||||
|
m = locatorRe.exec(str);
|
||||||
|
if(m && (m[1] || m[2] || m[3].length !== 4)) {
|
||||||
|
currentLocator = m[3];
|
||||||
|
str = str.substr(0, m.index)+str.substring(m.index+m[0].length);
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the item list
|
* Updates the item list
|
||||||
*/
|
*/
|
||||||
|
@ -656,6 +677,8 @@ var Zotero_QuickFormat = new function () {
|
||||||
citationItem.uris = item.cslURIs;
|
citationItem.uris = item.cslURIs;
|
||||||
citationItem.itemData = item.cslItemData;
|
citationItem.itemData = item.cslItemData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_updateLocator(_getEditorContent());
|
||||||
if(currentLocator) {
|
if(currentLocator) {
|
||||||
citationItem["locator"] = currentLocator;
|
citationItem["locator"] = currentLocator;
|
||||||
if(currentLocatorLabel) {
|
if(currentLocatorLabel) {
|
||||||
|
@ -769,20 +792,20 @@ var Zotero_QuickFormat = new function () {
|
||||||
* Opens the reference panel and potentially refocuses the main text box
|
* Opens the reference panel and potentially refocuses the main text box
|
||||||
*/
|
*/
|
||||||
function _openReferencePanel() {
|
function _openReferencePanel() {
|
||||||
|
if(!Zotero.isMac && !Zotero.isWin) {
|
||||||
|
// noautohide and noautofocus are incompatible on Linux
|
||||||
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=545265
|
||||||
|
referencePanel.setAttribute("noautohide", "false");
|
||||||
|
}
|
||||||
|
|
||||||
referencePanel.openPopup(document.documentElement, "after_start", 15,
|
referencePanel.openPopup(document.documentElement, "after_start", 15,
|
||||||
null, false, false, null);
|
null, false, false, null);
|
||||||
|
|
||||||
if(!Zotero.isMac && !Zotero.isWin) {
|
if(!Zotero.isMac && !Zotero.isWin) {
|
||||||
// When it opens, we will lose focus
|
// reinstate noautohide after the window is shown
|
||||||
referencePanel.addEventListener("popupshown", function() {
|
referencePanel.addEventListener("popupshowing", function() {
|
||||||
referencePanel.removeEventListener("popupshown", arguments.callee, false);
|
referencePanel.removeEventListener("popupshowing", arguments.callee, false);
|
||||||
_refocusQfe();
|
referencePanel.setAttribute("noautohide", "true");
|
||||||
|
|
||||||
// This is a nasty hack, but seems to be necessary to fix loss of focus on Linux
|
|
||||||
window.setTimeout(function() { _refocusQfe(); }, 25);
|
|
||||||
window.setTimeout(function() { _refocusQfe(); }, 50);
|
|
||||||
window.setTimeout(function() { _refocusQfe(); }, 100);
|
|
||||||
window.setTimeout(function() { _refocusQfe(); }, 175);
|
|
||||||
window.setTimeout(function() { _refocusQfe(); }, 250);
|
|
||||||
}, false);
|
}, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -955,6 +978,8 @@ var Zotero_QuickFormat = new function () {
|
||||||
* Handle return or escape
|
* Handle return or escape
|
||||||
*/
|
*/
|
||||||
function _onQuickSearchKeyPress(event) {
|
function _onQuickSearchKeyPress(event) {
|
||||||
|
qfGuidance.hide();
|
||||||
|
|
||||||
var keyCode = event.keyCode;
|
var keyCode = event.keyCode;
|
||||||
if(keyCode === event.DOM_VK_RETURN || keyCode === event.DOM_VK_ENTER) {
|
if(keyCode === event.DOM_VK_RETURN || keyCode === event.DOM_VK_ENTER) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
@ -1157,7 +1182,11 @@ var Zotero_QuickFormat = new function () {
|
||||||
.getService(Components.interfaces.nsIWindowWatcher)
|
.getService(Components.interfaces.nsIWindowWatcher)
|
||||||
.openWindow(null, 'chrome://zotero/content/integration/addCitationDialog.xul',
|
.openWindow(null, 'chrome://zotero/content/integration/addCitationDialog.xul',
|
||||||
'', 'chrome,centerscreen,resizable', io);
|
'', 'chrome,centerscreen,resizable', io);
|
||||||
newWindow.addEventListener("load", function() { window.close(); }, false);
|
newWindow.addEventListener("focus", function() {
|
||||||
|
newWindow.removeEventListener("focus", arguments.callee, true);
|
||||||
|
window.close();
|
||||||
|
}, true);
|
||||||
|
accepted = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
-->
|
-->
|
||||||
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
||||||
<?xml-stylesheet href="chrome://global/skin/browser.css" type="text/css"?>
|
<?xml-stylesheet href="chrome://global/skin/browser.css" type="text/css"?>
|
||||||
|
<?xml-stylesheet href="chrome://zotero/skin/zotero.css" type="text/css"?>
|
||||||
<?xml-stylesheet href="chrome://zotero/skin/integration.css" type="text/css"?>
|
<?xml-stylesheet href="chrome://zotero/skin/integration.css" type="text/css"?>
|
||||||
<?xml-stylesheet href="chrome://zotero-platform/content/integration.css" type="text/css"?>
|
<?xml-stylesheet href="chrome://zotero-platform/content/integration.css" type="text/css"?>
|
||||||
<!DOCTYPE window SYSTEM "chrome://zotero/locale/zotero.dtd">
|
<!DOCTYPE window SYSTEM "chrome://zotero/locale/zotero.dtd">
|
||||||
|
@ -67,7 +68,8 @@
|
||||||
<progressmeter id="quick-format-progress-meter" mode="undetermined" value="0" flex="1"/>
|
<progressmeter id="quick-format-progress-meter" mode="undetermined" value="0" flex="1"/>
|
||||||
</deck>
|
</deck>
|
||||||
</box>
|
</box>
|
||||||
<panel id="quick-format-reference-panel" noautofocus="true" norestorefocus="true" noautohide="true" height="0">
|
<panel id="quick-format-reference-panel" noautofocus="true" norestorefocus="true"
|
||||||
|
height="0" width="0">
|
||||||
<richlistbox id="quick-format-reference-list" flex="1"/>
|
<richlistbox id="quick-format-reference-list" flex="1"/>
|
||||||
</panel>
|
</panel>
|
||||||
<panel id="citation-properties" type="arrow" orient="vertical"
|
<panel id="citation-properties" type="arrow" orient="vertical"
|
||||||
|
@ -89,17 +91,17 @@
|
||||||
<menupopup id="locator-label-popup"/>
|
<menupopup id="locator-label-popup"/>
|
||||||
</menulist>
|
</menulist>
|
||||||
<textbox id="locator" flex="1"
|
<textbox id="locator" flex="1"
|
||||||
oninput="window.setTimeout(Zotero_QuickFormat.onCitationPropertiesChanged, 0)"/>
|
oninput="window.setTimeout(function(event) { Zotero_QuickFormat.onCitationPropertiesChanged(event) }, 0)"/>
|
||||||
</row>
|
</row>
|
||||||
<row align="center">
|
<row align="center">
|
||||||
<label value="&zotero.citation.prefix.label;"/>
|
<label value="&zotero.citation.prefix.label;"/>
|
||||||
<textbox class="citation-textbox" id="prefix" flex="1"
|
<textbox class="citation-textbox" id="prefix" flex="1"
|
||||||
oninput="window.setTimeout(Zotero_QuickFormat.onCitationPropertiesChanged, 0)"/>
|
oninput="window.setTimeout(function(event) { Zotero_QuickFormat.onCitationPropertiesChanged(event) }, 0)"/>
|
||||||
</row>
|
</row>
|
||||||
<row align="center">
|
<row align="center">
|
||||||
<label value="&zotero.citation.suffix.label;"/>
|
<label value="&zotero.citation.suffix.label;"/>
|
||||||
<textbox class="citation-textbox" id="suffix" flex="1"
|
<textbox class="citation-textbox" id="suffix" flex="1"
|
||||||
oninput="window.setTimeout(Zotero_QuickFormat.onCitationPropertiesChanged, 0)"/>
|
oninput="window.setTimeout(function(event) { Zotero_QuickFormat.onCitationPropertiesChanged(event) }, 0)"/>
|
||||||
</row>
|
</row>
|
||||||
<html:div>
|
<html:div>
|
||||||
<html:input type="checkbox" id="suppress-author"
|
<html:input type="checkbox" id="suppress-author"
|
||||||
|
@ -111,4 +113,6 @@
|
||||||
</rows>
|
</rows>
|
||||||
</grid>
|
</grid>
|
||||||
</panel>
|
</panel>
|
||||||
|
<zoteroguidancepanel id="quick-format-guidance" about="quickFormat"
|
||||||
|
for="zotero-icon" x="26"/>
|
||||||
</window>
|
</window>
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
|
|
||||||
<deck id="zotero-item-pane-content" selectedIndex="0" flex="1">
|
<deck id="zotero-item-pane-content" selectedIndex="0" flex="1">
|
||||||
<!-- Center label (for zero or multiple item selection) -->
|
<!-- Center label (for zero or multiple item selection) -->
|
||||||
<groupbox pack="center" align="center">
|
<groupbox id="zotero-item-pane-groupbox" pack="center" align="center">
|
||||||
<label id="zotero-item-pane-message"/>
|
<label id="zotero-item-pane-message"/>
|
||||||
</groupbox>
|
</groupbox>
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
<image src="chrome://zotero/skin/treeitem-book.png" id="zotero-status-image"
|
<image src="chrome://zotero/skin/treeitem-book.png" id="zotero-status-image"
|
||||||
onclick="if(event.button === 0) Zotero_Browser.scrapeThisPage()" context="zotero-status-image-context"
|
onclick="if(event.button === 0) Zotero_Browser.scrapeThisPage()" context="zotero-status-image-context"
|
||||||
position="1" hidden="true"/>
|
position="1" hidden="true"/>
|
||||||
<zoteroguidancepanel id="zotero-status-image-guidance" about="saveIcon" for="zotero-status-image"/>
|
<zoteroguidancepanel id="zotero-status-image-guidance" about="saveIcon" for="zotero-status-image" x="8"/>
|
||||||
</hbox>
|
</hbox>
|
||||||
|
|
||||||
<menupopup id="menu_ToolsPopup">
|
<menupopup id="menu_ToolsPopup">
|
||||||
|
|
|
@ -103,8 +103,9 @@ const ZoteroStandalone = new function() {
|
||||||
for (var i = 0; i<itemTypes.length; i++) {
|
for (var i = 0; i<itemTypes.length; i++) {
|
||||||
var menuitem = document.createElement("menuitem");
|
var menuitem = document.createElement("menuitem");
|
||||||
menuitem.setAttribute("label", itemTypes[i].localized);
|
menuitem.setAttribute("label", itemTypes[i].localized);
|
||||||
menuitem.setAttribute("oncommand","ZoteroPane_Local.newItem("+itemTypes[i]['id']+")");
|
|
||||||
menuitem.setAttribute("tooltiptext", "");
|
menuitem.setAttribute("tooltiptext", "");
|
||||||
|
let type = itemTypes[i].id;
|
||||||
|
menuitem.addEventListener("command", function() { ZoteroPane_Local.newItem(type); }, false);
|
||||||
menuitem.className = "zotero-tb-add";
|
menuitem.className = "zotero-tb-add";
|
||||||
addMenu.appendChild(menuitem);
|
addMenu.appendChild(menuitem);
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,11 +95,11 @@ function wpdWindowLoaded()
|
||||||
try {
|
try {
|
||||||
// this will be called multiple times if the page contains more than one document (frames, flash,...)
|
// this will be called multiple times if the page contains more than one document (frames, flash,...)
|
||||||
//var browser=this.document.getElementById("content");
|
//var browser=this.document.getElementById("content");
|
||||||
dump("[wpdWindowLoaded] ... \n");
|
Zotero.debug("[wpdWindowLoaded] ... ");
|
||||||
var browser = this.top.getBrowser();
|
var browser = this.top.getBrowser();
|
||||||
// each time we have to check if the page is fully loaded...
|
// each time we have to check if the page is fully loaded...
|
||||||
if (!(browser.webProgress.isLoadingDocument || browser.contentDocument.location == gExceptLocation)) {
|
if (!(browser.webProgress.isLoadingDocument || browser.contentDocument.location == gExceptLocation)) {
|
||||||
dump("[wpdWindowLoaded] window finally loaded\n");
|
Zotero.debug("[wpdWindowLoaded] window finally loaded");
|
||||||
gBrowserWindow.clearTimeout(gTimeOutID);
|
gBrowserWindow.clearTimeout(gTimeOutID);
|
||||||
gBrowserWindow.removeEventListener("load",wpdWindowLoaded,true);
|
gBrowserWindow.removeEventListener("load",wpdWindowLoaded,true);
|
||||||
//dump("[wpdWindowLoaded] calling "+gCallback+"\n");
|
//dump("[wpdWindowLoaded] calling "+gCallback+"\n");
|
||||||
|
@ -112,13 +112,13 @@ function wpdWindowLoaded()
|
||||||
gBrowserWindow.setTimeout(gCallback, w);
|
gBrowserWindow.setTimeout(gCallback, w);
|
||||||
}
|
}
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
dump("[wpdWindowLoaded] EXCEPTION: "+ex+"\n");
|
Zotero.debug("[wpdWindowLoaded] EXCEPTION: "+ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function wpdTimeOut()
|
function wpdTimeOut()
|
||||||
{
|
{
|
||||||
dump("[wpdTimeOut] timeout triggered!\n");
|
Zotero.debug("[wpdTimeOut] timeout triggered!");
|
||||||
gTimedOut=true;
|
gTimedOut=true;
|
||||||
gBrowserWindow.clearTimeout(gTimeOutID);
|
gBrowserWindow.clearTimeout(gTimeOutID);
|
||||||
gBrowserWindow.removeEventListener("load",wpdWindowLoaded,true);
|
gBrowserWindow.removeEventListener("load",wpdWindowLoaded,true);
|
||||||
|
@ -134,7 +134,7 @@ function wpdLoadURL(aURI,aCallback)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
gTimedOut=false;
|
gTimedOut=false;
|
||||||
dump("\n[wpdLoadURL] aURI: "+aURI+"\n");
|
Zotero.debug("[wpdLoadURL] aURI: "+aURI);
|
||||||
if (aURI=="") return;
|
if (aURI=="") return;
|
||||||
gBrowserWindow = wpdGetTopBrowserWindow();
|
gBrowserWindow = wpdGetTopBrowserWindow();
|
||||||
gBrowserWindow.loadURI(aURI);
|
gBrowserWindow.loadURI(aURI);
|
||||||
|
@ -143,7 +143,7 @@ function wpdLoadURL(aURI,aCallback)
|
||||||
gTimeOutID=gBrowserWindow.setTimeout(wpdTimeOut, 60000);
|
gTimeOutID=gBrowserWindow.setTimeout(wpdTimeOut, 60000);
|
||||||
gBrowserWindow.addEventListener("load",wpdWindowLoaded, true);
|
gBrowserWindow.addEventListener("load",wpdWindowLoaded, true);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
dump("[wpdLoadURL] EXCEPTION: "+ex+"\n");
|
Zotero.debug("[wpdLoadURL] EXCEPTION: "+ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -262,7 +262,7 @@ var wpdCommon = {
|
||||||
var gUnicodeConverter = Components.classes['@mozilla.org/intl/scriptableunicodeconverter'].getService(Components.interfaces.nsIScriptableUnicodeConverter);
|
var gUnicodeConverter = Components.classes['@mozilla.org/intl/scriptableunicodeconverter'].getService(Components.interfaces.nsIScriptableUnicodeConverter);
|
||||||
gUnicodeConverter.charset = charset;
|
gUnicodeConverter.charset = charset;
|
||||||
} catch(ex) {
|
} catch(ex) {
|
||||||
dump ("gUnicodeConverter EXCEPTION:"+ex+"\n");
|
Zotero.debug ("gUnicodeConverter EXCEPTION:"+ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,7 +270,7 @@ var wpdCommon = {
|
||||||
try {
|
try {
|
||||||
var gEntityConverter = Components.classes["@mozilla.org/intl/entityconverter;1"].createInstance(Components.interfaces.nsIEntityConverter);
|
var gEntityConverter = Components.classes["@mozilla.org/intl/entityconverter;1"].createInstance(Components.interfaces.nsIEntityConverter);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
dump ("gEntityConverter EXCEPTION:"+ex+"\n");
|
Zotero.debug ("gEntityConverter EXCEPTION:"+ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,7 +326,7 @@ var wpdCommon = {
|
||||||
// add a line to the error list (displays a maximum of 15 errors)
|
// add a line to the error list (displays a maximum of 15 errors)
|
||||||
addError : function(aError)
|
addError : function(aError)
|
||||||
{
|
{
|
||||||
dump('ERROR: '+aError+"\n");
|
Zotero.debug('ERROR: '+aError);
|
||||||
if (this.errCount<WPD_MAXUIERRORCOUNT) {
|
if (this.errCount<WPD_MAXUIERRORCOUNT) {
|
||||||
if (this.errList.indexOf(aError)>-1) return; // is the same
|
if (this.errList.indexOf(aError)>-1) return; // is the same
|
||||||
this.errList = this.errList+aError+"\n";
|
this.errList = this.errList+aError+"\n";
|
||||||
|
@ -337,7 +337,7 @@ var wpdCommon = {
|
||||||
},
|
},
|
||||||
|
|
||||||
saveWebPage : function(aDestFile) {
|
saveWebPage : function(aDestFile) {
|
||||||
dump("[saveWebPage] "+aDestFile+"\n");
|
Zotero.debug("[saveWebPage] "+aDestFile);
|
||||||
var nsIWBP = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist);
|
var nsIWBP = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist);
|
||||||
var doc = window.content.document;
|
var doc = window.content.document;
|
||||||
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
|
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
|
||||||
|
|
|
@ -147,7 +147,7 @@ var wpdDOMSaver = {
|
||||||
// initialize the properties (set document, URL, Directory, ...)
|
// initialize the properties (set document, URL, Directory, ...)
|
||||||
init : function(fileName, document)
|
init : function(fileName, document)
|
||||||
{
|
{
|
||||||
dump("[wpdDOMSaver.init] ...\n");
|
Zotero.debug("[wpdDOMSaver.init] ...");
|
||||||
|
|
||||||
this.name = "";
|
this.name = "";
|
||||||
this.document = null;
|
this.document = null;
|
||||||
|
@ -653,7 +653,7 @@ var wpdDOMSaver = {
|
||||||
catch (e) {
|
catch (e) {
|
||||||
var msg = "Unable to access cssRules property of " + aCSS.href
|
var msg = "Unable to access cssRules property of " + aCSS.href
|
||||||
+ " in wpdDOMSaver.processCSSRecursively()";
|
+ " in wpdDOMSaver.processCSSRecursively()";
|
||||||
dump("WebPageDump: "+msg+"\n\n", 2);
|
Zotero.debug("WebPageDump: "+msg, 2);
|
||||||
Components.utils.reportError(msg);
|
Components.utils.reportError(msg);
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -928,7 +928,7 @@ var wpdDOMSaver = {
|
||||||
// ("aFileName" is the filename without(!) extension)
|
// ("aFileName" is the filename without(!) extension)
|
||||||
saveDocumentFile : function(aDocument,aFileName)
|
saveDocumentFile : function(aDocument,aFileName)
|
||||||
{
|
{
|
||||||
dump("[wpdDOMSaver.saveDocumentFile]: "+aFileName+"\n");
|
Zotero.debug("[wpdDOMSaver.saveDocumentFile]: "+aFileName);
|
||||||
|
|
||||||
return this.download(this.currentURL,true)
|
return this.download(this.currentURL,true)
|
||||||
/* Wrapper file disabled by Dan S. for Zotero
|
/* Wrapper file disabled by Dan S. for Zotero
|
||||||
|
@ -973,7 +973,7 @@ var wpdDOMSaver = {
|
||||||
} else {
|
} else {
|
||||||
CSSText = wpdCommon.ConvertFromUnicode16(CSSText,this.curCharacterSet);
|
CSSText = wpdCommon.ConvertFromUnicode16(CSSText,this.curCharacterSet);
|
||||||
}
|
}
|
||||||
dump("[wpdDOMSaver.saveDocumentCSS]: "+this.currentDir+aFileName+".css\n");
|
Zotero.debug("[wpdDOMSaver.saveDocumentCSS]: "+this.currentDir+aFileName+".css");
|
||||||
// write css file
|
// write css file
|
||||||
var CSSFile = this.currentDir + aFileName + ".css";
|
var CSSFile = this.currentDir + aFileName + ".css";
|
||||||
if (!wpdCommon.writeFile(CSSText, CSSFile))
|
if (!wpdCommon.writeFile(CSSText, CSSFile))
|
||||||
|
@ -990,7 +990,7 @@ var wpdDOMSaver = {
|
||||||
// (".html" will be added)
|
// (".html" will be added)
|
||||||
saveDocumentHTML: function(aDocument,aFileName)
|
saveDocumentHTML: function(aDocument,aFileName)
|
||||||
{
|
{
|
||||||
dump("[wpdDOMSaver.saveDocumentHTML]: "+this.currentDir+aFileName+".html\n");
|
Zotero.debug("[wpdDOMSaver.saveDocumentHTML]: "+this.currentDir+aFileName+".html");
|
||||||
this.curDocument = aDocument;
|
this.curDocument = aDocument;
|
||||||
this.curCharacterSet = aDocument.characterSet;
|
this.curCharacterSet = aDocument.characterSet;
|
||||||
var charset=this.curCharacterSet;
|
var charset=this.curCharacterSet;
|
||||||
|
|
|
@ -389,7 +389,7 @@ Zotero.Annotate.Path.prototype.fromNode = function(node, offset) {
|
||||||
}
|
}
|
||||||
if(!node) throw "Annotate: Path() resolved text offset inappropriately";
|
if(!node) throw "Annotate: Path() resolved text offset inappropriately";
|
||||||
|
|
||||||
while(node && !node === this._document) {
|
while(node && node !== this._document) {
|
||||||
var number = 1;
|
var number = 1;
|
||||||
var sibling = node.previousSibling;
|
var sibling = node.previousSibling;
|
||||||
while(sibling) {
|
while(sibling) {
|
||||||
|
@ -731,10 +731,18 @@ Zotero.Annotations.prototype.save = function() {
|
||||||
|
|
||||||
// save annotations
|
// save annotations
|
||||||
for each(var annotation in this.annotations) {
|
for each(var annotation in this.annotations) {
|
||||||
annotation.save();
|
// Don't drop all annotations if one is broken (due to ~3.0 glitch)
|
||||||
|
try {
|
||||||
|
annotation.save();
|
||||||
|
}
|
||||||
|
catch(e) {
|
||||||
|
Zotero.debug(e);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Zotero.DB.commitTransaction();
|
Zotero.DB.commitTransaction();
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
Zotero.debug(e);
|
||||||
Zotero.DB.rollbackTransaction();
|
Zotero.DB.rollbackTransaction();
|
||||||
throw(e);
|
throw(e);
|
||||||
}
|
}
|
||||||
|
@ -1387,7 +1395,7 @@ Zotero.Highlight.prototype.unhighlight = function(container, offset, path, mode)
|
||||||
// loop through, removing nodes
|
// loop through, removing nodes
|
||||||
var node = span.firstChild;
|
var node = span.firstChild;
|
||||||
|
|
||||||
while(span.firstChild && !span.firstChild === textNode) {
|
while(span.firstChild && span.firstChild !== textNode) {
|
||||||
parentNode.insertBefore(span.removeChild(span.firstChild), span);
|
parentNode.insertBefore(span.removeChild(span.firstChild), span);
|
||||||
}
|
}
|
||||||
} else if(mode == 2) {
|
} else if(mode == 2) {
|
||||||
|
@ -1437,23 +1445,23 @@ Zotero.Highlight.prototype._highlight = function() {
|
||||||
|
|
||||||
var onlyOneNode = startNode === endNode;
|
var onlyOneNode = startNode === endNode;
|
||||||
|
|
||||||
if(!onlyOneNode && !startNode === ancestor && !endNode === ancestor) {
|
if(!onlyOneNode && startNode !== ancestor && endNode !== ancestor) {
|
||||||
// highlight nodes after start node in the DOM hierarchy not at ancestor level
|
// highlight nodes after start node in the DOM hierarchy not at ancestor level
|
||||||
while(startNode.parentNode && !startNode.parentNode === ancestor) {
|
while(startNode.parentNode && startNode.parentNode !== ancestor) {
|
||||||
if(startNode.nextSibling) {
|
if(startNode.nextSibling) {
|
||||||
this._highlightSpaceBetween(startNode.nextSibling, startNode.parentNode.lastChild);
|
this._highlightSpaceBetween(startNode.nextSibling, startNode.parentNode.lastChild);
|
||||||
}
|
}
|
||||||
startNode = startNode.parentNode
|
startNode = startNode.parentNode
|
||||||
}
|
}
|
||||||
// highlight nodes after end node in the DOM hierarchy not at ancestor level
|
// highlight nodes after end node in the DOM hierarchy not at ancestor level
|
||||||
while(endNode.parentNode && !endNode.parentNode === ancestor) {
|
while(endNode.parentNode && endNode.parentNode !== ancestor) {
|
||||||
if(endNode.previousSibling) {
|
if(endNode.previousSibling) {
|
||||||
this._highlightSpaceBetween(endNode.parentNode.firstChild, endNode.previousSibling);
|
this._highlightSpaceBetween(endNode.parentNode.firstChild, endNode.previousSibling);
|
||||||
}
|
}
|
||||||
endNode = endNode.parentNode
|
endNode = endNode.parentNode
|
||||||
}
|
}
|
||||||
// highlight nodes between start node and end node at ancestor level
|
// highlight nodes between start node and end node at ancestor level
|
||||||
if(!startNode === endNode.previousSibling) {
|
if(startNode !== endNode.previousSibling) {
|
||||||
this._highlightSpaceBetween(startNode.nextSibling, endNode.previousSibling);
|
this._highlightSpaceBetween(startNode.nextSibling, endNode.previousSibling);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -568,16 +568,16 @@ Zotero.Attachments = new function(){
|
||||||
var sync = true;
|
var sync = true;
|
||||||
|
|
||||||
// Load WebPageDump code
|
// Load WebPageDump code
|
||||||
|
var wpd = {"Zotero":Zotero};
|
||||||
Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
|
Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
|
||||||
.getService(Components.interfaces.mozIJSSubScriptLoader)
|
.getService(Components.interfaces.mozIJSSubScriptLoader)
|
||||||
.loadSubScript("chrome://zotero/content/webpagedump/common.js");
|
.loadSubScript("chrome://zotero/content/webpagedump/common.js", wpd);
|
||||||
|
|
||||||
Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
|
Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
|
||||||
.getService(Components.interfaces.mozIJSSubScriptLoader)
|
.getService(Components.interfaces.mozIJSSubScriptLoader)
|
||||||
.loadSubScript("chrome://zotero/content/webpagedump/domsaver.js");
|
.loadSubScript("chrome://zotero/content/webpagedump/domsaver.js", wpd);
|
||||||
|
|
||||||
wpdDOMSaver.init(file.path, document);
|
wpd.wpdDOMSaver.init(file.path, document);
|
||||||
wpdDOMSaver.saveHTMLDocument();
|
wpd.wpdDOMSaver.saveHTMLDocument();
|
||||||
|
|
||||||
attachmentItem.attachmentPath = this.getPath(
|
attachmentItem.attachmentPath = this.getPath(
|
||||||
file, Zotero.Attachments.LINK_MODE_IMPORTED_URL
|
file, Zotero.Attachments.LINK_MODE_IMPORTED_URL
|
||||||
|
|
|
@ -126,7 +126,7 @@ var CSL = {
|
||||||
MARK_TRAILING_NAMES: true,
|
MARK_TRAILING_NAMES: true,
|
||||||
POSITION_TEST_VARS: ["position", "first-reference-note-number", "near-note"],
|
POSITION_TEST_VARS: ["position", "first-reference-note-number", "near-note"],
|
||||||
AREAS: ["citation", "citation_sort", "bibliography", "bibliography_sort"],
|
AREAS: ["citation", "citation_sort", "bibliography", "bibliography_sort"],
|
||||||
MULTI_FIELDS: ["event", "publisher", "publisher-place", "event-place", "title", "container-title", "collection-title", "authority","edition","genre","title-short"],
|
MULTI_FIELDS: ["event", "publisher", "publisher-place", "event-place", "title", "container-title", "collection-title", "authority","edition","genre","title-short","subjurisdiction","medium"],
|
||||||
CITE_FIELDS: ["first-reference-note-number", "locator", "locator-revision"],
|
CITE_FIELDS: ["first-reference-note-number", "locator", "locator-revision"],
|
||||||
MINIMAL_NAME_FIELDS: ["literal", "family"],
|
MINIMAL_NAME_FIELDS: ["literal", "family"],
|
||||||
SWAPPING_PUNCTUATION: [".", "!", "?", ":",","],
|
SWAPPING_PUNCTUATION: [".", "!", "?", ":",","],
|
||||||
|
@ -463,217 +463,361 @@ CSL.debug = function (str) {
|
||||||
CSL.error = function (str) {
|
CSL.error = function (str) {
|
||||||
Zotero.debug("CSL error: " + str);
|
Zotero.debug("CSL error: " + str);
|
||||||
};
|
};
|
||||||
var CSL_E4X = function () {};
|
function DOMParser() {
|
||||||
CSL_E4X.prototype.clean = function (xml) {
|
return Components.classes["@mozilla.org/xmlextras/domparser;1"]
|
||||||
|
.createInstance(Components.interfaces.nsIDOMParser);
|
||||||
|
};
|
||||||
|
var CSL_IS_IE;
|
||||||
|
var CSL_CHROME = function () {
|
||||||
|
if ("undefined" == typeof DOMParser || CSL_IS_IE) {
|
||||||
|
CSL_IS_IE = true;
|
||||||
|
DOMParser = function() {};
|
||||||
|
DOMParser.prototype.parseFromString = function(str, contentType) {
|
||||||
|
if ("undefined" != typeof ActiveXObject) {
|
||||||
|
var xmldata = new ActiveXObject('MSXML.DomDocument');
|
||||||
|
xmldata.async = false;
|
||||||
|
xmldata.loadXML(str);
|
||||||
|
return xmldata;
|
||||||
|
} else if ("undefined" != typeof XMLHttpRequest) {
|
||||||
|
var xmldata = new XMLHttpRequest;
|
||||||
|
if (!contentType) {
|
||||||
|
contentType = 'text/xml';
|
||||||
|
}
|
||||||
|
xmldata.open('GET', 'data:' + contentType + ';charset=utf-8,' + encodeURIComponent(str), false);
|
||||||
|
if(xmldata.overrideMimeType) {
|
||||||
|
xmldata.overrideMimeType(contentType);
|
||||||
|
}
|
||||||
|
xmldata.send(null);
|
||||||
|
return xmldata.responseXML;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.hasAttributes = function (node) {
|
||||||
|
var ret;
|
||||||
|
if (node.attributes && node.attributes.length) {
|
||||||
|
ret = true;
|
||||||
|
} else {
|
||||||
|
ret = false;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
this.hasAttributes = function (node) {
|
||||||
|
var ret;
|
||||||
|
if (node.attributes && node.attributes.length) {
|
||||||
|
ret = true;
|
||||||
|
} else {
|
||||||
|
ret = false;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
this.importNode = function (doc, srcElement) {
|
||||||
|
if ("undefined" == typeof doc.importNode) {
|
||||||
|
var ret = this._importNode(doc, srcElement, true);
|
||||||
|
} else {
|
||||||
|
var ret = doc.importNode(srcElement, true);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
};
|
||||||
|
this._importNode = function(doc, node, allChildren) {
|
||||||
|
switch (node.nodeType) {
|
||||||
|
case 1:
|
||||||
|
var newNode = doc.createElement(node.nodeName);
|
||||||
|
if (node.attributes && node.attributes.length > 0)
|
||||||
|
for (var i = 0, il = node.attributes.length; i < il;)
|
||||||
|
newNode.setAttribute(node.attributes[i].nodeName, node.getAttribute(node.attributes[i++].nodeName));
|
||||||
|
if (allChildren && node.childNodes && node.childNodes.length > 0)
|
||||||
|
for (var i = 0, il = node.childNodes.length; i < il;)
|
||||||
|
newNode.appendChild(this._importNode(doc, node.childNodes[i++], allChildren));
|
||||||
|
return newNode;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
case 4:
|
||||||
|
case 8:
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.parser = new DOMParser();
|
||||||
|
var str = "<docco><institution institution-parts=\"long\" delimiter=\", \" substitute-use-first=\"1\" use-last=\"1\"><institution-part name=\"long\"/></institution></docco>";
|
||||||
|
var inst_doc = this.parser.parseFromString(str, "text/xml");
|
||||||
|
var inst_node = inst_doc.getElementsByTagName("institution");
|
||||||
|
this.institution = inst_node.item(0);
|
||||||
|
var inst_part_node = inst_doc.getElementsByTagName("institution-part");
|
||||||
|
this.institutionpart = inst_part_node.item(0);
|
||||||
|
this.ns = "http://purl.org/net/xbiblio/csl";
|
||||||
|
};
|
||||||
|
CSL_CHROME.prototype.clean = function (xml) {
|
||||||
xml = xml.replace(/<\?[^?]+\?>/g, "");
|
xml = xml.replace(/<\?[^?]+\?>/g, "");
|
||||||
xml = xml.replace(/<![^>]+>/g, "");
|
xml = xml.replace(/<![^>]+>/g, "");
|
||||||
xml = xml.replace(/^\s+/g, "");
|
xml = xml.replace(/^\s+/, "");
|
||||||
xml = xml.replace(/\s+$/g, "");
|
xml = xml.replace(/\s+$/, "");
|
||||||
|
xml = xml.replace(/^\n*/, "");
|
||||||
return xml;
|
return xml;
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.getStyleId = function (myxml) {
|
CSL_CHROME.prototype.getStyleId = function (myxml) {
|
||||||
var text = "";
|
var text = "";
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
var node = myxml.getElementsByTagName("id");
|
||||||
var node = myxml..id;
|
if (node && node.length) {
|
||||||
if (node && node.length()) {
|
node = node.item(0);
|
||||||
text = node[0].toString();
|
}
|
||||||
|
if (node) {
|
||||||
|
text = node.textContent;
|
||||||
|
}
|
||||||
|
if (!text) {
|
||||||
|
text = node.innerText;
|
||||||
|
}
|
||||||
|
if (!text) {
|
||||||
|
text = node.innerHTML;
|
||||||
}
|
}
|
||||||
return text;
|
return text;
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.children = function (myxml) {
|
CSL_CHROME.prototype.children = function (myxml) {
|
||||||
return myxml.children();
|
var children, pos, len, ret;
|
||||||
|
if (myxml) {
|
||||||
|
ret = [];
|
||||||
|
children = myxml.childNodes;
|
||||||
|
for (pos = 0, len = children.length; pos < len; pos += 1) {
|
||||||
|
if (children[pos].nodeName != "#text") {
|
||||||
|
ret.push(children[pos]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
} else {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.nodename = function (myxml) {
|
CSL_CHROME.prototype.nodename = function (myxml) {
|
||||||
var ret = myxml.localName();
|
var ret = myxml.nodeName;
|
||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.attributes = function (myxml) {
|
CSL_CHROME.prototype.attributes = function (myxml) {
|
||||||
var ret, attrs, attr, key, xml;
|
var ret, attrs, attr, key, xml, pos, len;
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
|
||||||
ret = new Object();
|
ret = new Object();
|
||||||
attrs = myxml.attributes();
|
if (myxml && this.hasAttributes(myxml)) {
|
||||||
for each (attr in attrs) {
|
attrs = myxml.attributes;
|
||||||
key = "@" + attr.localName();
|
for (pos = 0, len=attrs.length; pos < len; pos += 1) {
|
||||||
if (key.slice(0,5) == "@e4x_") {
|
attr = attrs[pos];
|
||||||
continue;
|
ret["@" + attr.name] = attr.value;
|
||||||
}
|
}
|
||||||
ret[key] = attr.toString();
|
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.content = function (myxml) {
|
CSL_CHROME.prototype.content = function (myxml) {
|
||||||
return myxml.toString();
|
var ret;
|
||||||
|
if ("undefined" != typeof myxml.textContent) {
|
||||||
|
ret = myxml.textContent;
|
||||||
|
} else if ("undefined" != typeof myxml.innerText) {
|
||||||
|
ret = myxml.innerText;
|
||||||
|
} else {
|
||||||
|
ret = myxml.txt;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.namespace = {
|
CSL_CHROME.prototype.namespace = {
|
||||||
"xml":"http://www.w3.org/XML/1998/namespace"
|
"xml":"http://www.w3.org/XML/1998/namespace"
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.numberofnodes = function (myxml) {
|
CSL_CHROME.prototype.numberofnodes = function (myxml) {
|
||||||
return myxml.length();
|
if (myxml) {
|
||||||
|
return myxml.length;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.getAttributeName = function (attr) {
|
CSL_CHROME.prototype.getAttributeName = function (attr) {
|
||||||
var ret = attr.localName();
|
var ret = attr.name;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.getAttributeValue = function (myxml,name,namespace) {
|
CSL_CHROME.prototype.getAttributeValue = function (myxml,name,namespace) {
|
||||||
var xml;
|
var ret = "";
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
if (myxml && this.hasAttributes(myxml) && myxml.getAttribute(name)) {
|
||||||
if (namespace) {
|
ret = myxml.getAttribute(name);
|
||||||
var ns = new Namespace(this.namespace[namespace]);
|
}
|
||||||
var ret = myxml.@ns::[name].toString();
|
return ret;
|
||||||
|
}
|
||||||
|
CSL_CHROME.prototype.getNodeValue = function (myxml,name) {
|
||||||
|
var ret = "";
|
||||||
|
if (name){
|
||||||
|
var vals = myxml.getElementsByTagName(name);
|
||||||
|
if (vals.length > 0) {
|
||||||
|
if ("undefined" != typeof vals[0].textContent) {
|
||||||
|
ret = vals[0].textContent;
|
||||||
|
} else if ("undefined" != typeof vals[0].innerText) {
|
||||||
|
ret = vals[0].innerText;
|
||||||
|
} else {
|
||||||
|
ret = vals[0].text;
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (name) {
|
ret = myxml;
|
||||||
var ret = myxml.attribute(name).toString();
|
}
|
||||||
|
if (ret && ret.childNodes && (ret.childNodes.length == 0 || (ret.childNodes.length == 1 && ret.firstChild.nodeName == "#text"))) {
|
||||||
|
if ("undefined" != typeof ret.textContent) {
|
||||||
|
ret = ret.textContent;
|
||||||
|
} else if ("undefined" != typeof ret.innerText) {
|
||||||
|
ret = ret.innerText;
|
||||||
} else {
|
} else {
|
||||||
var ret = myxml.toString();
|
ret = ret.text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.getNodeValue = function (myxml,name) {
|
CSL_CHROME.prototype.setAttributeOnNodeIdentifiedByNameAttribute = function (myxml,nodename,partname,attrname,val) {
|
||||||
var xml;
|
var pos, len, xml, nodes, node;
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
if (attrname.slice(0,1) === '@'){
|
||||||
if (name){
|
attrname = attrname.slice(1);
|
||||||
return myxml[name].toString();
|
}
|
||||||
} else {
|
nodes = myxml.getElementsByTagName(nodename);
|
||||||
return myxml.toString();
|
for (pos = 0, len = nodes.length; pos < len; pos += 1) {
|
||||||
|
node = nodes[pos];
|
||||||
|
if (node.getAttribute("name") != partname) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
node.setAttribute(attrname, val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.setAttributeOnNodeIdentifiedByNameAttribute = function (myxml,nodename,attrname,attr,val) {
|
CSL_CHROME.prototype.deleteNodeByNameAttribute = function (myxml,val) {
|
||||||
var xml;
|
var pos, len, node, nodes;
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
nodes = myxml.childNodes;
|
||||||
if (attr[0] != '@'){
|
for (pos = 0, len = nodes.length; pos < len; pos += 1) {
|
||||||
attr = '@'+attr;
|
node = nodes[pos];
|
||||||
|
if (!node || node.nodeType == node.TEXT_NODE) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (this.hasAttributes(node) && node.getAttribute("name") == val) {
|
||||||
|
myxml.removeChild(nodes[pos]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
myxml[nodename].(@name == attrname)[0][attr] = val;
|
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.deleteNodeByNameAttribute = function (myxml,val) {
|
CSL_CHROME.prototype.deleteAttribute = function (myxml,attr) {
|
||||||
delete myxml.*.(@name==val)[0];
|
myxml.removeAttribute(attr);
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.deleteAttribute = function (myxml,attr) {
|
CSL_CHROME.prototype.setAttribute = function (myxml,attr,val) {
|
||||||
delete myxml["@"+attr];
|
var attribute;
|
||||||
|
if (!myxml.ownerDocument) {
|
||||||
|
myxml = myxml.firstChild;
|
||||||
|
}
|
||||||
|
attribute = myxml.ownerDocument.createAttribute(attr);
|
||||||
|
myxml.setAttribute(attr, val);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.setAttribute = function (myxml,attr,val) {
|
CSL_CHROME.prototype.nodeCopy = function (myxml) {
|
||||||
myxml['@'+attr] = val;
|
var cloned_node = myxml.cloneNode(true);
|
||||||
|
return cloned_node;
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.nodeCopy = function (myxml) {
|
CSL_CHROME.prototype.getNodesByName = function (myxml,name,nameattrval) {
|
||||||
return myxml.copy();
|
var ret, nodes, node, pos, len;
|
||||||
}
|
ret = [];
|
||||||
CSL_E4X.prototype.getNodesByName = function (myxml,name,nameattrval) {
|
nodes = myxml.getElementsByTagName(name);
|
||||||
var xml, ret;
|
for (pos = 0, len = nodes.length; pos < len; pos += 1) {
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
node = nodes.item(pos);
|
||||||
ret = myxml.descendants(name);
|
if (nameattrval && !(this.hasAttributes(node) && node.getAttribute("name") == nameattrval)) {
|
||||||
if (nameattrval){
|
continue;
|
||||||
ret = ret.(@name == nameattrval);
|
}
|
||||||
|
ret.push(node);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.nodeNameIs = function (myxml,name) {
|
CSL_CHROME.prototype.nodeNameIs = function (myxml,name) {
|
||||||
var xml;
|
if (name == myxml.nodeName) {
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
|
||||||
if (myxml.localName() && myxml.localName().toString() == name){
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
CSL_E4X.prototype.makeXml = function (myxml) {
|
CSL_CHROME.prototype.makeXml = function (myxml) {
|
||||||
var xml;
|
var ret, topnode;
|
||||||
XML.ignoreComments = true;
|
if (!myxml) {
|
||||||
XML.ignoreProcessingInstructions = true;
|
myxml = "<docco><bogus/></docco>";
|
||||||
XML.ignoreWhitespace = true;
|
|
||||||
XML.prettyPrinting = true;
|
|
||||||
XML.prettyIndent = 2;
|
|
||||||
if ("xml" == typeof myxml){
|
|
||||||
myxml = myxml.toXMLString();
|
|
||||||
};
|
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
|
||||||
xml = new Namespace("http://www.w3.org/XML/1998/namespace");
|
|
||||||
if (myxml){
|
|
||||||
myxml = myxml.replace(/\s*<\?[^>]*\?>\s*\n*/g, "");
|
|
||||||
myxml = new XML(myxml);
|
|
||||||
} else {
|
|
||||||
myxml = new XML();
|
|
||||||
}
|
}
|
||||||
return myxml;
|
myxml = myxml.replace(/\s*<\?[^>]*\?>\s*\n*/g, "");
|
||||||
|
var nodetree = this.parser.parseFromString(myxml, "application/xml");
|
||||||
|
return nodetree.firstChild;
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.insertChildNodeAfter = function (parent,node,pos,datexml) {
|
CSL_CHROME.prototype.insertChildNodeAfter = function (parent,node,pos,datexml) {
|
||||||
var myxml, xml;
|
var myxml, xml;
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
myxml = this.importNode(node.ownerDocument, datexml);
|
||||||
myxml = XML(datexml.toXMLString());
|
parent.replaceChild(myxml, node);
|
||||||
parent.insertChildAfter(node,myxml);
|
return parent;
|
||||||
delete parent.*[pos];
|
};
|
||||||
return parent;
|
CSL_CHROME.prototype.insertPublisherAndPlace = function(myxml) {
|
||||||
};
|
var group = myxml.getElementsByTagName("group");
|
||||||
CSL_E4X.prototype.insertPublisherAndPlace = function(myxml) {
|
for (var i = 0, ilen = group.length; i < ilen; i += 1) {
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
var node = group.item(i);
|
||||||
for each (var node in myxml..group) {
|
if (node.childNodes.length === 2) {
|
||||||
if (node.children().length() === 2) {
|
var twovars = [];
|
||||||
var twovars = [];
|
for (var j = 0, jlen = 2; j < jlen; j += 1) {
|
||||||
for each (var child in node.children()) {
|
var child = node.childNodes.item(j);
|
||||||
if (child.children().length() === 0
|
if (child.childNodes.length === 0) {
|
||||||
) {
|
twovars.push(child.getAttribute('variable'));
|
||||||
twovars.push(child.@variable.toString());
|
if (child.getAttribute('suffix')
|
||||||
if (child.@suffix.toString()
|
|| child.getAttribute('prefix')) {
|
||||||
|| child.@prefix.toString()) {
|
twovars = [];
|
||||||
twovars = [];
|
break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (twovars.indexOf("publisher") > -1 && twovars.indexOf("publisher-place") > -1) {
|
|
||||||
node["@has-publisher-and-publisher-place"] = "true";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if (twovars.indexOf("publisher") > -1 && twovars.indexOf("publisher-place") > -1) {
|
||||||
};
|
node.setAttribute('has-publisher-and-publisher-place', true);
|
||||||
CSL_E4X.prototype.addMissingNameNodes = function(myxml) {
|
}
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
|
||||||
for each (node in myxml..names) {
|
|
||||||
if ("xml" == typeof node && node.parent().localName() !== "substitute" && node.elements("name").length() === 0) {
|
|
||||||
var name = <name/>;
|
|
||||||
node.appendChild(name);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.addInstitutionNodes = function(myxml) {
|
CSL_CHROME.prototype.addMissingNameNodes = function(myxml) {
|
||||||
var institution_long, institution_short, name_part, children, node, xml;
|
var nameslist = myxml.getElementsByTagName("names");
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
for (var i = 0, ilen = nameslist.length; i < ilen; i += 1) {
|
||||||
for each (node in myxml..names) {
|
var names = nameslist.item(i);
|
||||||
if ("xml" == typeof node && node.elements("name").length() > 0) {
|
var namelist = names.getElementsByTagName("name");
|
||||||
if (node.institution.length() === 0) {
|
if ((!namelist || namelist.length === 0)
|
||||||
institution_long = <institution
|
&& names.parentNode.tagName.toLowerCase() !== "substitute") {
|
||||||
institution-parts="long"
|
var doc = names.ownerDocument;
|
||||||
substitute-use-first="1"
|
var name = doc.createElement("name");
|
||||||
use-last="1"/>
|
names.appendChild(name);
|
||||||
institution_part = <institution-part name="long"/>;
|
}
|
||||||
node.name += institution_long;
|
}
|
||||||
node.institution.@delimiter = node.name.@delimiter.toString();
|
};
|
||||||
if (node.name.@and.toString()) {
|
CSL_CHROME.prototype.addInstitutionNodes = function(myxml) {
|
||||||
node.institution.@and = "text";
|
var names, thenames, institution, theinstitution, name, thename, xml, pos, len;
|
||||||
|
names = myxml.getElementsByTagName("names");
|
||||||
|
for (pos = 0, len = names.length; pos < len; pos += 1) {
|
||||||
|
thenames = names.item(pos);
|
||||||
|
name = thenames.getElementsByTagName("name");
|
||||||
|
if (name.length == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
institution = thenames.getElementsByTagName("institution");
|
||||||
|
if (institution.length == 0) {
|
||||||
|
theinstitution = this.importNode(myxml.ownerDocument, this.institution);
|
||||||
|
theinstitutionpart = theinstitution.getElementsByTagName("institution-part").item(0);
|
||||||
|
thename = name.item(0);
|
||||||
|
thenames.insertBefore(theinstitution, thename.nextSibling);
|
||||||
|
for (var j = 0, jlen = CSL.INSTITUTION_KEYS.length; j < jlen; j += 1) {
|
||||||
|
var attrname = CSL.INSTITUTION_KEYS[j];
|
||||||
|
var attrval = thename.getAttribute(attrname);
|
||||||
|
if (attrval) {
|
||||||
|
theinstitutionpart.setAttribute(attrname, attrval);
|
||||||
}
|
}
|
||||||
node.institution[0].appendChild(institution_part);
|
}
|
||||||
for each (var attr in CSL.INSTITUTION_KEYS) {
|
var nameparts = thename.getElementsByTagName("name-part");
|
||||||
if (node.name.@[attr].toString()) {
|
for (var j = 0, jlen = nameparts.length; j < jlen; j += 1) {
|
||||||
node.institution['institution-part'][0].@[attr] = node.name.@[attr].toString();
|
if ('family' === nameparts[j].getAttribute('name')) {
|
||||||
}
|
for (var k = 0, klen = CSL.INSTITUTION_KEYS.length; k < klen; k += 1) {
|
||||||
}
|
var attrname = CSL.INSTITUTION_KEYS[k];
|
||||||
for each (var namepartnode in node.name['name-part']) {
|
var attrval = nameparts[j].getAttribute(attrname);
|
||||||
if (namepartnode.@name.toString() === 'family') {
|
if (attrval) {
|
||||||
for each (var attr in CSL.INSTITUTION_KEYS) {
|
theinstitutionpart.setAttribute(attrname, attrval);
|
||||||
if (namepartnode.@[attr].toString()) {
|
|
||||||
node.institution['institution-part'][0].@[attr] = namepartnode.@[attr].toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
CSL_E4X.prototype.flagDateMacros = function(myxml) {
|
CSL_CHROME.prototype.flagDateMacros = function(myxml) {
|
||||||
default xml namespace = "http://purl.org/net/xbiblio/csl"; with({});
|
var pos, len, thenode, thedate;
|
||||||
for each (node in myxml..macro) {
|
nodes = myxml.getElementsByTagName("macro");
|
||||||
if (node..date.length()) {
|
for (pos = 0, len = nodes.length; pos < len; pos += 1) {
|
||||||
node.@['macro-has-date'] = 'true';
|
thenode = nodes.item(pos);
|
||||||
|
thedate = thenode.getElementsByTagName("date");
|
||||||
|
if (thedate.length) {
|
||||||
|
thenode.setAttribute('macro-has-date', 'true');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -837,7 +981,7 @@ CSL.Output.Queue.prototype.closeLevel = function (name) {
|
||||||
}
|
}
|
||||||
this.current.pop();
|
this.current.pop();
|
||||||
};
|
};
|
||||||
CSL.Output.Queue.prototype.append = function (str, tokname, notSerious, ignorePredecessor) {
|
CSL.Output.Queue.prototype.append = function (str, tokname, notSerious, ignorePredecessor, noStripPeriods) {
|
||||||
var token, blob, curr;
|
var token, blob, curr;
|
||||||
var useblob = true;
|
var useblob = true;
|
||||||
if (this.state.tmp["doing-macro-with-date"]) {
|
if (this.state.tmp["doing-macro-with-date"]) {
|
||||||
|
@ -897,7 +1041,7 @@ CSL.Output.Queue.prototype.append = function (str, tokname, notSerious, ignorePr
|
||||||
curr = this.current.value();
|
curr = this.current.value();
|
||||||
}
|
}
|
||||||
if ("string" === typeof blob.blobs) {
|
if ("string" === typeof blob.blobs) {
|
||||||
if (this.state.tmp.strip_periods) {
|
if (this.state.tmp.strip_periods && !noStripPeriods) {
|
||||||
blob.blobs = blob.blobs.replace(/\./g, "");
|
blob.blobs = blob.blobs.replace(/\./g, "");
|
||||||
}
|
}
|
||||||
if (!ignorePredecessor) {
|
if (!ignorePredecessor) {
|
||||||
|
@ -1989,7 +2133,7 @@ CSL.DateParser = function () {
|
||||||
};
|
};
|
||||||
CSL.Engine = function (sys, style, lang, forceLang) {
|
CSL.Engine = function (sys, style, lang, forceLang) {
|
||||||
var attrs, langspec, localexml, locale;
|
var attrs, langspec, localexml, locale;
|
||||||
this.processor_version = "1.0.269";
|
this.processor_version = "1.0.277";
|
||||||
this.csl_version = "1.0";
|
this.csl_version = "1.0";
|
||||||
this.sys = sys;
|
this.sys = sys;
|
||||||
this.sys.xml = new CSL.System.Xml.Parsing();
|
this.sys.xml = new CSL.System.Xml.Parsing();
|
||||||
|
@ -2309,18 +2453,34 @@ CSL.Engine.prototype.retrieveItem = function (id) {
|
||||||
if (this.opt.development_extensions.field_hack && Item.note) {
|
if (this.opt.development_extensions.field_hack && Item.note) {
|
||||||
m = Item.note.match(CSL.NOTE_FIELDS_REGEXP);
|
m = Item.note.match(CSL.NOTE_FIELDS_REGEXP);
|
||||||
if (m) {
|
if (m) {
|
||||||
|
var names = {};
|
||||||
for (pos = 0, len = m.length; pos < len; pos += 1) {
|
for (pos = 0, len = m.length; pos < len; pos += 1) {
|
||||||
mm = m[pos].match(CSL.NOTE_FIELD_REGEXP);
|
mm = m[pos].match(CSL.NOTE_FIELD_REGEXP);
|
||||||
if (!Item[mm[1]] || true) {
|
if (!Item[mm[1]] && CSL.DATE_VARIABLES.indexOf(mm[1]) > -1) {
|
||||||
if (CSL.DATE_VARIABLES.indexOf(mm[1]) > -1) {
|
Item[mm[1]] = {raw:mm[2]};
|
||||||
Item[mm[1]] = {raw:mm[2]};
|
} else if (!Item[mm[1]] && CSL.NAME_VARIABLES.indexOf(mm[1]) > -1) {
|
||||||
} else {
|
if (!Item[mm[1]]) {
|
||||||
Item[mm[1]] = mm[2].replace(/^\s+/, "").replace(/\s+$/, "");
|
Item[mm[1]] = []
|
||||||
}
|
}
|
||||||
|
var lst = mm[2].split(/\s*\|\|\s*/)
|
||||||
|
if (lst.length === 1) {
|
||||||
|
Item[mm[1]].push({family:lst[0],isInstitution:true});
|
||||||
|
} else if (lst.length === 2) {
|
||||||
|
Item[mm[1]].push({family:lst[0],given:lst[1]});
|
||||||
|
}
|
||||||
|
} else if (!Item[mm[1]] || mm[1] === "type") {
|
||||||
|
Item[mm[1]] = mm[2].replace(/^\s+/, "").replace(/\s+$/, "");
|
||||||
}
|
}
|
||||||
|
Item.note.replace(CSL.NOTE_FIELD_REGEXP, "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (this.opt.development_extensions.jurisdiction_subfield && Item.jurisdiction) {
|
||||||
|
var subjurisdictions = Item.jurisdiction.split(";");
|
||||||
|
if (subjurisdictions.length > 1) {
|
||||||
|
Item.subjurisdiction = subjurisdictions.slice(0,2).join(";");
|
||||||
|
}
|
||||||
|
}
|
||||||
for (var i = 1, ilen = CSL.DATE_VARIABLES.length; i < ilen; i += 1) {
|
for (var i = 1, ilen = CSL.DATE_VARIABLES.length; i < ilen; i += 1) {
|
||||||
var dateobj = Item[CSL.DATE_VARIABLES[i]];
|
var dateobj = Item[CSL.DATE_VARIABLES[i]];
|
||||||
if (dateobj) {
|
if (dateobj) {
|
||||||
|
@ -2547,6 +2707,7 @@ CSL.Engine.Opt = function () {
|
||||||
this.development_extensions.clean_up_csl_flaws = true;
|
this.development_extensions.clean_up_csl_flaws = true;
|
||||||
this.development_extensions.flip_parentheses_to_braces = true;
|
this.development_extensions.flip_parentheses_to_braces = true;
|
||||||
this.development_extensions.parse_section_variable = true;
|
this.development_extensions.parse_section_variable = true;
|
||||||
|
this.development_extensions.jurisdiction_subfield = true;
|
||||||
this.gender = {};
|
this.gender = {};
|
||||||
this['cite-lang-prefs'] = {
|
this['cite-lang-prefs'] = {
|
||||||
persons:['orig'],
|
persons:['orig'],
|
||||||
|
@ -3315,7 +3476,7 @@ CSL.Engine.prototype.processCitationCluster = function (citation, citationsPre,
|
||||||
var items = citations[(j - 1)].sortedItems;
|
var items = citations[(j - 1)].sortedItems;
|
||||||
var useme = false;
|
var useme = false;
|
||||||
if ((citations[(j - 1)].sortedItems[0][1].id == item[1].id && citations[j - 1].properties.noteIndex >= (citations[j].properties.noteIndex - 1)) || citations[(j - 1)].sortedItems[0][1].id == this.registry.registry[item[1].id].parallel) {
|
if ((citations[(j - 1)].sortedItems[0][1].id == item[1].id && citations[j - 1].properties.noteIndex >= (citations[j].properties.noteIndex - 1)) || citations[(j - 1)].sortedItems[0][1].id == this.registry.registry[item[1].id].parallel) {
|
||||||
if (citationsInNote[citations[j - 1].properties.noteIndex] === 1) {
|
if (citationsInNote[citations[j - 1].properties.noteIndex] === 1 || citations[j - 1].properties.noteIndex === 0) {
|
||||||
useme = true;
|
useme = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6630,11 +6791,13 @@ CSL.evaluateLabel = function (node, state, Item, item) {
|
||||||
return CSL.castLabel(state, node, myterm, plural);
|
return CSL.castLabel(state, node, myterm, plural);
|
||||||
};
|
};
|
||||||
CSL.evaluateStringPluralism = function (str) {
|
CSL.evaluateStringPluralism = function (str) {
|
||||||
if (str && str.match(/(?:[0-9],\s*[0-9]|\s+and\s+|&|[0-9]\s*[\-\u2013]\s*[0-9])/)) {
|
if (str) {
|
||||||
return 1;
|
var m = str.match(/(?:[0-9],\s*[0-9]|\s+and\s+|&|([0-9]+)\s*[\-\u2013]\s*([0-9]+))/)
|
||||||
} else {
|
if (m && (!m[1] || parseInt(m[1]) < parseInt(m[2]))) {
|
||||||
return 0;
|
return 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
};
|
};
|
||||||
CSL.castLabel = function (state, node, term, plural, mode) {
|
CSL.castLabel = function (state, node, term, plural, mode) {
|
||||||
var ret = state.getTerm(term, node.strings.form, plural, false, mode);
|
var ret = state.getTerm(term, node.strings.form, plural, false, mode);
|
||||||
|
@ -7091,9 +7254,8 @@ CSL.Node.number = {
|
||||||
for (var i = 0, ilen = values.length; i < ilen; i += 1) {
|
for (var i = 0, ilen = values.length; i < ilen; i += 1) {
|
||||||
newstr += values[i][1];
|
newstr += values[i][1];
|
||||||
}
|
}
|
||||||
newstr = state.fun.page_mangler(newstr);
|
|
||||||
}
|
}
|
||||||
if (newstr && !newstr.match(/^[0-9]+$/)) {
|
if (newstr && !newstr.match(/^[-.\u20130-9]+$/)) {
|
||||||
state.output.append(newstr, this);
|
state.output.append(newstr, this);
|
||||||
} else {
|
} else {
|
||||||
state.output.openLevel("empty");
|
state.output.openLevel("empty");
|
||||||
|
@ -7105,7 +7267,7 @@ CSL.Node.number = {
|
||||||
if (i < values.length - 1) {
|
if (i < values.length - 1) {
|
||||||
blob.strings.suffix = blob.strings.suffix.replace(/\s*$/, "");
|
blob.strings.suffix = blob.strings.suffix.replace(/\s*$/, "");
|
||||||
}
|
}
|
||||||
state.output.append(blob, "literal");
|
state.output.append(blob, "literal", false, false, true);
|
||||||
}
|
}
|
||||||
state.output.closeLevel("empty");
|
state.output.closeLevel("empty");
|
||||||
}
|
}
|
||||||
|
@ -7339,7 +7501,13 @@ CSL.Node.text = {
|
||||||
if (item && item[this.variables[0]]) {
|
if (item && item[this.variables[0]]) {
|
||||||
var locator = "" + item[this.variables[0]];
|
var locator = "" + item[this.variables[0]];
|
||||||
locator = locator.replace(/--*/g,"\u2013");
|
locator = locator.replace(/--*/g,"\u2013");
|
||||||
state.output.append(locator, this);
|
var m = locator.match(/^([0-9]+)\s*\u2013\s*([0-9]+)$/)
|
||||||
|
if (m) {
|
||||||
|
if (parseInt(m[1]) >= parseInt(m[2])) {
|
||||||
|
locator = m[1] + "-" + m[2];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state.output.append(locator, this, false, false, true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} else if (this.variables_real[0] === "page-first") {
|
} else if (this.variables_real[0] === "page-first") {
|
||||||
|
@ -7352,7 +7520,7 @@ CSL.Node.text = {
|
||||||
if (idx > -1) {
|
if (idx > -1) {
|
||||||
value = value.slice(0, idx);
|
value = value.slice(0, idx);
|
||||||
}
|
}
|
||||||
state.output.append(value, this);
|
state.output.append(value, this, false, false, true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} else if (this.variables_real[0] === "page") {
|
} else if (this.variables_real[0] === "page") {
|
||||||
|
@ -7360,7 +7528,7 @@ CSL.Node.text = {
|
||||||
var value = state.getVariable(Item, "page", form);
|
var value = state.getVariable(Item, "page", form);
|
||||||
if (value) {
|
if (value) {
|
||||||
value = state.fun.page_mangler(value);
|
value = state.fun.page_mangler(value);
|
||||||
state.output.append(value, this);
|
state.output.append(value, this, false, false, true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} else if (this.variables_real[0] === "volume") {
|
} else if (this.variables_real[0] === "volume") {
|
||||||
|
@ -7375,13 +7543,23 @@ CSL.Node.text = {
|
||||||
};
|
};
|
||||||
} else if (this.variables_real[0] === "hereinafter") {
|
} else if (this.variables_real[0] === "hereinafter") {
|
||||||
func = function (state, Item) {
|
func = function (state, Item) {
|
||||||
var hereinafter_key = state.transform.getHereinafter(Item);
|
var hereinafter_info = state.transform.getHereinafter(Item);
|
||||||
var value = state.transform.abbrevs["default"].hereinafter[hereinafter_key];
|
var value = state.transform.abbrevs[hereinafter_info[0]].hereinafter[hereinafter_info[1]];
|
||||||
if (value) {
|
if (value) {
|
||||||
state.tmp.group_context.value()[2] = true;
|
state.tmp.group_context.value()[2] = true;
|
||||||
state.output.append(value, this);
|
state.output.append(value, this);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
} else if (this.variables_real[0] === "URL") {
|
||||||
|
func = function (state, Item) {
|
||||||
|
var value;
|
||||||
|
if (this.variables[0]) {
|
||||||
|
value = state.getVariable(Item, this.variables[0], form);
|
||||||
|
if (value) {
|
||||||
|
state.output.append(value, this, false, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
} else if (this.variables_real[0] === "section") {
|
} else if (this.variables_real[0] === "section") {
|
||||||
func = function (state, Item) {
|
func = function (state, Item) {
|
||||||
var value;
|
var value;
|
||||||
|
@ -7389,6 +7567,7 @@ CSL.Node.text = {
|
||||||
if (value) {
|
if (value) {
|
||||||
if ((Item.type === "bill" || Item.type === "legislation")
|
if ((Item.type === "bill" || Item.type === "legislation")
|
||||||
&& state.opt.development_extensions.parse_section_variable) {
|
&& state.opt.development_extensions.parse_section_variable) {
|
||||||
|
value = "" + value;
|
||||||
var m = value.match(CSL.STATUTE_SUBDIV_GROUPED_REGEX);
|
var m = value.match(CSL.STATUTE_SUBDIV_GROUPED_REGEX);
|
||||||
if (m) {
|
if (m) {
|
||||||
var splt = value.split(CSL.STATUTE_SUBDIV_PLAIN_REGEX);
|
var splt = value.split(CSL.STATUTE_SUBDIV_PLAIN_REGEX);
|
||||||
|
@ -7595,8 +7774,8 @@ CSL.Attributes["@variable"] = function (state, arg) {
|
||||||
this.variables.push(variables[pos]);
|
this.variables.push(variables[pos]);
|
||||||
}
|
}
|
||||||
if ("hereinafter" === variables[pos] && state.sys.getAbbreviation) {
|
if ("hereinafter" === variables[pos] && state.sys.getAbbreviation) {
|
||||||
var hereinafter_key = state.transform.getHereinafter(Item);
|
var hereinafter_info = state.transform.getHereinafter(Item);
|
||||||
state.transform.loadAbbreviation("default", "hereinafter", hereinafter_key);
|
state.transform.loadAbbreviation(hereinafter_info[0], "hereinafter", hereinafter_info[1]);
|
||||||
}
|
}
|
||||||
if (state.tmp.can_block_substitute) {
|
if (state.tmp.can_block_substitute) {
|
||||||
state.tmp.done_vars.push(variables[pos]);
|
state.tmp.done_vars.push(variables[pos]);
|
||||||
|
@ -7702,9 +7881,9 @@ CSL.Attributes["@variable"] = function (state, arg) {
|
||||||
myitem = item;
|
myitem = item;
|
||||||
}
|
}
|
||||||
if (variable === "hereinafter" && state.sys.getAbbreviation) {
|
if (variable === "hereinafter" && state.sys.getAbbreviation) {
|
||||||
var hereinafter_key = state.transform.getHereinafter(myitem);
|
var hereinafter_info = state.transform.getHereinafter(myitem);
|
||||||
state.transform.loadAbbreviation("default", "hereinafter", hereinafter_key);
|
state.transform.loadAbbreviation(hereinafter_info[0], "hereinafter", hereinafter_info[1]);
|
||||||
if (state.transform.abbrevs["default"].hereinafter[hereinafter_key]) {
|
if (state.transform.abbrevs[hereinafter_info[0]].hereinafter[hereinafter_info[1]]) {
|
||||||
x = true
|
x = true
|
||||||
}
|
}
|
||||||
} else if (myitem[variable]) {
|
} else if (myitem[variable]) {
|
||||||
|
@ -7877,7 +8056,10 @@ CSL.Attributes["@is-numeric"] = function (state, arg) {
|
||||||
state.processNumber(false, Item, variables[pos]);
|
state.processNumber(false, Item, variables[pos]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!state.tmp.shadow_numbers[variables[pos]].numeric) {
|
if (!state.tmp.shadow_numbers[variables[pos]].numeric
|
||||||
|
&& !(variables[pos] === 'title'
|
||||||
|
&& Item[variables[pos]]
|
||||||
|
&& Item[variables[pos]].slice(-1) === "" + parseInt(Item[variables[pos]].slice(-1)))) {
|
||||||
numeric = false;
|
numeric = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -8395,13 +8577,13 @@ CSL.Transform = function (state) {
|
||||||
if (!myabbrev_family) {
|
if (!myabbrev_family) {
|
||||||
return basevalue;
|
return basevalue;
|
||||||
}
|
}
|
||||||
if (["publisher-place", "event-place"].indexOf(myabbrev_family) > -1) {
|
if (["publisher-place", "event-place", "subjurisdiction"].indexOf(myabbrev_family) > -1) {
|
||||||
myabbrev_family = "place";
|
myabbrev_family = "place";
|
||||||
}
|
}
|
||||||
if (["publisher", "authority"].indexOf(myabbrev_family) > -1) {
|
if (["publisher", "authority"].indexOf(myabbrev_family) > -1) {
|
||||||
myabbrev_family = "institution-part";
|
myabbrev_family = "institution-part";
|
||||||
}
|
}
|
||||||
if (["genre", "event"].indexOf(myabbrev_family) > -1) {
|
if (["genre", "event", "medium"].indexOf(myabbrev_family) > -1) {
|
||||||
myabbrev_family = "title";
|
myabbrev_family = "title";
|
||||||
}
|
}
|
||||||
if (["title-short"].indexOf(myabbrev_family) > -1) {
|
if (["title-short"].indexOf(myabbrev_family) > -1) {
|
||||||
|
@ -8657,15 +8839,16 @@ CSL.Transform = function (state) {
|
||||||
hereinafter_metadata.push("date:" + date);
|
hereinafter_metadata.push("date:" + date);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
var jurisdiction = "default";
|
||||||
if (Item.jurisdiction) {
|
if (Item.jurisdiction) {
|
||||||
hereinafter_metadata.push("jurisdiction:" + Item.jurisdiction);
|
jurisdiction = Item.jurisdiction;
|
||||||
}
|
}
|
||||||
hereinafter_metadata = hereinafter_metadata.join(", ");
|
hereinafter_metadata = hereinafter_metadata.join(", ");
|
||||||
if (hereinafter_metadata) {
|
if (hereinafter_metadata) {
|
||||||
hereinafter_metadata = " [" + hereinafter_metadata + "]";
|
hereinafter_metadata = " [" + hereinafter_metadata + "]";
|
||||||
}
|
}
|
||||||
var hereinafter_key = hereinafter_author_title.join(", ") + hereinafter_metadata;
|
var hereinafter_key = hereinafter_author_title.join(", ") + hereinafter_metadata;
|
||||||
return hereinafter_key;
|
return [jurisdiction, hereinafter_key];
|
||||||
}
|
}
|
||||||
this.getHereinafter = getHereinafter;
|
this.getHereinafter = getHereinafter;
|
||||||
};
|
};
|
||||||
|
@ -8674,7 +8857,7 @@ CSL.Parallel = function (state) {
|
||||||
this.sets = new CSL.Stack([]);
|
this.sets = new CSL.Stack([]);
|
||||||
this.try_cite = true;
|
this.try_cite = true;
|
||||||
this.use_parallels = true;
|
this.use_parallels = true;
|
||||||
this.midVars = ["section", "volume", "container-title", "collection-number", "issue", "page", "page-first", "locator"];
|
this.midVars = ["hereinafter", "section", "volume", "container-title", "collection-number", "issue", "page", "page-first", "locator"];
|
||||||
};
|
};
|
||||||
CSL.Parallel.prototype.isMid = function (variable) {
|
CSL.Parallel.prototype.isMid = function (variable) {
|
||||||
return (this.midVars.indexOf(variable) > -1);
|
return (this.midVars.indexOf(variable) > -1);
|
||||||
|
@ -9280,6 +9463,7 @@ CSL.Util.Names.initializeWith = function (state, name, terminator, normalizeOnly
|
||||||
namelist = namelist.replace(/\-/g, " ");
|
namelist = namelist.replace(/\-/g, " ");
|
||||||
}
|
}
|
||||||
namelist = namelist.replace(/\s*\-\s*/g, "-").replace(/\s+/g, " ");
|
namelist = namelist.replace(/\s*\-\s*/g, "-").replace(/\s+/g, " ");
|
||||||
|
namelist = namelist.replace(/-([a-z])/g, "\u2013$1")
|
||||||
mm = namelist.match(/[\-\s]+/g);
|
mm = namelist.match(/[\-\s]+/g);
|
||||||
lst = namelist.split(/[\-\s]+/);
|
lst = namelist.split(/[\-\s]+/);
|
||||||
if (lst.length === 0) {
|
if (lst.length === 0) {
|
||||||
|
@ -9311,6 +9495,7 @@ CSL.Util.Names.initializeWith = function (state, name, terminator, normalizeOnly
|
||||||
} else {
|
} else {
|
||||||
ret = CSL.Util.Names.doInitialize(state, lst, terminator);
|
ret = CSL.Util.Names.doInitialize(state, lst, terminator);
|
||||||
}
|
}
|
||||||
|
ret = ret.replace(/\u2013([a-z])/g, "-$1")
|
||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
CSL.Util.Names.doNormalize = function (state, namelist, terminator, mode) {
|
CSL.Util.Names.doNormalize = function (state, namelist, terminator, mode) {
|
||||||
|
@ -9775,11 +9960,11 @@ CSL.Util.Ordinalizer.prototype.format = function (num, gender) {
|
||||||
str = num.toString();
|
str = num.toString();
|
||||||
if ((num / 10) % 10 === 1 || (num > 10 && num < 20)) {
|
if ((num / 10) % 10 === 1 || (num > 10 && num < 20)) {
|
||||||
str += this.suffixes[gender][3];
|
str += this.suffixes[gender][3];
|
||||||
} else if (num % 10 === 1) {
|
} else if (num % 10 === 1 && num % 100 !== 11) {
|
||||||
str += this.suffixes[gender][0];
|
str += this.suffixes[gender][0];
|
||||||
} else if (num % 10 === 2) {
|
} else if (num % 10 === 2 && num % 100 !== 12) {
|
||||||
str += this.suffixes[gender][1];
|
str += this.suffixes[gender][1];
|
||||||
} else if (num % 10 === 3) {
|
} else if (num % 10 === 3 && num % 100 !== 13) {
|
||||||
str += this.suffixes[gender][2];
|
str += this.suffixes[gender][2];
|
||||||
} else {
|
} else {
|
||||||
str += this.suffixes[gender][3];
|
str += this.suffixes[gender][3];
|
||||||
|
@ -9835,7 +10020,9 @@ CSL.Engine.prototype.processNumber = function (node, ItemObject, variable) {
|
||||||
if (num.slice(0, 1) === '"' && num.slice(-1) === '"') {
|
if (num.slice(0, 1) === '"' && num.slice(-1) === '"') {
|
||||||
num = num.slice(1, -1);
|
num = num.slice(1, -1);
|
||||||
}
|
}
|
||||||
num = num.replace(/\s*\-\s*/, "\u2013", "g");
|
if (num.indexOf("&") > -1 || num.indexOf("--") > -1) {
|
||||||
|
this.tmp.shadow_numbers[variable].plural = 1;
|
||||||
|
}
|
||||||
if (this.variable === "page-first") {
|
if (this.variable === "page-first") {
|
||||||
m = num.split(/\s*(?:&|,|-)\s*/);
|
m = num.split(/\s*(?:&|,|-)\s*/);
|
||||||
if (m) {
|
if (m) {
|
||||||
|
@ -9845,8 +10032,8 @@ CSL.Engine.prototype.processNumber = function (node, ItemObject, variable) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var lst = num.split(/(?:,\s+|\s*[\-\u2013]\s*|\s*&\s*)/);
|
var lst = num.split(/(?:,\s+|\s*\\*[\-\u2013]+\s*|\s*&\s*)/);
|
||||||
var m = num.match(/(,\s+|\s*[\-\u2013]\s*|\s*&\s*)/g);
|
var m = num.match(/(,\s+|\s*\\*[\-\u2013]+\s*|\s*&\s*)/g);
|
||||||
var elements = [];
|
var elements = [];
|
||||||
for (var i = 0, ilen = lst.length - 1; i < ilen; i += 1) {
|
for (var i = 0, ilen = lst.length - 1; i < ilen; i += 1) {
|
||||||
elements.push(lst[i]);
|
elements.push(lst[i]);
|
||||||
|
@ -9860,7 +10047,30 @@ CSL.Engine.prototype.processNumber = function (node, ItemObject, variable) {
|
||||||
if (odd) {
|
if (odd) {
|
||||||
if (elements[i]) {
|
if (elements[i]) {
|
||||||
if (elements[i].match(/[0-9]/)) {
|
if (elements[i].match(/[0-9]/)) {
|
||||||
count = count + 1;
|
if (elements[i - 1] && elements[i - 1].match(/^\s*\\*[\-\u2013]+\s*$/)) {
|
||||||
|
var middle = this.tmp.shadow_numbers[variable].values.slice(-1);
|
||||||
|
if (middle[0][1].indexOf("\\") == -1) {
|
||||||
|
if (elements[i - 2] && ("" + elements[i - 2]).match(/[0-9]+$/)
|
||||||
|
&& elements[i].match(/^[0-9]+/)
|
||||||
|
&& parseInt(elements[i - 2]) < parseInt(elements[i].replace(/[^0-9].*/,""))) {
|
||||||
|
var start = this.tmp.shadow_numbers[variable].values.slice(-2);
|
||||||
|
middle[0][1] = "\u2013";
|
||||||
|
if (this.opt["page-range-format"] ) {
|
||||||
|
var newstr = this.fun.page_mangler(start[0][1] +"-"+elements[i]);
|
||||||
|
newstr = newstr.split(/\u2013/);
|
||||||
|
elements[i] = newstr[1];
|
||||||
|
}
|
||||||
|
count = count + 1;
|
||||||
|
}
|
||||||
|
if (middle[0][1].indexOf("--") > -1) {
|
||||||
|
middle[0][1] = middle[0][1].replace(/--*/, "\u2013");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
middle[0][1] = middle[0][1].replace(/\\/, "", "g");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
count = count + 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var subelements = elements[i].split(/\s+/);
|
var subelements = elements[i].split(/\s+/);
|
||||||
for (var j = 0, jlen = subelements.length; j < jlen; j += 1) {
|
for (var j = 0, jlen = subelements.length; j < jlen; j += 1) {
|
||||||
|
@ -9905,7 +10115,7 @@ CSL.Engine.prototype.processNumber = function (node, ItemObject, variable) {
|
||||||
this.tmp.shadow_numbers[variable].numeric = true;
|
this.tmp.shadow_numbers[variable].numeric = true;
|
||||||
} else {
|
} else {
|
||||||
this.tmp.shadow_numbers[variable].numeric = numeric;
|
this.tmp.shadow_numbers[variable].numeric = numeric;
|
||||||
}
|
}
|
||||||
if (count > 1) {
|
if (count > 1) {
|
||||||
this.tmp.shadow_numbers[variable].plural = 1;
|
this.tmp.shadow_numbers[variable].plural = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -337,23 +337,73 @@ Zotero.Tag.prototype.save = function (full) {
|
||||||
key
|
key
|
||||||
];
|
];
|
||||||
|
|
||||||
if (isNew) {
|
try {
|
||||||
var sql = "INSERT INTO tags (" + columns.join(', ') + ") VALUES ("
|
if (isNew) {
|
||||||
+ placeholders.join(', ') + ")";
|
var sql = "INSERT INTO tags (" + columns.join(', ') + ") VALUES ("
|
||||||
var insertID = Zotero.DB.query(sql, sqlValues);
|
+ placeholders.join(', ') + ")";
|
||||||
if (!tagID) {
|
var insertID = Zotero.DB.query(sql, sqlValues);
|
||||||
tagID = insertID;
|
if (!tagID) {
|
||||||
|
tagID = insertID;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Remove tagID from beginning
|
||||||
|
columns.shift();
|
||||||
|
sqlValues.shift();
|
||||||
|
sqlValues.push(tagID);
|
||||||
|
|
||||||
|
var sql = "UPDATE tags SET " + columns.join("=?, ") + "=?"
|
||||||
|
+ " WHERE tagID=?";
|
||||||
|
Zotero.DB.query(sql, sqlValues);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
catch (e) {
|
||||||
// Remove tagID from beginning
|
// If an incoming tag is the same as an existing tag, but with a different key,
|
||||||
columns.shift();
|
// then delete the old tag and add its linked items to the new tag
|
||||||
sqlValues.shift();
|
if (typeof e == 'string' && e.indexOf('columns libraryID, name, type are not unique') != -1) {
|
||||||
sqlValues.push(tagID);
|
Zotero.debug("Tag matches existing tag with different key -- delete old tag and merging items");
|
||||||
|
|
||||||
var sql = "UPDATE tags SET " + columns.join("=?, ") + "=?"
|
// GET existing tag
|
||||||
+ " WHERE tagID=?";
|
var existing = Zotero.Tags.getIDs(this.name, this.libraryID);
|
||||||
Zotero.DB.query(sql, sqlValues);
|
if (!existing) {
|
||||||
|
throw new Error("Existing tag not found");
|
||||||
|
}
|
||||||
|
for each(var id in existing) {
|
||||||
|
var tag = Zotero.Tags.get(id, true);
|
||||||
|
if (tag.type == this.type) {
|
||||||
|
var linked = tag.getLinkedItems(true);
|
||||||
|
Zotero.Tags.erase(id);
|
||||||
|
Zotero.Tags.purge(id);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save again
|
||||||
|
if (isNew) {
|
||||||
|
var sql = "INSERT INTO tags (" + columns.join(', ') + ") VALUES ("
|
||||||
|
+ placeholders.join(', ') + ")";
|
||||||
|
var insertID = Zotero.DB.query(sql, sqlValues);
|
||||||
|
if (!tagID) {
|
||||||
|
tagID = insertID;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var sql = "UPDATE tags SET " + columns.join("=?, ") + "=?"
|
||||||
|
+ " WHERE tagID=?";
|
||||||
|
Zotero.DB.query(sql, sqlValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TEMP: until getLinkedItems() returns only arrays
|
||||||
|
linked = linked ? linked : [];
|
||||||
|
var linked2 = this.getLinkedItems(true);
|
||||||
|
linked2 = linked2 ? linked2 : [];
|
||||||
|
linked = linked.concat(linked2);
|
||||||
|
|
||||||
|
this.linkedItems = Zotero.Utilities.arrayUnique(linked);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw (e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -339,21 +339,25 @@ Zotero.Integration = new function() {
|
||||||
if(_x11 === false) return;
|
if(_x11 === false) return;
|
||||||
if(!_x11) {
|
if(!_x11) {
|
||||||
try {
|
try {
|
||||||
var libName = ctypes.libraryName("X11");
|
_x11 = ctypes.open("libX11.so.6");
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
_x11 = false;
|
try {
|
||||||
Zotero.debug("Integration: Could not get libX11 name; not activating");
|
var libName = ctypes.libraryName("X11");
|
||||||
Zotero.logError(e);
|
} catch(e) {
|
||||||
return;
|
_x11 = false;
|
||||||
}
|
Zotero.debug("Integration: Could not get libX11 name; not activating");
|
||||||
|
Zotero.logError(e);
|
||||||
try {
|
return;
|
||||||
_x11 = ctypes.open(libName);
|
}
|
||||||
} catch(e) {
|
|
||||||
_x11 = false;
|
try {
|
||||||
Zotero.debug("Integration: Could not open "+libName+"; not activating");
|
_x11 = ctypes.open(libName);
|
||||||
Zotero.logError(e);
|
} catch(e) {
|
||||||
return;
|
_x11 = false;
|
||||||
|
Zotero.debug("Integration: Could not open "+libName+"; not activating");
|
||||||
|
Zotero.logError(e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const Status = ctypes.int,
|
const Status = ctypes.int,
|
||||||
|
@ -520,8 +524,6 @@ Zotero.Integration = new function() {
|
||||||
event.format = 32;
|
event.format = 32;
|
||||||
event.l0 = 2;
|
event.l0 = 2;
|
||||||
var mask = 1<<20 /* SubstructureRedirectMask */ | 1<<19 /* SubstructureNotifyMask */;
|
var mask = 1<<20 /* SubstructureRedirectMask */ | 1<<19 /* SubstructureNotifyMask */;
|
||||||
Zotero.debug(event.toSource());
|
|
||||||
Zotero.debug([_x11Display, rootWindow, 0, mask, event.address()]);
|
|
||||||
|
|
||||||
if(XSendEvent(_x11Display, rootWindow, 0, mask, event.address())) {
|
if(XSendEvent(_x11Display, rootWindow, 0, mask, event.address())) {
|
||||||
XMapRaised(_x11Display, x11Window);
|
XMapRaised(_x11Display, x11Window);
|
||||||
|
@ -536,6 +538,24 @@ Zotero.Integration = new function() {
|
||||||
intervalID = win.setInterval(_X11BringToForeground, 50);
|
intervalID = win.setInterval(_X11BringToForeground, 50);
|
||||||
}, false);
|
}, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dummyPtr = dummy.address();
|
||||||
|
if(!XQueryTree(display, w, dummyPtr, dummyPtr, childrenPtr.address(),
|
||||||
|
nChildren.address()) || childrenPtr.isNull()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var nChildrenJS = nChildren.value;
|
||||||
|
var children = ctypes.cast(childrenPtr, ctypes.uint32_t.array(nChildrenJS).ptr).contents;
|
||||||
|
var foundWindow = false;
|
||||||
|
for(var i=0; i<nChildrenJS; i++) {
|
||||||
|
foundWindow = _X11FindWindow(display, children.addressOfElement(i).contents,
|
||||||
|
searchName);
|
||||||
|
if(foundWindow) break;
|
||||||
|
}
|
||||||
|
|
||||||
|
XFree(children);
|
||||||
|
return foundWindow;
|
||||||
}
|
}
|
||||||
|
|
||||||
function _X11FindWindow(display, w, searchName) {
|
function _X11FindWindow(display, w, searchName) {
|
||||||
|
@ -562,8 +582,9 @@ Zotero.Integration = new function() {
|
||||||
var children = ctypes.cast(childrenPtr, ctypes.uint32_t.array(nChildrenJS).ptr).contents;
|
var children = ctypes.cast(childrenPtr, ctypes.uint32_t.array(nChildrenJS).ptr).contents;
|
||||||
var foundWindow = false;
|
var foundWindow = false;
|
||||||
for(var i=0; i<nChildrenJS; i++) {
|
for(var i=0; i<nChildrenJS; i++) {
|
||||||
foundWindow = _X11FindWindow(display, children.addressOfElement(i).contents,
|
var testWin = children.addressOfElement(i).contents;
|
||||||
searchName);
|
if(testWin == 0) continue;
|
||||||
|
foundWindow = _X11FindWindow(display, testWin, searchName);
|
||||||
if(foundWindow) break;
|
if(foundWindow) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1064,9 +1085,6 @@ Zotero.Integration.Document.prototype.setDocPrefs = function() {
|
||||||
// pass to conversion function
|
// pass to conversion function
|
||||||
me._doc.convert(new Zotero.Integration.Document.JSEnumerator(fieldsToConvert),
|
me._doc.convert(new Zotero.Integration.Document.JSEnumerator(fieldsToConvert),
|
||||||
me._session.data.prefs.fieldType, fieldNoteTypes, fieldNoteTypes.length);
|
me._session.data.prefs.fieldType, fieldNoteTypes, fieldNoteTypes.length);
|
||||||
|
|
||||||
// clear fields so that they will get collected again before refresh
|
|
||||||
me._fields = undefined;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// refresh contents
|
// refresh contents
|
||||||
|
@ -1246,33 +1264,39 @@ Zotero.Integration.Fields.prototype._retrieveFields = function() {
|
||||||
* @param {Field} field The Zotero field object
|
* @param {Field} field The Zotero field object
|
||||||
* @param {Integer} i The field index
|
* @param {Integer} i The field index
|
||||||
*/
|
*/
|
||||||
Zotero.Integration.Fields.prototype._showCorruptFieldError = function(e, field, i) {
|
Zotero.Integration.Fields.prototype._showCorruptFieldError = function(e, field, callback, errorCallback, i) {
|
||||||
|
Zotero.logError(e);
|
||||||
|
|
||||||
var msg = Zotero.getString("integration.corruptField")+'\n\n'+
|
var msg = Zotero.getString("integration.corruptField")+'\n\n'+
|
||||||
Zotero.getString('integration.corruptField.description');
|
Zotero.getString('integration.corruptField.description');
|
||||||
field.select();
|
field.select();
|
||||||
|
this._doc.activate();
|
||||||
var result = this._doc.displayAlert(msg,
|
var result = this._doc.displayAlert(msg,
|
||||||
Components.interfaces.zoteroIntegrationDocument.DIALOG_ICON_CAUTION,
|
Components.interfaces.zoteroIntegrationDocument.DIALOG_ICON_CAUTION,
|
||||||
Components.interfaces.zoteroIntegrationDocument.DIALOG_BUTTONS_YES_NO_CANCEL);
|
Components.interfaces.zoteroIntegrationDocument.DIALOG_BUTTONS_YES_NO_CANCEL);
|
||||||
|
|
||||||
if(result == 0) {
|
if(result == 0) {
|
||||||
throw e;
|
throw new Zotero.Integration.UserCancelledException;
|
||||||
} else if(result == 1) { // No
|
} else if(result == 1) { // No
|
||||||
this._removeCodeFields.push(i);
|
this._removeCodeFields.push(i);
|
||||||
|
return true;
|
||||||
} else {
|
} else {
|
||||||
// Display reselect edit citation dialog
|
// Display reselect edit citation dialog
|
||||||
var added = this.addEditCitation(field);
|
var me = this;
|
||||||
if(added) {
|
var oldWindow = Zotero.Integration.currentWindow;
|
||||||
this._doc.activate();
|
this.addEditCitation(field, function() {
|
||||||
} else {
|
Zotero.Integration.currentWindow.close();
|
||||||
throw new Zotero.Integration.UserCancelledException();
|
Zotero.Integration.currentWindow = oldWindow;
|
||||||
}
|
me.updateSession(callback, errorCallback);
|
||||||
|
});
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates Zotero.Integration.Session attached to Zotero.Integration.Fields in line with document
|
* Updates Zotero.Integration.Session attached to Zotero.Integration.Fields in line with document
|
||||||
*/
|
*/
|
||||||
Zotero.Integration.Fields.prototype.updateSession = function(callback) {
|
Zotero.Integration.Fields.prototype.updateSession = function(callback, errorCallback) {
|
||||||
var me = this;
|
var me = this;
|
||||||
this.get(function(fields) {
|
this.get(function(fields) {
|
||||||
me._session.resetRequest(me._doc);
|
me._session.resetRequest(me._doc);
|
||||||
|
@ -1297,7 +1321,9 @@ Zotero.Integration.Fields.prototype.updateSession = function(callback) {
|
||||||
try {
|
try {
|
||||||
me._session.loadBibliographyData(me._bibliographyData);
|
me._session.loadBibliographyData(me._bibliographyData);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
if(e instanceof Zotero.Integration.CorruptFieldException) {
|
if(errorCallback) {
|
||||||
|
errorCallback(e);
|
||||||
|
} else if(e instanceof Zotero.Integration.CorruptFieldException) {
|
||||||
var msg = Zotero.getString("integration.corruptBibliography")+'\n\n'+
|
var msg = Zotero.getString("integration.corruptBibliography")+'\n\n'+
|
||||||
Zotero.getString('integration.corruptBibliography.description');
|
Zotero.getString('integration.corruptBibliography.description');
|
||||||
var result = me._doc.displayAlert(msg,
|
var result = me._doc.displayAlert(msg,
|
||||||
|
@ -1330,16 +1356,16 @@ Zotero.Integration.Fields.prototype.updateSession = function(callback) {
|
||||||
if(callback) callback(me._session);
|
if(callback) callback(me._session);
|
||||||
}));
|
}));
|
||||||
} else {
|
} else {
|
||||||
if(callback) callback(this._session);
|
if(callback) callback(me._session);
|
||||||
}
|
}
|
||||||
});
|
}, errorCallback);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Keep processing fields until all have been processed
|
* Keep processing fields until all have been processed
|
||||||
*/
|
*/
|
||||||
Zotero.Integration.Fields.prototype._processFields = function(fields, callback, i) {
|
Zotero.Integration.Fields.prototype._processFields = function(fields, callback, errorCallback, i) {
|
||||||
if(!i) i = 0;
|
if(!i) i = 0;
|
||||||
|
|
||||||
for(var n = fields.length; i<n; i++) {
|
for(var n = fields.length; i<n; i++) {
|
||||||
|
@ -1348,7 +1374,7 @@ Zotero.Integration.Fields.prototype._processFields = function(fields, callback,
|
||||||
try {
|
try {
|
||||||
var fieldCode = field.getCode();
|
var fieldCode = field.getCode();
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
this._showCorruptFieldError(e, field, i);
|
if(!this._showCorruptFieldError(e, field, callback, errorCallback, i)) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var [type, content] = this.getCodeTypeAndContent(fieldCode);
|
var [type, content] = this.getCodeTypeAndContent(fieldCode);
|
||||||
|
@ -1357,7 +1383,9 @@ Zotero.Integration.Fields.prototype._processFields = function(fields, callback,
|
||||||
try {
|
try {
|
||||||
this._session.addCitation(i, noteIndex, content);
|
this._session.addCitation(i, noteIndex, content);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
if(e instanceof Zotero.Integration.MissingItemException) {
|
if(errorCallback) {
|
||||||
|
errorCallback(e);
|
||||||
|
} else if(e instanceof Zotero.Integration.MissingItemException) {
|
||||||
// First, check if we've already decided to remove field codes from these
|
// First, check if we've already decided to remove field codes from these
|
||||||
var reselect = true;
|
var reselect = true;
|
||||||
for each(var reselectKey in e.reselectKeys) {
|
for each(var reselectKey in e.reselectKeys) {
|
||||||
|
@ -1377,6 +1405,7 @@ Zotero.Integration.Fields.prototype._processFields = function(fields, callback,
|
||||||
}
|
}
|
||||||
msg += '\n\n'+Zotero.getString('integration.missingItem.description');
|
msg += '\n\n'+Zotero.getString('integration.missingItem.description');
|
||||||
field.select();
|
field.select();
|
||||||
|
this._doc.activate();
|
||||||
var result = this._doc.displayAlert(msg, 1, 3);
|
var result = this._doc.displayAlert(msg, 1, 3);
|
||||||
if(result == 0) { // Cancel
|
if(result == 0) { // Cancel
|
||||||
throw new Zotero.Integration.UserCancelledException();
|
throw new Zotero.Integration.UserCancelledException();
|
||||||
|
@ -1388,16 +1417,18 @@ Zotero.Integration.Fields.prototype._processFields = function(fields, callback,
|
||||||
} else { // Yes
|
} else { // Yes
|
||||||
// Display reselect item dialog
|
// Display reselect item dialog
|
||||||
var me = this;
|
var me = this;
|
||||||
|
var oldCurrentWindow = Zotero.Integration.currentWindow;
|
||||||
this._session.reselectItem(this._doc, e, function() {
|
this._session.reselectItem(this._doc, e, function() {
|
||||||
// Now try again
|
// Now try again
|
||||||
|
Zotero.Integration.currentWindow = oldCurrentWindow;
|
||||||
me._doc.activate();
|
me._doc.activate();
|
||||||
me._processFields(fields, callback, i);
|
me._processFields(fields, callback, errorCallback, i);
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if(e instanceof Zotero.Integration.CorruptFieldException) {
|
} else if(e instanceof Zotero.Integration.CorruptFieldException) {
|
||||||
this._showCorruptFieldError(e, field, i);
|
if(!this._showCorruptFieldError(e, field, callback, errorCallback, i)) return;
|
||||||
} else {
|
} else {
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
@ -1595,40 +1626,56 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field, callback)
|
||||||
|
|
||||||
// if there's already a citation, make sure we have item IDs in addition to keys
|
// if there's already a citation, make sure we have item IDs in addition to keys
|
||||||
if(field) {
|
if(field) {
|
||||||
var code = field.getCode();
|
|
||||||
[type, content] = this.getCodeTypeAndContent(code);
|
|
||||||
if(type != INTEGRATION_TYPE_ITEM) {
|
|
||||||
throw new Zotero.Integration.DisplayException("notInCitation");
|
|
||||||
}
|
|
||||||
|
|
||||||
citation = session.unserializeCitation(content);
|
|
||||||
try {
|
try {
|
||||||
session.lookupItems(citation);
|
var code = field.getCode();
|
||||||
} catch(e) {
|
} catch(e) {}
|
||||||
if(e instanceof MissingItemException) {
|
|
||||||
citation.citationItems = [];
|
if(code) {
|
||||||
} else {
|
[type, content] = this.getCodeTypeAndContent(code);
|
||||||
throw e;
|
if(type != INTEGRATION_TYPE_ITEM) {
|
||||||
|
throw new Zotero.Integration.DisplayException("notInCitation");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
citation = session.unserializeCitation(content);
|
||||||
|
} catch(e) {}
|
||||||
|
|
||||||
|
if(citation) {
|
||||||
|
try {
|
||||||
|
session.lookupItems(citation);
|
||||||
|
} catch(e) {
|
||||||
|
if(e instanceof MissingItemException) {
|
||||||
|
citation.citationItems = [];
|
||||||
|
} else {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(citation.properties.dontUpdate
|
||||||
|
|| (citation.properties.plainCitation
|
||||||
|
&& field.getText() !== citation.properties.plainCitation)) {
|
||||||
|
this._doc.activate();
|
||||||
|
if(!this._doc.displayAlert(Zotero.getString("integration.citationChanged.edit"),
|
||||||
|
Components.interfaces.zoteroIntegrationDocument.DIALOG_ICON_WARNING,
|
||||||
|
Components.interfaces.zoteroIntegrationDocument.DIALOG_BUTTONS_OK_CANCEL)) {
|
||||||
|
throw new Zotero.Integration.UserCancelledException;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// make sure it's going to get updated
|
||||||
|
delete citation.properties["formattedCitation"];
|
||||||
|
delete citation.properties["plainCitation"];
|
||||||
|
delete citation.properties["dontUpdate"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(citation.properties.dontUpdate) {
|
|
||||||
if(!this._doc.displayAlert(Zotero.getString("integration.citationChanged.edit"),
|
|
||||||
Components.interfaces.zoteroIntegrationDocument.DIALOG_ICON_WARNING,
|
|
||||||
Components.interfaces.zoteroIntegrationDocument.DIALOG_BUTTONS_OK_CANCEL)) {
|
|
||||||
throw new Zotero.Integration.UserCancelledException;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// make sure it's going to get updated
|
|
||||||
delete citation.properties["formattedCitation"];
|
|
||||||
delete citation.properties["plainCitation"];
|
|
||||||
delete citation.properties["dontUpdate"];
|
|
||||||
} else {
|
} else {
|
||||||
newField = true;
|
newField = true;
|
||||||
var field = this.addField(true);
|
var field = this.addField(true);
|
||||||
|
if(!field) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!citation) {
|
||||||
field.setCode("TEMP");
|
field.setCode("TEMP");
|
||||||
|
|
||||||
citation = {"citationItems":[], "properties":{}};
|
citation = {"citationItems":[], "properties":{}};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1703,6 +1750,11 @@ Zotero.Integration.CitationEditInterface.prototype = {
|
||||||
}
|
}
|
||||||
me._sessionUpdated = true;
|
me._sessionUpdated = true;
|
||||||
delete me._sessionCallbackQueue;
|
delete me._sessionCallbackQueue;
|
||||||
|
}, function(e) {
|
||||||
|
if(e instanceof Zotero.Integration.MissingItemException
|
||||||
|
|| e instanceof Zotero.Integration.CorruptFieldException) {
|
||||||
|
me._errorOccurred = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1735,11 +1787,23 @@ Zotero.Integration.CitationEditInterface.prototype = {
|
||||||
* Receives a number from 0 to 100 indicating current status.
|
* Receives a number from 0 to 100 indicating current status.
|
||||||
*/
|
*/
|
||||||
"accept":function(progressCallback) {
|
"accept":function(progressCallback) {
|
||||||
|
var me = this;
|
||||||
this._fields.progressCallback = progressCallback;
|
this._fields.progressCallback = progressCallback;
|
||||||
|
|
||||||
|
if(this._errorOccurred) {
|
||||||
|
// If an error occurred updating the session, update it again, this time letting the
|
||||||
|
// error get displayed
|
||||||
|
Zotero.setTimeout(function() {
|
||||||
|
me._fields.updateSession(function() {
|
||||||
|
me._errorOccurred = false;
|
||||||
|
me.accept(progressCallback);
|
||||||
|
})
|
||||||
|
}, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(this.citation.citationItems.length) {
|
if(this.citation.citationItems.length) {
|
||||||
// Citation added
|
// Citation
|
||||||
var me = this;
|
|
||||||
this._runWhenSessionUpdated(function() {
|
this._runWhenSessionUpdated(function() {
|
||||||
me._session.addCitation(me._fieldIndex, me._field.getNoteIndex(), me.citation);
|
me._session.addCitation(me._fieldIndex, me._field.getNoteIndex(), me.citation);
|
||||||
me._session.updateIndices[me._fieldIndex] = true;
|
me._session.updateIndices[me._fieldIndex] = true;
|
||||||
|
@ -1840,11 +1904,12 @@ Zotero.Integration.Session.prototype.resetRequest = function(doc) {
|
||||||
this.updateIndices = {};
|
this.updateIndices = {};
|
||||||
this.newIndices = {};
|
this.newIndices = {};
|
||||||
|
|
||||||
this.oldCitationIDs = this.citationIDs;
|
this.oldCitationIDs = this.citeprocCitationIDs;
|
||||||
|
|
||||||
this.citationsByItemID = {};
|
this.citationsByItemID = {};
|
||||||
this.citationsByIndex = [];
|
this.citationsByIndex = [];
|
||||||
this.citationIDs = {};
|
this.documentCitationIDs = {};
|
||||||
|
this.citeprocCitationIDs = {};
|
||||||
this.citationText = {};
|
this.citationText = {};
|
||||||
|
|
||||||
this.doc = doc;
|
this.doc = doc;
|
||||||
|
@ -1920,6 +1985,7 @@ Zotero.Integration.Session.prototype.setDocPrefs = function(doc, primaryFieldTyp
|
||||||
if(!oldData || oldData.style.styleID != data.style.styleID
|
if(!oldData || oldData.style.styleID != data.style.styleID
|
||||||
|| oldData.prefs.noteType != data.prefs.noteType
|
|| oldData.prefs.noteType != data.prefs.noteType
|
||||||
|| oldData.prefs.fieldType != data.prefs.fieldType) {
|
|| oldData.prefs.fieldType != data.prefs.fieldType) {
|
||||||
|
// This will cause us to regenerate all citations
|
||||||
me.oldCitationIDs = {};
|
me.oldCitationIDs = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2078,7 +2144,8 @@ Zotero.Integration.Session.prototype.addCitation = function(index, noteIndex, ar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var needNewID = !citation.citationID || this.citationIDs[citation.citationID];
|
// We need a new ID if there's another citation with the same citation ID in this document
|
||||||
|
var needNewID = !citation.citationID || this.documentCitationIDs[citation.citationID];
|
||||||
if(needNewID || !this.oldCitationIDs[citation.citationID]) {
|
if(needNewID || !this.oldCitationIDs[citation.citationID]) {
|
||||||
if(needNewID) {
|
if(needNewID) {
|
||||||
Zotero.debug("Integration: "+citation.citationID+" ("+index+") needs new citationID");
|
Zotero.debug("Integration: "+citation.citationID+" ("+index+") needs new citationID");
|
||||||
|
@ -2088,7 +2155,7 @@ Zotero.Integration.Session.prototype.addCitation = function(index, noteIndex, ar
|
||||||
this.updateIndices[index] = true;
|
this.updateIndices[index] = true;
|
||||||
}
|
}
|
||||||
Zotero.debug("Integration: Adding citationID "+citation.citationID);
|
Zotero.debug("Integration: Adding citationID "+citation.citationID);
|
||||||
this.citationIDs[citation.citationID] = true;
|
this.documentCitationIDs[citation.citationID] = citation.citationID;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2320,7 +2387,7 @@ Zotero.Integration.Session.prototype.deleteCitation = function(index) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Zotero.debug("Integration: Deleting old citationID "+oldCitation.citationID);
|
Zotero.debug("Integration: Deleting old citationID "+oldCitation.citationID);
|
||||||
if(oldCitation.citationID) delete this.citationIDs[oldCitation.citationID];
|
if(oldCitation.citationID) delete this.citeprocCitationIDs[oldCitation.citationID];
|
||||||
|
|
||||||
this.updateIndices[index] = true;
|
this.updateIndices[index] = true;
|
||||||
}
|
}
|
||||||
|
@ -2471,9 +2538,7 @@ Zotero.Integration.Session.prototype.updateCitations = function(callback) {
|
||||||
if(this.formatCitation(index, citation)) {
|
if(this.formatCitation(index, citation)) {
|
||||||
this.bibliographyHasChanged = true;
|
this.bibliographyHasChanged = true;
|
||||||
}
|
}
|
||||||
if(!this.citationIDs[citation.citationID]) {
|
this.citeprocCitationIDs[citation.citationID] = true;
|
||||||
this.citationIDs[citation.citationID] = citation;
|
|
||||||
}
|
|
||||||
delete this.newIndices[index];
|
delete this.newIndices[index];
|
||||||
yield true;
|
yield true;
|
||||||
}
|
}
|
||||||
|
@ -2995,4 +3060,4 @@ Zotero.Integration.URIMap.prototype.getZoteroItemForURIs = function(uris) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return [zoteroItem, needUpdate];
|
return [zoteroItem, needUpdate];
|
||||||
}
|
}
|
||||||
|
|
|
@ -201,7 +201,8 @@ Zotero.LocateManager = new function() {
|
||||||
"image/png":"png",
|
"image/png":"png",
|
||||||
"image/jpeg":"jpg",
|
"image/jpeg":"jpg",
|
||||||
"image/gif":"gif",
|
"image/gif":"gif",
|
||||||
"image/x-icon":"ico"
|
"image/x-icon":"ico",
|
||||||
|
"image/vnd.microsoft.icon":"ico"
|
||||||
};
|
};
|
||||||
|
|
||||||
// ensure there is an icon
|
// ensure there is an icon
|
||||||
|
|
|
@ -50,7 +50,6 @@ Zotero.MIME = new function(){
|
||||||
["\uFFFD\uFFFD\uFFFD\uFFFD", 'image/jpeg', 0],
|
["\uFFFD\uFFFD\uFFFD\uFFFD", 'image/jpeg', 0],
|
||||||
["GIF8", 'image/gif', 0],
|
["GIF8", 'image/gif', 0],
|
||||||
["\uFFFDPNG", 'image/png', 0],
|
["\uFFFDPNG", 'image/png', 0],
|
||||||
["PK\x03\x04", "application/vnd.oasis.opendocument.text", 0],
|
|
||||||
["JFIF", 'image/jpeg'],
|
["JFIF", 'image/jpeg'],
|
||||||
["FLV", "video/x-flv", 0]
|
["FLV", "video/x-flv", 0]
|
||||||
|
|
||||||
|
|
|
@ -1,67 +1,4 @@
|
||||||
/**
|
// Things we need to define to make converted pythn code work in js
|
||||||
*
|
|
||||||
* UTF-8 data encode / decode
|
|
||||||
* http://www.webtoolkit.info/
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
|
|
||||||
var Utf8 = {
|
|
||||||
|
|
||||||
// public method for url encoding
|
|
||||||
encode : function (string) {
|
|
||||||
string = string.replace(/\r\n/g,"\n");
|
|
||||||
var utftext = "";
|
|
||||||
|
|
||||||
for (var n = 0; n < string.length; n++) {
|
|
||||||
|
|
||||||
var c = string.charCodeAt(n);
|
|
||||||
|
|
||||||
if (c < 128) {
|
|
||||||
utftext += String.fromCharCode(c);
|
|
||||||
}
|
|
||||||
else if((c > 127) && (c < 2048)) {
|
|
||||||
utftext += String.fromCharCode((c >> 6) | 192);
|
|
||||||
utftext += String.fromCharCode((c & 63) | 128);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
utftext += String.fromCharCode((c >> 12) | 224);
|
|
||||||
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
|
|
||||||
utftext += String.fromCharCode((c & 63) | 128);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return utftext;
|
|
||||||
},
|
|
||||||
|
|
||||||
// public method for url decoding
|
|
||||||
decode : function (utftext) {
|
|
||||||
var string = "";
|
|
||||||
var i = 0;
|
|
||||||
|
|
||||||
while ( i < utftext.length ) {
|
|
||||||
|
|
||||||
var c = utftext.charCodeAt(i);
|
|
||||||
if (c < 128) {
|
|
||||||
string += String.fromCharCode(c);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
else if((c > 191) && (c < 224)) {
|
|
||||||
string += String.fromCharCode(((c & 31) << 6)
|
|
||||||
| (utftext.charCodeAt(i+1) & 63));
|
|
||||||
i += 2;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
string += String.fromCharCode(((c & 15) << 12)
|
|
||||||
| ((utftext.charCodeAt(i+1) & 63) << 6)
|
|
||||||
| (utftext.charCodeAt(i+2) & 63));
|
|
||||||
i += 3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return string;
|
|
||||||
}
|
|
||||||
|
|
||||||
}// Things we need to define to make converted pythn code work in js
|
|
||||||
// environment of tabulator
|
// environment of tabulator
|
||||||
|
|
||||||
var RDFSink_forSomeSym = "http://www.w3.org/2000/10/swap/log#forSome";
|
var RDFSink_forSomeSym = "http://www.w3.org/2000/10/swap/log#forSome";
|
||||||
|
@ -120,17 +57,6 @@ stringFromCharCode = function(uesc) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
String.prototype.encode = function(encoding) {
|
|
||||||
if (encoding != 'utf-8') throw "UTF8_converter: can only do utf-8"
|
|
||||||
return Utf8.encode(this);
|
|
||||||
}
|
|
||||||
String.prototype.decode = function(encoding) {
|
|
||||||
if (encoding != 'utf-8') throw "UTF8_converter: can only do utf-8"
|
|
||||||
//return Utf8.decode(this);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
uripath_join = function(base, given) {
|
uripath_join = function(base, given) {
|
||||||
return Util.uri.join(given, base) // sad but true
|
return Util.uri.join(given, base) // sad but true
|
||||||
|
@ -309,7 +235,7 @@ __SinkParser.prototype.feed = function(octets) {
|
||||||
So if there is more data to feed to the
|
So if there is more data to feed to the
|
||||||
parser, it should be straightforward to recover.*/
|
parser, it should be straightforward to recover.*/
|
||||||
|
|
||||||
var str = octets.decode("utf-8");
|
var str = octets;
|
||||||
var i = 0;
|
var i = 0;
|
||||||
while ((i >= 0)) {
|
while ((i >= 0)) {
|
||||||
var j = this.skipSpace(str, i);
|
var j = this.skipSpace(str, i);
|
||||||
|
@ -1461,36 +1387,7 @@ __SinkParser.prototype.UEscape = function(str, i, startline) {
|
||||||
var uch = stringFromCharCode( ( ( "0x" + pyjslib_slice(value, 2, 10) ) - 0 ) );
|
var uch = stringFromCharCode( ( ( "0x" + pyjslib_slice(value, 2, 10) ) - 0 ) );
|
||||||
return new pyjslib_Tuple([j, uch]);
|
return new pyjslib_Tuple([j, uch]);
|
||||||
};
|
};
|
||||||
function OLD_BadSyntax(uri, lines, str, i, why) {
|
|
||||||
return new __OLD_BadSyntax(uri, lines, str, i, why);
|
|
||||||
}
|
|
||||||
function __OLD_BadSyntax(uri, lines, str, i, why) {
|
|
||||||
this._str = str.encode("utf-8");
|
|
||||||
this._str = str;
|
|
||||||
this._i = i;
|
|
||||||
this._why = why;
|
|
||||||
this.lines = lines;
|
|
||||||
this._uri = uri;
|
|
||||||
}
|
|
||||||
__OLD_BadSyntax.prototype.toString = function() {
|
|
||||||
var str = this._str;
|
|
||||||
var i = this._i;
|
|
||||||
var st = 0;
|
|
||||||
if ((i > 60)) {
|
|
||||||
var pre = "...";
|
|
||||||
var st = ( i - 60 ) ;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
var pre = "";
|
|
||||||
}
|
|
||||||
if (( ( pyjslib_len(str) - i ) > 60)) {
|
|
||||||
var post = "...";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
var post = "";
|
|
||||||
}
|
|
||||||
return "Line %i of <%s>: Bad syntax (%s) at ^ in:\n\"%s%s^%s%s\"" % new pyjslib_Tuple([ ( this.lines + 1 ) , this._uri, this._why, pre, pyjslib_slice(str, st, i), pyjslib_slice(str, i, ( i + 60 ) ), post]);
|
|
||||||
};
|
|
||||||
function BadSyntax(uri, lines, str, i, why) {
|
function BadSyntax(uri, lines, str, i, why) {
|
||||||
return ( ( ( ( ( ( ( ( "Line " + ( lines + 1 ) ) + " of <" ) + uri ) + ">: Bad syntax: " ) + why ) + "\nat: \"" ) + pyjslib_slice(str, i, ( i + 30 ) ) ) + "\"" ) ;
|
return ( ( ( ( ( ( ( ( "Line " + ( lines + 1 ) ) + " of <" ) + uri ) + ">: Bad syntax: " ) + why ) + "\nat: \"" ) + pyjslib_slice(str, i, ( i + 30 ) ) ) + "\"" ) ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -586,6 +586,9 @@ Zotero.Schema = new function(){
|
||||||
case 'nlm':
|
case 'nlm':
|
||||||
case 'vancouver':
|
case 'vancouver':
|
||||||
|
|
||||||
|
// Remove update script (included with 3.0 accidentally)
|
||||||
|
case 'update':
|
||||||
|
|
||||||
// Delete renamed/obsolete files
|
// Delete renamed/obsolete files
|
||||||
case 'chicago-note.csl':
|
case 'chicago-note.csl':
|
||||||
case 'mhra_note_without_bibliography.csl':
|
case 'mhra_note_without_bibliography.csl':
|
||||||
|
|
|
@ -53,8 +53,8 @@ Zotero.Sync.Storage = new function () {
|
||||||
|
|
||||||
// TEMP
|
// TEMP
|
||||||
// TODO: localize
|
// TODO: localize
|
||||||
this.defaultError = "A file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, restart Firefox and/or your computer and try again. If you continue to receive the message, submit an error report and post the Report ID to a new thread in the Zotero Forums.";
|
this.defaultError = "A file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, restart " + Zotero.appName + " and/or your computer and try again. If you continue to receive the message, submit an error report and post the Report ID to a new thread in the Zotero Forums.";
|
||||||
this.defaultErrorRestart = "A file sync error occurred. Please restart Firefox and/or your computer and try syncing again.\n\nIf you receive this message repeatedly, submit an error report and post the Report ID to a new thread in the Zotero Forums.";
|
this.defaultErrorRestart = "A file sync error occurred. Please restart " + Zotero.appName + " and/or your computer and try syncing again.\n\nIf you receive this message repeatedly, submit an error report and post the Report ID to a new thread in the Zotero Forums.";
|
||||||
|
|
||||||
//
|
//
|
||||||
// Public properties
|
// Public properties
|
||||||
|
|
|
@ -28,7 +28,7 @@ Zotero.Sync.Storage.Module.WebDAV = (function () {
|
||||||
// TEMP
|
// TEMP
|
||||||
// TODO: localize
|
// TODO: localize
|
||||||
var _defaultError = "A WebDAV file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences.";
|
var _defaultError = "A WebDAV file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences.";
|
||||||
var _defaultErrorRestart = "A WebDAV file sync error occurred. Please restart Firefox and try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences.";
|
var _defaultErrorRestart = "A WebDAV file sync error occurred. Please restart " + Zotero.appName + " and try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences.";
|
||||||
|
|
||||||
var _parentURI;
|
var _parentURI;
|
||||||
var _rootURI;
|
var _rootURI;
|
||||||
|
|
|
@ -70,7 +70,7 @@ Zotero.Sync.Storage.Module.ZFS = (function () {
|
||||||
Zotero.debug("Response headers unavailable");
|
Zotero.debug("Response headers unavailable");
|
||||||
}
|
}
|
||||||
// TODO: localize?
|
// TODO: localize?
|
||||||
var msg = "A file sync error occurred. Please restart Firefox and/or your computer and try syncing again.\n\n"
|
var msg = "A file sync error occurred. Please restart " + Zotero.appName + " and/or your computer and try syncing again.\n\n"
|
||||||
+ "If the error persists, there may be a problem with either your computer or your network: security software, proxy server, VPN, etc. "
|
+ "If the error persists, there may be a problem with either your computer or your network: security software, proxy server, VPN, etc. "
|
||||||
+ "Try disabling any security/firewall software you're using or, if this is a laptop, try from a different network.";
|
+ "Try disabling any security/firewall software you're using or, if this is a laptop, try from a different network.";
|
||||||
Zotero.Sync.Storage.EventManager.error(msg);
|
Zotero.Sync.Storage.EventManager.error(msg);
|
||||||
|
@ -508,6 +508,8 @@ Zotero.Sync.Storage.Module.ZFS = (function () {
|
||||||
+ " (" + Zotero.Items.getLibraryKeyHash(item) + ")";
|
+ " (" + Zotero.Items.getLibraryKeyHash(item) + ")";
|
||||||
Zotero.debug(msg, 1);
|
Zotero.debug(msg, 1);
|
||||||
Components.utils.reportError(msg);
|
Components.utils.reportError(msg);
|
||||||
|
Components.utils.reportError(response);
|
||||||
|
Components.utils.reportError(msg);
|
||||||
Zotero.Sync.Storage.EventManager.error(Zotero.Sync.Storage.defaultError);
|
Zotero.Sync.Storage.EventManager.error(Zotero.Sync.Storage.defaultError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -524,6 +526,7 @@ Zotero.Sync.Storage.Module.ZFS = (function () {
|
||||||
Zotero.debug(req.responseText);
|
Zotero.debug(req.responseText);
|
||||||
Zotero.debug(req.getAllResponseHeaders());
|
Zotero.debug(req.getAllResponseHeaders());
|
||||||
Components.utils.reportError(msg);
|
Components.utils.reportError(msg);
|
||||||
|
Components.utils.reportError(req.responseText);
|
||||||
Zotero.Sync.Storage.EventManager.error(Zotero.Sync.Storage.defaultError);
|
Zotero.Sync.Storage.EventManager.error(Zotero.Sync.Storage.defaultError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -524,7 +524,7 @@ Zotero.Sync.Runner = new function () {
|
||||||
|
|
||||||
if (Zotero.HTTP.browserIsOffline()){
|
if (Zotero.HTTP.browserIsOffline()){
|
||||||
this.clearSyncTimeout(); // DEBUG: necessary?
|
this.clearSyncTimeout(); // DEBUG: necessary?
|
||||||
var msg = "Zotero cannot sync while Firefox is in offline mode.";
|
var msg = "Zotero cannot sync while " + Zotero.appName + " is in offline mode.";
|
||||||
var e = new Zotero.Error(msg, 0, { dialogButtonText: null })
|
var e = new Zotero.Error(msg, 0, { dialogButtonText: null })
|
||||||
this.setSyncIcon('error', e);
|
this.setSyncIcon('error', e);
|
||||||
return false;
|
return false;
|
||||||
|
@ -533,7 +533,7 @@ Zotero.Sync.Runner = new function () {
|
||||||
if (_running) {
|
if (_running) {
|
||||||
// TODO: show status in all windows
|
// TODO: show status in all windows
|
||||||
var msg = "A sync process is already running. To view progress, check "
|
var msg = "A sync process is already running. To view progress, check "
|
||||||
+ "the window in which the sync began or restart Firefox.";
|
+ "the window in which the sync began or restart " + Zotero.appName + ".";
|
||||||
var e = new Zotero.Error(msg, 0, { dialogButtonText: null, frontWindowOnly: true })
|
var e = new Zotero.Error(msg, 0, { dialogButtonText: null, frontWindowOnly: true })
|
||||||
this.setSyncIcon('error', e);
|
this.setSyncIcon('error', e);
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -371,6 +371,7 @@ Zotero.Translate.Sandbox = {
|
||||||
Zotero.Translators.get(translation.translator[0], haveTranslatorFunction);
|
Zotero.Translators.get(translation.translator[0], haveTranslatorFunction);
|
||||||
if(Zotero.isConnector && Zotero.isFx && !callback) {
|
if(Zotero.isConnector && Zotero.isFx && !callback) {
|
||||||
while(!sandbox && translate._currentState) {
|
while(!sandbox && translate._currentState) {
|
||||||
|
// This processNextEvent call is used to handle a deprecated case
|
||||||
Zotero.mainThread.processNextEvent(true);
|
Zotero.mainThread.processNextEvent(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -271,6 +271,7 @@ Zotero.Utilities.Translate.prototype.processDocuments = function(urls, processor
|
||||||
* Gets the DOM document object corresponding to the page located at URL, but avoids locking the
|
* Gets the DOM document object corresponding to the page located at URL, but avoids locking the
|
||||||
* UI while the request is in process.
|
* UI while the request is in process.
|
||||||
*
|
*
|
||||||
|
* @deprecated
|
||||||
* @param {String} url URL to load
|
* @param {String} url URL to load
|
||||||
* @return {Document} DOM document object
|
* @return {Document} DOM document object
|
||||||
*/
|
*/
|
||||||
|
@ -297,6 +298,7 @@ Zotero.Utilities.Translate.prototype.retrieveDocument = function(url) {
|
||||||
// should ever take longer than 2 minutes.
|
// should ever take longer than 2 minutes.
|
||||||
var endTime = Date.now() + 120000;
|
var endTime = Date.now() + 120000;
|
||||||
while(!loaded && Date.now() < endTime) {
|
while(!loaded && Date.now() < endTime) {
|
||||||
|
// This processNextEvent call is used to handle a deprecated case
|
||||||
mainThread.processNextEvent(true);
|
mainThread.processNextEvent(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -313,6 +315,7 @@ Zotero.Utilities.Translate.prototype.retrieveDocument = function(url) {
|
||||||
* Gets the source of the page located at URL, but avoids locking the UI while the request is in
|
* Gets the source of the page located at URL, but avoids locking the UI while the request is in
|
||||||
* process.
|
* process.
|
||||||
*
|
*
|
||||||
|
* @deprecated
|
||||||
* @param {String} url URL to load
|
* @param {String} url URL to load
|
||||||
* @param {String} [body=null] Request body to POST to the URL; a GET request is
|
* @param {String} [body=null] Request body to POST to the URL; a GET request is
|
||||||
* executed if no body is present
|
* executed if no body is present
|
||||||
|
@ -345,6 +348,7 @@ Zotero.Utilities.Translate.prototype.retrieveSource = function(url, body, header
|
||||||
var xmlhttp = Zotero.HTTP.doGet(url, listener, responseCharset, this._translate.cookieSandbox);
|
var xmlhttp = Zotero.HTTP.doGet(url, listener, responseCharset, this._translate.cookieSandbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This processNextEvent call is used to handle a deprecated case
|
||||||
while(!finished) mainThread.processNextEvent(true);
|
while(!finished) mainThread.processNextEvent(true);
|
||||||
} else {
|
} else {
|
||||||
// Use a synchronous XMLHttpRequest, even though this is inadvisable
|
// Use a synchronous XMLHttpRequest, even though this is inadvisable
|
||||||
|
|
|
@ -35,7 +35,7 @@ const ZOTERO_CONFIG = {
|
||||||
API_URL: 'https://api.zotero.org/',
|
API_URL: 'https://api.zotero.org/',
|
||||||
PREF_BRANCH: 'extensions.zotero.',
|
PREF_BRANCH: 'extensions.zotero.',
|
||||||
BOOKMARKLET_URL: 'https://www.zotero.org/bookmarklet/',
|
BOOKMARKLET_URL: 'https://www.zotero.org/bookmarklet/',
|
||||||
VERSION: "3.0rc1.SOURCE"
|
VERSION: "3.0.2.SOURCE"
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1483,44 +1483,6 @@ const ZOTERO_CONFIG = {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Repaint UI on given window, without executing any events.
|
|
||||||
*
|
|
||||||
* @param {window} window Window to repaint
|
|
||||||
* @param {Boolean} [force=false] Whether to force a repaint. If false, a repaint only takes
|
|
||||||
* place if the last repaint was more than 100 ms ago.
|
|
||||||
*/
|
|
||||||
this.repaint = function(window, force) {
|
|
||||||
var now = Date.now();
|
|
||||||
|
|
||||||
if (!window) {
|
|
||||||
window = Components.classes["@mozilla.org/appshell/window-mediator;1"]
|
|
||||||
.getService(Components.interfaces.nsIWindowMediator)
|
|
||||||
.getMostRecentWindow("navigator:browser");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Don't repaint more than 10 times per second unless forced.
|
|
||||||
if(!force && window.zoteroLastRepaint && (now - window.zoteroLastRepaint) < 100) return
|
|
||||||
|
|
||||||
// Start a nested event queue
|
|
||||||
Zotero.mainThread.pushEventQueue(null);
|
|
||||||
try {
|
|
||||||
// Add the redraw event onto event queue
|
|
||||||
window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
|
|
||||||
.getInterface(Components.interfaces.nsIDOMWindowUtils)
|
|
||||||
.redraw();
|
|
||||||
|
|
||||||
// Process redraw event
|
|
||||||
Zotero.mainThread.processNextEvent(false);
|
|
||||||
} finally {
|
|
||||||
// Close nested event queue
|
|
||||||
Zotero.mainThread.popEventQueue();
|
|
||||||
}
|
|
||||||
|
|
||||||
window.zoteroLastRepaint = now;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pumps a generator until it yields false. See itemTreeView.js for an example.
|
* Pumps a generator until it yields false. See itemTreeView.js for an example.
|
||||||
*
|
*
|
||||||
|
|
|
@ -274,8 +274,9 @@ var ZoteroPane = new function()
|
||||||
for (var i = 0; i<itemTypes.length; i++) {
|
for (var i = 0; i<itemTypes.length; i++) {
|
||||||
var menuitem = document.createElement("menuitem");
|
var menuitem = document.createElement("menuitem");
|
||||||
menuitem.setAttribute("label", itemTypes[i].localized);
|
menuitem.setAttribute("label", itemTypes[i].localized);
|
||||||
menuitem.setAttribute("oncommand","ZoteroPane_Local.newItem("+itemTypes[i]['id']+")");
|
|
||||||
menuitem.setAttribute("tooltiptext", "");
|
menuitem.setAttribute("tooltiptext", "");
|
||||||
|
let type = itemTypes[i].id;
|
||||||
|
menuitem.addEventListener("command", function() { ZoteroPane_Local.newItem(type); }, false);
|
||||||
moreMenu.appendChild(menuitem);
|
moreMenu.appendChild(menuitem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -311,8 +312,9 @@ var ZoteroPane = new function()
|
||||||
for (var i = 0; i<itemTypes.length; i++) {
|
for (var i = 0; i<itemTypes.length; i++) {
|
||||||
var menuitem = document.createElement("menuitem");
|
var menuitem = document.createElement("menuitem");
|
||||||
menuitem.setAttribute("label", itemTypes[i].localized);
|
menuitem.setAttribute("label", itemTypes[i].localized);
|
||||||
menuitem.setAttribute("oncommand","ZoteroPane_Local.newItem("+itemTypes[i]['id']+")");
|
|
||||||
menuitem.setAttribute("tooltiptext", "");
|
menuitem.setAttribute("tooltiptext", "");
|
||||||
|
let type = itemTypes[i].id;
|
||||||
|
menuitem.addEventListener("command", function() { ZoteroPane_Local.newItem(type); }, false);
|
||||||
menuitem.className = "zotero-tb-add";
|
menuitem.className = "zotero-tb-add";
|
||||||
addMenu.insertBefore(menuitem, separator);
|
addMenu.insertBefore(menuitem, separator);
|
||||||
}
|
}
|
||||||
|
@ -3163,10 +3165,10 @@ var ZoteroPane = new function()
|
||||||
|
|
||||||
if (item.libraryID) {
|
if (item.libraryID) {
|
||||||
var group = Zotero.Groups.getByLibraryID(item.libraryID);
|
var group = Zotero.Groups.getByLibraryID(item.libraryID);
|
||||||
filesEditable = group.filesEditable;
|
var filesEditable = group.filesEditable;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
filesEditable = true;
|
var filesEditable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (saveSnapshot) {
|
if (saveSnapshot) {
|
||||||
|
|
|
@ -98,7 +98,7 @@
|
||||||
chromedir="&locale.dir;">
|
chromedir="&locale.dir;">
|
||||||
|
|
||||||
<toolbar id="zotero-toolbar" class="toolbar">
|
<toolbar id="zotero-toolbar" class="toolbar">
|
||||||
<hbox id="zotero-collections-toolbar">
|
<hbox id="zotero-collections-toolbar" align="center">
|
||||||
<toolbarbutton id="zotero-tb-collection-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newCollection.label;" command="cmd_zotero_newCollection"/>
|
<toolbarbutton id="zotero-tb-collection-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newCollection.label;" command="cmd_zotero_newCollection"/>
|
||||||
<toolbarbutton id="zotero-tb-group-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newGroup;" oncommand="ZoteroPane_Local.newGroup()"/>
|
<toolbarbutton id="zotero-tb-group-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newGroup;" oncommand="ZoteroPane_Local.newGroup()"/>
|
||||||
<spacer flex="1"/>
|
<spacer flex="1"/>
|
||||||
|
@ -126,7 +126,7 @@
|
||||||
</toolbarbutton>
|
</toolbarbutton>
|
||||||
</hbox>
|
</hbox>
|
||||||
|
|
||||||
<hbox id="zotero-items-toolbar">
|
<hbox id="zotero-items-toolbar" align="center">
|
||||||
<toolbarbutton id="zotero-tb-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newItem.label;" type="menu">
|
<toolbarbutton id="zotero-tb-add" class="zotero-tb-button" tooltiptext="&zotero.toolbar.newItem.label;" type="menu">
|
||||||
<!-- New Item drop-down built in overlay.js::onLoad() -->
|
<!-- New Item drop-down built in overlay.js::onLoad() -->
|
||||||
<menupopup onpopupshowing="ZoteroPane_Local.updateNewItemTypes()">
|
<menupopup onpopupshowing="ZoteroPane_Local.updateNewItemTypes()">
|
||||||
|
@ -161,8 +161,8 @@
|
||||||
</toolbarbutton>
|
</toolbarbutton>
|
||||||
<toolbarbutton id="zotero-tb-attachment-add" class="zotero-tb-button" tooltiptext="New Child Attachment" type="menu">
|
<toolbarbutton id="zotero-tb-attachment-add" class="zotero-tb-button" tooltiptext="New Child Attachment" type="menu">
|
||||||
<menupopup onpopupshowing="ZoteroPane_Local.updateAttachmentButtonMenu(this)">
|
<menupopup onpopupshowing="ZoteroPane_Local.updateAttachmentButtonMenu(this)">
|
||||||
<menuitem class="menuitem-iconic zotero-menuitem-attachments-snapshot" label="&zotero.items.menu.attach.snapshot;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromPage(false, itemID)"/>
|
<menuitem id="zotero-tb-snapshot-from-page" class="menuitem-iconic zotero-menuitem-attachments-snapshot" label="&zotero.items.menu.attach.snapshot;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromPage(false, itemID)"/>
|
||||||
<menuitem class="menuitem-iconic zotero-menuitem-attachments-web-link" label="&zotero.items.menu.attach.link;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromPage(true, itemID)"/>
|
<menuitem id="zotero-tb-link-from-page" class="menuitem-iconic zotero-menuitem-attachments-web-link" label="&zotero.items.menu.attach.link;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromPage(true, itemID)"/>
|
||||||
<menuitem class="menuitem-iconic zotero-menuitem-attachments-web-link" label="&zotero.items.menu.attach.link.uri;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromURI(true, itemID);"/>
|
<menuitem class="menuitem-iconic zotero-menuitem-attachments-web-link" label="&zotero.items.menu.attach.link.uri;" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromURI(true, itemID);"/>
|
||||||
<!-- TODO: localize -->
|
<!-- TODO: localize -->
|
||||||
<menuitem class="menuitem-iconic zotero-menuitem-attachments-file" label="Attach Stored Copy of File…" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromDialog(false, itemID);"/>
|
<menuitem class="menuitem-iconic zotero-menuitem-attachments-file" label="Attach Stored Copy of File…" oncommand="var itemID = ZoteroPane_Local.getSelectedItems()[0].id; ZoteroPane_Local.addAttachmentFromDialog(false, itemID);"/>
|
||||||
|
@ -178,7 +178,7 @@
|
||||||
oncommand="ZoteroPane_Local.search()"/>
|
oncommand="ZoteroPane_Local.search()"/>
|
||||||
</hbox>
|
</hbox>
|
||||||
|
|
||||||
<hbox id="zotero-item-toolbar" flex="1">
|
<hbox id="zotero-item-toolbar" flex="1" align="center">
|
||||||
<hbox align="center" pack="start" flex="1">
|
<hbox align="center" pack="start" flex="1">
|
||||||
<toolbarbutton id="zotero-tb-locate" class="zotero-tb-button" tooltiptext="&zotero.toolbar.openURL.label;" type="menu">
|
<toolbarbutton id="zotero-tb-locate" class="zotero-tb-button" tooltiptext="&zotero.toolbar.openURL.label;" type="menu">
|
||||||
<menupopup id="zotero-tb-locate-menu" onpopupshowing="Zotero_LocateMenu.buildLocateMenu()"/>
|
<menupopup id="zotero-tb-locate-menu" onpopupshowing="Zotero_LocateMenu.buildLocateMenu()"/>
|
||||||
|
|
|
@ -13,8 +13,8 @@ general.restartNow=Restart now
|
||||||
general.restartLater=Restart later
|
general.restartLater=Restart later
|
||||||
general.errorHasOccurred=An error has occurred.
|
general.errorHasOccurred=An error has occurred.
|
||||||
general.unknownErrorOccurred=An unknown error occurred.
|
general.unknownErrorOccurred=An unknown error occurred.
|
||||||
general.restartFirefox=Please restart Firefox.
|
general.restartFirefox=Please restart %S.
|
||||||
general.restartFirefoxAndTryAgain=Please restart Firefox and try again.
|
general.restartFirefoxAndTryAgain=Please restart %S and try again.
|
||||||
general.checkForUpdate=Check for update
|
general.checkForUpdate=Check for update
|
||||||
general.actionCannotBeUndone=This action cannot be undone.
|
general.actionCannotBeUndone=This action cannot be undone.
|
||||||
general.install=Install
|
general.install=Install
|
||||||
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory
|
||||||
dataDir.selectDir=Select a Zotero data directory
|
dataDir.selectDir=Select a Zotero data directory
|
||||||
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
||||||
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Използва на папката на Firefox проф
|
||||||
dataDir.selectDir=Изберете папка за даните на Зотеро
|
dataDir.selectDir=Изберете папка за даните на Зотеро
|
||||||
dataDir.selectedDirNonEmpty.title=Папката не е празна
|
dataDir.selectedDirNonEmpty.title=Папката не е празна
|
||||||
dataDir.selectedDirNonEmpty.text=Папката която избрахте не е празна и не изглежда като папка за дани на Зотеро.\n\nДа бъдат ли създадени файловете на Зотеро независимо от това?
|
dataDir.selectedDirNonEmpty.text=Папката която избрахте не е празна и не изглежда като папка за дани на Зотеро.\n\nДа бъдат ли създадени файловете на Зотеро независимо от това?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Prem %S per a actualitzar ara.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Utilitza el directori del perfil del Firefox
|
||||||
dataDir.selectDir=Selecciona directori de dates per a Zotero
|
dataDir.selectDir=Selecciona directori de dates per a Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=El directori no està buit
|
dataDir.selectedDirNonEmpty.title=El directori no està buit
|
||||||
dataDir.selectedDirNonEmpty.text=El directori que has seleccionat no està buit i no sembla que sigui un directori de dades de Zotero.\n\n Vols crear arxius de Zotero en aquest directori de totes maneres?
|
dataDir.selectedDirNonEmpty.text=El directori que has seleccionat no està buit i no sembla que sigui un directori de dades de Zotero.\n\n Vols crear arxius de Zotero en aquest directori de totes maneres?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Použít adresář profilu aplikace Firefox
|
||||||
dataDir.selectDir=Vybrat Datový adresář aplikace Zotero
|
dataDir.selectDir=Vybrat Datový adresář aplikace Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=Adresář není prázdný
|
dataDir.selectedDirNonEmpty.title=Adresář není prázdný
|
||||||
dataDir.selectedDirNonEmpty.text=Adresář, který jste vybrali, není prázdný a zřejmě není Datovým adresářem aplikace Zotero.\n\nChcete přesto vytvořit soubory aplikace Zotero v tomto adresáři?
|
dataDir.selectedDirNonEmpty.text=Adresář, který jste vybrali, není prázdný a zřejmě není Datovým adresářem aplikace Zotero.\n\nChcete přesto vytvořit soubory aplikace Zotero v tomto adresáři?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -13,8 +13,8 @@ general.restartNow=Restart now
|
||||||
general.restartLater=Restart later
|
general.restartLater=Restart later
|
||||||
general.errorHasOccurred=An error has occurred.
|
general.errorHasOccurred=An error has occurred.
|
||||||
general.unknownErrorOccurred=An unknown error occurred.
|
general.unknownErrorOccurred=An unknown error occurred.
|
||||||
general.restartFirefox=Please restart Firefox.
|
general.restartFirefox=Please restart %S.
|
||||||
general.restartFirefoxAndTryAgain=Please restart Firefox and try again.
|
general.restartFirefoxAndTryAgain=Please restart %S and try again.
|
||||||
general.checkForUpdate=Check for update
|
general.checkForUpdate=Check for update
|
||||||
general.actionCannotBeUndone=This action cannot be undone.
|
general.actionCannotBeUndone=This action cannot be undone.
|
||||||
general.install=Install
|
general.install=Install
|
||||||
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Tryk %S for at opgradere nu
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory
|
||||||
dataDir.selectDir=Select a Zotero data directory
|
dataDir.selectDir=Select a Zotero data directory
|
||||||
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
||||||
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=tilgængelig.\n\nEn ny Database er blevet oprettet. Den ødelagte Database er blevet gemt i Zotero Folderen. Den ødelagte Database er blevet gemt i Zotero Folderen.
|
db.dbCorruptedNoBackup=tilgængelig.\n\nEn ny Database er blevet oprettet. Den ødelagte Database er blevet gemt i Zotero Folderen. Den ødelagte Database er blevet gemt i Zotero Folderen.
|
||||||
db.dbRestored=Zotero databasen er blevet ødelagt, og ingen backup var tilgængelig.\n\nDine data er blevet genoprettet ud fra automatisk backup fortaget %1$S kl. %2$S. Den ødelagte Database er blevet gemt i Zotero Folderen.
|
db.dbRestored=Zotero databasen er blevet ødelagt, og ingen backup var tilgængelig.\n\nDine data er blevet genoprettet ud fra automatisk backup fortaget %1$S kl. %2$S. Den ødelagte Database er blevet gemt i Zotero Folderen.
|
||||||
db.dbRestoreFailed=Zotero databasen er blevet ødelagt, og et forsøg på at genoprette dine data ud fra backup er fejlet.\n\nEn ny Database er blevet oprettet. Den ødelagte Database er blevet gemt i Zotero Folderen. Den ødelagte Database er blevet gemt i Zotero Folderen.
|
db.dbRestoreFailed=Zotero databasen er blevet ødelagt, og et forsøg på at genoprette dine data ud fra backup er fejlet.\n\nEn ny Database er blevet oprettet. Den ødelagte Database er blevet gemt i Zotero Folderen. Den ødelagte Database er blevet gemt i Zotero Folderen.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Den Firefox-Profil-Ordner verwenden
|
||||||
dataDir.selectDir=Zotero-Daten-Ordner auswählen
|
dataDir.selectDir=Zotero-Daten-Ordner auswählen
|
||||||
dataDir.selectedDirNonEmpty.title=Verzeichnis nicht leer
|
dataDir.selectedDirNonEmpty.title=Verzeichnis nicht leer
|
||||||
dataDir.selectedDirNonEmpty.text=Das Verzeichnis, das Sie ausgewählt haben, ist nicht leer und scheint kein Zotero-Daten-Verzeichnis zu sein.\n\nDie Zotero-Daten trotzdem in diesem Ordner anlegen?
|
dataDir.selectedDirNonEmpty.text=Das Verzeichnis, das Sie ausgewählt haben, ist nicht leer und scheint kein Zotero-Daten-Verzeichnis zu sein.\n\nDie Zotero-Daten trotzdem in diesem Ordner anlegen?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -13,8 +13,8 @@ general.restartNow=Restart now
|
||||||
general.restartLater=Restart later
|
general.restartLater=Restart later
|
||||||
general.errorHasOccurred=An error has occurred.
|
general.errorHasOccurred=An error has occurred.
|
||||||
general.unknownErrorOccurred=An unknown error occurred.
|
general.unknownErrorOccurred=An unknown error occurred.
|
||||||
general.restartFirefox=Please restart Firefox.
|
general.restartFirefox=Please restart %S.
|
||||||
general.restartFirefoxAndTryAgain=Please restart Firefox and try again.
|
general.restartFirefoxAndTryAgain=Please restart %S and try again.
|
||||||
general.checkForUpdate=Check for update
|
general.checkForUpdate=Check for update
|
||||||
general.actionCannotBeUndone=This action cannot be undone.
|
general.actionCannotBeUndone=This action cannot be undone.
|
||||||
general.install=Install
|
general.install=Install
|
||||||
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory
|
||||||
dataDir.selectDir=Select a Zotero data directory
|
dataDir.selectDir=Select a Zotero data directory
|
||||||
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
||||||
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir = Use Firefox profile directory
|
||||||
dataDir.selectDir = Select a Zotero data directory
|
dataDir.selectDir = Select a Zotero data directory
|
||||||
dataDir.selectedDirNonEmpty.title = Directory Not Empty
|
dataDir.selectedDirNonEmpty.title = Directory Not Empty
|
||||||
dataDir.selectedDirNonEmpty.text = The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
dataDir.selectedDirNonEmpty.text = The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
||||||
dataDir.standaloneMigration.title = Zotero Migration Notification
|
dataDir.standaloneMigration.title = Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description = This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description = This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles = %1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles = %1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom = Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom = Custom Data Directory…
|
||||||
|
@ -758,4 +758,6 @@ connector.error.title = Zotero Connector Error
|
||||||
connector.standaloneOpen = Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
|
connector.standaloneOpen = Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
|
||||||
|
|
||||||
firstRunGuidance.saveIcon = Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon = Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu = Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu = Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat = Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac = Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Usar el directorio de perfil de Firefox
|
||||||
dataDir.selectDir=Elige un directorio de datos para Zotero
|
dataDir.selectDir=Elige un directorio de datos para Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=El directorio no está vacío
|
dataDir.selectedDirNonEmpty.title=El directorio no está vacío
|
||||||
dataDir.selectedDirNonEmpty.text=El directorio que has seleccionado no está vacío y no parece que sea un directorio de datos de Zotero.\n\n¿Deseas crear los ficheros de Zotero ahí de todas formas?
|
dataDir.selectedDirNonEmpty.text=El directorio que has seleccionado no está vacío y no parece que sea un directorio de datos de Zotero.\n\n¿Deseas crear los ficheros de Zotero ahí de todas formas?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Zure "Firefox profile" karpeta erabili
|
||||||
dataDir.selectDir=Datu-baseari kokalekua ezarri
|
dataDir.selectDir=Datu-baseari kokalekua ezarri
|
||||||
dataDir.selectedDirNonEmpty.title=Kokalekua ez dago hutsik
|
dataDir.selectedDirNonEmpty.title=Kokalekua ez dago hutsik
|
||||||
dataDir.selectedDirNonEmpty.text=Hautatu duzun kokalekua ez dago hutsik eta ez dirudi Zotero datu-base batena denik.\n\nSortu Zotero fitxategiak hemen hala ere?
|
dataDir.selectedDirNonEmpty.text=Hautatu duzun kokalekua ez dago hutsik eta ez dirudi Zotero datu-base batena denik.\n\nSortu Zotero fitxategiak hemen hala ere?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Paina %S päivittääksesi nyt.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Käytä Firefoxin profiilikansiota
|
||||||
dataDir.selectDir=Valitse kansio Zoteron datalle
|
dataDir.selectDir=Valitse kansio Zoteron datalle
|
||||||
dataDir.selectedDirNonEmpty.title=Kansio ei ole tyhjä
|
dataDir.selectedDirNonEmpty.title=Kansio ei ole tyhjä
|
||||||
dataDir.selectedDirNonEmpty.text=Valitsemasi kansio ei ole tyhjä eikä ilmeisesti Zoteron datakansio.\n\nLuodaanko Zoteron tiedot tähän kansioon siitä huolimatta?
|
dataDir.selectedDirNonEmpty.text=Valitsemasi kansio ei ole tyhjä eikä ilmeisesti Zoteron datakansio.\n\nLuodaanko Zoteron tiedot tähän kansioon siitä huolimatta?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Usar directorio de perfís de Firefox
|
||||||
dataDir.selectDir=Seleccione un directorio de datos de Zotero
|
dataDir.selectDir=Seleccione un directorio de datos de Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=Directorio non baleiro
|
dataDir.selectedDirNonEmpty.title=Directorio non baleiro
|
||||||
dataDir.selectedDirNonEmpty.text=O directorio que seleccionou non está baleiro e non parece ser un directorio de datos de Zotero.\n\nCrear arquivos de Zotero neste directorio de todos os xeitos?
|
dataDir.selectedDirNonEmpty.text=O directorio que seleccionou non está baleiro e non parece ser un directorio de datos de Zotero.\n\nCrear arquivos de Zotero neste directorio de todos os xeitos?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -14,7 +14,7 @@ general.restartLater=Restart later
|
||||||
general.errorHasOccurred=ארעה שגיאה
|
general.errorHasOccurred=ארעה שגיאה
|
||||||
general.unknownErrorOccurred=An unknown error occurred.
|
general.unknownErrorOccurred=An unknown error occurred.
|
||||||
general.restartFirefox=.הפעילו מחדש את פיירפוקס בבקשה
|
general.restartFirefox=.הפעילו מחדש את פיירפוקס בבקשה
|
||||||
general.restartFirefoxAndTryAgain=Please restart Firefox and try again.
|
general.restartFirefoxAndTryAgain=Please restart %S and try again.
|
||||||
general.checkForUpdate=Check for update
|
general.checkForUpdate=Check for update
|
||||||
general.actionCannotBeUndone=This action cannot be undone.
|
general.actionCannotBeUndone=This action cannot be undone.
|
||||||
general.install=התקנה
|
general.install=התקנה
|
||||||
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory
|
||||||
dataDir.selectDir=Select a Zotero data directory
|
dataDir.selectDir=Select a Zotero data directory
|
||||||
dataDir.selectedDirNonEmpty.title=ספרייה אינה ריקה
|
dataDir.selectedDirNonEmpty.title=ספרייה אינה ריקה
|
||||||
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -13,8 +13,8 @@ general.restartNow=Restart now
|
||||||
general.restartLater=Restart later
|
general.restartLater=Restart later
|
||||||
general.errorHasOccurred=An error has occurred.
|
general.errorHasOccurred=An error has occurred.
|
||||||
general.unknownErrorOccurred=An unknown error occurred.
|
general.unknownErrorOccurred=An unknown error occurred.
|
||||||
general.restartFirefox=Please restart Firefox.
|
general.restartFirefox=Please restart %S.
|
||||||
general.restartFirefoxAndTryAgain=Please restart Firefox and try again.
|
general.restartFirefoxAndTryAgain=Please restart %S and try again.
|
||||||
general.checkForUpdate=Check for update
|
general.checkForUpdate=Check for update
|
||||||
general.actionCannotBeUndone=This action cannot be undone.
|
general.actionCannotBeUndone=This action cannot be undone.
|
||||||
general.install=Install
|
general.install=Install
|
||||||
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory
|
||||||
dataDir.selectDir=Select a Zotero data directory
|
dataDir.selectDir=Select a Zotero data directory
|
||||||
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
||||||
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=A Firefox profilkönyvtár használata
|
||||||
dataDir.selectDir=Válassza ki a Zotero adatokat tartalmazó mappát
|
dataDir.selectDir=Válassza ki a Zotero adatokat tartalmazó mappát
|
||||||
dataDir.selectedDirNonEmpty.title=A mappa nem üres
|
dataDir.selectedDirNonEmpty.title=A mappa nem üres
|
||||||
dataDir.selectedDirNonEmpty.text=A kiválasztott mappa nem üres és nem tartalmaz Zotero adatokat.\n\nEnnek ellenére hozza létre a Zotero fájlokat?
|
dataDir.selectedDirNonEmpty.text=A kiválasztott mappa nem üres és nem tartalmaz Zotero adatokat.\n\nEnnek ellenére hozza létre a Zotero fájlokat?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -13,8 +13,8 @@ general.restartNow=Restart now
|
||||||
general.restartLater=Restart later
|
general.restartLater=Restart later
|
||||||
general.errorHasOccurred=An error has occurred.
|
general.errorHasOccurred=An error has occurred.
|
||||||
general.unknownErrorOccurred=An unknown error occurred.
|
general.unknownErrorOccurred=An unknown error occurred.
|
||||||
general.restartFirefox=Please restart Firefox.
|
general.restartFirefox=Please restart %S.
|
||||||
general.restartFirefoxAndTryAgain=Please restart Firefox and try again.
|
general.restartFirefoxAndTryAgain=Please restart %S and try again.
|
||||||
general.checkForUpdate=Check for update
|
general.checkForUpdate=Check for update
|
||||||
general.actionCannotBeUndone=This action cannot be undone.
|
general.actionCannotBeUndone=This action cannot be undone.
|
||||||
general.install=Install
|
general.install=Install
|
||||||
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory
|
||||||
dataDir.selectDir=Select a Zotero data directory
|
dataDir.selectDir=Select a Zotero data directory
|
||||||
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
||||||
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Premere '%S' per aggiornare ora
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Utilizza cartella del profilo di Firefox
|
||||||
dataDir.selectDir=Selezionare una cartella dati di Zotero
|
dataDir.selectDir=Selezionare una cartella dati di Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=Cartella non vuota
|
dataDir.selectedDirNonEmpty.title=Cartella non vuota
|
||||||
dataDir.selectedDirNonEmpty.text=La cartella selezionata non risulta vuota e non sembra essere una cartella dati di Zotero.\n\nCreare i file di Zotero comunque?
|
dataDir.selectedDirNonEmpty.text=La cartella selezionata non risulta vuota e non sembra essere una cartella dati di Zotero.\n\nCreare i file di Zotero comunque?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=今すぐアップグレードするため、%Sを押し
|
||||||
upgrade.dbUpdateRequired=データベースアップデートする必要があリます。
|
upgrade.dbUpdateRequired=データベースアップデートする必要があリます。
|
||||||
upgrade.integrityCheckFailed=アップグレードを続行するためにZoteroデータベースを修復する必要があります。
|
upgrade.integrityCheckFailed=アップグレードを続行するためにZoteroデータベースを修復する必要があります。
|
||||||
upgrade.loadDBRepairTool=データベース修復ツールをロードする。
|
upgrade.loadDBRepairTool=データベース修復ツールをロードする。
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=もし、このエラーが解決されない場合はパソコンを再起動してください。
|
upgrade.couldNotMigrate.restart=もし、このエラーが解決されない場合はパソコンを再起動してください。
|
||||||
|
|
||||||
errorReport.reportError=エラーを報告する
|
errorReport.reportError=エラーを報告する
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Firefoxプロファイルフォルダを使用する
|
||||||
dataDir.selectDir=Zoteroのデータフォルダを選択してください
|
dataDir.selectDir=Zoteroのデータフォルダを選択してください
|
||||||
dataDir.selectedDirNonEmpty.title=選択されたフォルダが空ではない
|
dataDir.selectedDirNonEmpty.title=選択されたフォルダが空ではない
|
||||||
dataDir.selectedDirNonEmpty.text=選択されたフォルダが空ではなく、Zoteroのフォルダではないようです。\n\nこのフォルダにZoteroのファイルを作成してよろしいですか?
|
dataDir.selectedDirNonEmpty.text=選択されたフォルダが空ではなく、Zoteroのフォルダではないようです。\n\nこのフォルダにZoteroのファイルを作成してよろしいですか?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Firefox 프로필 디렉토리 사용
|
||||||
dataDir.selectDir=Zotero 데이터 디렉토리 선택
|
dataDir.selectDir=Zotero 데이터 디렉토리 선택
|
||||||
dataDir.selectedDirNonEmpty.title=디렉토리 비어있지 않음
|
dataDir.selectedDirNonEmpty.title=디렉토리 비어있지 않음
|
||||||
dataDir.selectedDirNonEmpty.text=선택한 디렉토리는 비어 있지 않고 Zotero 데이터 디렉토리인 것처럼 보이지 않습니다.\n\n이 디렉토리 안에 Zotero 파일을 어떻게든 생성하겠습니까?
|
dataDir.selectedDirNonEmpty.text=선택한 디렉토리는 비어 있지 않고 Zotero 데이터 디렉토리인 것처럼 보이지 않습니다.\n\n이 디렉토리 안에 Zotero 파일을 어떻게든 생성하겠습니까?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -14,7 +14,7 @@ general.restartLater=Дараа ачаалах
|
||||||
general.errorHasOccurred=An error has occurred.
|
general.errorHasOccurred=An error has occurred.
|
||||||
general.unknownErrorOccurred=An unknown error occurred.
|
general.unknownErrorOccurred=An unknown error occurred.
|
||||||
general.restartFirefox=Галт үнэг ахин ачаална уу.
|
general.restartFirefox=Галт үнэг ахин ачаална уу.
|
||||||
general.restartFirefoxAndTryAgain=Please restart Firefox and try again.
|
general.restartFirefoxAndTryAgain=Please restart %S and try again.
|
||||||
general.checkForUpdate=Check for update
|
general.checkForUpdate=Check for update
|
||||||
general.actionCannotBeUndone=This action cannot be undone.
|
general.actionCannotBeUndone=This action cannot be undone.
|
||||||
general.install=Суулга
|
general.install=Суулга
|
||||||
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Press %S to upgrade now.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Use Firefox profile directory
|
||||||
dataDir.selectDir=Select a Zotero data directory
|
dataDir.selectDir=Select a Zotero data directory
|
||||||
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
dataDir.selectedDirNonEmpty.title=Directory Not Empty
|
||||||
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
dataDir.selectedDirNonEmpty.text=The directory you selected is not empty and does not appear to be a Zotero data directory.\n\nCreate Zotero files in this directory anyway?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Velg %S for å oppgradere nå.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Bruk profilmappen til Firefox
|
||||||
dataDir.selectDir=Velg en datamappe
|
dataDir.selectDir=Velg en datamappe
|
||||||
dataDir.selectedDirNonEmpty.title=Mappen er ikke tom
|
dataDir.selectedDirNonEmpty.title=Mappen er ikke tom
|
||||||
dataDir.selectedDirNonEmpty.text=Mappen du valgte er ikke tom og ser ikke ut til å være en Zotero-datamappe.\n\nSkal Zotero likevel opprette datafiler i denne mappen?
|
dataDir.selectedDirNonEmpty.text=Mappen du valgte er ikke tom og ser ikke ut til å være en Zotero-datamappe.\n\nSkal Zotero likevel opprette datafiler i denne mappen?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Firefox profiel-map gebruiken
|
||||||
dataDir.selectDir=Selecteer opslagmap voor Zotero
|
dataDir.selectDir=Selecteer opslagmap voor Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=Map niet leeg
|
dataDir.selectedDirNonEmpty.title=Map niet leeg
|
||||||
dataDir.selectedDirNonEmpty.text=De map die u selecteerde is niet leeg and lijkt geen Zotero opslagmap te zijn.\n\nWilt u Zotero toch bestanden aan laten maken in deze map?
|
dataDir.selectedDirNonEmpty.text=De map die u selecteerde is niet leeg and lijkt geen Zotero opslagmap te zijn.\n\nWilt u Zotero toch bestanden aan laten maken in deze map?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Vel %S for å oppgradera no.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Bruk profilmappa til Firefox
|
||||||
dataDir.selectDir=Vel ei datamappe
|
dataDir.selectDir=Vel ei datamappe
|
||||||
dataDir.selectedDirNonEmpty.title=Mappa er ikkje tom
|
dataDir.selectedDirNonEmpty.title=Mappa er ikkje tom
|
||||||
dataDir.selectedDirNonEmpty.text=Mappa du valde er ikkje tom og ser ikkje ut til å vera ei Zotero-datamappe.\n\nSkal Zotero likevel oppretta datafiler i denne mappa?
|
dataDir.selectedDirNonEmpty.text=Mappa du valde er ikkje tom og ser ikkje ut til å vera ei Zotero-datamappe.\n\nSkal Zotero likevel oppretta datafiler i denne mappa?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and vert filte you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and vert filte you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to it sine state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to it sine state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Naciśnij %S, aby zaktualizować teraz.
|
||||||
upgrade.dbUpdateRequired=Baza danych Zotero musi zostać zaktualizowana.
|
upgrade.dbUpdateRequired=Baza danych Zotero musi zostać zaktualizowana.
|
||||||
upgrade.integrityCheckFailed=Twoja baza danych Zotero musi zostać naprawiona zanim aktualizacja będzie mogła być dokończona.
|
upgrade.integrityCheckFailed=Twoja baza danych Zotero musi zostać naprawiona zanim aktualizacja będzie mogła być dokończona.
|
||||||
upgrade.loadDBRepairTool=Wczytaj narzędzie naprawy bazy danych
|
upgrade.loadDBRepairTool=Wczytaj narzędzie naprawy bazy danych
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=Jeśli ponownie zobaczysz ten komunikat, uruchom ponownie swój komputer.
|
upgrade.couldNotMigrate.restart=Jeśli ponownie zobaczysz ten komunikat, uruchom ponownie swój komputer.
|
||||||
|
|
||||||
errorReport.reportError=Zgłoś błąd...
|
errorReport.reportError=Zgłoś błąd...
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Proszę podać hasło.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=Synchronizacja jest aktualnie w trakcie.
|
sync.error.syncInProgress=Synchronizacja jest aktualnie w trakcie.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Usar diretório do perfil do usuário Firefox
|
||||||
dataDir.selectDir=Selecionar um diretório de dados Zotero
|
dataDir.selectDir=Selecionar um diretório de dados Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=Este diretório não está vazio
|
dataDir.selectedDirNonEmpty.title=Este diretório não está vazio
|
||||||
dataDir.selectedDirNonEmpty.text=O diretório que você selecionou não está vazio e não parece ser um diretório de dados Zotero.\n\nCriar arquivos Zotero neste diretório mesmo assim?
|
dataDir.selectedDirNonEmpty.text=O diretório que você selecionou não está vazio e não parece ser um diretório de dados Zotero.\n\nCriar arquivos Zotero neste diretório mesmo assim?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Usar a pasta de perfis do Firefox
|
||||||
dataDir.selectDir=Escolha uma pasta de dados para o Zotero
|
dataDir.selectDir=Escolha uma pasta de dados para o Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=Pasta Não Vazia
|
dataDir.selectedDirNonEmpty.title=Pasta Não Vazia
|
||||||
dataDir.selectedDirNonEmpty.text=A pasta que escolheu não está vazia e não parece ser uma pasta de dados do Zotero.\n\nCriar arquivos do Zotero nesta pasta de qualquer forma?
|
dataDir.selectedDirNonEmpty.text=A pasta que escolheu não está vazia e não parece ser uma pasta de dados do Zotero.\n\nCriar arquivos do Zotero nesta pasta de qualquer forma?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Ваша база данных недоступна, п
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Použi priečinok s profilom Firefoxu
|
||||||
dataDir.selectDir=Vyberte si priečinok, do ktorého má Zotero ukladať dáta
|
dataDir.selectDir=Vyberte si priečinok, do ktorého má Zotero ukladať dáta
|
||||||
dataDir.selectedDirNonEmpty.title=Priečinok nie je prázdny
|
dataDir.selectedDirNonEmpty.title=Priečinok nie je prázdny
|
||||||
dataDir.selectedDirNonEmpty.text=Zvolený priečinok nie je prázdny a nevyzerá, že by obsahoval dáta zo Zotera.\n\nChcete napriek tomu, aby sa súbory vytvorili v tomto priečinku?
|
dataDir.selectedDirNonEmpty.text=Zvolený priečinok nie je prázdny a nevyzerá, že by obsahoval dáta zo Zotera.\n\nChcete napriek tomu, aby sa súbory vytvorili v tomto priečinku?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Uporabi mapo profila Firefox
|
||||||
dataDir.selectDir=Izberite podatkovno mapo Zotero
|
dataDir.selectDir=Izberite podatkovno mapo Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=Mapa ni prazna
|
dataDir.selectedDirNonEmpty.title=Mapa ni prazna
|
||||||
dataDir.selectedDirNonEmpty.text=Mapa, ki ste jo izbrali, ni prazna in ni podatkovna mapa Zotero.\n\nŽelite kljub temu v tej mapi ustvariti datoteke Zotero?
|
dataDir.selectedDirNonEmpty.text=Mapa, ki ste jo izbrali, ni prazna in ni podatkovna mapa Zotero.\n\nŽelite kljub temu v tej mapi ustvariti datoteke Zotero?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Користи директоријум за Firefox пр
|
||||||
dataDir.selectDir=Изабери директоријум за Зотеро податке
|
dataDir.selectDir=Изабери директоријум за Зотеро податке
|
||||||
dataDir.selectedDirNonEmpty.title=Директоријум није празан
|
dataDir.selectedDirNonEmpty.title=Директоријум није празан
|
||||||
dataDir.selectedDirNonEmpty.text=Директоријум који сте изабрали није празан и не изгледа као Зотеро директоријум за податке.\n\n Да се направе Зотеро датотеке у овом директоријуму свакако?
|
dataDir.selectedDirNonEmpty.text=Директоријум који сте изабрали није празан и не изгледа као Зотеро директоријум за податке.\n\n Да се направе Зотеро датотеке у овом директоријуму свакако?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=กด %S เพื่ออัพเกรดทัน
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=ใช้ไดเรคทอรีเดียวกั
|
||||||
dataDir.selectDir=เลือกไดเรคทอรีเก็บข้อมูลโซแทโร
|
dataDir.selectDir=เลือกไดเรคทอรีเก็บข้อมูลโซแทโร
|
||||||
dataDir.selectedDirNonEmpty.title=ไดเรคทอรีมีข้อมูลอยู่
|
dataDir.selectedDirNonEmpty.title=ไดเรคทอรีมีข้อมูลอยู่
|
||||||
dataDir.selectedDirNonEmpty.text=ไดเรคทอรีที่ท่านเลือกมีข้อมูลอยู่ และไม่ใช่ข้อมูลของโซแทโร\n\nท่านต้องการสร้างข้อมูลของโซแทโรในไดเรคทอรีนี้แน่หรือ?
|
dataDir.selectedDirNonEmpty.text=ไดเรคทอรีที่ท่านเลือกมีข้อมูลอยู่ และไม่ใช่ข้อมูลของโซแทโร\n\nท่านต้องการสร้างข้อมูลของโซแทโรในไดเรคทอรีนี้แน่หรือ?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -420,7 +420,7 @@ ingester.lookup.performing=Performing Lookup…
|
||||||
ingester.lookup.error=An error occurred while performing lookup for this item.
|
ingester.lookup.error=An error occurred while performing lookup for this item.
|
||||||
|
|
||||||
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
db.dbCorrupted=The Zotero database '%S' appears to have become corrupted.
|
||||||
db.dbCorrupted.restart=Please restart Firefox to attempt an automatic restore from the last backup.
|
db.dbCorrupted.restart=Please restart %S to attempt an automatic restore from the last backup.
|
||||||
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbCorruptedNoBackup=The Zotero database '%S' appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
db.dbRestored=The Zotero database '%1$S' appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %2$S at %3$S. The damaged file was saved in your Zotero directory.
|
||||||
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
db.dbRestoreFailed=The Zotero database '%S' appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Zotero directory.
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Firefox profil dizinini kullan
|
||||||
dataDir.selectDir=Zotero veri dizini seç
|
dataDir.selectDir=Zotero veri dizini seç
|
||||||
dataDir.selectedDirNonEmpty.title=Dizin Boş Değil
|
dataDir.selectedDirNonEmpty.title=Dizin Boş Değil
|
||||||
dataDir.selectedDirNonEmpty.text=Seçtiğiniz dizin boş değil ve Zotero veri dizini olarak görülmüyor.\n\nHerşeye rağmen bu dizinde Zotero dosyalarını oluşturmak istermisiniz?
|
dataDir.selectedDirNonEmpty.text=Seçtiğiniz dizin boş değil ve Zotero veri dizini olarak görülmüyor.\n\nHerşeye rağmen bu dizinde Zotero dosyalarını oluşturmak istermisiniz?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=Ấn %S để nâng cấp ngay bây giờ.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=Dùng thư mục profile của Firefox
|
||||||
dataDir.selectDir=Chọn một thư mục dữ liệu cho Zotero
|
dataDir.selectDir=Chọn một thư mục dữ liệu cho Zotero
|
||||||
dataDir.selectedDirNonEmpty.title=Thư mục đã có dữ liệu
|
dataDir.selectedDirNonEmpty.title=Thư mục đã có dữ liệu
|
||||||
dataDir.selectedDirNonEmpty.text=Thư mục bạn chọn đã có dữ liệu, và nó có vẻ không phải là một thư mục dữ liệu của Zotero.\n\nBạn vẫn muốn tạo các tập tin của Zotero trong thư mục này phải không?
|
dataDir.selectedDirNonEmpty.text=Thư mục bạn chọn đã có dữ liệu, và nó có vẻ không phải là một thư mục dữ liệu của Zotero.\n\nBạn vẫn muốn tạo các tập tin của Zotero trong thư mục này phải không?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -51,7 +51,7 @@ upgrade.advanceMessage=按 %S 开始升级.
|
||||||
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
upgrade.dbUpdateRequired=The Zotero database must be updated.
|
||||||
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
upgrade.integrityCheckFailed=Your Zotero database must be repaired before the upgrade can continue.
|
||||||
upgrade.loadDBRepairTool=Load Database Repair Tool
|
upgrade.loadDBRepairTool=Load Database Repair Tool
|
||||||
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart Firefox to try the upgrade again.
|
upgrade.couldNotMigrate=Zotero could not migrate all necessary files.\nPlease close any open attachment files and restart %S to try the upgrade again.
|
||||||
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
upgrade.couldNotMigrate.restart=If you continue to receive this message, restart your computer.
|
||||||
|
|
||||||
errorReport.reportError=Report Error...
|
errorReport.reportError=Report Error...
|
||||||
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=使用Firefox配置目录
|
||||||
dataDir.selectDir=选择Zotero数据目录
|
dataDir.selectDir=选择Zotero数据目录
|
||||||
dataDir.selectedDirNonEmpty.title=目录非空
|
dataDir.selectedDirNonEmpty.title=目录非空
|
||||||
dataDir.selectedDirNonEmpty.text=您所选的目录里非空, 但不是一个Zotero数据目录.\n\n一定要在此目录里创建Zotero文件吗?
|
dataDir.selectedDirNonEmpty.text=您所选的目录里非空, 但不是一个Zotero数据目录.\n\n一定要在此目录里创建Zotero文件吗?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -642,7 +642,7 @@ sync.error.enterPassword=Please enter a password.
|
||||||
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, likely due to a corrupted Firefox login manager database.
|
||||||
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
|
||||||
sync.error.syncInProgress=A sync operation is already in progress.
|
sync.error.syncInProgress=A sync operation is already in progress.
|
||||||
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
|
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart %S.
|
||||||
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and files you've added or edited cannot be synced to the server.
|
||||||
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
sync.error.groupWillBeReset=If you continue, your copy of the group will be reset to its state on the server, and local modifications to items and files will be lost.
|
||||||
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
sync.error.copyChangedItems=If you would like a chance to copy your changes elsewhere or to request write access from a group administrator, cancel the sync now.
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -69,7 +69,7 @@ dataDir.useProfileDir=使用 Firefox 個人設定檔目錄
|
||||||
dataDir.selectDir=選擇 Zotero 的資料儲存目錄
|
dataDir.selectDir=選擇 Zotero 的資料儲存目錄
|
||||||
dataDir.selectedDirNonEmpty.title=目錄不是空的
|
dataDir.selectedDirNonEmpty.title=目錄不是空的
|
||||||
dataDir.selectedDirNonEmpty.text=你選擇的目錄不是空的而且它不像是 Zotero 的資料儲存目錄。\n\n仍然要在這個目錄中建立 Zotero 的檔案嗎?
|
dataDir.selectedDirNonEmpty.text=你選擇的目錄不是空的而且它不像是 Zotero 的資料儲存目錄。\n\n仍然要在這個目錄中建立 Zotero 的檔案嗎?
|
||||||
dataDir.standaloneMigration.title=Zotero Migration Notification
|
dataDir.standaloneMigration.title=Existing Zotero Library Found
|
||||||
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
dataDir.standaloneMigration.description=This appears to be your first time using %1$S. Would you like %1$S to import settings from %2$S and use your existing data directory?
|
||||||
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
dataDir.standaloneMigration.multipleProfiles=%1$S will share its data directory with the most recently used profile.
|
||||||
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
dataDir.standaloneMigration.selectCustom=Custom Data Directory…
|
||||||
|
@ -759,3 +759,5 @@ connector.standaloneOpen=Your database cannot be accessed because Zotero Standal
|
||||||
|
|
||||||
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save the reference to your Zotero library.
|
||||||
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu.
|
||||||
|
firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.
|
||||||
|
|
|
@ -11,6 +11,7 @@ groupbox
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
display: block; /* allow labels to wrap instead of all being in one line */
|
display: block; /* allow labels to wrap instead of all being in one line */
|
||||||
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
checkbox
|
checkbox
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
#zotero-status-image
|
||||||
|
{
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
#zotero-status-bar-icon, #zotero-addon-bar-icon
|
#zotero-status-bar-icon, #zotero-addon-bar-icon
|
||||||
{
|
{
|
||||||
width: 55px;
|
width: 55px;
|
||||||
|
@ -257,6 +262,32 @@
|
||||||
height:24px;
|
height:24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#zotero-collections-toolbar {
|
||||||
|
padding-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zotero-tb-button {
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
margin-right: 2px;
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zotero-tb-button:first-child {
|
||||||
|
margin-left: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zotero-tb-button:last-child {
|
||||||
|
margin-right: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zotero-tb-button[type="menu"] {
|
||||||
|
padding-left: 3px;
|
||||||
|
padding-right: 3px;
|
||||||
|
margin-left: 4px;
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
.zotero-tb-button[type="panel"] > dropmarker {
|
.zotero-tb-button[type="panel"] > dropmarker {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@ -399,8 +430,9 @@
|
||||||
|
|
||||||
#zotero-tb-sync {
|
#zotero-tb-sync {
|
||||||
list-style-image: url(chrome://zotero/skin/arrow_rotate_static.png);
|
list-style-image: url(chrome://zotero/skin/arrow_rotate_static.png);
|
||||||
margin-left: -2px;
|
margin-left: -6px;
|
||||||
margin-right: -2px;
|
margin-right: -2px;
|
||||||
|
padding-right: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zotero-tb-sync[status=animate] {
|
#zotero-tb-sync[status=animate] {
|
||||||
|
@ -425,6 +457,7 @@
|
||||||
#zotero-tb-search
|
#zotero-tb-search
|
||||||
{
|
{
|
||||||
font-size: 11px !important;
|
font-size: 11px !important;
|
||||||
|
margin-right: 0;
|
||||||
width: 160px;
|
width: 160px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
#zotero-tb-item-from-page, #zotero-tb-fullscreen, #zotero-fullscreen-close-separator {
|
#zotero-tb-item-from-page, #zotero-tb-snapshot-from-page, #zotero-tb-link-from-page,
|
||||||
|
#zotero-tb-fullscreen, #zotero-fullscreen-close-separator {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
|
@ -1 +1 @@
|
||||||
2011-08-29 18:20:00
|
2012-01-31 04:00:00
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id>
|
<id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id>
|
||||||
<minVersion>3.6</minVersion>
|
<minVersion>3.6</minVersion>
|
||||||
<maxVersion>10.*</maxVersion>
|
<maxVersion>10.*</maxVersion>
|
||||||
<updateLink>http://www.zotero.org/download/zotero.xpi</updateLink>
|
<updateLink>http://download.zotero.org/extension/zotero.xpi</updateLink>
|
||||||
<updateHash>sha1:</updateHash>
|
<updateHash>sha1:</updateHash>
|
||||||
</RDF:Description>
|
</RDF:Description>
|
||||||
</targetApplication>
|
</targetApplication>
|
||||||
|
|
Loading…
Reference in a new issue