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