Merge branch '4.0'

Since modal windows (e.g., the Create Bib window and the Quick Copy site
editor window) can't use yield, style retrieval
(Zotero.Styles.getVisible()/getAll()) is now synchronous, depending on a
previous async Zotero.Styles.init(). The translator list is generated in
the prefs window and passed into the Quick Copy site editor, but it's
possible the translators API should be changed to make getTranslators()
synchronous with a prior init() as well.
This commit is contained in:
Dan Stillman 2015-06-27 16:59:58 -04:00
commit 99dd1c0697
187 changed files with 1227 additions and 443 deletions

View file

@ -34,16 +34,13 @@
var Zotero_File_Interface_Bibliography = new function() {
var _io, _saveStyle;
this.init = init;
this.styleChanged = styleChanged;
this.acceptSelection = acceptSelection;
var lastSelectedLocale; // Only changes when explicitly selected
/*
* Initialize some variables and prepare event listeners for when chrome is done
* loading
*/
function init() {
this.init = function () {
// Set font size from pref
// Affects bibliography.xul and integrationDocPrefs.xul
var bibContainer = document.getElementById("zotero-bibliography-container");
@ -59,18 +56,18 @@ var Zotero_File_Interface_Bibliography = new function() {
}
var listbox = document.getElementById("style-listbox");
var styles = Zotero.Styles.getVisible();
// if no style is set, get the last style used
// if no style is requested, get the last style used
if(!_io.style) {
_io.style = Zotero.Prefs.get("export.lastStyle");
_saveStyle = true;
}
// add styles to list
var styles = Zotero.Styles.getVisible();
var index = 0;
var nStyles = styles.length;
var selectIndex = -1;
var selectIndex = null;
for(var i=0; i<nStyles; i++) {
var itemNode = document.createElement("listitem");
itemNode.setAttribute("value", styles[i].styleID);
@ -83,14 +80,29 @@ var Zotero_File_Interface_Bibliography = new function() {
index++;
}
if (selectIndex < 1) {
let requestedLocale;
if (selectIndex === null) {
// Requested style not found in list, pre-select first style
selectIndex = 0;
} else {
requestedLocale = _io.locale;
}
let style = styles[selectIndex];
lastSelectedLocale = Zotero.Prefs.get("export.lastLocale");
if (requestedLocale && style && !style.locale) {
// pre-select supplied locale
lastSelectedLocale = requestedLocale;
}
// add locales to list
Zotero.Styles.populateLocaleList(document.getElementById("locale-menu"));
// Has to be async to work properly
window.setTimeout(function () {
listbox.ensureIndexIsVisible(selectIndex);
listbox.selectedIndex = selectIndex;
Zotero_File_Interface_Bibliography.styleChanged();
}, 0);
// ONLY FOR bibliography.xul: export options
@ -149,22 +161,24 @@ var Zotero_File_Interface_Bibliography = new function() {
// set style to false, in case this is cancelled
_io.style = false;
}
};
/*
* Called when locale is changed
*/
this.localeChanged = function (selectedValue) {
lastSelectedLocale = selectedValue;
};
/*
* Called when style is changed
*/
function styleChanged(index) {
// When called from init(), selectedItem isn't yet set
if (index != undefined) {
var selectedItem = document.getElementById("style-listbox").getItemAtIndex(index);
}
else {
var selectedItem = document.getElementById("style-listbox").selectedItem;
}
this.styleChanged = function () {
var selectedItem = document.getElementById("style-listbox").selectedItem;
var selectedStyle = selectedItem.getAttribute('value');
var selectedStyleObj = Zotero.Styles.get(selectedStyle);
var selectedStyle = selectedItem.getAttribute('value'),
selectedStyleObj = Zotero.Styles.get(selectedStyle);
updateLocaleMenu(selectedStyleObj);
//
// For integrationDocPrefs.xul
@ -195,20 +209,33 @@ var Zotero_File_Interface_Bibliography = new function() {
// Change label to "Citation" or "Note" depending on style class
if(document.getElementById("citations")) {
let label = "";
if(Zotero.Styles.get(selectedStyle).class == "note") {
var label = Zotero.getString('citation.notes');
label = Zotero.getString('citation.notes');
} else {
var label = Zotero.getString('citation.citations');
label = Zotero.getString('citation.citations');
}
document.getElementById("citations").label = label;
}
window.sizeToContent();
};
/*
* Update locale menulist when style is changed
*/
function updateLocaleMenu(selectedStyle) {
Zotero.Styles.updateLocaleList(
document.getElementById("locale-menu"),
selectedStyle,
lastSelectedLocale
);
}
function acceptSelection() {
this.acceptSelection = function () {
// collect code
_io.style = document.getElementById("style-listbox").selectedItem.value;
_io.style = document.getElementById("style-listbox").value;
_io.locale = document.getElementById("locale-menu").value;
if(document.getElementById("output-method-radio")) {
// collect settings
_io.mode = document.getElementById("output-mode-radio").selectedItem.id;
@ -235,5 +262,8 @@ var Zotero_File_Interface_Bibliography = new function() {
if(_saveStyle) {
Zotero.Prefs.set("export.lastStyle", _io.style);
}
}
}
// save locale
Zotero.Prefs.set("export.lastLocale", lastSelectedLocale);
};
}

View file

@ -16,6 +16,12 @@
<caption label="&zotero.bibliography.style.label;"/>
<listbox id="style-listbox" onselect="Zotero_File_Interface_Bibliography.styleChanged()"/>
</groupbox>
<groupbox>
<hbox align="center">
<caption label="&zotero.bibliography.locale.label;"/>
<menulist id="locale-menu" oncommand="Zotero_File_Interface_Bibliography.localeChanged(this.selectedItem.value)"/>
</hbox>
</groupbox>
<groupbox>
<caption label="&zotero.bibliography.outputMode;"/>
<radiogroup id="output-mode-radio">

View file

@ -29,71 +29,130 @@
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="guidancepanel">
<resources>
<stylesheet src="chrome://zotero/skin/bindings/guidancepanel.css"/>
</resources>
<implementation>
<!--
@param {Object} [options]
@param {String} [options.text] - Text to use in place of firstRunGuidance.<about>
@param {DOMElement} [options.forEl] - Anchor node
@param {Boolean} [options.force] - Show even if already shown, and don't update
firstRunGuidanceShown.<about> pref
-->
<method name="show">
<parameter name="forEl"/>
<parameter name="text"/>
<parameter name="options"/>
<body>
<![CDATA[
Components.utils.import("resource://gre/modules/Services.jsm");
if(!Zotero.Prefs.get("firstRunGuidance")) return;
var about = this.getAttribute("about"),
pref = "firstRunGuidanceShown."+about,
shown = false;
try {
shown = Zotero.Prefs.get(pref);
} catch(e) {};
if(shown) return;
options = options || {};
let text = options.text;
let useLastText = options.useLastText || false;
let forEl = options.forEl || document.getElementById(this.getAttribute("for"));
let force = options.force || false;
if (!forEl) return;
// Don't show two panels at once
if (Zotero.guidanceBeingShown) {
return;
}
var about = this.getAttribute("about");
var pref = false;
if (about) {
pref = "firstRunGuidanceShown." + about;
let shown = false;
try {
shown = Zotero.Prefs.get(pref);
} catch(e) {};
if (shown && !force) {
return;
}
}
Zotero.guidanceBeingShown = true;
var x = this.getAttribute("x"),
y = this.getAttribute("y"),
position = this.getAttribute("position"),
panel = document.getAnonymousNodes(this)[0];
if(!forEl) forEl = document.getElementById(this.getAttribute("for"));
if(!text) text = Zotero.getString("firstRunGuidance."+about);
text = text.split("\n");
var descriptionNode = panel.lastChild;
while (descriptionNode.hasChildNodes()) {
descriptionNode.removeChild(descriptionNode.firstChild);
if (!useLastText) {
if (!text) {
text = Zotero.getString("firstRunGuidance." + about);
}
text = text.split("\n");
var descriptionNode = this.id('panel-description');
while (descriptionNode.hasChildNodes()) {
descriptionNode.removeChild(descriptionNode.firstChild);
}
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"));
}
}
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"));
}
this.setAttribute(
"onpopuphidden",
"this.hidden = true; "
+ "Zotero.guidanceBeingShown = false; "
+ (this.getAttribute("onpopuphidden") || "")
);
this.setAttribute('onpopuphidden', 'this.hidden = true');
this._initNavButton('back', options.back);
this._initNavButton('forward', options.forward);
var me = this;
var self = this;
var f = function() {
if(me.hasAttribute("foregroundonly") && Services.ww.activeWindow != window) return;
me.hidden = false;
if (self.hasAttribute("foregroundonly") && Services.ww.activeWindow != window) return;
// Hide panel if content page changes
if (self.getAttribute('hideonpagechange') == "true") {
let popupShownListener = function () {
self.removeEventListener("popupshown", popupShownListener);
let appcontent = document.getElementById('appcontent');
let pageHideListener = function () {
appcontent.removeEventListener("pagehide", pageHideListener);
self.hide();
};
appcontent.addEventListener("pagehide", pageHideListener);
};
self.addEventListener("popupshown", popupShownListener);
}
self.hidden = false;
panel.openPopup(forEl, position ? position : "after_start",
x ? parseInt(x, 10) : 0, y ? parseInt(y, 10) : 0, false, false, null);
Zotero.Prefs.set(pref, true);
if (pref) {
Zotero.Prefs.set(pref, true);
}
};
if(this.hasAttribute("delay")) {
if(this.hasAttribute("delay") && !force) {
window.setTimeout(f, this.getAttribute("delay"));
} else {
f();
}
if(this.hasAttribute("noautohide")) {
var listener = function() {
if (this.hasAttribute("noautohide")) {
let listener = function () {
panel.removeEventListener("click", listener);
panel.hidePopup();
panel.removeEventListener("click", listener, false);
}
panel.addEventListener("click", listener, false);
};
panel.addEventListener("click", listener);
}
]]>
</body>
</method>
<method name="hide">
<body>
<![CDATA[
@ -101,12 +160,62 @@
]]>
</body>
</method>
<method name="_initNavButton">
<parameter name="dir"/>
<parameter name="nextID"/>
<body><![CDATA[
if (!nextID) {
nextID = this.getAttribute(dir);
}
if (!nextID) {
return;
}
var nextElem = document.getElementById(nextID);
button = this.id(dir + '-button');
button.hidden = false;
var listener = function (event) {
button.removeEventListener("click", listener);
this.hide();
var data = {
force: true
};
// Point the next panel back to this one
data[dir == 'back' ? 'forward' : 'back'] = this.getAttribute('id');
// When going backwards, don't regenerate text
if (dir == 'back') {
data.useLastText = true;
}
nextElem.show(data);
event.stopPropagation();
}.bind(this);
button.addEventListener("click", listener);
]]></body>
</method>
<method name="id">
<parameter name="id"/>
<body><![CDATA[
return document.getAnonymousNodes(this)[0].getElementsByAttribute('anonid', id)[0];
]]></body>
</method>
</implementation>
<content>
<xul:panel orient="horizontal" style="max-width: 400px" type="arrow" align="top" xbl:inherits="noautohide">
<xul:image src="chrome://zotero/skin/zotero-new-z-48px.png" style="margin-right: 10px; width: 48px; height: 48px;"/>
<xul:description flex="1"></xul:description>
<xul:panel type="arrow" align="top" xbl:inherits="noautohide">
<xul:stack>
<xul:hbox align="center">
<xul:image src="chrome://zotero/skin/zotero-new-z-48px.png" style="margin-right: 10px; width: 48px; height: 48px;"/>
<xul:description anonid="panel-description" flex="1"></xul:description>
</xul:hbox>
<xul:hbox anonid="close-button-box">
<xul:toolbarbutton anonid="close-button" class="close-icon" hidden="true"/>
</xul:hbox>
<xul:hbox anonid="nav-buttons">
<xul:toolbarbutton anonid="back-button" oncommand="hide()" hidden="true"/>
<xul:toolbarbutton anonid="forward-button" oncommand="hide()" hidden="true"/>
</xul:hbox>
</xul:stack>
</xul:panel>
</content>
</binding>

View file

@ -1909,10 +1909,14 @@
if(field === 'creator') {
// Reset creator mode settings here so that flex attribute gets reset
this.switchCreatorMode(row, (otherFields.fieldMode ? 1 : 0), true);
Zotero.debug("HERE");
if(Zotero.ItemTypes.getName(this.item.itemTypeID) === "bookSection") {
Zotero.debug("YES");
var creatorTypeLabels = document.getAnonymousNodes(this)[0].getElementsByClassName("creator-type-label");
document.getElementById("zotero-author-guidance").show(creatorTypeLabels[creatorTypeLabels.length-1]);
Zotero.debug(creatorTypeLabels[creatorTypeLabels.length-1] + "");
document.getElementById("zotero-author-guidance").show({
forEl: creatorTypeLabels[creatorTypeLabels.length-1]
});
}
}

View file

@ -440,14 +440,6 @@ var Zotero_Browser = new function() {
button.tooltipText = tooltiptext;
if (state == tab.CAPTURE_STATE_TRANSLATABLE) {
button.classList.add('translate');
// Show guidance panel if necessary
if (inToolbar) {
button.addEventListener("load", function() {
document.getElementById("zotero-status-image-guidance").show();
});
}
// TODO: Different guidance for web pages?
}
else {
button.classList.remove('translate');

View file

@ -408,15 +408,15 @@ var Zotero_File_Interface = new function() {
*
* Does not check that items are actual references (and not notes or attachments)
*/
function copyItemsToClipboard(items, style, asHTML, asCitations) {
function copyItemsToClipboard(items, style, locale, asHTML, asCitations) {
// copy to clipboard
var transferable = Components.classes["@mozilla.org/widget/transferable;1"].
createInstance(Components.interfaces.nsITransferable);
var clipboardService = Components.classes["@mozilla.org/widget/clipboard;1"].
getService(Components.interfaces.nsIClipboard);
var style = Zotero.Styles.get(style);
var cslEngine = style.getCiteProc();
var cslEngine = style.getCiteProc(locale);
// add HTML
var bibliography = Zotero.Cite.makeFormattedBibliographyOrCitationList(cslEngine, items, "html", asCitations);
var str = Components.classes["@mozilla.org/supports-string;1"].
@ -446,14 +446,14 @@ var Zotero_File_Interface = new function() {
*
* if |asHTML| is true, copy HTML source as text
*/
function copyCitationToClipboard(items, style, asHTML) {
function copyCitationToClipboard(items, style, locale, asHTML) {
// copy to clipboard
var transferable = Components.classes["@mozilla.org/widget/transferable;1"].
createInstance(Components.interfaces.nsITransferable);
var clipboardService = Components.classes["@mozilla.org/widget/clipboard;1"].
getService(Components.interfaces.nsIClipboard);
var style = Zotero.Styles.get(style).getCiteProc();
var style = Zotero.Styles.get(style).getCiteProc(locale);
var citation = {"citationItems":[{id:item.id} for each(item in items)], properties:{}};
// add HTML
@ -506,14 +506,17 @@ var Zotero_File_Interface = new function() {
format = "rtf";
}
// determine locale preference
var locale = io.locale;
// generate bibliography
try {
if(io.method == 'copy-to-clipboard') {
copyItemsToClipboard(items, io.style, false, io.mode === "citations");
Zotero_File_Interface.copyItemsToClipboard(items, io.style, locale, false, io.mode === "citations");
}
else {
var style = Zotero.Styles.get(io.style);
var cslEngine = style.getCiteProc();
var cslEngine = style.getCiteProc(locale);
var bibliography = Zotero.Cite.makeFormattedBibliographyOrCitationList(cslEngine,
items, format, io.mode === "citations");
}

View file

@ -61,9 +61,10 @@ CustomizableUI.addListener({
var shortcut = Zotero.getString(
Zotero.isMac ? "general.keys.cmdShift" : "general.keys.ctrlShift"
) + Zotero.Prefs.get("keys.openZotero");
document.getElementById("zotero-toolbar-button-guidance").show(
null, Zotero.getString(property, shortcut)
);
document.getElementById("zotero-main-button-guidance").show({
text: Zotero.getString(property, shortcut)
});
document.getElementById("zotero-save-button-guidance").show();
}
else if (id == getSingleID('save')) {
Zotero_Browser.updateStatus();

View file

@ -48,6 +48,13 @@
<listbox id="style-listbox" onselect="Zotero_File_Interface_Bibliography.styleChanged()"/>
</groupbox>
<groupbox>
<hbox align="center">
<caption label="&zotero.bibliography.locale.label;"/>
<menulist id="locale-menu" oncommand="Zotero_File_Interface_Bibliography.localeChanged(this.selectedItem.value)"/>
</hbox>
</groupbox>
<groupbox id="displayAs-groupbox">
<caption label="&zotero.integration.prefs.displayAs.label;"/>
<radiogroup id="displayAs" orient="horizontal">

@ -1 +1 @@
Subproject commit d2b612f8a6f764cbd66e67238636fac3888a7736
Subproject commit 6e3d49bb0babc1715596b4be5f692450e92a8323

View file

@ -49,9 +49,12 @@
<stack id="zotero-pane-stack" persist="savedHeight" savedHeight="300" hidden="true"/>
<zoteroguidancepanel id="zotero-toolbar-button-guidance" about="toolbarButton" for="zotero-toolbar-main-button"
position="bottomcenter topleft" delay="2000" foregroundonly="true"/>
<zoteroguidancepanel id="zotero-status-image-guidance" about="saveIcon" for="zotero-toolbar-save-button" x="17"/>
<zoteroguidancepanel id="zotero-main-button-guidance" about="toolbarButton" for="zotero-toolbar-main-button"
position="bottomcenter topleft" delay="2000" foregroundonly="true" noautohide="true"
hideonpagechange="true" forward="zotero-save-button-guidance"/>
<zoteroguidancepanel id="zotero-save-button-guidance" about="saveButton" for="zotero-toolbar-save-button"
position="bottomcenter topleft" x="-8" delay="2000" foregroundonly="true" noautohide="true"
hideonpagechange="true"/>
<!-- Annotation Toolbar -->
<toolbar id="zotero-annotate-tb" crop="end" insertbefore="content" hidden="true">

View file

@ -58,7 +58,7 @@ Zotero_Preferences.Cite = {
treechildren.removeChild(treechildren.firstChild);
}
var styles = yield Zotero.Styles.getVisible();
var styles = Zotero.Styles.getVisible();
var selectIndex = false;
styles.forEach(function (style, i) {
var treeitem = document.createElement('treeitem');

View file

@ -26,16 +26,16 @@
"use strict";
Zotero_Preferences.Export = {
init: function () {
this.populateQuickCopyList();
init: Zotero.Promise.coroutine(function* () {
this.updateQuickCopyInstructions();
yield this.populateQuickCopyList();
var charsetMenu = document.getElementById("zotero-import-charsetMenu");
var charsetMap = Zotero_Charset_Menu.populate(charsetMenu, false);
charsetMenu.selectedItem =
charsetMap[Zotero.Prefs.get("import.charset")] ?
charsetMap[Zotero.Prefs.get("import.charset")] : charsetMap["auto"];
},
}),
/*
@ -44,10 +44,23 @@ Zotero_Preferences.Export = {
populateQuickCopyList: Zotero.Promise.coroutine(function* () {
// Initialize default format drop-down
var format = Zotero.Prefs.get("export.quickCopy.setting");
format = Zotero.QuickCopy.unserializeSetting(format);
var menulist = document.getElementById("zotero-quickCopy-menu");
yield Zotero.Styles.init();
var translation = new Zotero.Translate("export");
var translators = yield translation.getTranslators();
this.buildQuickCopyFormatDropDown(
menulist, format.contentType, format, translators
);
menulist.setAttribute('preference', "pref-quickCopy-setting");
yield this.buildQuickCopyFormatDropDown(menulist, Zotero.QuickCopy.getContentType(format), format);
this.updateQuickCopyHTMLCheckbox(document);
// Initialize locale drop-down
var localeMenulist = document.getElementById("zotero-quickCopy-locale-menu");
Zotero.Styles.populateLocaleList(localeMenulist);
localeMenulist.setAttribute('preference', "pref-quickCopy-locale");
this._lastSelectedLocale = Zotero.Prefs.get("export.quickCopy.locale");
this.updateQuickCopyUI();
if (!Zotero.isStandalone) {
yield this.refreshQuickCopySiteList();
@ -58,12 +71,12 @@ Zotero_Preferences.Export = {
/*
* Builds a Quick Copy drop-down
*/
buildQuickCopyFormatDropDown: Zotero.Promise.coroutine(function* (menulist, contentType, currentFormat) {
if (!currentFormat) {
currentFormat = menulist.value;
buildQuickCopyFormatDropDown: function (menulist, contentType, format, translators) {
if (!format) {
format = menulist.value;
}
// Strip contentType from mode
currentFormat = Zotero.QuickCopy.stripContentType(currentFormat);
format = Zotero.QuickCopy.unserializeSetting(format);
menulist.selectedItem = null;
menulist.removeAllItems();
@ -84,17 +97,16 @@ Zotero_Preferences.Export = {
popup.appendChild(itemNode);
// add styles to list
var styles = yield Zotero.Styles.getVisible();
var styles = Zotero.Styles.getVisible();
styles.forEach(function (style) {
var baseVal = 'bibliography=' + style.styleID;
var val = 'bibliography' + (contentType == 'html' ? '/html' : '') + '=' + style.styleID;
var itemNode = document.createElement("menuitem");
itemNode.setAttribute("value", val);
itemNode.setAttribute("label", style.title);
itemNode.setAttribute("oncommand", 'Zotero_Preferences.Export.updateQuickCopyHTMLCheckbox(document)');
itemNode.setAttribute("oncommand", 'Zotero_Preferences.Export.updateQuickCopyUI()');
popup.appendChild(itemNode);
if (baseVal == currentFormat) {
if (format.mode == 'bibliography' && format.id == style.styleID) {
menulist.selectedItem = itemNode;
}
});
@ -105,8 +117,6 @@ Zotero_Preferences.Export = {
popup.appendChild(itemNode);
// add export formats to list
var translation = new Zotero.Translate("export");
var translators = yield translation.getTranslators();
translators.forEach(function (translator) {
// Skip RDF formats
switch (translator.translatorID) {
@ -114,32 +124,39 @@ Zotero_Preferences.Export = {
case '14763d24-8ba0-45df-8f52-b8d1108e7ac9':
return;
}
var val = 'export=' + translator.translatorID;
var val = 'export=' + translator.translatorID;
var itemNode = document.createElement("menuitem");
itemNode.setAttribute("value", val);
itemNode.setAttribute("label", translator.label);
itemNode.setAttribute("oncommand", 'Zotero_Preferences.Export.updateQuickCopyHTMLCheckbox(document)');
itemNode.setAttribute("oncommand", 'Zotero_Preferences.Export.updateQuickCopyUI()');
popup.appendChild(itemNode);
if (val == currentFormat) {
if (format.mode == 'export' && format.id == translator.translatorID) {
menulist.selectedItem = itemNode;
}
});
menulist.click();
}),
},
updateQuickCopyHTMLCheckbox: function (doc) {
var format = doc.getElementById('zotero-quickCopy-menu').value;
updateQuickCopyUI: function () {
var format = document.getElementById('zotero-quickCopy-menu').value;
var mode, contentType;
var checkbox = doc.getElementById('zotero-quickCopy-copyAsHTML');
[mode, format] = format.split('=');
[mode, contentType] = mode.split('/');
var checkbox = document.getElementById('zotero-quickCopy-copyAsHTML');
checkbox.checked = contentType == 'html';
checkbox.disabled = mode != 'bibliography';
Zotero.Styles.updateLocaleList(
document.getElementById('zotero-quickCopy-locale-menu'),
mode == 'bibliography' ? Zotero.Styles.get(format) : null,
this._lastSelectedLocale
);
},
/**
@ -161,19 +178,28 @@ Zotero_Preferences.Export = {
showQuickCopySiteEditor: Zotero.Promise.coroutine(function* (index) {
var treechildren = document.getElementById('quickCopy-siteSettings-rows');
if (index != undefined && index > -1 && index < treechildren.childNodes.length) {
var formattedName = document.getElementById('zotero-quickCopy-menu').label;
var locale = this._lastSelectedLocale;
var asHTML = document.getElementById('zotero-quickCopy-copyAsHTML').checked;
if (index !== undefined && index > -1 && index < treechildren.childNodes.length) {
var treerow = treechildren.childNodes[index].firstChild;
var domain = treerow.childNodes[0].getAttribute('label');
var format = treerow.childNodes[1].getAttribute('label');
var asHTML = treerow.childNodes[2].getAttribute('label') != '';
formattedName = treerow.childNodes[1].getAttribute('label');
locale = treerow.childNodes[2].getAttribute('label');
asHTML = treerow.childNodes[3].getAttribute('label') !== '';
}
var format = yield Zotero.QuickCopy.getSettingFromFormattedName(format);
var format = yield Zotero.QuickCopy.getSettingFromFormattedName(formattedName);
if (asHTML) {
format = format.replace('bibliography=', 'bibliography/html=');
}
var io = {domain: domain, format: format, ok: false};
var styles = Zotero.Styles.getVisible();
var translation = new Zotero.Translate("export");
var translators = yield translation.getTranslators();
var io = { domain, format, locale, asHTML, ok: false, styles, translators };
window.openDialog('chrome://zotero/content/preferences/quickCopySiteEditor.xul',
"zotero-preferences-quickCopySiteEditor", "chrome,modal,centerscreen", io);
@ -185,7 +211,10 @@ Zotero_Preferences.Export = {
yield Zotero.DB.queryAsync("DELETE FROM settings WHERE setting='quickCopySite' AND key=?", [domain]);
}
yield Zotero.DB.queryAsync("REPLACE INTO settings VALUES ('quickCopySite', ?, ?)", [io.domain, io.format]);
var quickCopysetting = Zotero.QuickCopy.unserializeSetting(io.format);
quickCopysetting.locale = io.locale;
yield Zotero.DB.queryAsync("REPLACE INTO settings VALUES ('quickCopySite', ?, ?)", [io.domain, JSON.stringify(quickCopysetting)]);
yield Zotero.QuickCopy.loadSiteSettings();
@ -204,22 +233,26 @@ Zotero_Preferences.Export = {
var siteData = yield Zotero.DB.queryAsync(sql);
for (var i=0; i<siteData.length; i++) {
let treeitem = document.createElement('treeitem');
let treerow = document.createElement('treerow');
let domainCell = document.createElement('treecell');
let formatCell = document.createElement('treecell');
let HTMLCell = document.createElement('treecell');
var treeitem = document.createElement('treeitem');
var treerow = document.createElement('treerow');
var domainCell = document.createElement('treecell');
var formatCell = document.createElement('treecell');
var localeCell = document.createElement('treecell');
var htmlCell = document.createElement('treecell');
domainCell.setAttribute('label', siteData[i].domainPath);
var formatted = yield Zotero.QuickCopy.getFormattedNameFromSetting(siteData[i].format);
formatCell.setAttribute('label', formatted);
var copyAsHTML = Zotero.QuickCopy.getContentType(siteData[i].format) == 'html';
HTMLCell.setAttribute('label', copyAsHTML ? ' ✓ ' : '');
var formattedName = yield Zotero.QuickCopy.getFormattedNameFromSetting(siteData[i].format);
formatCell.setAttribute('label', formattedName);
var format = Zotero.QuickCopy.unserializeSetting(siteData[i].format);
localeCell.setAttribute('label', format.locale);
htmlCell.setAttribute('label', format.contentType == 'html' ? ' ✓ ' : '');
treerow.appendChild(domainCell);
treerow.appendChild(formatCell);
treerow.appendChild(HTMLCell);
treerow.appendChild(localeCell);
treerow.appendChild(htmlCell);
treeitem.appendChild(treerow);
treechildren.appendChild(treeitem);
}
@ -249,9 +282,9 @@ Zotero_Preferences.Export = {
}
instr.appendChild(document.createTextNode(str));
var key = Zotero.Prefs.get('keys.copySelectedItemCitationsToClipboard');
var str = Zotero.getString('zotero.preferences.export.quickCopy.citationInstructions', prefix + key);
var instr = document.getElementById('quickCopy-citationInstructions');
key = Zotero.Prefs.get('keys.copySelectedItemCitationsToClipboard');
str = Zotero.getString('zotero.preferences.export.quickCopy.citationInstructions', prefix + key);
instr = document.getElementById('quickCopy-citationInstructions');
while (instr.hasChildNodes()) {
instr.removeChild(instr.firstChild);
}

View file

@ -23,7 +23,12 @@
***** END LICENSE BLOCK *****
-->
<!DOCTYPE prefwindow SYSTEM "chrome://zotero/locale/preferences.dtd">
<!DOCTYPE window [
<!ENTITY % prefWindow SYSTEM "chrome://zotero/locale/preferences.dtd">
%prefWindow;
<!ENTITY % common SYSTEM "chrome://zotero/locale/zotero.dtd">
%common;
]>
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<prefpane id="zotero-prefpane-export"
@ -33,6 +38,7 @@
<preferences>
<preference id="pref-quickCopy-setting" name="extensions.zotero.export.quickCopy.setting" type="string"/>
<preference id="pref-quickCopy-dragLimit" name="extensions.zotero.export.quickCopy.dragLimit" type="int"/>
<preference id="pref-quickCopy-locale" name="extensions.zotero.export.quickCopy.locale" type="string"/>
<preference id="pref-export-displayCharsetOption" name="extensions.zotero.export.displayCharsetOption" type="bool"/>
<preference id="pref-import-charset" name="extensions.zotero.import.charset" type="string"/>
</preferences>
@ -49,10 +55,15 @@
<label value="&zotero.preferences.quickCopy.defaultOutputFormat;" control="quickCopy-menu"/>
<menulist id="zotero-quickCopy-menu"/>
<separator class="thin"/>
<checkbox id="zotero-quickCopy-copyAsHTML" label="&zotero.preferences.quickCopy.copyAsHTML;"
oncommand="Zotero_Preferences.Export.buildQuickCopyFormatDropDown(document.getElementById('zotero-quickCopy-menu'), this.checked ? 'html' : '');"/>
<hbox align="center">
<label id="zotero-quickCopy-locale-menu-label" value="&zotero.bibliography.locale.label;" control="zotero-quickCopy-locale-menu"/>
<menulist id="zotero-quickCopy-locale-menu" oncommand="Zotero_Preferences.Export._lastSelectedLocale = this.value"/>
<separator orient="vertical" width="15px"/>
<checkbox id="zotero-quickCopy-copyAsHTML" label="&zotero.preferences.quickCopy.copyAsHTML;"
oncommand="Zotero_Preferences.Export.buildQuickCopyFormatDropDown(document.getElementById('zotero-quickCopy-menu'), this.checked ? 'html' : '');"/>
</hbox>
<vbox id="zotero-prefpane-export-siteSettings"/>

View file

@ -42,6 +42,7 @@
<treecols>
<treecol id="quickCopy-urlColumn" label="&zotero.preferences.quickCopy.siteEditor.domainPath;" flex="1"/>
<treecol id="quickCopy-formatColumn" label="&zotero.preferences.quickCopy.siteEditor.outputFormat;" flex="2"/>
<treecol id="quickCopy-localeColumn" label="&zotero.preferences.quickCopy.siteEditor.locale;"/>
<treecol id="quickCopy-copyAsHTML" label="HTML"/>
</treecols>
<treechildren id="quickCopy-siteSettings-rows"/>

View file

@ -27,20 +27,26 @@
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://zotero/skin/preferences.css"?>
<!DOCTYPE window SYSTEM "chrome://zotero/locale/preferences.dtd">
<!DOCTYPE window [
<!ENTITY % prefWindow SYSTEM "chrome://zotero/locale/preferences.dtd">
%prefWindow;
<!ENTITY % common SYSTEM "chrome://zotero/locale/zotero.dtd">
%common;
]>
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="" buttons="cancel,accept"
id="zotero-quickCopySiteEditor"
onload="sizeToContent();"
onload="Zotero_Preferences.Export.updateQuickCopyUI(); sizeToContent()"
ondialogaccept="Zotero_QuickCopySiteEditor.onAccept();">
<script src="chrome://zotero/content/include.js"/>
<script src="preferences.js"/>
<script src="preferences_export.js"/>
<script>
<![CDATA[
var Zotero_Preferences = window.opener.Zotero_Preferences;
var Zotero_QuickCopySiteEditor = new function () {
this.onAccept = onAccept;
@ -48,6 +54,12 @@
var io = window.arguments[0];
io.domain = document.getElementById('zotero-quickCopy-domain').value;
io.format = document.getElementById('zotero-quickCopy-menu').value;
io.locale = '';
if (!document.getElementById('zotero-quickCopy-locale-menu').disabled) {
io.locale = document.getElementById('zotero-quickCopy-locale-menu').value;
}
io.ok = true;
}
}
@ -57,26 +69,46 @@
<vbox id="zotero-preferences-quickCopySiteEditor">
<label value="&zotero.preferences.quickCopy.siteEditor.domainPath; &zotero.preferences.quickCopy.siteEditor.domainPath.example;" control="zotero-quickCopy-domain"/>
<textbox id="zotero-quickCopy-domain"/>
<separator class="thin"/>
<label value="&zotero.preferences.quickCopy.siteEditor.outputFormat;" control="zotero-quickCopy-menu"/>
<menulist id="zotero-quickCopy-menu"/>
<separator class="thin"/>
<label id="zotero-quickCopy-locale-menu-label" value="&zotero.preferences.quickCopy.siteEditor.locale;" control="zotero-quickCopy-locale-menu"/>
<hbox align="center">
<menulist id="zotero-quickCopy-locale-menu" oncommand="Zotero_Preferences.Export._lastSelectedLocale = this.value"/>
</hbox>
<separator class="thin"/>
<checkbox id="zotero-quickCopy-copyAsHTML" label="&zotero.preferences.quickCopy.copyAsHTML;"
oncommand="Zotero_Preferences.Export.buildQuickCopyFormatDropDown(
document.getElementById('zotero-quickCopy-menu'), this.checked ? 'html' : ''
document.getElementById('zotero-quickCopy-menu'),
this.checked ? 'html' : '',
null,
io.translators
)"/>
</vbox>
<script>
<![CDATA[
var io = window.arguments[0];
var contentType = io.asHTML ? 'html' : '';
document.getElementById('zotero-quickCopy-domain').value = io.domain ? io.domain : '';
Zotero_Preferences.Export.buildQuickCopyFormatDropDown(
document.getElementById('zotero-quickCopy-menu'),
Zotero.QuickCopy.getContentType(io.format),
io.format
contentType,
io.format,
io.translators
);
Zotero_Preferences.Export.updateQuickCopyHTMLCheckbox(document);
Zotero.Styles.populateLocaleList(
document.getElementById('zotero-quickCopy-locale-menu')
);
document.getElementById('zotero-quickCopy-copyAsHTML').checked = io.asHTML;
Zotero_Preferences.Export._lastSelectedLocale = io.locale;
]]>
</script>
</dialog>

View file

@ -495,8 +495,9 @@ var Zotero_RTFScan = new function() {
function _formatRTF() {
// load style and create ItemSet with all items
var zStyle = Zotero.Styles.get(document.getElementById("style-listbox").selectedItem.value)
var style = zStyle.getCiteProc();
var zStyle = Zotero.Styles.get(document.getElementById("style-listbox").value)
var locale = document.getElementById("locale-menu").value;
var style = zStyle.getCiteProc(locale);
style.setOutputFormat("rtf");
var isNote = style.class == "note";
@ -597,7 +598,12 @@ var Zotero_RTFScan = new function() {
Zotero.File.putContents(outputFile, contents);
// save locale
if (!document.getElementById("locale-menu").disabled) {
Zotero.Prefs.set("export.lastLocale", locale);
}
document.documentElement.canAdvance = true;
document.documentElement.advance();
}
}
}

View file

@ -89,7 +89,12 @@
<caption label="&zotero.bibliography.style.label;"/>
<listbox id="style-listbox" onselect="Zotero_File_Interface_Bibliography.styleChanged()" flex="1"/>
</groupbox>
<groupbox>
<hbox align="center">
<caption label="&zotero.bibliography.locale.label;"/>
<menulist id="locale-menu" oncommand="Zotero_File_Interface_Bibliography.localeChanged(this.value)"/>
</hbox>
</groupbox>
<groupbox>
<caption label="&zotero.integration.prefs.displayAs.label;"/>
<radiogroup id="displayAs" orient="horizontal">

View file

@ -27,39 +27,32 @@ var Zotero_CSL_Editor = new function() {
this.init = init;
this.handleKeyPress = handleKeyPress;
this.loadCSL = loadCSL;
this.generateBibliography = generateBibliography;
this.refresh = refresh;
function init() {
var cslList = document.getElementById('zotero-csl-list');
if (cslList.getAttribute('initialized') == 'true') {
if (currentStyle) {
loadCSL(currentStyle);
refresh();
}
return;
}
Zotero.Styles.populateLocaleList(document.getElementById("locale-menu"));
var rawDefaultStyle = Zotero.Prefs.get('export.quickCopy.setting');
var defaultStyle = Zotero.QuickCopy.stripContentType(rawDefaultStyle);
var cslList = document.getElementById('zotero-csl-list');
cslList.removeAllItems();
var lastStyle = Zotero.Prefs.get('export.lastStyle');
var styles = Zotero.Styles.getAll();
var currentStyle = null;
var listPos = 0;
for each(var style in styles) {
if (style.source) {
continue;
}
var item = cslList.appendItem(style.title, style.styleID);
if (!currentStyle || defaultStyle == ('bibliography=' + style.styleID)) {
currentStyle = style.styleID;
cslList.selectedIndex = listPos;
if (!currentStyle && lastStyle == style.styleID) {
currentStyle = style;
cslList.selectedItem = item;
}
listPos += 1;
}
if (currentStyle) {
loadCSL(currentStyle);
refresh();
// Call asynchronously, see note in Zotero.Styles
window.setTimeout(this.onStyleSelected.bind(this, currentStyle.styleID), 1);
}
var pageList = document.getElementById('zotero-csl-page-type');
var locators = Zotero.Cite.labels;
for each(var type in locators) {
@ -69,13 +62,25 @@ var Zotero_CSL_Editor = new function() {
}
pageList.selectedIndex = 0;
cslList.setAttribute('initialized', true);
}
function refresh() {
var editor = document.getElementById('zotero-csl-editor');
generateBibliography(editor.value);
this.onStyleSelected = function(styleID) {
Zotero.Prefs.set('export.lastStyle', styleID);
let style = Zotero.Styles.get(styleID);
Zotero.Styles.updateLocaleList(
document.getElementById("locale-menu"),
style,
Zotero.Prefs.get('export.lastLocale')
);
loadCSL(style.styleID);
this.refresh();
}
this.refresh = function() {
this.generateBibliography(this.loadStyleFromEditor());
}
this.save = function() {
var editor = document.getElementById('zotero-csl-editor');
var style = editor.value;
@ -120,20 +125,52 @@ var Zotero_CSL_Editor = new function() {
document.getElementById('zotero-csl-list').value = cslID;
}
this.loadStyleFromEditor = function() {
var styleObject;
try {
styleObject = new Zotero.Style(
document.getElementById('zotero-csl-editor').value
);
} catch(e) {
document.getElementById('zotero-csl-preview-box')
.contentDocument.documentElement.innerHTML = '<div>'
+ Zotero.getString('styles.editor.warning.parseError')
+ '</div><div>' + e + '</div>';
throw e;
}
return styleObject;
}
function generateBibliography(str) {
var editor = document.getElementById('zotero-csl-editor')
this.onStyleModified = function(str) {
document.getElementById('zotero-csl-list').selectedIndex = -1;
let styleObject = this.loadStyleFromEditor();
Zotero.Styles.updateLocaleList(
document.getElementById("locale-menu"),
styleObject,
Zotero.Prefs.get('export.lastLocale')
);
Zotero_CSL_Editor.generateBibliography(styleObject);
}
this.generateBibliography = function(style) {
var iframe = document.getElementById('zotero-csl-preview-box');
var items = Zotero.getActiveZoteroPane().getSelectedItems();
if (items.length == 0) {
iframe.contentDocument.documentElement.innerHTML = '<html><head><title></title></head><body><p style="color: red">' + Zotero.getString('styles.editor.warning.noItems') + '</p></body></html>';
iframe.contentDocument.documentElement.innerHTML =
'<html><head><title></title></head><body><p style="color: red">'
+ Zotero.getString('styles.editor.warning.noItems')
+ '</p></body></html>';
return;
}
var styleObject, styleEngine;
var selectedLocale = document.getElementById("locale-menu").value;
var styleEngine;
try {
styleObject = new Zotero.Style(str);
styleEngine = styleObject.getCiteProc();
styleEngine = style.getCiteProc(style.locale || selectedLocale);
} catch(e) {
iframe.contentDocument.documentElement.innerHTML = '<div>' + Zotero.getString('styles.editor.warning.parseError') + '</div><div>'+e+'</div>';
throw e;

View file

@ -58,12 +58,13 @@
<menuitem label="near-note" value="4"/>
</menupopup>
</menulist>
<menulist id="zotero-csl-list" style="min-height: 1.6em; min-width: 100px" initialized="false" flex="1" oncommand="Zotero_CSL_Editor.loadCSL(this.selectedItem.value)"/>
<menulist id="locale-menu" oncommand="Zotero.Prefs.set('export.lastLocale', this.value); Zotero_CSL_Editor.refresh()"/>
<menulist id="zotero-csl-list" style="min-height: 1.6em; min-width: 100px" flex="1" oncommand="Zotero_CSL_Editor.onStyleSelected(this.value)"/>
</hbox>
<textbox id="zotero-csl-editor" type="timed" timeout="250" multiline="true"
flex="1"
onkeypress="Zotero_CSL_Editor.handleKeyPress(event)"
oncommand="document.getElementById('zotero-csl-list').selectedIndex = -1; Zotero_CSL_Editor.generateBibliography(this.value)"/>
oncommand="Zotero_CSL_Editor.onStyleModified()"/>
<splitter id="csledit-splitter" collapse="before" persist="state">
<grippy/>
</splitter>

View file

@ -30,7 +30,10 @@ var Zotero_CSL_Preview = new function() {
this.generateBibliography = generateBibliography;
function init() {
//refresh();
var menulist = document.getElementById("locale-menu");
Zotero.Styles.populateLocaleList(menulist);
menulist.value = Zotero.Prefs.get('export.lastLocale');;
var iframe = document.getElementById('zotero-csl-preview-box');
iframe.contentDocument.documentElement.innerHTML = '<html><head><title></title></head><body><p>' + Zotero.getString('styles.preview.instructions') + '</p></body></html>';
@ -86,7 +89,9 @@ var Zotero_CSL_Preview = new function() {
Zotero.debug("CSL IGNORE: citation format is " + style.categories);
return '';
}
var styleEngine = style.getCiteProc();
var locale = document.getElementById("locale-menu").value;
var styleEngine = style.getCiteProc(locale);
// Generate multiple citations
var citations = styleEngine.previewCitationCluster(

View file

@ -56,6 +56,8 @@
<menuitem value="numeric" label="&styles.preview.citationFormat.numeric;"/>
</menupopup>
</menulist>
<menulist id="locale-menu" oncommand="Zotero.Prefs.set('export.lastLocale', this.value); Zotero_CSL_Preview.refresh()"/>
</hbox>
<iframe id="zotero-csl-preview-box" flex="1" style="padding: 0 1em; background:white;" overflow="auto" type="content"/>
</vbox>

View file

@ -644,7 +644,7 @@ var wpdCommon = {
aDir.initWithPath(destdir);
aFile.copyTo(aDir, destfile);
aFile.copyToFollowingLinks(aDir, destfile);
return true; // Added by Dan S. for Zotero
},

View file

@ -199,7 +199,7 @@ var wpdDOMSaver = {
// Changed by Dan for Zotero
"script": true, // no scripts
"encodeUTF8": false, // write the DOM Tree as UTF-8 and change the charset entry of the document
"encodeUTF8": true, // write the DOM Tree as UTF-8 and change the charset entry of the document
"metainfo": true, // include meta tags with URL and date/time information
"metacharset": false // if the meta charset is defined inside html override document charset
//"xtagging" : true // include a x tag around each word

View file

@ -54,7 +54,9 @@ Zotero.Attachments = new function(){
if (!file.isFile()) {
throw new Error("'" + file.leafName + "' must be a file");
}
if (file.leafName.endsWith(".lnk")) {
throw new Error("Cannot add Windows shortcut");
}
if (parentItemID && collections) {
throw new Error("parentItemID and collections cannot both be provided");
}
@ -227,7 +229,7 @@ Zotero.Attachments = new function(){
* @return {Promise<Zotero.Item>} - A promise for the created attachment item
*/
this.importFromURL = Zotero.Promise.coroutine(function* (options) {
Zotero.debug('Importing attachment from URL');
Zotero.debug('Importing attachment from URL ' + url);
var libraryID = options.libraryID;
var url = options.url;
@ -641,7 +643,7 @@ Zotero.Attachments = new function(){
attachmentItem.setField('accessDate', "CURRENT_TIMESTAMP");
attachmentItem.parentID = parentItemID;
attachmentItem.attachmentLinkMode = Zotero.Attachments.LINK_MODE_IMPORTED_URL;
attachmentItem.attachmentCharset = document.characterSet;
attachmentItem.attachmentCharset = 'utf-8'; // WPD will output UTF-8
attachmentItem.attachmentContentType = contentType;
if (collections) {
attachmentItem.setCollections(collections);

View file

@ -358,6 +358,13 @@ Zotero.Item.prototype._parseRowData = function(row) {
val = val !== null ? parseInt(val) : false;
break;
case 'attachmentPath':
// Ignore .zotero* files that were relinked before we started blocking them
if (!val || val.startsWith('.zotero')) {
val = '';
}
break;
// Boolean
case 'synced':
case 'deleted':
@ -2230,6 +2237,11 @@ Zotero.Item.prototype.getFilePathAsync = Zotero.Promise.coroutine(function* (ski
if (Zotero.isWin || path.indexOf('/') != -1) {
path = Zotero.File.getValidFileName(path, true);
}
// Ignore .zotero* files that were relinked before we started blocking them
if (path.startsWith(".zotero")) {
Zotero.debug("Ignoring attachment file " + path, 2);
return false;
}
var file = Zotero.Attachments.getStorageDirectory(this);
file.QueryInterface(Components.interfaces.nsILocalFile);
file.setRelativeDescriptor(file, path);
@ -2496,26 +2508,56 @@ Zotero.Item.prototype.relinkAttachmentFile = Zotero.Promise.coroutine(function*
}
var fileName = OS.Path.basename(path);
if (fileName.endsWith(".lnk")) {
throw new Error("Cannot relink to Windows shortcut");
}
var newName = Zotero.File.getValidFileName(fileName);
if (!newName) {
throw new Error("No valid characters in filename after filtering");
}
// Rename file to filtered name if necessary
if (fileName != newName) {
Zotero.debug("Renaming file '" + fileName + "' to '" + newName + "'");
OS.File.move(path, OS.Path.join(OS.Path.dirname(path), newName), { noOverwrite: true });
var newPath = OS.Path.join(OS.Path.dirname(path), newName);
try {
// If selected file isn't in the attachment's storage directory,
// copy it in and use that one instead
var storageDir = Zotero.Attachments.getStorageDirectory(this.id).path;
if (this.isImportedAttachment() && OS.Path.dirname(path) != storageDir) {
// If file with same name already exists in the storage directory,
// move it out of the way
let deleteBackup = false;;
if (yield OS.File.exists(newPath)) {
deleteBackup = true;
yield OS.File.move(newPath, newPath + ".bak");
}
let newFile = Zotero.File.copyToUnique(path, newPath);
newPath = newFile.path;
// Delete backup file
if (deleteBackup) {
yield OS.File.remove(newPath + ".bak");
}
}
// Rename file to filtered name if necessary
else if (fileName != newName) {
Zotero.debug("Renaming file '" + fileName + "' to '" + newName + "'");
OS.File.move(path, newPath, { noOverwrite: true });
}
}
catch (e) {
Zotero.logError(e);
return false;
}
this.attachmentPath = Zotero.Attachments.getPath(file, linkMode);
this.attachmentPath = Zotero.Attachments.getPath(Zotero.File.pathToFile(newPath), linkMode);
yield this.save({
skipDateModifiedUpdate: true,
skipClientDateModifiedUpdate: skipItemUpdate
});
return false;
return true;
});
@ -4010,7 +4052,7 @@ Zotero.Item.prototype.toJSON = Zotero.Promise.coroutine(function* (options) {
// Notes and embedded attachment notes
yield this.loadNote();
let note = this.getNote();
if (note !== "" || mode == 'full') {
if (note !== "" || mode == 'full' || (mode == 'new' && this.isNote())) {
obj.note = note;
}

View file

@ -576,12 +576,15 @@ Zotero.File = new function(){
this.copyToUnique = function (file, newFile) {
file = this.pathToFile(file);
newFile = this.pathToFile(newFile);
newFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 0644);
var newName = newFile.leafName;
newFile.remove(null);
// Copy file to unique name
file.copyTo(newFile.parent, newName);
file.copyToFollowingLinks(newFile.parent, newName);
return newFile;
}
@ -681,6 +684,8 @@ Zotero.File = new function(){
// Strip characters not valid in XML, since they won't sync and they're probably unwanted
fileName = fileName.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\ud800-\udfff\ufffe\uffff]/g, '');
}
// Don't allow hidden files
fileName = fileName.replace(/^\./, '');
// Don't allow blank or illegal filenames
if (!fileName || fileName == '.' || fileName == '..') {
fileName = '_';

View file

@ -81,7 +81,7 @@ Zotero.Fulltext = new function(){
this.decoder = Components.classes["@mozilla.org/intl/utf8converterservice;1"].
getService(Components.interfaces.nsIUTF8ConverterService);
var platform = Zotero.platform.replace(' ', '-');
var platform = Zotero.platform.replace(/ /g, '-');
_pdfConverterFileName = this.pdfConverterName + '-' + platform;
_pdfInfoFileName = this.pdfInfoName + '-' + platform;
if (Zotero.isWin) {

View file

@ -2039,7 +2039,7 @@ Zotero.Integration.Session.prototype.setData = function(data, resetStyle) {
try {
var getStyle = Zotero.Styles.get(data.style.styleID);
data.style.hasBibliography = getStyle.hasBibliography;
this.style = getStyle.getCiteProc(data.prefs.automaticJournalAbbreviations);
this.style = getStyle.getCiteProc(data.locale, data.prefs.automaticJournalAbbreviations);
this.style.setOutputFormat("rtf");
this.styleClass = getStyle.class;
this.dateModified = new Object();
@ -2069,6 +2069,7 @@ Zotero.Integration.Session.prototype.setDocPrefs = function(doc, primaryFieldTyp
if(this.data) {
io.style = this.data.style.styleID;
io.locale = this.data.locale;
io.useEndnotes = this.data.prefs.noteType == 0 ? 0 : this.data.prefs.noteType-1;
io.fieldType = this.data.prefs.fieldType;
io.primaryFieldType = primaryFieldType;
@ -2091,13 +2092,19 @@ Zotero.Integration.Session.prototype.setDocPrefs = function(doc, primaryFieldTyp
var data = new Zotero.Integration.DocumentData();
data.sessionID = oldData.sessionID;
data.style.styleID = io.style;
data.locale = io.locale;
data.prefs.fieldType = io.fieldType;
data.prefs.storeReferences = io.storeReferences;
data.prefs.automaticJournalAbbreviations = io.automaticJournalAbbreviations;
var localeChanged = false;
if (!oldData.locale || (oldData.locale != io.locale)) {
localeChanged = true;
}
me.setData(data, oldData &&
oldData.prefs.automaticJournalAbbreviations !=
data.prefs.automaticJournalAbbreviations);
(oldData.prefs.automaticJournalAbbreviations !=
data.prefs.automaticJournalAbbreviations || localeChanged));
// need to do this after setting the data so that we know if it's a note style
me.data.prefs.noteType = me.style && me.styleClass == "note" ? io.useEndnotes+1 : 0;

View file

@ -2490,12 +2490,12 @@ Zotero.ItemTreeView.prototype.onDragStart = function (event) {
event.dataTransfer.setData("text/plain", text);
}
format = Zotero.QuickCopy.unserializeSetting(format);
try {
var [mode, ] = format.split('=');
if (mode == 'export') {
if (format.mode == 'export') {
Zotero.QuickCopy.getContentFromItems(items, format, exportCallback);
}
else if (mode.indexOf('bibliography') == 0) {
else if (format.mode == 'bibliography') {
var content = Zotero.QuickCopy.getContentFromItems(items, format, null, event.shiftKey);
if (content) {
if (content.html) {
@ -2505,12 +2505,12 @@ Zotero.ItemTreeView.prototype.onDragStart = function (event) {
}
}
else {
Components.utils.reportError("Invalid Quick Copy mode '" + mode + "'");
Components.utils.reportError("Invalid Quick Copy mode");
}
}
catch (e) {
Zotero.debug(e);
Components.utils.reportError(e + " with format '" + format + "'");
Components.utils.reportError(e + " with '" + format.id + "'");
}
};
@ -2631,7 +2631,7 @@ Zotero.ItemTreeView.fileDragDataProvider.prototype = {
}
}
parentDir.copyTo(destDir, newName ? newName : dirName);
parentDir.copyToFollowingLinks(destDir, newName ? newName : dirName);
// Store nsIFile
if (useTemp) {
@ -2672,7 +2672,7 @@ Zotero.ItemTreeView.fileDragDataProvider.prototype = {
}
}
file.copyTo(destDir, newName ? newName : null);
file.copyToFollowingLinks(destDir, newName ? newName : null);
// Store nsIFile
if (useTemp) {
@ -3044,6 +3044,13 @@ Zotero.ItemTreeView.prototype.drop = Zotero.Promise.coroutine(function* (row, or
});
}
else {
if (file.leafName.endsWith(".lnk")) {
let wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
let win = wm.getMostRecentWindow("navigator:browser");
win.ZoteroPane.displayCannotAddShortcutMessage(file.path);
continue;
}
yield Zotero.Attachments.importFromFile({
file: file,
libraryID: targetLibraryID,

View file

@ -25,10 +25,6 @@
Zotero.QuickCopy = new function() {
this.getContentType = getContentType;
this.stripContentType = stripContentType;
this.getContentFromItems = getContentFromItems;
var _siteSettings;
var _formattedNames;
@ -46,11 +42,51 @@ Zotero.QuickCopy = new function() {
});
/*
* Return Quick Copy setting object from string, stringified object, or object
*
* Example string format: "bibliography/html=http://www.zotero.org/styles/apa"
*
* Quick Copy setting object has the following properties:
* - "mode": "bibliography" (for styles) or "export" (for export translators)
* - "contentType: "" (plain text output) or "html" (HTML output; for styles
* only)
* - "id": style ID or export translator ID
* - "locale": locale code (for styles only)
*/
this.unserializeSetting = function (setting) {
var settingObject = {};
if (typeof setting === 'string') {
try {
// First test if string input is a stringified object
settingObject = JSON.parse(setting);
} catch (e) {
// Try parsing as formatted string
var parsedSetting = setting.match(/(bibliography|export)(?:\/([^=]+))?=(.+)$/);
if (parsedSetting) {
settingObject.mode = parsedSetting[1];
settingObject.contentType = parsedSetting[2] || '';
settingObject.id = parsedSetting[3];
settingObject.locale = '';
}
}
} else {
// Return input if not a string; it might already be an object
return setting;
}
return settingObject;
};
this.getFormattedNameFromSetting = Zotero.Promise.coroutine(function* (setting) {
if (!_formattedNames) {
yield _loadFormattedNames();
}
var name = _formattedNames[this.stripContentType(setting)];
var format = this.unserializeSetting(setting);
var name = _formattedNames[format.mode + "=" + format.id];
return name ? name : '';
});
@ -67,61 +103,48 @@ Zotero.QuickCopy = new function() {
});
/*
* Returns the setting with any contentType stripped from the mode part
*/
function getContentType(setting) {
var matches = setting.match(/(?:bibliography|export)\/([^=]+)=.+$/, '$1');
return matches ? matches[1] : '';
}
/*
* Returns the setting with any contentType stripped from the mode part
*/
function stripContentType(setting) {
return setting.replace(/(bibliography|export)(?:\/[^=]+)?=(.+)$/, '$1=$2');
}
this.getFormatFromURL = function (url) {
this.getFormatFromURL = function(url) {
var quickCopyPref = Zotero.Prefs.get("export.quickCopy.setting");
quickCopyPref = JSON.stringify(this.unserializeSetting(quickCopyPref));
if (!url) {
return Zotero.Prefs.get("export.quickCopy.setting");
return quickCopyPref;
}
var ioService = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var nsIURI = ioService.newURI(url, null, null);
try {
var nsIURI = ioService.newURI(url, null, null);
// Accessing some properties may throw for URIs that do not support those
// parts. E.g. hostPort throws NS_ERROR_FAILURE for about:blank
var urlHostPort = nsIURI.hostPort;
var urlPath = nsIURI.path;
}
catch (e) {
return Zotero.Prefs.get("export.quickCopy.setting");
return quickCopyPref;
}
if (!_siteSettings) {
throw new Zotero.Exception.UnloadedDataException("Quick Copy site settings not loaded");
}
var urlDomain = urlHostPort.match(/[^\.]+\.[^\.]+$/);
var matches = [];
var urlDomain = urlHostPort.match(/[^\.]+\.[^\.]+$/);
for (let i=0; i<_siteSettings.length; i++) {
let row = _siteSettings[i];
// Only concern ourselves with entries containing the current domain
// or paths that apply to all domains
if (!row.domainPath.contains(urlDomain) && !row.domainPath.startsWith('/')) {
if (!row.domainPath.contains(urlDomain[0]) && !row.domainPath.startsWith('/')) {
continue;
}
var [domain, path] = row.domainPath.split(/\//);
path = '/' + (path ? path : '');
var re = new RegExp(domain + '$');
if (urlHostPort.match(re) && urlPath.indexOf(path) == 0) {
let domain = row.domainPath.split('/',1)[0];
let path = row.domainPath.substr(domain.length) || '/';
let re = new RegExp('(^|[./])' + Zotero.Utilities.quotemeta(domain) + '$', 'i');
if (re.test(urlHostPort) && urlPath.indexOf(path) === 0) {
matches.push({
format: row.format,
format: JSON.stringify(this.unserializeSetting(row.format)),
domainLength: domain.length,
pathLength: path.length
});
@ -145,14 +168,14 @@ Zotero.QuickCopy = new function() {
}
return -1;
}
};
if (matches.length) {
matches.sort(sort);
return matches[0].format;
} else {
return quickCopyPref;
}
return Zotero.Prefs.get("export.quickCopy.setting");
};
@ -161,8 +184,9 @@ Zotero.QuickCopy = new function() {
*
* |items| is an array of Zotero.Item objects
*
* |format| is a Quick Copy format string
* (e.g. "bibliography=http://purl.org/net/xbiblio/csl/styles/apa.csl")
* |format| may be a Quick Copy format string
* (e.g. "bibliography=http://www.zotero.org/styles/apa")
* or an Quick Copy format object
*
* |callback| is only necessary if using an export format and should be
* a function suitable for Zotero.Translate.setHandler, taking parameters
@ -172,25 +196,24 @@ Zotero.QuickCopy = new function() {
* If bibliography format, the process is synchronous and an object
* contain properties 'text' and 'html' is returned.
*/
function getContentFromItems(items, format, callback, modified) {
this.getContentFromItems = function (items, format, callback, modified) {
if (items.length > Zotero.Prefs.get('export.quickCopy.dragLimit')) {
Zotero.debug("Skipping quick copy for " + items.length + " items");
return false;
}
var [mode, format] = format.split('=');
var [mode, contentType] = mode.split('/');
format = this.unserializeSetting(format);
if (mode == 'export') {
if (format.mode == 'export') {
var translation = new Zotero.Translate.Export;
translation.noWait = true; // needed not to break drags
translation.setItems(items);
translation.setTranslator(format);
translation.setTranslator(format.id);
translation.setHandler("done", callback);
translation.translate();
return true;
}
else if (mode == 'bibliography') {
else if (format.mode == 'bibliography') {
// Move notes to separate array
var allNotes = true;
var notes = [];
@ -335,32 +358,35 @@ Zotero.QuickCopy = new function() {
}
var content = {
text: contentType == "html" ? html : text,
text: format.contentType == "html" ? html : text,
html: copyHTML
};
return content;
}
// determine locale preference
var locale = format.locale ? format.locale : Zotero.Prefs.get('export.quickCopy.locale');
// Copy citations if shift key pressed
if (modified) {
var csl = Zotero.Styles.get(format).getCiteProc();
var csl = Zotero.Styles.get(format.id).getCiteProc(locale);
csl.updateItems([item.id for each(item in items)]);
var citation = {citationItems:[{id:item.id} for each(item in items)], properties:{}};
var html = csl.previewCitationCluster(citation, [], [], "html");
var text = csl.previewCitationCluster(citation, [], [], "text");
} else {
var style = Zotero.Styles.get(format);
var cslEngine = style.getCiteProc();
var style = Zotero.Styles.get(format.id);
var cslEngine = style.getCiteProc(locale);
var html = Zotero.Cite.makeFormattedBibliographyOrCitationList(cslEngine, items, "html");
var text = Zotero.Cite.makeFormattedBibliographyOrCitationList(cslEngine, items, "text");
}
return {text:(contentType == "html" ? html : text), html:html};
return {text:(format.contentType == "html" ? html : text), html:html};
}
throw ("Invalid mode '" + mode + "' in Zotero.QuickCopy.getContentFromItems()");
}
throw ("Invalid mode '" + format.mode + "' in Zotero.QuickCopy.getContentFromItems()");
};
var _loadFormattedNames = Zotero.Promise.coroutine(function* () {

View file

@ -1035,7 +1035,7 @@ Zotero.Schema = new function(){
}
// Send list of installed styles
var styles = yield Zotero.Styles.getAll();
var styles = Zotero.Styles.getAll();
var styleTimestamps = [];
for (var id in styles) {
var updated = Zotero.Date.sqlToDate(styles[id].updated);

View file

@ -1348,6 +1348,10 @@ Zotero.Sync.Storage = new function () {
if (!file) {
throw ("Empty path for item " + item.key + " in " + funcName);
}
// Don't save Windows aliases
if (file.leafName.endsWith('.lnk')) {
return false;
}
var fileName = file.leafName;
var renamed = false;
@ -1758,8 +1762,9 @@ Zotero.Sync.Storage = new function () {
params.push(Zotero.Sync.Storage.SYNC_STATE_TO_DOWNLOAD);
}
sql += ") "
// Skip attachments with empty path, which can't be saved
+ "AND path!=''";
// Skip attachments with empty path, which can't be saved, and files with .zotero*
// paths, which have somehow ended up in some users' libraries
+ "AND path!='' AND path NOT LIKE 'storage:.zotero%'";
var itemIDs = Zotero.DB.columnQuery(sql, params);
if (!itemIDs) {
return [];

View file

@ -51,6 +51,14 @@ Zotero.Styles = new function() {
var start = new Date;
_initialized = true;
// Upgrade style locale prefs for 4.0.27
var bibliographyLocale = Zotero.Prefs.get("export.bibliographyLocale");
if (bibliographyLocale) {
Zotero.Prefs.set("export.lastLocale", bibliographyLocale);
Zotero.Prefs.set("export.quickCopy.locale", bibliographyLocale);
Zotero.Prefs.clear("export.bibliographyLocale");
}
_styles = {};
_visibleStyles = [];
this.lastCSL = null;
@ -65,8 +73,33 @@ Zotero.Styles = new function() {
num += yield _readStylesFromDirectory(hiddenDir, true);
}
// Sort visible styles by title
_visibleStyles.sort(function(a, b) {
return a.title.localeCompare(b.title);
})
// .. and freeze, so they can be returned directly
_visibleStyles = Object.freeze(_visibleStyles);
Zotero.debug("Cached " + num + " styles in " + (new Date - start) + " ms");
// load available CSL locales
var localeFile = {};
var locales = {};
var primaryDialects = {};
var localesLocation = "chrome://zotero/content/locale/csl/locales.json";
localeFile = JSON.parse(yield Zotero.File.getContentsFromURLAsync(localesLocation));
primaryDialects = localeFile["primary-dialects"];
// only keep localized language name
for (let locale in localeFile["language-names"]) {
locales[locale] = localeFile["language-names"][locale][0];
}
this.locales = locales;
this.primaryDialects = primaryDialects;
// Load renamed styles
_renamedStyles = {};
yield Zotero.HTTP.request(
"GET",
@ -161,24 +194,25 @@ Zotero.Styles = new function() {
/**
* Gets all visible styles
* @return {Promise<Zotero.Style[]>} A promise for an array of Zotero.Style objects
* @return {Zotero.Style[]} - An immutable array of Zotero.Style objects
*/
this.getVisible = function () {
return this.init().then(function () {
return _visibleStyles.slice(0);
});
if (!_initialized) {
throw new Zotero.Exception.UnloadedDataException("Styles not yet loaded", 'styles');
}
return _visibleStyles; // Immutable
}
/**
* Gets all styles
*
* @return {Promise<Object>} A promise for an object with style IDs for keys and
* Zotero.Style objects for values
* @return {Object} - An object with style IDs for keys and Zotero.Style objects for values
*/
this.getAll = function () {
return this.init().then(function () {
return _styles;
});
if (!_initialized) {
throw new Zotero.Exception.UnloadedDataException("Styles not yet loaded", 'styles');
}
return _styles;
}
/**
@ -313,7 +347,7 @@ Zotero.Styles = new function() {
// also look for an existing style with the same title
if(!existingFile) {
let styles = yield Zotero.Styles.getAll();
let styles = Zotero.Styles.getAll();
for (let i in styles) {
let existingStyle = styles[i];
if(title === existingStyle.title) {
@ -415,6 +449,104 @@ Zotero.Styles = new function() {
}
}
});
/**
* Populate menulist with locales
*
* @param {xul:menulist} menulist
* @return {Promise}
*/
this.populateLocaleList = function (menulist) {
if (!_initialized) {
throw new Zotero.Exception.UnloadedDataException("Styles not yet loaded", 'styles');
}
// Reset menulist
menulist.selectedItem = null;
menulist.removeAllItems();
let fallbackLocale = Zotero.Styles.primaryDialects[Zotero.locale]
|| Zotero.locale;
let menuLocales = Zotero.Utilities.deepCopy(Zotero.Styles.locales);
let menuLocalesKeys = Object.keys(menuLocales).sort();
// Make sure that client locale is always available as a choice
if (fallbackLocale && !(fallbackLocale in menuLocales)) {
menuLocales[fallbackLocale] = fallbackLocale;
menuLocalesKeys.unshift(fallbackLocale);
}
for (let i=0; i<menuLocalesKeys.length; i++) {
menulist.appendItem(menuLocales[menuLocalesKeys[i]], menuLocalesKeys[i]);
}
}
/**
* Update locale list state based on style selection.
* For styles that do not define a locale, enable the list and select a
* preferred locale.
* For styles that define a locale, disable the list and select the
* specified locale. If the locale does not exist, it is added to the list.
* If null is passed instead of style, the list and its label are disabled,
* and set to blank value.
*
* Note: Do not call this function synchronously immediately after
* populateLocaleList. The menulist items are added, but the values are not
* yet set.
*
* @param {xul:menulist} menulist Menulist object that will be manipulated
* @param {Zotero.Style} style Currently selected style
* @param {String} prefLocale Preferred locale if not overridden by the style
*
* @return {String} The locale that was selected
*/
this.updateLocaleList = function (menulist, style, prefLocale) {
if (!_initialized) {
throw new Zotero.Exception.UnloadedDataException("Styles not yet loaded", 'styles');
}
// Remove any nodes that were manually added to menulist
let availableLocales = [];
for (let i=0; i<menulist.itemCount; i++) {
let item = menulist.getItemAtIndex(i);
if (item.getAttributeNS('zotero:', 'customLocale')) {
menulist.removeItemAt(i);
i--;
continue;
}
availableLocales.push(item.value);
}
if (!style) {
// disable menulist and label
menulist.disabled = true;
if (menulist.labelElement) menulist.labelElement.disabled = true;
// set node to blank node
// If we just set value to "", the internal label is collapsed and the dropdown list becomes shorter
let blankListNode = menulist.appendItem('', '');
blankListNode.setAttributeNS('zotero:', 'customLocale', true);
menulist.selectedItem = blankListNode;
return menulist.value;
}
menulist.disabled = !!style.locale;
if (menulist.labelElement) menulist.labelElement.disabled = false;
let selectLocale = style.locale || prefLocale || Zotero.locale;
selectLocale = Zotero.Styles.primaryDialects[selectLocale] || selectLocale;
// Make sure the locale we want to select is in the menulist
if (availableLocales.indexOf(selectLocale) == -1) {
let customLocale = menulist.insertItemAt(0, selectLocale, selectLocale);
customLocale.setAttributeNS('zotero:', 'customLocale', true);
}
return menulist.value = selectLocale;
}
}
/**
@ -495,10 +627,10 @@ Zotero.Style = function (style, path) {
/**
* Get a citeproc-js CSL.Engine instance
* @param {Boolean} useAutomaticJournalAbbreviations Whether to automatically abbreviate titles
* @param {String} locale Locale code
* @param {Boolean} automaticJournalAbbreviations Whether to automatically abbreviate titles
*/
Zotero.Style.prototype.getCiteProc = function(automaticJournalAbbreviations) {
var locale = Zotero.Prefs.get('export.bibliographyLocale');
Zotero.Style.prototype.getCiteProc = function(locale, automaticJournalAbbreviations) {
if(!locale) {
var locale = Zotero.locale;
if(!locale) {
@ -652,7 +784,7 @@ Zotero.Style.prototype.remove = Zotero.Promise.coroutine(function* () {
// make sure no styles depend on this one
var dependentStyles = false;
var styles = yield Zotero.Styles.getAll();
var styles = Zotero.Styles.getAll();
for (let i in styles) {
let style = styles[i];
if(style.source == this.styleID) {
@ -678,7 +810,7 @@ Zotero.Style.prototype.remove = Zotero.Promise.coroutine(function* () {
var deleteSource = true;
// check to see if any other styles depend on the hidden one
let styles = yield Zotero.Styles.getAll();
let styles = Zotero.Styles.getAll();
for (let i in styles) {
let style = styles[i];
if(style.source == this.source && style.styleID != this.styleID) {

View file

@ -686,6 +686,9 @@ Zotero.Translate.Sandbox = {
if(attachment.url) {
// Remap attachment (but not link) URLs
// TODO: provide both proxied and un-proxied URLs (also for documents)
// because whether the attachment is attached as link or file
// depends on Zotero preferences as well.
attachment.url = translate.resolveURL(attachment.url, attachment.snapshot === false);
}
}
@ -1269,34 +1272,49 @@ Zotero.Translate.Base.prototype = {
* @private
*/
"resolveURL":function(url, dontUseProxy) {
const hostPortRe = /^((?:http|https|ftp):)\/\/([^\/]+)/i;
// resolve local URL
var resolved = "";
Zotero.debug("Translate: resolving URL " + url);
const hostPortRe = /^([A-Z][-A-Z0-9+.]*):\/\/[^\/]+/i;
const allowedSchemes = ['http', 'https', 'ftp'];
var m = url.match(hostPortRe),
resolved;
if (!m) {
// Convert relative URLs to absolute
if(Zotero.isFx && this.location) {
resolved = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService).
newURI(this.location, "", null).resolve(url);
} else if(Zotero.isNode && this.location) {
resolved = require('url').resolve(this.location, url);
} else if (this.document) {
var a = this.document.createElement('a');
a.href = url;
resolved = a.href;
} else if (url.indexOf('//') == 0) {
// Protocol-relative URL with no associated web page
// Use HTTP by default
resolved = 'http:' + url;
} else {
throw new Error('Cannot resolve relative URL without an associated web page: ' + url);
}
} else if (allowedSchemes.indexOf(m[1].toLowerCase()) == -1) {
Zotero.debug("Translate: unsupported scheme " + m[1]);
return url;
} else {
resolved = url;
}
Zotero.debug("Translate: resolved to " + resolved);
// convert proxy to proper if applicable
if(hostPortRe.test(url)) {
if(this.translator && this.translator[0]
&& this.translator[0].properToProxy && !dontUseProxy) {
resolved = this.translator[0].properToProxy(url);
} else {
resolved = url;
if(!dontUseProxy && this.translator && this.translator[0]
&& this.translator[0].properToProxy) {
var proxiedURL = this.translator[0].properToProxy(resolved);
if (proxiedURL != resolved) {
Zotero.debug("Translate: proxified to " + proxiedURL);
}
} else if(Zotero.isFx && this.location) {
resolved = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService).
newURI(this.location, "", null).resolve(url);
} else if(Zotero.isNode && this.location) {
resolved = require('url').resolve(this.location, url);
} else if (this.document) {
var a = this.document.createElement('a');
a.href = url;
resolved = a.href;
} else if (url.indexOf('//') == 0) {
// Protocol-relative URL with no associated web page
// Use HTTP by default
resolved = 'http:' + url;
} else {
throw new Error('Cannot resolve relative URL without an associated web page: ' + url);
resolved = proxiedURL;
}
/*var m = hostPortRe.exec(resolved);

View file

@ -413,20 +413,21 @@ Zotero.Utilities = {
},
/**
* Encode special XML/HTML characters<br/>
* <br/>
* Certain entities can be inserted manually:<br/>
* <pre> &lt;ZOTEROBREAK/&gt; =&gt; &lt;br/&gt;
* &lt;ZOTEROHELLIP/&gt; =&gt; &amp;#8230;</pre>
* @type String
* Encode special XML/HTML characters
* Certain entities can be inserted manually:
* <ZOTEROBREAK/> => <br/>
* <ZOTEROHELLIP/> => &#8230;
*
* @param {String} str
* @return {String}
*/
"htmlSpecialChars":function(/**String*/ str) {
if (typeof str != 'string') str = str.toString();
if (!str) {
return '';
"htmlSpecialChars":function(str) {
if (str && typeof str != 'string') {
str = str.toString();
}
if (!str) return '';
return str
.replace(/&/g, '&amp;')
.replace(/"/g, '&quot;')

View file

@ -1925,24 +1925,27 @@ var ZoteroPane = new function()
}
var url = (window.content && window.content.location ? window.content.location.href : null);
var [mode, format] = (yield Zotero.QuickCopy.getFormatFromURL(url)).split('=');
var [mode, contentType] = mode.split('/');
var format = Zotero.QuickCopy.getFormatFromURL(url);
format = Zotero.QuickCopy.unserializeSetting(format);
if (mode == 'bibliography') {
// determine locale preference
var locale = format.locale ? format.locale : Zotero.Prefs.get('export.quickCopy.locale');
if (format.mode == 'bibliography') {
if (asCitations) {
Zotero_File_Interface.copyCitationToClipboard(items, format, contentType == 'html');
Zotero_File_Interface.copyCitationToClipboard(items, format.id, locale, format.contentType == 'html');
}
else {
Zotero_File_Interface.copyItemsToClipboard(items, format, contentType == 'html');
Zotero_File_Interface.copyItemsToClipboard(items, format.id, locale, format.contentType == 'html');
}
}
else if (mode == 'export') {
else if (format.mode == 'export') {
// Copy citations doesn't work in export mode
if (asCitations) {
return;
}
else {
Zotero_File_Interface.exportItemsToClipboard(items, format);
Zotero_File_Interface.exportItemsToClipboard(items, format.id);
}
}
}
@ -3239,6 +3242,7 @@ var ZoteroPane = new function()
while (files.hasMoreElements()){
var file = files.getNext();
file.QueryInterface(Components.interfaces.nsILocalFile);
var attachmentID;
if (link) {
yield Zotero.Attachments.linkFromFile({
file: file,
@ -3247,6 +3251,13 @@ var ZoteroPane = new function()
});
}
else {
if (file.leafName.endsWith(".lnk")) {
let wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
let win = wm.getMostRecentWindow("navigator:browser");
win.ZoteroPane.displayCannotAddShortcutMessage(file.path);
continue;
}
yield Zotero.Attachments.importFromFile({
file: file,
libraryID: libraryID,
@ -3910,6 +3921,16 @@ var ZoteroPane = new function()
}
// TODO: Figure out a functioning way to get the original path and just copy the real file
this.displayCannotAddShortcutMessage = function (path) {
Zotero.alert(
null,
Zotero.getString("general.error"),
Zotero.getString("file.error.cannotAddShortcut") + (path ? "\n\n" + path : "")
);
}
function showAttachmentNotFoundDialog(itemID, noLocate) {
var ps = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].
createInstance(Components.interfaces.nsIPromptService);
@ -4106,25 +4127,43 @@ var ZoteroPane = new function()
throw('Item ' + itemID + ' not found in ZoteroPane_Local.relinkAttachment()');
}
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(nsIFilePicker);
fp.init(window, Zotero.getString('pane.item.attachments.select'), nsIFilePicker.modeOpen);
var file = item.getFile(false, true);
var dir = Zotero.File.getClosestDirectory(file);
if (dir) {
dir.QueryInterface(Components.interfaces.nsILocalFile);
fp.displayDirectory = dir;
}
fp.appendFilters(Components.interfaces.nsIFilePicker.filterAll);
if (fp.show() == nsIFilePicker.returnOK) {
var file = fp.file;
file.QueryInterface(Components.interfaces.nsILocalFile);
item.relinkAttachmentFile(file);
while (true) {
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(nsIFilePicker);
fp.init(window, Zotero.getString('pane.item.attachments.select'), nsIFilePicker.modeOpen);
var file = item.getFile(false, true);
var dir = Zotero.File.getClosestDirectory(file);
if (dir) {
dir.QueryInterface(Components.interfaces.nsILocalFile);
fp.displayDirectory = dir;
}
fp.appendFilters(Components.interfaces.nsIFilePicker.filterAll);
if (fp.show() == nsIFilePicker.returnOK) {
let file = fp.file;
file.QueryInterface(Components.interfaces.nsILocalFile);
// Disallow hidden files
// TODO: Display a message
if (file.leafName.startsWith('.')) {
continue;
}
// Disallow Windows shortcuts
if (file.leafName.endsWith(".lnk")) {
this.displayCannotAddShortcutMessage(file.path);
continue;
}
item.relinkAttachmentFile(file);
break;
}
break;
}
});

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domein/pad">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(bv wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Afvoerformaat">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Disable Quick Copy when dragging more than">
<!ENTITY zotero.preferences.prefpane.cite "Cite">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Create Citation/Bibliography">
<!ENTITY zotero.bibliography.style.label "Citation Style:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Output Mode:">
<!ENTITY zotero.bibliography.bibliography "Bibliography">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Lookup Failed
lookup.failure.description=Zotero could not find a record for the specified identifier. Please verify the identifier and try again.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector Error
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "نطاق الانترنت/المسار">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(مثال: wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "صياغة المخرجات">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "تعطيل النسخ السريع عند السحب بالماوس لأكثر من">
<!ENTITY zotero.preferences.prefpane.cite "استشهاد">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "إنشاء ببليوجرافية">
<!ENTITY zotero.bibliography.style.label "نمط الاستشهاد:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "وضع المخرجات:">
<!ENTITY zotero.bibliography.bibliography "ببليوجرافية">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=فشل في تحديد موقع العنصر
lookup.failure.description=لم يستطع زوتيرو العثور على التسجيلة الببليوجرافية للمعرف المحدد. برجاء التأكد من معرف العنصر وإعادة المحاولة مرة اخرى.
@ -998,12 +999,12 @@ connector.error.title=خطأ في موصل الزوتيرو
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Домен/Пътека">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(напр. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Изходящ формат">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Бързото копиране се иключва при влачене на повече от">
<!ENTITY zotero.preferences.prefpane.cite "Cite">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Създава библиография">
<!ENTITY zotero.bibliography.style.label "Стил на цитиране:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Output Mode:">
<!ENTITY zotero.bibliography.bibliography "Bibliography">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Неуспешно търсене
lookup.failure.description=Зотеро не може да намери запис за избраният идентификатор. Моля проверете идентификатора и опитайте отново.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector Error
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domini/Ruta">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(per exemple, wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Format de sortida">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Desactiva la còpia ràpida quan arrosseguis més de">
<!ENTITY zotero.preferences.prefpane.cite "Cita">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Crea cita / bibliografia">
<!ENTITY zotero.bibliography.style.label "Estil de la cita:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Mode de sortida:">
<!ENTITY zotero.bibliography.bibliography "Bibliografia">
<!ENTITY zotero.bibliography.outputMethod "Mètode de sortida:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Comproveu que el fitxer no estigui actualment e
file.accessError.message.other=Comproveu que el fitxer no estigui obert i que tingui els permisos per poder-hi escriure.
file.accessError.restart=Reiniciar l'ordinador o desactivar el programari de seguretat us hi pot ajudar.
file.accessError.showParentDir=Mostra el directori principal
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Error en la cerca
lookup.failure.description=El Zotero no ha pogut trobar un registre per a l'identificador especificat. Comproveu l'identificador i torneu-ho a intentar.
@ -998,12 +999,12 @@ connector.error.title=Error del connector de Zotero
connector.standaloneOpen=No es pot accedir a la base de dades perquè el Zotero Independent està obert. Visualitzeu el elements al Zotero Independent.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero pot reconèixer una referència en aquesta pàgina. Feu clic en aquesta icona a la barra d'adreces per desar la referència a la biblioteca del Zotero.
firstRunGuidance.authorMenu=Zotero també permet especificar editors i traductors. Pots convertir un autor en un editor o traductor mitjançant la selecció d'aquest menú.
firstRunGuidance.quickFormat=Escriu un títol o autor per cercar una referència.\n\nDesprés que hagis fet la teva selecció, fes clic a la bombolla o prem Ctrl-\u2193 per afegir números de pàgina, prefixos o sufixos. També pots incloure un número de pàgina juntament amb els teus termes de cerca per afegir-lo directament.\n\nLes cites es poden editar directament en el document del processador de textos.
firstRunGuidance.quickFormatMac=Escriu un títol o autor per cercar una referència.\n\nDesprés que hagis fet la teva selecció, fes clic a la bombolla o prem Cmd-\u2193 per afegir números de pàgina, prefixos o sufixos. També pots incloure un número de pàgina juntament amb els teus termes de cerca per afegir-lo directament.\n\nLes cites es poden editar directament en el document del processador de textos.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Doména/Cesta">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(např. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Výstupní formát">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Vypnout Rychlé kopírování, pokud je označeno více než">
<!ENTITY zotero.preferences.prefpane.cite "Citování">

View file

@ -126,8 +126,8 @@
<!ENTITY zotero.item.textTransform.titlecase "Velká Písmena">
<!ENTITY zotero.item.textTransform.sentencecase "Velké první písmeno">
<!ENTITY zotero.item.creatorTransform.nameSwap "Zaměnit křestní jména / přijmení">
<!ENTITY zotero.item.viewOnline "View Online">
<!ENTITY zotero.item.copyAsURL "Copy as URL">
<!ENTITY zotero.item.viewOnline "Zobrazit online">
<!ENTITY zotero.item.copyAsURL "Kopírovat jako URL">
<!ENTITY zotero.toolbar.newNote "Nová poznámka">
<!ENTITY zotero.toolbar.note.standalone "Nová samostatná poznámka">
@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Vytvořit bibliografii">
<!ENTITY zotero.bibliography.style.label "Citační styl:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Výstupní režim:">
<!ENTITY zotero.bibliography.bibliography "Bibligrafie">
<!ENTITY zotero.bibliography.outputMethod "Výstupní metoda:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Zkontrolujte, že soubor není právě použív
file.accessError.message.other=Zkontrolujte, že soubor není používán a že má nastavena práva k zápisu.
file.accessError.restart=Může pomoci i restartování počítače nebo deaktivace bezpečnostního softwaru.
file.accessError.showParentDir=Zobrazit rodičovský adresář
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Vyhledání se nezdařilo
lookup.failure.description=Zotero nedokázalo najít záznam odpovídající specifikovanému identifikátoru. Prosím ověřte správnost identifikátoru a zkuste to znovu.
@ -998,12 +999,12 @@ connector.error.title=Chyba připojení Zotera.
connector.standaloneOpen=Není možné přistupovat k vaší databázi, protože je otevřeno Samostatné Zotero. K prohlížení vašich položek použijte prosím Samostatné Zotero.
connector.loadInProgress=Zotero Standalone bylo spuštěno, ale není přístupné. Pokud jste při otevírání Zotera Standalone narazili na chybu, restartujte Firefox.
firstRunGuidance.saveIcon=Zotero rozpoznalo na této stránce citaci. Pro její uložení do knihovny Zotera, klikněte na tuto ikonu v adresní liště.
firstRunGuidance.authorMenu=Zotero umožňuje zvolit i editory a překladatele. Volbou v tomto menu můžete změnit autora na editora či překladatele.
firstRunGuidance.quickFormat=Napište název, nebo autora k nimž hledáte citaci.\n\n Když si vyberete, kliknutím na bublinu, nebo stiskem Ctrl-\u2193 můžete přidat čísla stran, prefixy, či sufixy. Číslo stránky můžete vložit přímo k vašim vyhledávaným výrazům.\n\nCitace můžete editovat přímo ve vašem textovém procesoru.
firstRunGuidance.quickFormatMac=Napište název, nebo autora k nimž hledáte citaci.\n\n Když si vyberete, kliknutím na bublinu, nebo stiskem Ctrl-\u2193 můžete přidat čísla stran, prefixy, či sufixy. Číslo stránky můžete vložit přímo k vašim vyhledávaným výrazům.\n\nCitace můžete editovat přímo ve vašem textovém procesoru.
firstRunGuidance.toolbarButton.new=Zotero otevřete kliknutím sem, nebo použitím klávesové zkratky %S
firstRunGuidance.toolbarButton.upgrade=Ikona Zotero se nyní nachází v Panelu nástrojů Firefoxu. Zotero otevřete kliknutím na ikonu, nebo stisknutím %S.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliografie
styles.editor.save=Uložit citační styl.

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domæne/Sti">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(dvs. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Output-format">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Slå Quick Copy fra hvis du trækker mere end">
<!ENTITY zotero.preferences.prefpane.cite "Henvis">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Opret bibliografien">
<!ENTITY zotero.bibliography.style.label "Reference-stil:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Outputtilstand:">
<!ENTITY zotero.bibliography.bibliography "Litteraturliste">
<!ENTITY zotero.bibliography.outputMethod "Outputmetode:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Tjek at filen ikke er i brug, ikke er skrivebes
file.accessError.message.other=Tjek at filen ikke er i brug og ikke er skrivebeskyttet.
file.accessError.restart=Genstart af computeren eller deaktivering af sikkerhedsprogrammer kan måske også hjælpe.
file.accessError.showParentDir=Vis overordnet mappe
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Opslag slog fejl
lookup.failure.description=Zotero kunne ikke finde en post for den specificerede identifikator. Tjek identifikatoren og prøv igen.
@ -998,12 +999,12 @@ connector.error.title=Zotero forbinderfejl
connector.standaloneOpen=Din database kan ikke tilgås, fordi Zotero Standalone er åben. Se dine elementer i Zotero Standalone.
connector.loadInProgress=Zotero Standalone blev startet, men er ikke tilgængelig. Hvis du stødte på en fejl under opstart af Zotero Standalone, så genstart Firefox.
firstRunGuidance.saveIcon=Zotero har fundet en reference på denne side. Klik på dette ikon i adressefeltet for at gemme referencen i dit Zotero-bibliotek.
firstRunGuidance.authorMenu=Zotero lader dig anføre redaktører og oversættere. Du kan ændre en forfatter til en redaktør eller oversætter ved at vælge fra denne menu.
firstRunGuidance.quickFormat=Indtast en titel eller forfatter for at søge efter en reference.\n\nNår du har foretaget dit valg, så klik på boblen eller tryk Ctrl-↓ for at tilføje sidenumre, præfikser eller suffikser. Du kan også inkludere et sidenummer sammen med dine søgetermer.\n\nDu kan redigere henvisninger direkte i dit tekstbehandlingsdokument.
firstRunGuidance.quickFormatMac=Indtast en titel eller forfatter for at søge efter en reference.\n\nNår du har foretaget dit valg, så klik på boblen eller tryk Cmd-↓ for at tilføje sidenumre, præfikser eller suffikser. Du kan også inkludere et sidenummer sammen med dine søgetermer.\n\nDu kan redigere henvisninger direkte i dit tekstbehandlingsdokument.
firstRunGuidance.toolbarButton.new=Klik her for at åbne Zotero eller anvend %S-tastaturgenvejen.
firstRunGuidance.toolbarButton.upgrade=Zotero-ikonet kan nu findes i Firefox-værktøjslinjen. Klik ikonet for at åbne Zotero eller anvend %S-tastaturgenvejen.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Referenceliste
styles.editor.save=Gem henvisningsformat

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domain/Pfad">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(z. B. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Ausgabeformat">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Quick-Copy deaktiveren, wenn mehr als ... Einträge aktiv sind">
<!ENTITY zotero.preferences.prefpane.cite "Zitieren">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Literaturverzeichnis erstellen">
<!ENTITY zotero.bibliography.style.label "Zitierstil:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Ausgabemodus:">
<!ENTITY zotero.bibliography.bibliography "Bibliografie">
<!ENTITY zotero.bibliography.outputMethod "Ausgabemethode:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Stellen Sie sicher, dass die Datei nicht verwen
file.accessError.message.other=Stellen Sie sicher, dass die Datei nicht verwendet wird und dass Schreibberechtigungen vorliegen.
file.accessError.restart=Ein Neustart Ihres Computers oder die Deaktivierung von Sicherheitssoftware könnte ebenfalls Abhilfe schaffen.
file.accessError.showParentDir=Übergeordnetes Verzeichnis anzeigen
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Nachschlagen fehlgeschlagen
lookup.failure.description=Zotero konnte keinen Eintrag für den angegeben Identifier finden. Bitte überprüfen Sie den Identifier und versuchen Sie es erneut.
@ -998,12 +999,12 @@ connector.error.title=Zotero-Connector-Fehler
connector.standaloneOpen=Zugriff auf Ihre Datenbank nicht möglich, da Zotero Standalone im Moment läuft. Bitte betrachten Sie Ihre Einträge in Zotero Standalone.
connector.loadInProgress=Zotero Standalone wurde gestartet, aber es ist kein Zugriff möglich. Wenn ein Fehler beim Öffnen von Zotero Standalone auftritt, starten Sie Firefox erneut.
firstRunGuidance.saveIcon=Zotero erkennt einen Eintrag auf dieser Seite. Klicken Sie auf das Icon in der Addressleiste, um diesen Eintrag in Ihrer Zotero-Bibliothek zu speichern.
firstRunGuidance.authorMenu=Zotero ermöglicht es Ihnen, auch Herausgeber und Übersetzer anzugeben. Sie können einen Autor zum Übersetzer machen, indem Sie in diesem Menü die entsprechende Auswahl treffen.
firstRunGuidance.quickFormat=Geben Sie einen Titel oder Autor ein, um nach einer Zitation zu suchen.\n\nNachdem Sie Ihre Auswahl getroffen haben, klicken Sie auf die Blase oder drücken Sie Strg-\u2193, um Seitenzahlen, Präfixe oder Suffixe hinzuzufügen. Sie können die Seitenzahl auch zu Ihren Suchbegriffen hinzufügen, um diese direkt hinzuzufügen.\n\nSie können alle Zitationen direkt im Dokument bearbeiten.
firstRunGuidance.quickFormatMac=Geben Sie einen Titel oder Autor ein, um nach einer Zitation zu suchen.\n\nNachdem Sie Ihre Auswahl getroffen haben, klicken Sie auf die Blase oder drücken Sie Cmd-\u2193, um Seitenzahlen, Präfixe oder Suffixe hinzuzufügen. Sie können die Seitenzahl auch zu Ihren Suchbegriffen hinzufügen, um diese direkt hinzuzufügen.\n\nSie können alle Zitationen direkt im Dokument bearbeiten.
firstRunGuidance.toolbarButton.new=Klicken Sie hier oder verwenden Sie die %S Tastenkombination um Zotero zu öffnen.
firstRunGuidance.toolbarButton.upgrade=Das Zotero Icon ist jetzt in der Firefox Symbolleiste. Klicken Sie das Icon oder verwenden Sie die %S Tastenkombination um Zotero zu öffnen.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliografie
styles.editor.save=Zitationsstil speichern

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Περιοχή/Διαδρομή">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(π.χ. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Μορφή παραγόμενου αρχείου">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Απενεργοποίηση της Γρήγορης αντιγραφής όταν σύρονται περισσότερα από">
<!ENTITY zotero.preferences.prefpane.cite "Παράθεση/Παραπομπή">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Δημιουργία Παραπομπής/Βιβλιογραφίας">
<!ENTITY zotero.bibliography.style.label "Στυλ παραπομπής:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Λειτουργία αποτελέσματος:">
<!ENTITY zotero.bibliography.bibliography "Βιβλιογραφία">
<!ENTITY zotero.bibliography.outputMethod "Μέθοδος αποτελέσματος:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Lookup Failed
lookup.failure.description=Zotero could not find a record for the specified identifier. Please verify the identifier and try again.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector Error
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domain/Path">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(e.g. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Output Format">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Disable Quick Copy when dragging more than">
<!ENTITY zotero.preferences.prefpane.cite "Cite">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Create Citation/Bibliography">
<!ENTITY zotero.bibliography.style.label "Citation Style:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Output Mode:">
<!ENTITY zotero.bibliography.bibliography "Bibliography">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">

View file

@ -966,6 +966,7 @@ file.accessError.message.windows = Check that the file is not currently in use,
file.accessError.message.other = Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart = Restarting your computer or disabling security software may also help.
file.accessError.showParentDir = Show Parent Directory
file.error.cannotAddShortcut = Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title = Lookup Failed
lookup.failure.description = Zotero could not find a record for the specified identifier. Please verify the identifier and try again.
@ -1001,12 +1002,12 @@ connector.error.title = Zotero Connector Error
connector.standaloneOpen = Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress = Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon = Zotero has found 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.\n\nYou can edit citations directly in the word processor document.
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.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new = Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade = The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton = Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography = Bibliography
styles.editor.save = Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Dominio/ruta">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(p.ej. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Formato de salida">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Desactivar Copia rápida cuando arrastre más de">
<!ENTITY zotero.preferences.prefpane.cite "Citar">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Crear bibliografía">
<!ENTITY zotero.bibliography.style.label "Estilo de cita:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Modo de salida:">
<!ENTITY zotero.bibliography.bibliography "Bibliografía">
<!ENTITY zotero.bibliography.outputMethod "Método de salida:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Verifique que el archivo no está actualmente e
file.accessError.message.other=Compruebe que el archivo no está actualmente en uso y que sus permisos incluyen acceso de escritura.
file.accessError.restart=Reiniciar el ordenador o deshabilitar el software de seguridad también puede ayudar.
file.accessError.showParentDir=Mostrar directorio padre
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Búsqueda fallida
lookup.failure.description=Zotero no puede encontrar un registro del identificador especificado. Por favor, verifica el identificador e inténtalo nuevamente.
@ -998,12 +999,12 @@ connector.error.title=Error de conector Zotero
connector.standaloneOpen=No se puede acceder a tu base de datos debido a que Zotero Standalone está abierto. Por favor, mira tus ítems en Zotero Standalone.
connector.loadInProgress=Zotero autónomo fue lanzado, pero no está accesible. Si ha experimentado un error al abrir Zotero autónomo, reinicie Firefox.
firstRunGuidance.saveIcon=Zotero ha reconocido una referencia en esta página. Pulse este icono en la barra de direcciones para guardar la referencia en tu bibliografía de Zotero.
firstRunGuidance.authorMenu=Zotero te permite también especificar editores y traductores. Puedes cambiar el rol de autor a editor o traductor seleccionándolo desde este menú.
firstRunGuidance.quickFormat=Escribe el título o el autor para buscar una referencia. \n\nDespués de que hayas hecho tu selección, haz clic en la burbuja o pulsa Ctrl-\u2193 para agregar números de página, prefijos o sufijos. También puedes incluir un número de página junto con tus términos de búsqueda para añadirlo directamente.\n\nPuedes editar citas directamente en el documento del procesador de textos.
firstRunGuidance.quickFormatMac=Escribe el título o el autor para buscar una referencia. \n\nDespués de que hayas hecho tu selección, haz clic en la burbuja o pulsa Cmd-\u2193 para agregar números de página, prefijos o sufijos. También puedes incluir un número de página junto con tus términos de búsqueda para añadirlo directamente.\n\nPuedes editar citas directamente en el documento del procesador de textos.
firstRunGuidance.toolbarButton.new=Clic aquí para abrir Zotero o utilice el atajo de teclado %S
firstRunGuidance.toolbarButton.upgrade=El ícono Zotero ahora se encuentra en la barra de Firefox. Clic en el ícono para abrir Zotero, o use el atajo de teclado %S.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliografí­a
styles.editor.save=Guardar estilo de cita

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domeen/aadress">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(nt wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Väljundformaat">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Peatada kiirkopeerimine juhul kui lohistatakse rohkem kui">
<!ENTITY zotero.preferences.prefpane.cite "Viitamine">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Bibliograafia loomine">
<!ENTITY zotero.bibliography.style.label "Viite stiil:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Output Mode:">
<!ENTITY zotero.bibliography.bibliography "Bibliography">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Otsing luhtus
lookup.failure.description=Zotero ei leidnud määratud identifikaatorit. Palun kontrollige identifikaatorit ja proovige uuesti.
@ -998,12 +999,12 @@ connector.error.title=Zotero ühendaja viga
connector.standaloneOpen=Andmebaasiga ei õnnestu kontakteeruda, sest Autonoomne Zotero on parajasti avatud. Palun vaadake oma kirjeid seal.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero tunneb sellel lehel ära viite. Kirje salvestamiseks Zotero baasi vajutage sellele ikoonile brauseri aadressiribal.
firstRunGuidance.authorMenu=Zotero võimaldab määrata ka toimetajaid ja tõlkijaid. Autori saab muuta toimetajaks või tõlkijaks sellest menüüst.
firstRunGuidance.quickFormat=Viite otsimiseks kirjutage pealkiri või autor.\n\nKui olete valiku teinud, siis leheküljenumbrite, prefiksite või sufiksite lisamiseks klikkige viite kastikesele või vajutage Ctrl-\u2193. Leheküljenumbri võite sisestada ka kohe kastikese sisse.\n\nSamas võite viiteid toimetada ka tekstiredaktoris.
firstRunGuidance.quickFormatMac=Viite otsimiseks kirjutage pealkiri või autor.\n\nKui olete valiku teinud, siis leheküljenumbrite, prefiksite või sufiksite lisamiseks klikkige viite kastikesele või vajutage Cmd-\u2193. Leheküljenumbri võite sisestada ka kohe kastikese sisse.\n\nSamas võite viiteid toimetada ka tekstiredaktoris.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domain/Path">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(e.g. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Output Format">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Disable Quick Copy when dragging more than">
<!ENTITY zotero.preferences.prefpane.cite "Cite">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Bibliografia sortu">
<!ENTITY zotero.bibliography.style.label "Erreferentzia estiloa:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Output Mode:">
<!ENTITY zotero.bibliography.bibliography "Bibliography">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Lookup Failed
lookup.failure.description=Zotero could not find a record for the specified identifier. Please verify the identifier and try again.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector Error
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "دامنه/مسیر">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(مثال: wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "قالب خروجی">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "غیر فعال کردن رونوشت سریع در زمان کشیدن بیش از ">
<!ENTITY zotero.preferences.prefpane.cite "یادکرد">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "ساخت کتابنامه">
<!ENTITY zotero.bibliography.style.label "شیوه‌نامه">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "حالت خروجی:">
<!ENTITY zotero.bibliography.bibliography "کتابنامه">
<!ENTITY zotero.bibliography.outputMethod "روش خروجی:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=جستجوی ناموفق
lookup.failure.description=زوترو نتوانست رکوردی برای شناسه مورد نظر پیدا کند. لطفا شناسه را بازبینی کنید و دوباره تلاش کنید.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector Error
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=کتابنامه
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Osoite/polku">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(esim. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Kohdemuoto">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Estä pikakopiointi raahattaessa yli ">
<!ENTITY zotero.preferences.prefpane.cite "Siteeraus">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Luo kirjallisuusluettelo">
<!ENTITY zotero.bibliography.style.label "Sitaattityyli:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Luettelotyyppi:">
<!ENTITY zotero.bibliography.bibliography "Lähdeluettelo">
<!ENTITY zotero.bibliography.outputMethod "Vientitapa:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Tarkista, että tiedosto ei ole tällä hetkell
file.accessError.message.other=Tarkista, että tiedosto ei ole käytössä ja että siihen on kirjoitusoikeudet.
file.accessError.restart=Voit yrittää myös käynnistää tietokoneen uudelleen tai poistaa suojausohjelman käytöstä.
file.accessError.showParentDir=Näytä sisältävä hakemisto
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Haku epäonnistui
lookup.failure.description=Zotero ei löytänyt annettua tunnistetta rekistereistä. Tarkista tunniste ja yritä uudelleen.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector -ongelma.
connector.standaloneOpen=Tietokantaasi ei saada yhteyttä, koska Zotero Standalone on tällä hetkellä auki. Käytä Zotero Standalonea nimikkeidesi tarkasteluun.
connector.loadInProgress=Zotero Standalone on käynnistettiin, mutta se ei ole käytettävissä. Jos Zotero Standalonen käynnistämiseen liittyi virhe, käynnistä Firefox uudestaan.
firstRunGuidance.saveIcon=Zotero tunnistaa viitteen tällä sivulla. Paina osoitepalkin kuvaketta tallentaaksesi viitteen Zotero-kirjastoon.
firstRunGuidance.authorMenu=Zoterossa voit myös määritellä teoksen toimittajat ja kääntäjät. Voit muuttaa kirjoittajan toimittajaksi tai kääntäjäksi tästä valikosta.
firstRunGuidance.quickFormat=Kirjoita otsikko tai tekijä etsiäksesi viitettä.\n\nKun olet tehnyt valinnan, klikkaa kuplaa tai paina Ctrl-\u2193 lisätäksesi sivunumerot sekä etu- ja jälkiliitteet. Voit myös sisällyttää sivunumeron hakutermien mukana lisätäksesi sen suoraan.\n\nVoit muokata sitaatteja suoraan tekstinkäsittelyohjelman asiakirjassa.
firstRunGuidance.quickFormatMac=Kirjoita otsikko tai tekijä etsiäksesi viitettä.\n\nKun olet tehnyt valinnan, klikkaa kuplaa tai paina Ctrl-\u2193 lisätäksesi sivunumerot sekä etu- ja jälkiliitteet. Voit myös sisällyttää sivunumeron hakutermien mukana lisätäksesi sen suoraan.\n\nVoit muokata sitaatteja suoraan tekstinkäsittelyohjelman asiakirjassa.
firstRunGuidance.toolbarButton.new=Paina tästä avataksesi Zoteron, tai käyttää %S-näppäinoikotietä.
firstRunGuidance.toolbarButton.upgrade=Zoteron kuvake on nyt Firefoxin työkalurivillä. Paina kuvaketta avataksesi Zoteron, tai käytä %S-näppäinoikotietä.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domaine/Chemin">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(ex. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Format de sortie">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Désactiver la copie rapide lorsqu'on fait glisser plus de">
<!ENTITY zotero.preferences.prefpane.cite "Citer">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Créer une citation/bibliographie">
<!ENTITY zotero.bibliography.style.label "Style de citation :">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Mode de création :">
<!ENTITY zotero.bibliography.bibliography "Bibliographie">
<!ENTITY zotero.bibliography.outputMethod "Méthode de création :">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Vérifiez que le fichier n'est pas utilisé act
file.accessError.message.other=Vérifiez que le fichier n'est pas utilisé actuellement et que ses permissions autorisent l'accès en écriture.
file.accessError.restart=Redémarrer votre ordinateur ou désactiver les logiciels de sécurité peut aussi aider.
file.accessError.showParentDir=Localiser le répertoire parent
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=La recherche a échoué
lookup.failure.description=Zotero n'a pas trouvé d'enregistrement pour l'identifiant spécifié. Veuillez vérifier l'identifiant et réessayer.
@ -998,12 +999,12 @@ connector.error.title=Erreur du connecteur Zotero
connector.standaloneOpen=Votre base de données est inaccessible car Zotero Standalone est actuellement ouvert. Veuillez visualiser vos documents dans Zotero Standalone.
connector.loadInProgress=Zotero Standalone a été démarré mais n'est pas accessible. Si vous avez rencontré une erreur en ouvrant Zotero Standalone, redémarrez Firefox.
firstRunGuidance.saveIcon=Zotero a détecté une référence sur cette page. Cliquez sur cette icône dans la barre d'adresse pour enregistrer cette référence dans votre bibliothèque Zotero.
firstRunGuidance.authorMenu=Zotero vous permet également de préciser les éditeurs scientifiques, directeurs de publication et les traducteurs. Vous pouvez changer un auteur en éditeur ou en traducteur en cliquant sur le triangle à gauche de "Auteur".
firstRunGuidance.quickFormat=Tapez son titre ou son auteur pour rechercher une référence.\n\nAprès l'avoir sélectionnée, cliquez sur la bulle ou appuyer sur Ctrl-\u2193 pour ajouter les numéros des pages, un préfixe ou un suffixe. Vous pouvez aussi inclure un numéro de page en même temps que vos termes de recherche afin de l'ajouter directement.\n\nVous pouvez modifier les citations directement dans le document du traitement de texte.
firstRunGuidance.quickFormatMac=Tapez son titre ou son auteur pour rechercher une référence.\n\nAprès l'avoir sélectionnée, cliquez sur la bulle ou appuyer sur Cmd-\u2193 pour ajouter les numéros des pages, un préfixe ou un suffixe. Vous pouvez aussi inclure un numéro de page en même temps que vos termes de recherche afin de l'ajouter directement.\n\nVous pouvez modifier les citations directement dans le document du traitement de texte.
firstRunGuidance.toolbarButton.new=Cliquez ici pour ouvrir Zotero, ou utilisez le raccourci clavier %S.
firstRunGuidance.toolbarButton.upgrade=L'icône Zotero est désormais dans la barre d'outils Firefox. Cliquez sur l'icône pour ouvrir Zotero, ou utilisez le raccourci clavier %S.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliographie
styles.editor.save=Enregistrer le style de citation

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Dominio/Ruta">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(p. ex. gl.wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Formato de saída">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Desactivar a copia rápida cando se arrastran máis de">
<!ENTITY zotero.preferences.prefpane.cite "Cita">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Crear a bibliografía">
<!ENTITY zotero.bibliography.style.label "Estilo de cita:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Modo de saída:">
<!ENTITY zotero.bibliography.bibliography "Bibliografía:">
<!ENTITY zotero.bibliography.outputMethod "Método de saída:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Comprobe que o ficheiro non está a ser usado a
file.accessError.message.other=Compribe que o ficheiro non está a ser usado agora e que ten permisos de escritura.
file.accessError.restart=Reiniciar o computador ou desactivar as aplicacións de seguridade poderían tamén axudar.
file.accessError.showParentDir=Mostrar o cartafol parental
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Fallou a busca
lookup.failure.description=Zotero non atopou un rexistro para o identificador especificado. Verifique o identificador e ténteo de novo.
@ -998,12 +999,12 @@ connector.error.title=Erro do conector de Zotero
connector.standaloneOpen=A súa base de datos non se puido acceder xa que neste momento está aberto Zotero. Vexa os seus elementos empregando Zotero Standalone.
connector.loadInProgress=Zotero Standalone iniciouse pero non está accesible. Se tivo algún erro abrindo Zotero Standalone reinicie Firefox.
firstRunGuidance.saveIcon=Zotero recoñece unha referencia nesta páxina. Faga clic na icona na dirección de barras para gardar esa referencia na súa biblioteca de Zotero.
firstRunGuidance.authorMenu=Zotero permítelle ademais especificar os editores e tradutores. Escolléndoo neste menú pode asignar a un autor como editor ou tradutor.
firstRunGuidance.quickFormat=Teclee un título ou autor para buscar unha referencia.\n\nDespois de facer a selección faga clic na burbulla ou prema Ctrl-\↓ para engadir números de páxina, prefixos ou sufixos. Así mesmo, pode incluír un número de páxina cos datos de busca e engadilo directamente.\n\Ademais, pode editar citas directamente dende o procesador de documentos de texto.
firstRunGuidance.quickFormatMac=Teclee un título de autor para facer unha busca dunha referencia.\n\nDespois de ter feito a selección prema na burbulla ou prema Cmd-\↓ para engadir os números de páxina, prefixos ou sufixos. Igualmente, pode incluír un número de páxina co seus termos de busca empregados e engadilo directamente.\n\nPode ademais editar citas directamente desde o procesador de documentos de textos.
firstRunGuidance.toolbarButton.new=Para abrir Zotero preme aquí ou usa o atallo de teclado %S
firstRunGuidance.toolbarButton.upgrade=A icona de Zotero pódese atopar na barra de ferramentas do Firefox. Preme na icona de Zotero para abrilo ou usa o atallo de teclado %S.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domain/Path">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(לדוגמה wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "פורמט פלט">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Disable Quick Copy when dragging more than">
<!ENTITY zotero.preferences.prefpane.cite "צטט">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "צור ביבליוגרפיה">
<!ENTITY zotero.bibliography.style.label "סגנון ציטוט">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Output Mode:">
<!ENTITY zotero.bibliography.bibliography "Bibliography">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Lookup Failed
lookup.failure.description=Zotero could not find a record for the specified identifier. Please verify the identifier and try again.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector Error
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domain/Path">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(e.g. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Output Format">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Disable Quick Copy when dragging more than">
<!ENTITY zotero.preferences.prefpane.cite "Cite">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Create Citation/Bibliography">
<!ENTITY zotero.bibliography.style.label "Citation Style:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Output Mode:">
<!ENTITY zotero.bibliography.bibliography "Bibliography">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Lookup Failed
lookup.failure.description=Zotero could not find a record for the specified identifier. Please verify the identifier and try again.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector Error
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domén/Útvonal">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(pl: wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Kimeneti formátum">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "A gyorsmásolás kikapcsolása, amikor az elemek száma több, mint">
<!ENTITY zotero.preferences.prefpane.cite "Hivatkozás">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Bibliográfia létrehozása">
<!ENTITY zotero.bibliography.style.label "Hivatkozási stílus:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Kimeneti mód:">
<!ENTITY zotero.bibliography.bibliography "Bibliográfia">
<!ENTITY zotero.bibliography.outputMethod "Kimeneti metódus:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Szülőkönyvtár mutatása
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=A keresés nem sikerült.
lookup.failure.description=Zotero could not find a record for the specified identifier. Please verify the identifier and try again.
@ -998,12 +999,12 @@ connector.error.title=Zotero Connector hiba
connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone.
connector.loadInProgress=A Zotero Standalone-t elindult, de nem elérhető. Ha hibát tapasztalt a Zotero Standalone indításakor, indítsa újra a Firefoxot.
firstRunGuidance.saveIcon=Zotero has found 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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
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-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document.
firstRunGuidance.toolbarButton.new=A Zotero megnyitásához kattintásához kattintson ide, vagy használja a %S billentyűparancsot.
firstRunGuidance.toolbarButton.upgrade=A Zotero ikon mostantól a Firefox eszköztárán található. A Zotero megnyitásához kattintson az ikonra, vagy használja a %S gyorsbillentyűt.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliográfia
styles.editor.save=Hivatkozási stílus mentése

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domain/Rute">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(misalnya, wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Format Ouput">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Matikan fitur Salin Cepat saat menarik lebih dari">
<!ENTITY zotero.preferences.prefpane.cite "Mengutip">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Buat Bibliografi">
<!ENTITY zotero.bibliography.style.label "Gaya Sitasi:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Mode Keluaran:">
<!ENTITY zotero.bibliography.bibliography "Bibliografi">
<!ENTITY zotero.bibliography.outputMethod "Metode keluaran:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Check that the file is not currently in use, th
file.accessError.message.other=Check that the file is not currently in use and that its permissions allow write access.
file.accessError.restart=Restarting your computer or disabling security software may also help.
file.accessError.showParentDir=Show Parent Directory
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Pencarian Gagal
lookup.failure.description=Zotero tidak dapat menemukan data untuk nomor pengenal yang dimasukkan. Mohon periksa kembali nomor pengenal, lalu coba kembali.
@ -998,12 +999,12 @@ connector.error.title=Konektor Zotero Mengalami Kesalahan
connector.standaloneOpen=Database Anda tidak dapat diakses karena Zotero Standalone Anda sedang terbuka. Silakan lihat item-item Anda di dalam Zotero Standalone.
connector.loadInProgress=Zotero Standalone was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
firstRunGuidance.saveIcon=Zotero dapat mengenali referensi yang terdapat pada halaman ini. Klik logo pada address bar untuk menyimpan referensi tersebut ke dalam perpustakaan Zotero Anda.
firstRunGuidance.authorMenu=Zotero juga mengizinkan untuk Anda menentukan editor dan translator. Anda dapat mengubah penulis menjadi editor atau translator dengan cara memilih dari menu ini.
firstRunGuidance.quickFormat=Ketikkan judul atau nama penulis untuk mencari sebuah referensi.\n\nSetelah Anda melakukannya, klik pada gelembung atau tekan Ctrl-\u2193 untuk menambahkan nomor halaman, prefiks, atau sufiks. Anda juga dapat memasukkan nomor halaman bersamaan dengan istilah pencarian untuk menambahkannya secara langsung.\n\nAnda dapat mengedit sitasi secara langsung di dalam dokumn pengolah kata.
firstRunGuidance.quickFormatMac=Ketikkan judul atau nama penulis untuk mencari sebuah referensi.\n\nSetelah Anda melakukannya, klik pada gelembung atau tekan Cmd-\u2193 untuk menambahkan nomor halaman, prefiks, atau sufiks. Anda juga dapat memasukkan nomor halaman bersamaan dengan istilah pencarian untuk menambahkannya secara langsung.\n\nAnda dapat mengedit sitasi secara langsung di dalam dokumn pengolah kata.
firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Lén/Slóð">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(t.d. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Útkeyrslusnið">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Afvirkja Flýtiafrit þegar færðar eru meira en">
<!ENTITY zotero.preferences.prefpane.cite "Tilvísun">

View file

@ -165,6 +165,7 @@
<!ENTITY zotero.bibliography.title "Skapa tilvísun/heimildaskrá">
<!ENTITY zotero.bibliography.style.label "Tegund tilvísunar:">
<!ENTITY zotero.bibliography.locale.label "Language:">
<!ENTITY zotero.bibliography.outputMode "Útskriftarhamur:">
<!ENTITY zotero.bibliography.bibliography "Heimildaskrá">
<!ENTITY zotero.bibliography.outputMethod "Útskriftaraðferð:">

View file

@ -963,6 +963,7 @@ file.accessError.message.windows=Athugaðu hvort skráin er núna í notkun, hvo
file.accessError.message.other=Athugaðu hvort skráin er núna í notkun og hvort hún hafi skrifheimildir.
file.accessError.restart=Endurræsing tölvu eða aftenging öryggisforrita gæti einnig virkað.
file.accessError.showParentDir=Sýna móðurmöppu
file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file.
lookup.failure.title=Leit tókst ekki
lookup.failure.description=Zotero gat ekki fundið skrá með tilgreindu auðkenni. Vinsamlegast yfirfarið auðkennið og reynið aftur.
@ -998,12 +999,12 @@ connector.error.title=Zotero tengingarvilla
connector.standaloneOpen=Ekki reyndist hægt að opna gagnagrunninn þinn vegna þess að Zotero Standalone forritið er opið. Vinsamlegast skoðaðu færslurnar þínar í Zotero Standalone.
connector.loadInProgress=Zotero Standalone var opnað en ekki aðgengilegt. Ef þú lendir í vandræðum við að opna Zotero Standalone, prófaðu þá að endurræsa Firefox.
firstRunGuidance.saveIcon=Zotero hefur fundið tilvitnun á þessari síðu. Ýtið á þetta tákn í vistfangaslánni til að vista tilvitnunina í Zotero safninu þínu.
firstRunGuidance.authorMenu=Zotero leyfir þér einnig að tilgreina ritstjóra og þýðendur. Þú getur breytt höfundi í ritstjóra eða þýðanda í þessum valskjá.
firstRunGuidance.quickFormat=Sláðu inn titil eða höfund til að leita að heimild.\n\nEftir val þitt, ýttu þá á belginn eða á Ctrl-↓ til að bæta við blaðsíðunúmerum, forskeytum eða viðskeytum. Þú getur einnig tilgreint síðunúmer í leitinni til að bæta því strax við.\n\nÞú getur breytt tilvitnunum þar sem þær standa í ritvinnsluskjalinu.
firstRunGuidance.quickFormatMac=Sláðu inn titil eða höfund til að leita að heimild.\n\nEftir val þitt, ýttu þá á belginn eða á Ctrl-↓ til að bæta við blaðsíðunúmerum, forskeytum eða viðskeytum. Þú getur einnig tilgreint síðunúmer í leitinni til að bæta því strax við.\n\nÞú getur breytt tilvitnunum þar sem þær standa í ritvinnsluskjalinu.
firstRunGuidance.toolbarButton.new=Ýttu hér til að opna Zotero, eða notaðu %S flýtitakka.
firstRunGuidance.toolbarButton.upgrade=Zotero táknið mun nú sjást á Firefox tólaslánni. Ýttu á táknið til að opna Zotero eða notaðu %S flýtitakka.
firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date.
styles.bibliography=Bibliography
styles.editor.save=Save Citation Style

View file

@ -107,6 +107,7 @@
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Dominio o percorso">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(per es. wikipedia.org)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Formato di output">
<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Disabilita la copia veloce quando si trascinano più di">
<!ENTITY zotero.preferences.prefpane.cite "Cita">

Some files were not shown because too many files have changed in this diff Show more