Merge branch '4.0'

Conflicts:
	chrome/content/zotero/xpcom/db.js
	chrome/content/zotero/xpcom/fulltext.js
	chrome/content/zotero/xpcom/zotero.js
	chrome/content/zotero/zoteroPane.js
	components/zotero-service.js
	install.rdf
	update.rdf
This commit is contained in:
Dan Stillman 2014-04-08 18:47:32 -04:00
commit 60e5ab8124
162 changed files with 6021 additions and 2165 deletions

View file

@ -27,6 +27,7 @@ locale zotero it-IT chrome/locale/it-IT/zotero/
locale zotero ja-JP chrome/locale/ja-JP/zotero/
locale zotero km chrome/locale/km/zotero/
locale zotero ko-KR chrome/locale/ko-KR/zotero/
locale zotero lt-LT chrome/locale/lt-LT/zotero/
locale zotero mn-MN chrome/locale/mn-MN/zotero/
locale zotero nb-NO chrome/locale/nb-NO/zotero/
locale zotero nn-NO chrome/locale/nn-NO/zotero/

View file

@ -1446,12 +1446,13 @@
params.itemID = itemID;
params.creatorTypeID = creatorTypeID;
}
t.setAttribute('ontextentered',
'document.getBindingParent(this).handleCreatorAutoCompleteSelect(this)');
};
t.setAttribute(
'autocompletesearchparam', JSON.stringify(params)
);
t.setAttribute('ontextentered',
'document.getBindingParent(this).handleCreatorAutoCompleteSelect(this)');
}
}
var box = elem.parentNode;
@ -1489,6 +1490,7 @@
<![CDATA[
var comment = false;
var controller = textbox.controller;
if (!controller.matchCount) return;
for (var i=0; i<controller.matchCount; i++)
{
@ -1688,7 +1690,7 @@
var otherFields = this.getCreatorFields(row);
otherFields[creatorField] = value;
var lastName = otherFields.lastName;
var lastName = otherFields.lastName.trim();
//Handle \n\r and \n delimited entries
var rawNameArray = lastName.split(/\r\n?|\n/);
@ -1947,7 +1949,12 @@
var newVal = Zotero.Utilities.capitalizeTitle(val.toLowerCase(), true);
break;
case 'sentence':
var newVal = val.length ? val[0].toUpperCase()+val.substr(1).toLowerCase() : val;
// capitalize the first letter, including after beginning punctuation
// capitalize after :, ?, ! and remove space(s) before those analogous to capitalizeTitle function
// also deal with initial punctuation here - open quotes and Spanish beginning quotation marks
newVal = val.toLowerCase();
newVal = newVal.replace(/(([:\?!]\s*|^)([\'\"¡¿“‘„«\s]+)?[^\s])/g, function (x) {
return x.replace(/\s+/m, " ").toUpperCase();});
break;
default:
throw ("Invalid transform mode '" + mode + "' in zoteroitembox.textTransform()");

View file

@ -138,6 +138,13 @@
case 'change':
break;
case 'openlink':
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
win = wm.getMostRecentWindow('navigator:browser');
win.ZoteroPane.loadURI(event.target.href, event.modifierKeys);
break;
default:
return;

View file

@ -504,7 +504,9 @@ var Zotero_Browser = new function() {
libraryID = ZoteroPane.getSelectedLibraryID();
collection = ZoteroPane.getSelectedCollection();
} catch(e) {}
} catch(e) {
Zotero.debug(e, 1);
}
}
if(Zotero.isConnector) {

View file

@ -0,0 +1,73 @@
/*
***** BEGIN LICENSE BLOCK *****
Copyright © 2009 Center for History and New Media
George Mason University, Fairfax, Virginia, USA
http://zotero.org
This file is part of Zotero.
Zotero is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Zotero is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with Zotero. If not, see <http://www.gnu.org/licenses/>.
***** END LICENSE BLOCK *****
*/
var Zotero_Captcha = new function() {
this._io;
this.onLoad = function() {
this._io = window.arguments[0];
var description = document.getElementById('zotero-captcha-description'),
errorMsg = document.getElementById('zotero-captcha-error');
if(this._io.dataIn.title) {
document.title = this._io.dataIn.title;
}
if(this._io.dataIn.description) {
description.textContent = this._io.dataIn.description;
description.hidden = false;
} else {
description.hidden = true;
}
if(this._io.dataIn.error) {
errorMsg.textContent = this._io.dataIn.error;
errorMsg.hidden = false;
} else {
errorMsg.hidden = true;
}
document.getElementById('zotero-captcha-image').src = this._io.dataIn.imgUrl;
document.getElementById('zotero-captcha-input').focus();
}
this.imageOnLoad = function() {
window.sizeToContent();
}
this.resolve = function() {
var result = document.getElementById('zotero-captcha-input');
if(!result.value) return;
this._io.dataOut = {
captcha: result.value
};
window.close();
}
this.cancel = function() {
window.close();
}
}

View file

@ -0,0 +1,27 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://zotero/skin/zotero.css" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://zotero/locale/zotero.dtd">
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="Zotero_Captcha.onLoad();"
id="zotero-captcha"
onkeypress="if(event.keyCode === KeyEvent.DOM_VK_ESCAPE) Zotero_Captcha.cancel();">
<script src="include.js"/>
<script src="captcha.js"/>
<vbox style="padding:10px" align="center" flex="1">
<description id="zotero-captcha-description"></description>
<image id="zotero-captcha-image" onload="Zotero_Captcha.imageOnLoad();" />
<description id="zotero-captcha-error"></description>
<textbox id="zotero-captcha-input"
onkeypress="if(event.keyCode === KeyEvent.DOM_VK_RETURN) Zotero_Captcha.resolve();" />
<hbox>
<button label="&zotero.general.ok;" default="true" oncommand="Zotero_Captcha.resolve();" />
<button label="&zotero.general.cancel;" oncommand="Zotero_Captcha.cancel();" />
</hbox>
</vbox>
</window>

@ -1 +1 @@
Subproject commit c5400c59d9453887252f948a8273632de7963e08
Subproject commit 4002ec04d3efbb8b420d3f91dc3c25b6c8b15f3f

View file

@ -114,7 +114,7 @@ var ZoteroOverlay = new function()
else if (iconPref == 0) {
var toolbar = icon.parentNode;
if (toolbar.id == 'addon-bar') {
var palette = doc.getElementById("navigator-toolbox").palette;
var palette = document.getElementById("navigator-toolbox").palette;
palette.appendChild(icon);
toolbar.setAttribute("currentset", toolbar.currentSet);
document.persist(toolbar.id, "currentset");

View file

@ -14,7 +14,9 @@
<tree flex="1" id="tree" hidecolumnpicker="true">
<treecols>
<treecol id="success-col" style="width:20px;"/>
<splitter class="tree-splitter" hidden="true"/>
<treecol label="&zotero.recognizePDF.pdfName.label;" id="pdf-col" flex="1"/>
<splitter class="tree-splitter"/>
<treecol label="&zotero.recognizePDF.itemName.label;" id="item-col" flex="2"/>
</treecols>
<treechildren id="treechildren"/>

View file

@ -31,7 +31,7 @@
helpTopic="sync">
<preferences>
<preference id="pref-sync-autosync" name="extensions.zotero.sync.autoSync" type="bool"/>
<preference id="pref-sync-username" name="extensions.zotero.sync.server.username" type="string" instantApply="true"/>
<preference id="pref-sync-username" name="extensions.zotero.sync.server.username" type="unichar" instantApply="true"/>
<preference id="pref-sync-fulltext-enabled" name="extensions.zotero.sync.fulltext.enabled" type="bool"/>
<preference id="pref-storage-enabled" name="extensions.zotero.sync.storage.enabled" type="bool"/>
<preference id="pref-storage-protocol" name="extensions.zotero.sync.storage.protocol" type="string"

View file

@ -65,19 +65,32 @@ var Zotero_RecognizePDF = new function() {
*
* @param {nsIFile} file The PDF file to retrieve metadata for
* @param {Integer|null} libraryID The library in which to save the PDF
* @param {Function} stopCheckCallback Function that returns true if the
* process is to be interrupted
* @return {Promise} A promise resolved when PDF metadata has been retrieved
*/
this.recognize = function(file, libraryID) {
this.recognize = function(file, libraryID, stopCheckCallback) {
const MAX_PAGES = 7;
const GOOGLE_SCHOLAR_QUERY_DELAY = 2000; // in ms
var me = this;
return _extractText(file, MAX_PAGES).then(function(lines) {
// Look for DOI - Use only first 80 lines to avoid catching article references
var allText = lines.join("\n"),
doi = Zotero.Utilities.cleanDOI(lines.slice(0,80).join('\n')),
firstChunk = lines.slice(0,80).join('\n'),
doi = Zotero.Utilities.cleanDOI(firstChunk),
promise;
Zotero.debug(allText);
if(!doi) {
// Look for a JSTOR stable URL, which can be converted to a DOI by prepending 10.2307
doi = firstChunk.match(/www.\jstor\.org\/stable\/(\S+)/i);
if(doi) {
doi = Zotero.Utilities.cleanDOI(
doi[1].indexOf('10.') == 0 ? doi[1] : '10.2307/' + doi[1]
);
}
}
if(doi) {
// Look up DOI
Zotero.debug("RecognizePDF: Found DOI: "+doi);
@ -104,118 +117,7 @@ var Zotero_RecognizePDF = new function() {
// If no DOI or ISBN, query Google Scholar
return promise.fail(function(error) {
Zotero.debug("RecognizePDF: "+error);
// Use only first column from multi-column lines
const lineRe = /^[\s_]*([^\s]+(?: [^\s_]+)+)/;
var cleanedLines = [], cleanedLineLengths = [];
for(var i=0; i<lines.length && cleanedLines.length<100; i++) {
var m = lineRe.exec(lines[i]);
if(m && m[1].split(' ').length > 3) {
cleanedLines.push(m[1]);
cleanedLineLengths.push(m[1].length);
}
}
// get (not quite) median length
var lineLengthsLength = cleanedLineLengths.length;
if(lineLengthsLength < 20
|| cleanedLines[0] === "This is a digital copy of a book that was preserved for generations on library shelves before it was carefully scanned by Google as part of a project") {
throw new Zotero.Exception.Alert("recognizePDF.noOCR");
}
var sortedLengths = cleanedLineLengths.sort(),
medianLength = sortedLengths[Math.floor(lineLengthsLength/2)];
// pick lines within 6 chars of the median (this is completely arbitrary)
var goodLines = [],
uBound = medianLength + 6,
lBound = medianLength - 6;
for (var i=0; i<lineLengthsLength; i++) {
if(cleanedLineLengths[i] > lBound && cleanedLineLengths[i] < uBound) {
// Strip quotation marks so they don't mess up search query quoting
var line = cleanedLines[i].replace('"', '');
goodLines.push(line);
}
}
var nextLine = 0,
limited = false,
queryGoogle = function() {
// Once we hit the CAPTCHA once, don't keep trying
if(limited) throw new Zotero.Exception.Alert("recognizePDF.limit");
// Take the relevant parts of some lines (exclude hyphenated word)
var queryString = "", queryStringWords = 0;
while(queryStringWords < 25) {
if(!goodLines.length) throw new Zotero.Exception.Alert("recognizePDF.noMatches");
var words = goodLines.splice(nextLine, 1)[0].split(/\s+/);
// Try to avoid picking adjacent strings so the odds of them appearing in another
// document quoting our document is low. Every 7th line is a magic value
nextLine = (nextLine + 7) % goodLines.length;
// get rid of first and last words
words.shift();
words.pop();
// make sure there are no long words (probably OCR mistakes)
var skipLine = false;
for(var i=0; i<words.length; i++) {
if(words[i].length > 20) {
skipLine = true;
break;
}
}
// add words to query
if(!skipLine && words.length) {
queryStringWords += words.length;
queryString += '"'+words.join(" ")+'" ';
}
}
Zotero.debug("RecognizePDF: Query string "+queryString);
var url = "http://scholar.google.com/scholar?q="+encodeURIComponent(queryString)+"&hl=en&lr=&btnG=Search",
delay = GOOGLE_SCHOLAR_QUERY_DELAY - (Date.now() - Zotero.HTTP.lastGoogleScholarQueryTime);
// Delay
return (delay > 0 ? Q.delay(delay) : Q.when())
.then(function() {
Zotero.HTTP.lastGoogleScholarQueryTime = Date.now();
return Zotero.HTTP.promise("GET", url, {"responseType":"document"})
})
.then(function(xmlhttp) {
var doc = xmlhttp.response,
deferred = Q.defer(),
translate = new Zotero.Translate.Web();
if(Zotero.Utilities.xpath(doc, "//form[@action='Captcha']").length) {
// Hit CAPTCHA
limited = true;
throw new Zotero.Exception.Alert("recognizePDF.limit");
}
translate.setTranslator("57a00950-f0d1-4b41-b6ba-44ff0fc30289");
translate.setDocument(Zotero.HTTP.wrapDocument(doc, url));
translate.setHandler("translators", function(translate, detected) {
if(detected.length) {
deferred.resolve(_promiseTranslate(translate, libraryID));
} else {
deferred.reject(new Zotero.Exception.Alert("recognizePDF.noMatches"));
}
});
translate.getTranslators();
return deferred.promise;
}, function(e) {
if(e instanceof Zotero.HTTP.UnexpectedStatusException && e.status == 403) {
// Hit hard block
throw new Zotero.Exception.Alert("recognizePDF.limit");
}
throw e;
});
};
return queryGoogle().fail(queryGoogle).fail(queryGoogle);
return me.GSFullTextSearch.findItem(lines, libraryID, stopCheckCallback);
});
});
}
@ -331,40 +233,14 @@ var Zotero_RecognizePDF = new function() {
}
// Validate ISBNs
var validIsbns = [];
var validIsbns = [], cleanISBN;
for (var i =0; i < isbns.length; i++) {
if(_isValidISBN(isbns[i])) validIsbns.push(isbns[i]);
cleanISBN = Zotero.Utilities.cleanISBN(isbns[i]);
if(cleanISBN) validIsbns.push(cleanISBN);
}
return validIsbns;
}
/**
* Check whether an ISBNs is valid
* @private
* @return {Boolean}
*/
function _isValidISBN(isbn) {
if(isbn.length == 13) {
// ISBN-13 should start with 978 or 979 i.e. GS1 for book publishing industry
var prefix = isbn.slice(0,3);
if (prefix != "978" && prefix != "979") return false;
// Verify check digit
var check = 0;
for (var i = 0; i < 13; i+=2) check += isbn[i]*1;
for (i = 1; i < 12; i+=2) check += 3 * isbn[i]*1;
return (check % 10 == 0);
} else if(isbn.length == 10) {
// Verify ISBN-10 check digit
var check = 0;
for (var i = 0; i < 9; i++) check += isbn[i]*1 * (10-i);
// last number might be 'X'
if (isbn[9] == 'X' || isbn[9] == 'x') check += 10;
else check += isbn[i]*1;
return (check % 11 == 0);
}
return false;
}
/**
* @class Handles UI, etc. for recognizing multiple items
*/
@ -388,7 +264,7 @@ var Zotero_RecognizePDF = new function() {
this._items = items.slice();
this._itemTotal = items.length;
this._progressWindow = window.openDialog("chrome://zotero/content/pdfProgress.xul", "", "chrome,close=yes,resizable=yes,dependent,dialog,centerscreen");
_progressWindow = this._progressWindow = window.openDialog("chrome://zotero/content/pdfProgress.xul", "", "chrome,close=yes,resizable=yes,dependent,dialog,centerscreen");
this._progressWindow.addEventListener("pageshow", function() { me._onWindowLoaded() }, false);
},
@ -398,7 +274,15 @@ var Zotero_RecognizePDF = new function() {
"stop": function() {
this._stopped = true;
},
/**
* Halts recognition and closes window
*/
"close": function() {
this.stop();
this._progressWindow.close();
},
/**
* Called when the progress window has been opened; adds items to the tree and begins recognizing
* @param
@ -406,9 +290,11 @@ var Zotero_RecognizePDF = new function() {
"_onWindowLoaded": function() {
// populate progress window
var treechildren = this._progressWindow.document.getElementById("treechildren");
this._rowIDs = [];
for(var i in this._items) {
var treeitem = this._progressWindow.document.createElement('treeitem');
var treerow = this._progressWindow.document.createElement('treerow');
this._rowIDs.push(this._items[i].id);
var treecell = this._progressWindow.document.createElement('treecell');
treecell.setAttribute("id", "item-"+this._items[i].id+"-icon");
@ -427,12 +313,22 @@ var Zotero_RecognizePDF = new function() {
}
var me = this;
this._progressIndicator = this._progressWindow.document.getElementById("progress-indicator");
this._progressWindow.document.getElementById("cancel-button").addEventListener("command", function() {
me.stop();
me._progressWindow.close();
}, false);
this._progressWindow.addEventListener("close", function() { me.stop() }, false);
this._progressWindow.document.getElementById("tree").addEventListener(
"dblclick", function(event) { me._onDblClick(event, this); });
this._cancelHandler = function() { me.stop() };
this._keypressCancelHandler = function(e) {
if(e.keyCode === KeyEvent.DOM_VK_ESCAPE) me.stop();
};
_progressIndicator = this._progressIndicator = this._progressWindow.document.getElementById("progress-indicator");
this._progressWindow.document.getElementById("cancel-button")
.addEventListener("command", this._cancelHandler, false);
// Also cancel if the user presses Esc
this._progressWindow.addEventListener("keypress", this._keypressCancelHandler);
this._progressWindow.addEventListener("close", this._cancelHandler, false);
Zotero_RecognizePDF.GSFullTextSearch.resetQueryLimit();
this._recognizeItem();
},
@ -452,23 +348,31 @@ var Zotero_RecognizePDF = new function() {
return;
}
// Order here matters. Otherwise we may show an incorrect label
if(this._stopped) {
this._done(true);
return;
}
this._progressIndicator.value = (this._itemTotal-this._items.length)/this._itemTotal*100;
var item = this._items.shift(),
itemIcon = this._progressWindow.document.getElementById("item-"+item.id+"-icon"),
itemTitle = this._progressWindow.document.getElementById("item-"+item.id+"-title");
itemTitle = this._progressWindow.document.getElementById("item-"+item.id+"-title"),
rowNumber = this._rowIDs.indexOf(item.id);
itemIcon.setAttribute("src", LOADING_IMAGE);
itemTitle.setAttribute("label", "");
var file = item.getFile(), me = this;
(file
? Zotero_RecognizePDF.recognize(file, item.libraryID)
? Zotero_RecognizePDF.recognize(file, item.libraryID, function() { return me._stopped; })
: Q.reject(new Zotero.Exception.Alert("recognizePDF.fileNotFound")))
.then(function(newItem) {
// If already stopped, delete
if(me._stopped) {
Zotero.Items.erase(item.id);
return;
Zotero.Items.erase(newItem.id);
throw new Zotero.Exception.Alert('recognizePDF.stopped');
}
// put new item in same collections as the old one
@ -484,37 +388,504 @@ var Zotero_RecognizePDF = new function() {
itemTitle.setAttribute("label", newItem.getField("title"));
itemIcon.setAttribute("src", SUCCESS_IMAGE);
me._rowIDs[rowNumber] = newItem.id;
me._recognizeItem();
}, function(error) {
})
.catch(function(error) {
Zotero.debug(error);
Zotero.logError(error);
itemTitle.setAttribute("label", error instanceof Zotero.Exception.Alert ? error.message : Zotero.getString("recognizePDF.error"));
itemIcon.setAttribute("src", FAILURE_IMAGE);
if(error instanceof Zotero.Exception.Alert && error.name === "recognizePDF.limit") {
me._done();
// Don't show "completed" label if stopped on last item
if(me._stopped && !me._items.length) {
me._done(true);
} else {
me._recognizeItem();
}
}).fin(function() {
}).finally(function() {
// scroll to this item
me._progressWindow.document.getElementById("tree").treeBoxObject.scrollToRow(Math.max(0, me._itemTotal-me._items.length-5));
me._progressWindow.document.getElementById("tree").treeBoxObject.scrollToRow(Math.max(0, me._itemTotal-me._items.length-4));
}).done();
},
/**
* Cleans up after items are recognized, disabling the cancel button and making the progress window
* close on blur
* Cleans up after items are recognized, disabling the cancel button and
* making the progress window close on blur.
* @param {Boolean} cancelled Whether the process was cancelled
*/
"_done": function() {
"_done": function(cancelled) {
this._progressIndicator.value = 100;
this._progressWindow.document.getElementById("cancel-button").label = Zotero.getString("recognizePDF.close.label");
var me = this;
this._progressWindow.addEventListener("blur",
function() { me._progressWindow.setTimeout(function() { me._progressWindow.close() }, 2000) }, false);
this._progressWindow.document.getElementById("label").value = Zotero.getString("recognizePDF.complete.label");
// Switch out cancel for close
var cancelButton = this._progressWindow.document.getElementById("cancel-button"),
me = this;
cancelButton.label = Zotero.getString("recognizePDF.close.label");
cancelButton.removeEventListener("command", this._cancelHandler, false);
cancelButton.addEventListener("command", function() { me.close() }, false);
this._progressWindow.removeEventListener("keypress", this._keypressCancelHandler);
this._progressWindow.addEventListener("keypress", function() { me.close() });
if(Zotero.isMac) {
// On MacOS X, the windows are not always on top, so we hide them on
// blur to avoid clutter
this._setCloseTimer();
}
this._progressWindow.document.getElementById("label").value =
cancelled ? Zotero.getString("recognizePDF.cancelled.label")
: Zotero.getString("recognizePDF.complete.label");
},
/**
* Set a timer after which the window will close automatically. If the
* window is refocused, clear the timer and do not attempt to auto-close
* any more
* @private
*/
"_setCloseTimer": function() {
var me = this, win = this._progressWindow;
var focusListener = function() {
if(!win.zoteroCloseTimeoutID) return;
win.clearTimeout(win.zoteroCloseTimeoutID);
delete win.zoteroCloseTimeoutID;
win.removeEventListener('blur', blurListener, false);
win.removeEventListener('focus', focusListener, false);
};
var blurListener = function() {
// Close window after losing focus for 5 seconds
win.zoteroCloseTimeoutID = win.setTimeout(function() { win.close() }, 5000);
// Prevent auto-close if we gain focus again
win.addEventListener("focus", focusListener, false);
};
win.addEventListener("blur", blurListener, false);
},
/**
* Focus items in Zotero library when double-clicking them in the Retrieve
* metadata window.
* @param {Event} event
* @param {tree} tree XUL tree object
* @private
*/
"_onDblClick": function(event, tree) {
if (event && tree && event.type == "dblclick") {
var itemID = this._rowIDs[tree.treeBoxObject.getRowAt(event.clientX, event.clientY)];
if(!itemID) return;
// Get the right window. In tab mode, it's the container window
var lastWin = (window.ZoteroTab ? window.ZoteroTab.containerWindow : window);
if (lastWin.ZoteroOverlay) {
lastWin.ZoteroOverlay.toggleDisplay(true);
}
lastWin.ZoteroPane.selectItem(itemID, false, true);
lastWin.focus();
}
}
}
};
/**
* Singleton for querying Google Scholar. Ensures that all queries are
* sequential and respect the delay inbetween queries.
* @namespace
*/
this.GSFullTextSearch = new function() {
const GOOGLE_SCHOLAR_QUERY_DELAY = 2000; // In ms
var queryLimitReached = false,
inProgress = false,
queue = [],
stopCheckCallback; // As long as we process one query at a time, this is ok
// Load nsICookieManager2
Components.utils.import("resource://gre/modules/Services.jsm");
var cookieService = Services.cookies;
/**
* Reset "Query Limit Reached" flag, so that we attempt to query Google again
*/
this.resetQueryLimit = function() {
queryLimitReached = false;
};
/**
* Queue up item for Google Scholar query
* @param {String[]} lines Lines of text to use for full-text query
* @param {Integer | null} libraryID Library to save the item to
* @param {Function} stopCheckCallback Function that returns true if the
* process is to be interrupted
* @return {Promise} A promise resolved when PDF metadata has been retrieved
*/
this.findItem = function(lines, libraryID, stopCheckCallback) {
if(!inProgress && queryLimitReached) {
// There's no queue, so we can reject immediately
return Q.reject(new Zotero.Exception.Alert("recognizePDF.limit"));
}
var deferred = Q.defer();
queue.push({
deferred: deferred,
lines: lines,
libraryID: libraryID,
stopCheckCallback: stopCheckCallback
});
_processQueue();
return deferred.promise;
};
/**
* Process Google Scholar queue
* @private
* @param {Boolean} proceed Whether we should pop the next item off the queue
* This should not be true unless being called after processing
* another item
*/
function _processQueue(proceed) {
if(inProgress && !proceed) return; //only one at a time
if(!queue.length) {
inProgress = false;
return;
}
inProgress = true;
if(queryLimitReached) {
// Irreversibly blocked. Reject remaining items in queue
var item;
while(item = queue.shift()) {
item.deferred.reject(new Zotero.Exception.Alert("recognizePDF.limit"));
}
_processQueue(true); // Wrap it up
} else {
var item = queue.shift();
stopCheckCallback = item.stopCheckCallback;
if(stopCheckCallback && stopCheckCallback()) {
item.deferred.reject(new Zotero.Exception.Alert('recognizePDF.stopped'));
_processQueue(true);
return;
}
item.deferred.resolve(
Q.try(getGoodLines, item.lines)
.then(function(lines) {
return queryGoogle(lines, item.libraryID, 3); // Try querying 3 times
})
.finally(function() { _processQueue(true); })
);
}
}
/**
* Select lines that are good candidates for Google Scholar query
* @private
* @param {String[]} lines
* @return {String[]}
*/
function getGoodLines(lines) {
// Use only first column from multi-column lines
const lineRe = /^[\s_]*([^\s]+(?: [^\s_]+)+)/;
var cleanedLines = [], cleanedLineLengths = [];
for(var i=0; i<lines.length && cleanedLines.length<100; i++) {
var m = lineRe.exec(lines[i]);
if(m && m[1].split(' ').length > 3) {
cleanedLines.push(m[1]);
cleanedLineLengths.push(m[1].length);
}
}
// Get (not quite) median length
var lineLengthsLength = cleanedLineLengths.length;
if(lineLengthsLength < 20
|| cleanedLines[0] === "This is a digital copy of a book that was preserved for generations on library shelves before it was carefully scanned by Google as part of a project") {
throw new Zotero.Exception.Alert("recognizePDF.noOCR");
}
var sortedLengths = cleanedLineLengths.sort(),
medianLength = sortedLengths[Math.floor(lineLengthsLength/2)];
// Pick lines within 6 chars of the median (this is completely arbitrary)
var goodLines = [],
uBound = medianLength + 6,
lBound = medianLength - 6;
for (var i=0; i<lineLengthsLength; i++) {
if(cleanedLineLengths[i] > lBound && cleanedLineLengths[i] < uBound) {
// Strip quotation marks so they don't mess up search query quoting
var line = cleanedLines[i].replace('"', '');
goodLines.push(line);
}
}
return goodLines;
}
/**
* Query Google Scholar
* @private
* @param {String[]} goodLines
* @param {Integer | null} libraryID
* @param {Integer} tries Number of queries to attempt before giving up
* @return {Promise} A promise resolved when PDF metadata has been retrieved
*/
function queryGoogle(goodLines, libraryID, tries) {
if(tries <= 0) throw new Zotero.Exception.Alert("recognizePDF.noMatches");
// Take the relevant parts of some lines (exclude hyphenated word)
var queryString = "", queryStringWords = 0, nextLine = 0;
while(queryStringWords < 25) {
if(!goodLines.length) throw new Zotero.Exception.Alert("recognizePDF.noMatches");
var words = goodLines.splice(nextLine, 1)[0].split(/\s+/);
// Try to avoid picking adjacent strings so the odds of them appearing in another
// document quoting our document is low. Every 7th line is a magic value
nextLine = (nextLine + 7) % goodLines.length;
// Get rid of first and last words
words.shift();
words.pop();
// Make sure there are no long words (probably OCR mistakes)
var skipLine = false;
for(var i=0; i<words.length; i++) {
if(words[i].length > 20) {
skipLine = true;
break;
}
}
// Add words to query
if(!skipLine && words.length) {
queryStringWords += words.length;
queryString += '"'+words.join(" ")+'" ';
}
}
Zotero.debug("RecognizePDF: Query string " + queryString);
var url = "http://scholar.google.com/scholar?q="+encodeURIComponent(queryString)+"&hl=en&lr=&btnG=Search",
delay = GOOGLE_SCHOLAR_QUERY_DELAY - (Date.now() - Zotero.HTTP.lastGoogleScholarQueryTime);
// Delay
return (delay > 0 ? Q.delay(delay) : Q())
.then(function() {
Zotero.HTTP.lastGoogleScholarQueryTime = Date.now();
return Zotero.HTTP.promise("GET", url, {"responseType":"document"})
})
.then(function(xmlhttp) {
return _checkCaptchaOK(xmlhttp, 3);
},
function(e) {
return _checkCaptchaError(e, 3);
})
.then(function(xmlhttp) {
var doc = xmlhttp.response,
deferred = Q.defer(),
translate = new Zotero.Translate.Web();
translate.setTranslator("57a00950-f0d1-4b41-b6ba-44ff0fc30289");
translate.setDocument(Zotero.HTTP.wrapDocument(doc, url));
translate.setHandler("translators", function(translate, detected) {
if(detected.length) {
deferred.resolve(_promiseTranslate(translate, libraryID));
} else {
deferred.resolve(Q.try(function() {
return queryGoogle(goodLines, libraryID, tries-1);
}));
}
});
translate.getTranslators();
return deferred.promise;
})
.catch(function(e) {
if(e.name == "recognizePDF.limit") {
queryLimitReached = true;
}
throw e;
});
}
/**
* Check for CAPTCHA on a page with HTTP 200 status
* @private
* @param {XMLHttpRequest} xmlhttp
* @param {Integer} tries Number of queries to attempt before giving up
* @return {Promise} A promise resolved when PDF metadata has been retrieved
*/
function _checkCaptchaOK(xmlhttp, tries) {
if(stopCheckCallback && stopCheckCallback()) {
throw new Zotero.Exception.Alert('recognizePDF.stopped');
}
if(Zotero.Utilities.xpath(xmlhttp.response, "//form[@action='Captcha']").length) {
return _solveCaptcha(xmlhttp, tries);
}
return xmlhttp;
}
/**
* Check for CAPTCHA on an error page. Handle 403 and 503 pages
* @private
* @param {Zotero.HTTP.UnexpectedStatusException} e HTTP response error object
* @param {Integer} tries Number of queries to attempt before giving up
* @param {Boolean} dontClearCookies Whether to attempt to clear cookies in
* in order to get CAPTCHA to show up
* @return {Promise} A promise resolved when PDF metadata has been retrieved
*/
function _checkCaptchaError(e, tries, dontClearCookies) {
if(stopCheckCallback && stopCheckCallback()) {
throw new Zotero.Exception.Alert('recognizePDF.stopped');
}
// Check for captcha on error page
if(e instanceof Zotero.HTTP.UnexpectedStatusException
&& (e.status == 403 || e.status == 503) && e.xmlhttp.response) {
if(_extractCaptchaFormData(e.xmlhttp.response)) {
return _solveCaptcha(e.xmlhttp, tries);
} else if(!dontClearCookies && e.xmlhttp.channel) { // Make sure we can obtain original URL
// AFAICT, for 403 errors, GS just says "sorry, try later",
// but if you clear cookies, you get a CAPTCHA
if(!_clearGSCookies(e.xmlhttp.channel.originalURI.host)) {
//user said no or no cookies removed
throw new Zotero.Exception.Alert('recognizePDF.limit');
}
// Redo GET request
return Zotero.HTTP.promise("GET", e.xmlhttp.channel.originalURI.spec, {"responseType":"document"})
.then(function(xmlhttp) {
return _checkCaptchaOK(xmlhttp, tries);
},
function(e) {
return _checkCaptchaError(e, tries, true); // Don't try this again
});
}
Zotero.debug("RecognizePDF: Google Scholar returned an unexpected page"
+ " with status " + e.status);
throw new Zotero.Exception.Alert('recognizePDF.limit');
}
throw e;
}
/**
* Prompt user to enter CPATCHA
* @private
* @param {XMLHttpRequest} xmlhttp
* @param {Integer} [tries] Number of queries to attempt before giving up
* @return {Promise} A promise resolved when PDF metadata has been retrieved
*/
function _solveCaptcha(xmlhttp, tries) {
var doc = xmlhttp.response;
if(tries === undefined) tries = 3;
if(!tries) {
Zotero.debug("RecognizePDF: Failed to solve CAPTCHA after multiple attempts.");
throw new Zotero.Exception.Alert('recognizePDF.limit');
}
tries--;
var formData = doc && _extractCaptchaFormData(doc);
if(!formData) {
Zotero.debug("RecognizePDF: Could not find CAPTCHA on page.");
throw new Zotero.Exception.Alert('recognizePDF.limit');
}
var io = { dataIn: {
title: Zotero.getString("recognizePDF.captcha.title"),
description: Zotero.getString("recognizePDF.captcha.description"),
imgUrl: formData.img
}};
_progressWindow.openDialog("chrome://zotero/content/captcha.xul", "",
"chrome,modal,resizable=no,centerscreen", io);
if(!io.dataOut) {
Zotero.debug("RecognizePDF: No CAPTCHA entered");
throw new Zotero.Exception.Alert('recognizePDF.limit');
}
formData.input.captcha = io.dataOut.captcha;
var url = '', prop;
for(prop in formData.input) {
url += '&' + encodeURIComponent(prop) + '='
+ encodeURIComponent(formData.input[prop]);
}
url = formData.action + '?' + url.substr(1);
return Zotero.HTTP.promise("GET", url, {"responseType":"document"})
.then(function(xmlhttp) {
return _checkCaptchaOK(xmlhttp, tries);
},
function(e) {
return _checkCaptchaError(e, tries);
});
}
/**
* Extract CAPTCHA form-related data from the CAPTCHA page
* @private
* @param {Document} doc DOM document object for the CAPTCHA page
* @return {Object} Object containing data describing CAPTCHA form
*/
function _extractCaptchaFormData(doc) {
var formData = {};
var img = doc.getElementsByTagName('img')[0];
if(!img) return;
formData.img = img.src;
var form = doc.forms[0];
if(!form) return;
formData.action = form.action;
formData.input = {};
var inputs = form.getElementsByTagName('input');
for(var i=0, n=inputs.length; i<n; i++) {
if(!inputs[i].name) continue;
formData.input[inputs[i].name] = inputs[i].value;
}
formData.continue = "http://scholar.google.com";
return formData;
}
/**
* Clear Google cookies to get the CAPTCHA page to appear
* @private
* @param {String} host Host of the Google Scholar page (in case it's proxied)
* @return {Boolean} Whether any cookies were cleared
*/
function _clearGSCookies(host) {
/* There don't seem to be any negative effects of deleting GDSESS
if(!Zotero.isStandalone) {
//ask user first
var response = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService)
.confirm(null, "Clear Google Scholar cookies?",
"Google Scholar is attempting to block further queries. We can "
+ "clear certain cookies and try again. This may affect some "
+ "temporary Google preferences or it may log you out. May we clear"
+ " your Google Scholar cookies?");
if(!response) return;
}*/
var removed = false, cookies = cookieService.getCookiesFromHost(host);
while(cookies.hasMoreElements()) {
var cookie = cookies.getNext().QueryInterface(Components.interfaces.nsICookie2);
if(["GDSESS", "PREF"].indexOf(cookie.name) !== -1) { // GDSESS doesn't seem to always be enough
Zotero.debug("RecognizePDF: Removing cookie " + cookie.name + " for host "
+ cookie.host + " and path " + cookie.path);
cookieService.remove(cookie.host, cookie.name, cookie.path, false);
removed = true;
}
}
if(!removed) {
Zotero.debug("RecognizePDF: No cookies removed");
}
return removed;
}
};
}

View file

@ -42,7 +42,6 @@
this.loadCSL = loadCSL;
this.generateBibliography = generateBibliography;
this.refresh = refresh;
function init() {
var cslList = document.getElementById('zotero-csl-list');
if (cslList.getAttribute('initialized') == 'true') {
@ -72,6 +71,31 @@
generateBibliography(editor.value);
}
this.save = function() {
var editor = document.getElementById('zotero-csl-editor')
var style = editor.value;
const nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(nsIFilePicker);
fp.init(window, "Save Citation Style", nsIFilePicker.modeSave);
fp.appendFilter("Citation Style Language", "*.csl");
//get the filename from the id; we could consider doing even more here like creating the id from filename.
var parser = new DOMParser();
var doc = parser.parseFromString(style, 'text/xml');
var filename = doc.getElementsByTagName("id");
if (filename) {
filename = filename[0].textContent;
fp.defaultString = filename.replace(/.+\//, "") + ".csl";
}
else {
fp.defaultString = "untitled.csl";
}
var rv = fp.show();
if (rv == nsIFilePicker.returnOK || rv == nsIFilePicker.returnReplace) {
var outputFile = fp.file;
Zotero.File.putContents(outputFile, style);
}
}
function handleKeyPress(event) {
if (event.keyCode == 9 &&
@ -145,7 +169,14 @@
citation.citationItems[i].locator = search.value;
citation.citationItems[i].label = loc.selectedItem.value;
}
citation.citationItems[i].position = parseInt(pos, 10);
if (pos == 4) {
//near note is a subsequent citation with near note set to true;
citation.citationItems[i].position = 1;
citation.citationItems[i]["near-note"] = true;
}
else {
citation.citationItems[i].position = parseInt(pos, 10);
}
var subcitation = [citation.citationItems[i]];
citations += styleEngine.makeCitationCluster(subcitation) + '<br />';
}
@ -190,6 +221,7 @@
<vbox flex="1">
<hbox align="center">
<button id="preview-refresh-button" label="Refresh" oncommand="Zotero_CSL_Editor.refresh()"/>
<button id="zotero-csl-save" label="Save" oncommand="Zotero_CSL_Editor.save()"/>
<menulist id="zotero-csl-page-type" style="min-height: 1.6em; min-width: 50px" oncommand="Zotero_CSL_Editor.refresh()" />
<label value=":" />
<textbox size="5" id="preview-pages" type="timed" timeout="250" oncommand="Zotero_CSL_Editor.refresh()"/>
@ -201,6 +233,7 @@
<menuitem label="Subsequent" value="1"/>
<menuitem label="Ibid" value="2"/>
<menuitem label="Ibid+Locator" value="3"/>
<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)"/>

View file

@ -612,7 +612,7 @@ Zotero.Cite.System.prototype = {
if(typeof extra === "string") {
var m = /(?:^|\n)PMID:\s*([0-9]+)/.exec(extra);
if(m) cslItem.PMID = m[1];
m = /(?:^|\n)PMCID:\s*([0-9]+)/.exec(extra);
m = /(?:^|\n)PMCID:\s*((?:PMC)?[0-9]+)/.exec(extra);
if(m) cslItem.PMCID = m[1];
}

View file

@ -57,7 +57,7 @@ if (!Array.indexOf) {
};
}
var CSL = {
PROCESSOR_VERSION: "1.0.508",
PROCESSOR_VERSION: "1.0.517",
CONDITION_LEVEL_TOP: 1,
CONDITION_LEVEL_BOTTOM: 2,
PLAIN_HYPHEN_REGEX: /(?:[^\\]-|\u2013)/,
@ -264,10 +264,10 @@ var CSL = {
SUFFIX_PUNCTUATION: /^\s*[.;:,\(\)]/,
NUMBER_REGEXP: /(?:^\d+|\d+$)/,
NAME_INITIAL_REGEXP: /^([A-Z\u0590-\u05ff\u0080-\u017f\u0400-\u042f\u0600-\u06ff\u0370\u0372\u0376\u0386\u0388-\u03ab\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03fd-\u03ff])([a-zA-Z\u0080-\u017f\u0400-\u052f\u0600-\u06ff\u0370-\u03ff\u1f00-\u1fff]*|)/,
ROMANESQUE_REGEXP: /[-0-9a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/,
ROMANESQUE_REGEXP: /[-0-9a-zA-Z\u0590-\u05d4\u05d6-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/,
ROMANESQUE_NOT_REGEXP: /[^a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/g,
STARTSWITH_ROMANESQUE_REGEXP: /^[&a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/,
ENDSWITH_ROMANESQUE_REGEXP: /[.;:&a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]$/,
STARTSWITH_ROMANESQUE_REGEXP: /^[&a-zA-Z\u0590-\u05d4\u05d6-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/,
ENDSWITH_ROMANESQUE_REGEXP: /[.;:&a-zA-Z\u0590-\u05d4\u05d6-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]$/,
ALL_ROMANESQUE_REGEXP: /^[a-zA-Z\u0590-\u05ff\u0080-\u017f\u0400-\u052f\u0370-\u03ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]+$/,
VIETNAMESE_SPECIALS: /[\u00c0-\u00c3\u00c8-\u00ca\u00cc\u00cd\u00d2-\u00d5\u00d9\u00da\u00dd\u00e0-\u00e3\u00e8-\u00ea\u00ec\u00ed\u00f2-\u00f5\u00f9\u00fa\u00fd\u0101\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01a0\u01a1\u01af\u01b0\u1ea0-\u1ef9]/,
VIETNAMESE_NAMES: /^(?:(?:[.AaBbCcDdEeGgHhIiKkLlMmNnOoPpQqRrSsTtUuVvXxYy \u00c0-\u00c3\u00c8-\u00ca\u00cc\u00cd\u00d2-\u00d5\u00d9\u00da\u00dd\u00e0-\u00e3\u00e8-\u00ea\u00ec\u00ed\u00f2-\u00f5\u00f9\u00fa\u00fd\u0101\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01a0\u01a1\u01af\u01b0\u1ea0-\u1ef9]{2,6})(\s+|$))+$/,
@ -316,8 +316,8 @@ var CSL = {
],
TAG_ESCAPE: function (str) {
var mx, lst, len, pos, m, buf1, buf2, idx, ret, myret;
mx = str.match(/(\"|\'|<span\s+class=\"no(?:case|decor)\">.*?<\/span>|<\/?(?:i|sc|b)>|<\/span>)/g);
lst = str.split(/(?:\"|\'|<span\s+class=\"no(?:case|decor)\">.*?<\/span>|<\/?(?:i|sc|b)>|<\/span>)/g);
mx = str.match(/((?:\"|\')|(?:(?:<span\s+class=\"no(?:case|decor)\">).*?(?:<\/span>|<\/?(?:i|sc|b)>)))/g);
lst = str.split(/(?:(?:\"|\')|(?:(?:<span\s+class=\"no(?:case|decor)\">).*?(?:<\/span>|<\/?(?:i|sc|b)>)))/g);
myret = [lst[0]];
for (pos = 1, len = lst.length; pos < len; pos += 1) {
myret.push(mx[pos - 1]);
@ -2914,7 +2914,9 @@ CSL.Output.Queue.prototype.string = function (state, myblobs, blob) {
if (state.normalDecorIsOrphan(blobjr, params)) {
continue;
}
blobs_start = state.fun.decorate[params[0]][params[1]](state, blobs_start, params[2]);
if ("string" === typeof blobs_start) {
blobs_start = state.fun.decorate[params[0]][params[1]](state, blobs_start, params[2]);
}
}
}
b = blobs_start;
@ -2982,6 +2984,7 @@ CSL.Output.Queue.prototype.renderBlobs = function (blobs, delim, in_cite, parent
if (this.state.tmp.area === "citation" && !this.state.tmp.just_looking && len === 1 && typeof blobs[0] === "object" && parent) {
blobs[0].strings.prefix = parent.strings.prefix + blobs[0].strings.prefix;
blobs[0].strings.suffix = blobs[0].strings.suffix + parent.strings.suffix;
blobs[0].decorations = blobs[0].decorations.concat(parent.decorations);
return blobs[0];
}
var start = true;
@ -5003,6 +5006,11 @@ CSL.localeResolve = function (langstr, defaultLocale) {
};
CSL.Engine.prototype.localeConfigure = function (langspec, beShy) {
var localexml;
if (this.opt.development_extensions.normalize_lang_keys_to_lowercase) {
langspec.best = langspec.best.toLowerCase();
langspec.bare = langspec.bare.toLowerCase();
langspec.base = langspec.base.toLowerCase();
}
if (beShy && this.locale[langspec.best]) {
return;
}
@ -5022,11 +5030,6 @@ CSL.Engine.prototype.localeConfigure = function (langspec, beShy) {
this.localeSet(this.cslXml, langspec.base, langspec.best);
}
this.localeSet(this.cslXml, langspec.best, langspec.best);
if (this.opt.development_extensions.normalize_lang_keys_to_lowercase) {
langspec.best = langspec.best.toLowerCase();
langspec.bare = langspec.bare.toLowerCase();
langspec.base = langspec.base.toLowerCase();
}
if ("undefined" === typeof this.locale[langspec.best].terms["page-range-delimiter"]) {
if (["fr", "pt"].indexOf(langspec.best.slice(0, 2).toLowerCase()) > -1) {
this.locale[langspec.best].terms["page-range-delimiter"] = "-";
@ -5063,6 +5066,9 @@ CSL.Engine.prototype.localeSet = function (myxml, lang_in, lang_out) {
this.locale[lang_out].terms = {};
this.locale[lang_out].opts = {};
this.locale[lang_out].opts["skip-words"] = CSL.SKIP_WORDS;
if (!this.locale[lang_out].opts["leading-noise-words"]) {
this.locale[lang_out].opts["leading-noise-words"] = [];
}
this.locale[lang_out].dates = {};
this.locale[lang_out].ord = {'1.0.1':false,keys:{}};
this.locale[lang_out]["noun-genders"] = {};
@ -5212,8 +5218,29 @@ CSL.Engine.prototype.localeSet = function (myxml, lang_in, lang_out) {
this.locale[lang_out].opts[attrname.slice(1)] = false;
}
} else if (attrname === "@skip-words") {
var skip_words = attributes[attrname].split(/\s+/);
var skip_words = attributes[attrname].split(/\s*,\s*/);
this.locale[lang_out].opts[attrname.slice(1)] = skip_words;
} else if (attrname === "@leading-noise-words" && lang_in === lang_out) {
var val = attributes[attrname].split(/\s*,\s*/);
this.locale[lang_out].opts["leading-noise-words"] = val;
} else if (attrname === "@name-as-sort-order") {
this.locale[lang_out].opts["name-as-sort-order"] = {};
var lst = attributes[attrname].split(/\s+/);
for (var i=0,ilen=lst.length;i<ilen;i+=1) {
this.locale[lang_out].opts["name-as-sort-order"][lst[i]] = true;
}
} else if (attrname === "@name-as-reverse-order") {
this.locale[lang_out].opts["name-as-reverse-order"] = {};
var lst = attributes[attrname].split(/\s+/);
for (var i=0,ilen=lst.length;i<ilen;i+=1) {
this.locale[lang_out].opts["name-as-reverse-order"][lst[i]] = true;
}
} else if (attrname === "@name-never-short") {
this.locale[lang_out].opts["name-never-short"] = {};
var lst = attributes[attrname].split(/\s+/);
for (var i=0,ilen=lst.length;i<ilen;i+=1) {
this.locale[lang_out].opts["name-never-short"][lst[i]] = true;
}
}
}
}
@ -6369,6 +6396,8 @@ CSL.NameOutput.prototype.init = function (names) {
this.state.tmp.value = [];
this.state.tmp.rendered_name = [];
this.state.tmp.label_blob = false;
this.state.tmp.etal_node = false;
this.state.tmp.etal_term = false;
for (var i = 0, ilen = this.variables.length; i < ilen; i += 1) {
if (this.Item[this.variables[i]] && this.Item[this.variables[i]].length) {
this.state.tmp.value = this.state.tmp.value.concat(this.Item[this.variables[i]]);
@ -7309,7 +7338,7 @@ CSL.NameOutput.prototype.renderInstitutionNames = function () {
if (localesets) {
var slotnames = ["primary", "secondary", "tertiary"];
for (var k = 0, klen = slotnames.length; k < klen; k += 1) {
if (localesets.length - 1 < j) {
if (localesets.length - 1 < k) {
break;
}
if (localesets[k]) {
@ -7563,7 +7592,7 @@ CSL.NameOutput.prototype._renderOnePersonalName = function (value, pos, i, j) {
var non_dropping_particle = this._nonDroppingParticle(name);
var given = this._givenName(name, pos, i);
var suffix = this._nameSuffix(name);
if (this._isShort(pos, i)) {
if (this._isShort(pos, i) && !name["full-form-always"]) {
dropping_particle = false;
given = false;
suffix = false;
@ -7585,6 +7614,8 @@ CSL.NameOutput.prototype._renderOnePersonalName = function (value, pos, i, j) {
blob = this._join([non_dropping_particle, family, given], "");
} else if (romanesque === 1 || name["static-ordering"]) { // entry likes sort order
blob = this._join([non_dropping_particle, family, given], " ");
} else if (name["reverse-ordering"]) { // entry likes reverse order
blob = this._join([given, non_dropping_particle, family], " ");
} else if (this.state.tmp.sort_key_flag) {
if (this.state.opt["demote-non-dropping-particle"] === "never") {
first = this._join([non_dropping_particle, family, dropping_particle], " ");
@ -7697,6 +7728,8 @@ CSL.NameOutput.prototype._normalizeNameInput = function (value) {
"non-dropping-particle":value["non-dropping-particle"],
"dropping-particle":value["dropping-particle"],
"static-ordering":value["static-ordering"],
"reverse-ordering":value["reverse-ordering"],
"full-form-always": value["full-form-always"],
"parse-names":value["parse-names"],
"comma-dropping-particle": "",
block_initialize:value.block_initialize,
@ -7884,10 +7917,8 @@ CSL.NameOutput.prototype.getName = function (name, slotLocaleset, fallback, stop
if (!name.given) {
name.given = "";
}
var static_ordering_freshcheck = false;
var block_initialize = false;
var transliterated = false;
var static_ordering_val = this.getStaticOrder(name);
var name_params = {};
name_params["static-ordering"] = this.getStaticOrder(name);
var foundTag = true;
if (slotLocaleset !== 'locale-orig') {
foundTag = false;
@ -7898,19 +7929,24 @@ CSL.NameOutput.prototype.getName = function (name, slotLocaleset, fallback, stop
if (name.multi._key[langTag]) {
foundTag = true;
name = name.multi._key[langTag];
transliterated = true;
if (!this.state.opt['locale-use-original-name-format'] && false) {
static_ordering_freshcheck = true;
} else {
if ((name.family.replace('"','','g') + name.given).match(CSL.ROMANESQUE_REGEXP)) {
block_initialize = true;
}
}
name_params = this.getNameParams(langTag);
name_params.transliterated = true;
break;
}
}
}
}
if (!foundTag) {
var langTag = false;
if (name.multi && name.multi.main) {
langTag = name.multi.main;
} else if (this.Item.language) {
langTag = this.Item.language;
}
if (langTag) {
name_params = this.getNameParams(langTag);
}
}
if (!fallback && !foundTag) {
return {name:false,usedOrig:stopOrig};
}
@ -7926,20 +7962,18 @@ CSL.NameOutput.prototype.getName = function (name, slotLocaleset, fallback, stop
"non-dropping-particle":name["non-dropping-particle"],
"dropping-particle":name["dropping-particle"],
suffix:name.suffix,
"static-ordering":static_ordering_val,
"static-ordering":name_params["static-ordering"],
"reverse-ordering":name_params["reverse-ordering"],
"full-form-always": name_params["full-form-always"],
"parse-names":name["parse-names"],
"comma-suffix":name["comma-suffix"],
"comma-dropping-particle":name["comma-dropping-particle"],
transliterated:transliterated,
block_initialize:block_initialize,
transliterated: name_params.transliterated,
block_initialize: name_params["block-initialize"],
literal:name.literal,
isInstitution:name.isInstitution,
multi:name.multi
};
if (static_ordering_freshcheck &&
!this.getStaticOrder(name, true)) {
name["static-ordering"] = false;
}
if (!name.literal && (!name.given && name.family && name.isInstitution)) {
name.literal = name.family;
}
@ -7956,6 +7990,30 @@ CSL.NameOutput.prototype.getName = function (name, slotLocaleset, fallback, stop
}
return {name:name,usedOrig:usedOrig};
}
CSL.NameOutput.prototype.getNameParams = function (langTag) {
var ret = {};
var langspec = CSL.localeResolve(this.Item.language, this.state.opt["default-locale"][0]);
var try_locale = this.state.locale[langspec.best] ? langspec.best : this.state.opt["default-locale"][0];
var name_as_sort_order = this.state.locale[try_locale].opts["name-as-sort-order"]
var name_as_reverse_order = this.state.locale[try_locale].opts["name-as-reverse-order"]
var name_never_short = this.state.locale[try_locale].opts["name-never-short"]
var field_lang_bare = langTag.split("-")[0];
if (name_as_sort_order && name_as_sort_order[field_lang_bare]) {
ret["static-ordering"] = true;
ret["reverse-ordering"] = false;
}
if (name_as_reverse_order && name_as_reverse_order[field_lang_bare]) {
ret["reverse-ordering"] = true;
ret["static-ordering"] = false;
}
if (name_never_short && name_never_short[field_lang_bare]) {
ret["full-form-always"] = true;
}
if (ret["static-ordering"]) {
ret["block-initialize"] = true;
}
return ret;
}
CSL.NameOutput.prototype.setRenderedName = function (name) {
if (this.state.tmp.area === "bibliography") {
var strname = "";
@ -9148,7 +9206,7 @@ CSL.Attributes["@position"] = function (state, arg) {
}
if ("near-note" === tryposition) {
this.tests.push(function (Item, item) {
if (item && item.position === CSL.POSITION_SUBSEQUENT && item["near-note"]) {
if (item && item.position >= CSL.POSITION_SUBSEQUENT && item["near-note"]) {
return true;
}
return false;
@ -9630,6 +9688,9 @@ CSL.Attributes["@part-separator"] = function (state, arg) {
CSL.Attributes["@leading-noise-words"] = function (state, arg) {
this["leading-noise-words"] = arg;
};
CSL.Attributes["@name-never-short"] = function (state, arg) {
this["name-never-short"] = arg;
};
CSL.Attributes["@class"] = function (state, arg) {
state.opt["class"] = arg;
};
@ -9841,8 +9902,15 @@ CSL.Attributes["@initialize"] = function (state, arg) {
state.setOpt(this, "initialize", false);
}
};
CSL.Attributes["@name-as-reverse-order"] = function (state, arg) {
this["name-as-reverse-order"] = arg;
};
CSL.Attributes["@name-as-sort-order"] = function (state, arg) {
state.setOpt(this, "name-as-sort-order", arg);
if (this.name === "style-options") {
this["name-as-sort-order"] = arg;
} else {
state.setOpt(this, "name-as-sort-order", arg);
}
};
CSL.Attributes["@sort-separator"] = function (state, arg) {
state.setOpt(this, "sort-separator", arg);
@ -10662,8 +10730,8 @@ CSL.Transform = function (state) {
jurisdiction = "default";
}
if (!orig) {
if (!this.abbrevs[jurisdiction]) {
this.abbrevs[jurisdiction] = new state.sys.AbbreviationSegments();
if (!state.transform.abbrevs[jurisdiction]) {
state.transform.abbrevs[jurisdiction] = new state.sys.AbbreviationSegments();
}
return jurisdiction;
}
@ -10676,15 +10744,15 @@ CSL.Transform = function (state) {
}
}
for (var i=tryList.length - 1; i > -1; i += -1) {
if (!this.abbrevs[tryList[i]]) {
this.abbrevs[tryList[i]] = new state.sys.AbbreviationSegments();
if (!state.transform.abbrevs[tryList[i]]) {
state.transform.abbrevs[tryList[i]] = new state.sys.AbbreviationSegments();
}
if (!this.abbrevs[tryList[i]][category][orig]) {
state.sys.getAbbreviation(state.opt.styleID, this.abbrevs, tryList[i], category, orig, itemType, noHints);
if (!state.transform.abbrevs[tryList[i]][category][orig]) {
state.sys.getAbbreviation(state.opt.styleID, state.transform.abbrevs, tryList[i], category, orig, itemType, noHints);
}
if (this.abbrevs[tryList[i]][category][orig]) {
if (state.transform.abbrevs[tryList[i]][category][orig]) {
if (i < tryList.length) {
this.abbrevs[jurisdiction][category][orig] = this.abbrevs[tryList[i]][category][orig];
state.transform.abbrevs[jurisdiction][category][orig] = state.transform.abbrevs[tryList[i]][category][orig];
}
break;
}
@ -10787,11 +10855,6 @@ CSL.Transform = function (state) {
secondary = abbreviate(state, Item, false, secondary, myabbrev_family, true);
tertiary = abbreviate(state, Item, false, tertiary, myabbrev_family, true);
}
if ("demote" === this["leading-noise-words"]) {
primary = CSL.demoteNoiseWords(state, primary);
secondary = CSL.demoteNoiseWords(state, secondary);
tertiary = CSL.demoteNoiseWords(state, tertiary);
}
var template_tok = CSL.Util.cloneToken(this);
var primary_tok = CSL.Util.cloneToken(this);
var primaryPrefix;
@ -10813,6 +10876,9 @@ CSL.Transform = function (state) {
if (primary_locale !== "en" && primary_tok.strings["text-case"] === "title") {
primary_tok.strings["text-case"] = "passthrough";
}
if ("title" === variables[0]) {
primary = CSL.demoteNoiseWords(state, primary, this["leading-noise-words"]);
}
if (secondary || tertiary) {
state.output.openLevel("empty");
primary_tok.strings.suffix = primary_tok.strings.suffix.replace(/[ .,]+$/,"");
@ -11396,7 +11462,7 @@ CSL.Util.Dates.year["long"] = function (state, num) {
}
return num.toString();
};
CSL.Util.Dates.year.imperial = function (state, num, end) {
CSL.Util.Dates.year.imperial = function (state, num, end, makeShort) {
if (!num) {
if ("boolean" === typeof num) {
num = "";
@ -11416,14 +11482,29 @@ CSL.Util.Dates.year.imperial = function (state, num, end) {
day = "0" + day;
}
var date = parseInt(num + month + day, 10);
var label;
var offset;
if (date >= 18680908 && date < 19120730) {
year = '\u660e\u6cbb' + (num - 1867);
label = '\u660e\u6cbb';
offset = 1867;
} else if (date >= 19120730 && date < 19261225) {
year = '\u5927\u6b63' + (num - 1911);
label = '\u5927\u6b63';
offset = 1911;
} else if (date >= 19261225 && date < 19890108) {
year = '\u662d\u548c' + (num - 1925);
label = '\u662d\u548c';
offset = 1925;
} else if (date >= 19890108) {
year = '\u5e73\u6210' + (num - 1988);
label = '\u5e73\u6210';
offset = 1988;
}
if (label && offset) {
if (!state.transform.abbrevs['default']['number'][label]) {
state.transform.loadAbbreviation('default', "number", label);
}
if (state.transform.abbrevs['default']['number'][label]) {
label = state.transform.abbrevs['default']['number'][label];
};
year = label + (num - offset);
}
return year;
};
@ -12693,9 +12774,9 @@ CSL.Output.Formatters.serializeItemAsRdf = function (Item) {
CSL.Output.Formatters.serializeItemAsRdfA = function (Item) {
return "";
};
CSL.demoteNoiseWords = function (state, fld) {
var SKIP_WORDS = state.locale[state.opt.lang].opts["skip-words"];
if (fld) {
CSL.demoteNoiseWords = function (state, fld, drop_or_demote) {
var SKIP_WORDS = state.locale[state.opt.lang].opts["leading-noise-words"];
if (fld && drop_or_demote) {
fld = fld.split(/\s+/);
fld.reverse();
var toEnd = [];
@ -12709,7 +12790,11 @@ CSL.demoteNoiseWords = function (state, fld) {
fld.reverse();
var start = fld.join(" ");
var end = toEnd.join(" ");
fld = [start, end].join(", ");
if ("drop" === drop_or_demote || !end) {
fld = start;
} else if ("demote" === drop_or_demote) {
fld = [start, end].join(", ");
}
}
return fld;
};
@ -13319,8 +13404,12 @@ CSL.Registry.NameReg = function (state) {
};
evalname = function (item_id, nameobj, namenum, request_base, form, initials) {
var pos, len, items, param;
if (state.tmp.area === "bibliography" && !form && "string" !== typeof initials) {
return 2;
if (state.tmp.area.slice(0, 12) === "bibliography" && !form) {
if ("string" === typeof initials) {
return 1;
} else {
return 2;
}
}
var res = state.nameOutput.getName(nameobj, "locale-translit", true);
nameobj = res.name;

View file

@ -1527,7 +1527,7 @@ Zotero.Item.prototype.save = function(options) {
var parent = this.getSource();
var linkMode = this.attachmentLinkMode;
var mimeType = this.attachmentMIMEType;
var charsetID = this.attachmentCharset;
var charsetID = Zotero.CharacterSets.getID(this.attachmentCharset);
var path = this.attachmentPath;
var syncState = this.attachmentSyncState;
@ -1944,7 +1944,7 @@ Zotero.Item.prototype.save = function(options) {
let parent = this.getSource();
var linkMode = this.attachmentLinkMode;
var mimeType = this.attachmentMIMEType;
var charsetID = this.attachmentCharset;
var charsetID = Zotero.CharacterSets.getID(this.attachmentCharset);
var path = this.attachmentPath;
var syncState = this.attachmentSyncState;
@ -3236,8 +3236,8 @@ Zotero.Item.prototype.__defineGetter__('attachmentCharset', function () {
return undefined;
}
if (this._attachmentCharset != undefined) {
return this._attachmentCharset;
if (this._attachmentCharset !== undefined) {
return Zotero.CharacterSets.getName(this._attachmentCharset);
}
if (!this.id) {
@ -3250,7 +3250,7 @@ Zotero.Item.prototype.__defineGetter__('attachmentCharset', function () {
charset = null;
}
this._attachmentCharset = charset;
return charset;
return Zotero.CharacterSets.getName(charset);
});
@ -3259,13 +3259,22 @@ Zotero.Item.prototype.__defineSetter__('attachmentCharset', function (val) {
throw (".attachmentCharset can only be set for attachment items");
}
val = Zotero.CharacterSets.getID(val);
var oldVal = this.attachmentCharset;
if (oldVal) {
oldVal = Zotero.CharacterSets.getID(oldVal);
}
if (!oldVal) {
oldVal = null;
}
if (val) {
val = Zotero.CharacterSets.getID(val);
}
if (!val) {
val = null;
}
if (val == this.attachmentCharset) {
if (val == oldVal) {
return;
}
@ -4845,8 +4854,7 @@ Zotero.Item.prototype.serialize = function(mode) {
arr.attachment = {};
arr.attachment.linkMode = this.attachmentLinkMode;
arr.attachment.mimeType = this.attachmentMIMEType;
var charsetID = this.attachmentCharset;
arr.attachment.charset = Zotero.CharacterSets.getName(charsetID);
arr.attachment.charset = this.attachmentCharset;
arr.attachment.path = this.attachmentPath;
}

View file

@ -1134,11 +1134,16 @@ Zotero.DBConnection.prototype.checkException = function (e) {
}
Zotero.DBConnection.prototype.closeDatabase = function () {
/**
* Close the database
* @param {Boolean} [permanent] If true, throw an error instead of
* allowing code to re-open the database again
*/
Zotero.DBConnection.prototype.closeDatabase = function (permanent) {
if(this._connection) {
var deferred = Q.defer();
this._connection.asyncClose(deferred.resolve);
this._connection = undefined;
this._connection = permanent ? false : null;
return deferred.promise;
} else {
return Q();
@ -1167,13 +1172,13 @@ Zotero.DBConnection.prototype.backupDatabase = function (suffix, force) {
return false;
}
var corruptMarker = Zotero.getZoteroDatabase(this._dbName, 'is.corrupt').exists();
var corruptMarker = Zotero.getZoteroDatabase(this._dbName, 'is.corrupt');
if (this.skipBackup || Zotero.skipLoading) {
this._debug("Skipping backup of database '" + this._dbName + "'", 1);
return false;
}
else if (this._dbIsCorrupt || corruptMarker) {
else if (this._dbIsCorrupt || corruptMarker.exists()) {
this._debug("Database '" + this._dbName + "' is marked as corrupt--skipping backup", 1);
return false;
}
@ -1343,6 +1348,8 @@ Zotero.DBConnection.prototype.getSQLDataType = function(value) {
Zotero.DBConnection.prototype._getDBConnection = function () {
if (this._connection) {
return this._connection;
} else if (this._connection === false) {
throw new Error("Database permanently closed; not re-opening");
}
this._debug("Opening database '" + this._dbName + "'");
@ -1356,6 +1363,9 @@ Zotero.DBConnection.prototype._getDBConnection = function () {
var fileName = this._dbName + '.sqlite';
var ps = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService);
catchBlock: try {
var corruptMarker = Zotero.getZoteroDatabase(this._dbName, 'is.corrupt');
if (corruptMarker.exists()) {
@ -1365,16 +1375,21 @@ Zotero.DBConnection.prototype._getDBConnection = function () {
}
catch (e) {
if (e.name=='NS_ERROR_FILE_CORRUPTED') {
this._debug("Database file '" + file.leafName + "' corrupted", 1);
this._debug("Database file '" + file.leafName + "' is marked as corrupted", 1);
// No backup file! Eek!
if (!backupFile.exists()) {
this._debug("No backup file for DB '" + this._dbName + "' exists", 1);
// Save damaged filed
this._debug('Saving damaged DB file with .damaged extension', 1);
var damagedFile = Zotero.getZoteroDatabase(this._dbName, 'damaged');
Zotero.moveToUnique(file, damagedFile);
// Save damaged file if it exists
if (file.exists()) {
this._debug('Saving damaged DB file with .damaged extension', 1);
var damagedFile = Zotero.getZoteroDatabase(this._dbName, 'damaged');
Zotero.moveToUnique(file, damagedFile);
}
else {
this._debug(file.leafName + " does not exist -- creating new database");
}
// Create new main database
var file = Zotero.getZoteroDatabase(this._dbName);
@ -1384,14 +1399,22 @@ Zotero.DBConnection.prototype._getDBConnection = function () {
corruptMarker.remove(null);
}
alert(Zotero.getString('db.dbCorruptedNoBackup', fileName));
// FIXME: If damaged file didn't exist, it won't be saved, as the message claims
let msg = Zotero.getString('db.dbCorruptedNoBackup', fileName);
Zotero.debug(msg, 1);
ps.alert(null, Zotero.getString('general.warning'), msg);
break catchBlock;
}
// Save damaged file
this._debug('Saving damaged DB file with .damaged extension', 1);
var damagedFile = Zotero.getZoteroDatabase(this._dbName, 'damaged');
Zotero.moveToUnique(file, damagedFile);
// Save damaged file if it exists
if (file.exists()) {
this._debug('Saving damaged DB file with .damaged extension', 1);
var damagedFile = Zotero.getZoteroDatabase(this._dbName, 'damaged');
Zotero.moveToUnique(file, damagedFile);
}
else {
this._debug(file.leafName + " does not exist");
}
// Test the backup file
try {
@ -1403,7 +1426,9 @@ Zotero.DBConnection.prototype._getDBConnection = function () {
var file = Zotero.getZoteroDatabase(this._dbName);
this._connection = store.openDatabase(file);
alert(Zotero.getString('db.dbRestoreFailed', fileName));
let msg = Zotero.getString('db.dbRestoreFailed', fileName);
Zotero.debug(msg, 1);
ps.alert(null, Zotero.getString('general.warning'), msg);
if (corruptMarker.exists()) {
corruptMarker.remove(null);
@ -1429,12 +1454,18 @@ Zotero.DBConnection.prototype._getDBConnection = function () {
file.append(fileName);
this._connection = store.openDatabase(file);
this._debug('Database restored', 1);
// FIXME: If damaged file didn't exist, it won't be saved, as the message claims
var msg = Zotero.getString('db.dbRestored', [
fileName,
Zotero.Date.getFileDateString(backupFile),
Zotero.Date.getFileTimeString(backupFile)
]);
alert(msg);
Zotero.debug(msg, 1);
ps.alert(
null,
Zotero.getString('general.warning'),
msg
);
if (corruptMarker.exists()) {
corruptMarker.remove(null);

View file

@ -27,14 +27,14 @@
Zotero.Debug = new function () {
var _console, _stackTrace, _store, _level, _time, _lastTime, _output = [];
this.init = function () {
_console = Zotero.Prefs.get('debug.log');
this.init = function (forceDebugLog) {
_console = forceDebugLog || Zotero.Prefs.get('debug.log');
_store = Zotero.Prefs.get('debug.store');
if (_store) {
Zotero.Prefs.set('debug.store', false);
}
_level = Zotero.Prefs.get('debug.level');
_time = Zotero.Prefs.get('debug.time');
_time = forceDebugLog || Zotero.Prefs.get('debug.time');
_stackTrace = Zotero.Prefs.get('debug.stackTrace');
this.storing = _store;
@ -106,7 +106,18 @@ Zotero.Debug = new function () {
if (_console) {
var output = 'zotero(' + level + ')' + (_time ? deltaStr : '') + ': ' + message;
if(Zotero.isFx && !Zotero.isBookmarklet) {
dump(output+"\n\n");
// On Windows, where the text console is inexplicably glacial,
// log to the Browser Console instead
//
// TODO: Get rid of the filename and line number
if (Zotero.isWin && !Zotero.isStandalone) {
let console = Components.utils.import("resource://gre/modules/devtools/Console.jsm", {}).console;
console.log(output);
}
// Otherwise dump to the text console
else {
dump(output + "\n\n");
}
} else if(window.console) {
window.console.log(output);
}

View file

@ -54,7 +54,6 @@ Zotero.Fulltext = new function(){
this.clearCacheFiles = clearCacheFiles;
//this.clearItemContent = clearItemContent;
this.purgeUnusedWords = purgeUnusedWords;
this.semanticSplitter = semanticSplitter;
this.__defineGetter__("pdfToolsDownloadBaseURL", function() { return 'http://www.zotero.org/download/xpdf/'; });
this.__defineGetter__("pdfToolsName", function() { return 'Xpdf'; });
@ -266,7 +265,7 @@ Zotero.Fulltext = new function(){
}
Zotero.DB.query('INSERT OR IGNORE INTO fulltextWords (word) SELECT word FROM indexing.fulltextWords');
Zotero.DB.query('DELETE FROM fulltextItemWords WHERE itemID = ?', [itemID]);
Zotero.DB.query('INSERT INTO fulltextItemWords (wordID, itemID) SELECT wordID, ? FROM fulltextWords JOIN indexing.fulltextWords USING(word)', [itemID]);
Zotero.DB.query('INSERT OR IGNORE INTO fulltextItemWords (wordID, itemID) SELECT wordID, ? FROM fulltextWords JOIN indexing.fulltextWords USING(word)', [itemID]);
Zotero.DB.query("REPLACE INTO fulltextItems (itemID, version) VALUES (?,?)", [itemID, 0]);
Zotero.DB.query("DELETE FROM indexing.fulltextWords");
@ -279,7 +278,7 @@ Zotero.Fulltext = new function(){
try {
Zotero.UnresponsiveScriptIndicator.disable();
var words = semanticSplitter(text, charset);
var words = this.semanticSplitter(text, charset);
Zotero.DB.beginTransaction();
@ -1525,10 +1524,15 @@ Zotero.Fulltext = new function(){
}
function semanticSplitter(text, charset){
/**
* @param {String} text
* @param {String} [charset]
* @return {Array<String>}
*/
this.semanticSplitter = function (text, charset) {
if (!text){
Zotero.debug('No text to index');
return;
return [];
}
try {
@ -1536,6 +1540,7 @@ Zotero.Fulltext = new function(){
text = this.decoder.convertStringToUTF8(text, charset, true);
}
} catch (err) {
Zotero.debug("Error converting from charset " + charset, 1);
Zotero.debug(err, 1);
}

View file

@ -68,12 +68,8 @@ Zotero.HTTP = new function() {
this.promise = function promise(method, url, options) {
if (url instanceof Components.interfaces.nsIURI) {
// Don't display password in console
var dispURL = url.clone();
if (dispURL.password) {
dispURL.password = "********";
}
var dispURL = this.getDisplayURI(url).spec;
url = url.spec;
dispURL = dispURL.spec;
}
else {
var dispURL = url;
@ -212,10 +208,7 @@ Zotero.HTTP = new function() {
this.doGet = function(url, onDone, responseCharset, cookieSandbox) {
if (url instanceof Components.interfaces.nsIURI) {
// Don't display password in console
var disp = url.clone();
if (disp.password) {
disp.password = "********";
}
var disp = this.getDisplayURI(url);
Zotero.debug("HTTP GET " + disp.spec);
url = url.spec;
}
@ -276,10 +269,7 @@ Zotero.HTTP = new function() {
this.doPost = function(url, body, onDone, headers, responseCharset, cookieSandbox) {
if (url instanceof Components.interfaces.nsIURI) {
// Don't display password in console
var disp = url.clone();
if (disp.password) {
disp.password = "********";
}
var disp = this.getDisplayURI(url);
url = url.spec;
}
@ -363,10 +353,7 @@ Zotero.HTTP = new function() {
this.doHead = function(url, onDone, requestHeaders, cookieSandbox) {
if (url instanceof Components.interfaces.nsIURI) {
// Don't display password in console
var disp = url.clone();
if (disp.password) {
disp.password = "********";
}
var disp = this.getDisplayURI(url);
Zotero.debug("HTTP HEAD " + disp.spec);
url = url.spec;
}
@ -424,10 +411,7 @@ Zotero.HTTP = new function() {
*/
this.doOptions = function (uri, callback) {
// Don't display password in console
var disp = uri.clone();
if (disp.password) {
disp.password = "********";
}
var disp = this.getDisplayURI(uri);
Zotero.debug("HTTP OPTIONS for " + disp.spec);
if (Zotero.HTTP.browserIsOffline()){
@ -619,10 +603,7 @@ Zotero.HTTP = new function() {
}
// Don't display password in console
var disp = uri.clone();
if (disp.password) {
disp.password = "********";
}
var disp = Zotero.HTTP.getDisplayURI(uri);
var bodyStart = body.substr(0, 1024);
Zotero.debug("HTTP " + method + " "
@ -672,10 +653,7 @@ Zotero.HTTP = new function() {
*/
this.WebDAV.doMkCol = function (uri, callback) {
// Don't display password in console
var disp = uri.clone();
if (disp.password) {
disp.password = "********";
}
var disp = Zotero.HTTP.getDisplayURI(uri);
Zotero.debug("HTTP MKCOL " + disp.spec);
if (Zotero.HTTP.browserIsOffline()) {
@ -709,10 +687,7 @@ Zotero.HTTP = new function() {
*/
this.WebDAV.doPut = function (uri, body, callback) {
// Don't display password in console
var disp = uri.clone();
if (disp.password) {
disp.password = "********";
}
var disp = Zotero.HTTP.getDisplayURI(uri);
var bodyStart = "'" + body.substr(0, 1024) + "'";
Zotero.debug("HTTP PUT "
@ -754,10 +729,7 @@ Zotero.HTTP = new function() {
*/
this.WebDAV.doDelete = function (uri, callback) {
// Don't display password in console
var disp = uri.clone();
if (disp.password) {
disp.password = "********";
}
var disp = Zotero.HTTP.getDisplayURI(uri);
Zotero.debug("WebDAV DELETE to " + disp.spec);
@ -785,6 +757,15 @@ Zotero.HTTP = new function() {
}
this.getDisplayURI = function (uri) {
var disp = uri.clone();
if (disp.password) {
disp.password = "********";
}
return disp;
}
/**
* Get the Authorization header used by a channel
*

View file

@ -313,7 +313,8 @@ Zotero.Integration = new function() {
const BUNDLE_IDS = {
"Zotero":"org.zotero.zotero",
"Firefox":"org.mozilla.firefox",
"Minefield":"org.mozilla.minefield"
"Aurora":"org.mozilla.aurora",
"Nightly":"org.mozilla.nightly"
};
if(win) {
@ -353,13 +354,7 @@ Zotero.Integration = new function() {
);
}, false);
} else {
if(Zotero.oscpu == "PPC Mac OS X 10.4" || Zotero.oscpu == "Intel Mac OS X 10.4"
|| !BUNDLE_IDS[Zotero.appName]) {
// 10.4 doesn't support "tell application id"
_executeAppleScript('tell application "'+Zotero.appName+'" to activate');
} else {
_executeAppleScript('tell application id "'+BUNDLE_IDS[Zotero.appName]+'" to activate');
}
_executeAppleScript('tell application id "'+BUNDLE_IDS[Zotero.appName]+'" to activate');
}
} else if(!Zotero.isWin && win) {
Components.utils.import("resource://gre/modules/ctypes.jsm");
@ -2292,7 +2287,8 @@ Zotero.Integration.Session.prototype.lookupItems = function(citation, index) {
var citationItem = citation.citationItems[i];
// get Zotero item
var zoteroItem = false;
var zoteroItem = false,
needUpdate;
if(citationItem.uris) {
[zoteroItem, needUpdate] = this.uriMap.getZoteroItemForURIs(citationItem.uris);
if(needUpdate && index) this.updateIndices[index] = true;

View file

@ -62,10 +62,13 @@ Zotero.IPC = new function() {
* has been received if it is already initialized, SA sends an initComplete message
* to Z4Fx.
*/
if(msg === "releaseLock" && !Zotero.isConnector) {
if(msg.substr(0, 11) === "releaseLock") {
// Standalone sends this to the Firefox extension to tell the Firefox extension to
// release its lock on the Zotero database
switchConnectorMode(true);
if(!Zotero.isConnector && (msg.length === 11 ||
msg.substr(12) === Zotero.getZoteroDatabase().persistentDescriptor)) {
switchConnectorMode(true);
}
} else if(msg === "lockReleased") {
// The Firefox extension sends this to Standalone to let Standalone know that it has
// released its lock
@ -178,10 +181,17 @@ Zotero.IPC = new function() {
{"lpData":ctypes.voidptr_t}
]);
const appNames = ["Firefox", "Zotero", "Nightly", "Aurora", "Minefield"];
// Aurora/Nightly are always named "Firefox" in
// application.ini
const appNames = ["Firefox", "Zotero"];
// Different from Zotero.appName; this corresponds to the
// name in application.ini
const myAppName = Services.appinfo.name;
for each(var appName in appNames) {
// don't send messages to ourself
if(appName === Zotero.appName) continue;
if(appName === myAppName) continue;
var thWnd = FindWindow(appName+"MessageWindow", null);
if(thWnd) {

View file

@ -262,8 +262,7 @@ Zotero.ItemTreeView.prototype._setTreeGenerator = function(treebox)
})
.done();
};
// Store listener so we can call removeEventListener()
// in overlay.js::onCollectionSelected()
// Store listener so we can call removeEventListener() in ItemTreeView.unregister()
this.listener = listener;
tree.addEventListener('keypress', listener);
@ -916,6 +915,11 @@ Zotero.ItemTreeView.prototype.notify = function(action, type, ids, extraData)
Zotero.ItemTreeView.prototype.unregister = function()
{
Zotero.Notifier.unregisterObserver(this._unregisterID);
if (this.listener) {
let tree = this._treebox.treeBody.parentNode;
tree.removeEventListener('keypress', this.listener, false);
this.listener = null;
}
}
////////////////////////////////////////////////////////////////////////////////

View file

@ -147,7 +147,9 @@ Zotero.Proxies = new function() {
try {
webNav = channel.notificationCallbacks.QueryInterface(Components.interfaces.nsIWebNavigation);
docShell = channel.notificationCallbacks.QueryInterface(Components.interfaces.nsIDocShell);
} catch(e) {}
} catch(e) {
return;
}
if(!docShell.allowMetaRedirects) return;

View file

@ -337,6 +337,11 @@ $rdf.RDFParser = function (store) {
if(dom['nodeType'] == RDFParser['nodeType']['TEXT']
|| dom['nodeType'] == RDFParser['nodeType']['CDATA_SECTION']) {
//we have a literal
if(frame['parent']['nodeType'] == frame['NODE']) {
//must have had attributes, store as rdf:value
frame['addArc'](RDFParser['ns']['RDF'] + 'value');
frame = this['buildFrame'](frame);
}
frame['addLiteral'](dom['nodeValue'])
} else if(elementURI(dom) != RDFParser['ns']['RDF'] + "RDF") {
// not root

View file

@ -1095,6 +1095,13 @@ Zotero.Schema = new function(){
this.integrityCheck = function (fix) {
// Just as a sanity check, make sure combined field tables are populated,
// so that we don't try to wipe out all data
if (!Zotero.DB.valueQuery("SELECT COUNT(*) FROM fieldsCombined")
|| !Zotero.DB.valueQuery("SELECT COUNT(*) FROM itemTypeFieldsCombined")) {
return false;
}
// There should be an equivalent SELECT COUNT(*) statement for every
// statement run by the DB Repair Tool
var queries = [
@ -1181,8 +1188,8 @@ Zotero.Schema = new function(){
"DELETE FROM itemCreators WHERE creatorID NOT IN (SELECT creatorID FROM creators)",
],
[
"SELECT COUNT(*) FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM fields)",
"DELETE FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM fields)",
"SELECT COUNT(*) FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM fieldsCombined)",
"DELETE FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM fieldsCombined)",
],
[
"SELECT COUNT(*) FROM itemData WHERE valueID NOT IN (SELECT valueID FROM itemDataValues)",
@ -1197,8 +1204,8 @@ Zotero.Schema = new function(){
],
// Fields not in type
[
"SELECT COUNT(*) FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM itemTypeFields WHERE itemTypeID=(SELECT itemTypeID FROM items WHERE itemID=itemData.itemID))",
"DELETE FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM itemTypeFields WHERE itemTypeID=(SELECT itemTypeID FROM items WHERE itemID=itemData.itemID))",
"SELECT COUNT(*) FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM itemTypeFieldsCombined WHERE itemTypeID=(SELECT itemTypeID FROM items WHERE itemID=itemData.itemID))",
"DELETE FROM itemData WHERE fieldID NOT IN (SELECT fieldID FROM itemTypeFieldsCombined WHERE itemTypeID=(SELECT itemTypeID FROM items WHERE itemID=itemData.itemID))",
],
// Missing itemAttachments row
[
@ -1266,6 +1273,10 @@ Zotero.Schema = new function(){
[
"SELECT COUNT(*) FROM fulltextItems WHERE itemID NOT IN (SELECT itemID FROM items WHERE itemTypeID=14)",
"DELETE FROM fulltextItems WHERE itemID NOT IN (SELECT itemID FROM items WHERE itemTypeID=14)"
],
[
"SELECT COUNT(*) FROM syncedSettings WHERE libraryID != 0 AND libraryID NOT IN (SELECT libraryID FROM libraries)",
"DELETE FROM syncedSettings WHERE libraryID != 0 AND libraryID NOT IN (SELECT libraryID FROM libraries)"
]
];

View file

@ -716,7 +716,8 @@ Zotero.Search.prototype.search = function(asTempTable){
// (a separate fulltext word search filtered by fulltext content)
for each(var condition in this._conditions){
if (condition['condition']=='fulltextContent'){
var filter = function(val, index, array) {
var fulltextWordIntersectionFilter = function (val, index, array) !!hash[val]
var fulltextWordIntersectionConditionFilter = function(val, index, array) {
return hash[val] ?
(condition.operator == 'contains') :
(condition.operator == 'doesNotContain');
@ -789,7 +790,7 @@ Zotero.Search.prototype.search = function(asTempTable){
}
if (ids) {
var scopeIDs = ids.filter(filter);
var scopeIDs = ids.filter(fulltextWordIntersectionFilter);
}
else {
var scopeIDs = [];
@ -811,7 +812,7 @@ Zotero.Search.prototype.search = function(asTempTable){
hash[val.id] = true;
}
filteredIDs = scopeIDs.filter(filter);
filteredIDs = scopeIDs.filter(fulltextWordIntersectionConditionFilter);
}
else {
var filteredIDs = [];

View file

@ -141,6 +141,9 @@ Zotero.Sync.Storage.StreamListener.prototype = {
// nsIHttpEventSink
onRedirect: function (oldChannel, newChannel) {
Zotero.debug('onRedirect');
var newURL = Zotero.HTTP.getDisplayURI(newChannel.URI).spec;
Zotero.debug("Redirecting to " + newURL);
},

View file

@ -815,8 +815,8 @@ Zotero.Sync.Storage.WebDAV = (function () {
var ios = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService);
var uri = ios.newURI(url, null, null);
uri.username = username;
uri.password = password;
uri.username = encodeURIComponent(username);
uri.password = encodeURIComponent(password);
if (!uri.spec.match(/\/$/)) {
uri.spec += "/";
}

View file

@ -492,54 +492,56 @@ Zotero.Sync.Storage.ZFS = (function () {
function onUploadComplete(httpRequest, status, response, data) {
var request = data.request;
var item = data.item;
var uploadKey = data.uploadKey;
Zotero.debug("Upload of attachment " + item.key
+ " finished with status code " + status);
Zotero.debug(response);
switch (status) {
case 201:
break;
return Q.try(function () {
var request = data.request;
var item = data.item;
var uploadKey = data.uploadKey;
case 500:
throw new Error("File upload failed. Please try again.");
Zotero.debug("Upload of attachment " + item.key
+ " finished with status code " + status);
default:
var msg = "Unexpected file upload status " + status
+ " in Zotero.Sync.Storage.ZFS.onUploadComplete()"
+ " (" + Zotero.Items.getLibraryKeyHash(item) + ")";
Zotero.debug(msg, 1);
Components.utils.reportError(msg);
Components.utils.reportError(response);
throw new Error(Zotero.Sync.Storage.defaultError);
}
var uri = getItemURI(item);
var body = "update=" + uploadKey + "&mtime=" + item.attachmentModificationTime;
// Register upload on server
return Zotero.HTTP.promise("POST", uri, { body: body, headers: _headers, successCodes: [204] })
.then(function (req) {
updateItemFileInfo(item);
return {
localChanges: true,
remoteChanges: true
};
})
.fail(function (e) {
var msg = "Unexpected file registration status " + e.status
+ " (" + Zotero.Items.getLibraryKeyHash(item) + ")";
Zotero.debug(msg, 1);
Zotero.debug(e.xmlhttp.responseText);
Zotero.debug(e.xmlhttp.getAllResponseHeaders());
Components.utils.reportError(msg);
Components.utils.reportError(e.xmlhttp.responseText);
throw new Error(Zotero.Sync.Storage.defaultError);
});
Zotero.debug(response);
switch (status) {
case 201:
break;
case 500:
throw new Error("File upload failed. Please try again.");
default:
var msg = "Unexpected file upload status " + status
+ " in Zotero.Sync.Storage.ZFS.onUploadComplete()"
+ " (" + Zotero.Items.getLibraryKeyHash(item) + ")";
Zotero.debug(msg, 1);
Components.utils.reportError(msg);
Components.utils.reportError(response);
throw new Error(Zotero.Sync.Storage.defaultError);
}
var uri = getItemURI(item);
var body = "update=" + uploadKey + "&mtime=" + item.attachmentModificationTime;
// Register upload on server
return Zotero.HTTP.promise("POST", uri, { body: body, headers: _headers, successCodes: [204] })
.then(function (req) {
updateItemFileInfo(item);
return {
localChanges: true,
remoteChanges: true
};
})
.fail(function (e) {
var msg = "Unexpected file registration status " + e.status
+ " (" + Zotero.Items.getLibraryKeyHash(item) + ")";
Zotero.debug(msg, 1);
Zotero.debug(e.xmlhttp.responseText);
Zotero.debug(e.xmlhttp.getAllResponseHeaders());
Components.utils.reportError(msg);
Components.utils.reportError(e.xmlhttp.responseText);
throw new Error(Zotero.Sync.Storage.defaultError);
});
});
}
@ -684,8 +686,8 @@ Zotero.Sync.Storage.ZFS = (function () {
var ios = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService);
var uri = ios.newURI(url, null, null);
uri.username = username;
uri.password = password;
uri.username = encodeURIComponent(username);
uri.password = encodeURIComponent(password);
_rootURI = uri;
uri = uri.clone();
@ -811,6 +813,11 @@ Zotero.Sync.Storage.ZFS = (function () {
+ " in Zotero.Sync.Storage.ZFS.downloadFile()";
Zotero.debug(msg, 1);
Components.utils.reportError(msg);
// Ignore files not found in S3
if (status == 404) {
deferred.resolve(false);
return;
}
try {
Zotero.debug(Zotero.File.getContents(destFile, null, 4096), 1);
}

View file

@ -45,6 +45,22 @@ Zotero.Styles = new function() {
"csl":"http://purl.org/net/xbiblio/csl"
};
// TEMP
// Until we get asynchronous style loading, load renamed styles at startup, since the
// synchronous call we were using breaks the first drag of the session (on OS X, at least)
this.preinit = function () {
_renamedStyles = {};
Zotero.HTTP.promise(
"GET", "resource://zotero/schema/renamed-styles.json", { responseType: 'json' }
)
.then(function (xmlhttp) {
// Map some obsolete styles to current ones
if (xmlhttp.response) {
_renamedStyles = xmlhttp.response;
}
})
.done();
}
/**
* Initializes styles cache, loading metadata for styles into memory
@ -123,12 +139,7 @@ Zotero.Styles = new function() {
this.get = function(id, skipMappings) {
if(!_initialized) this.init();
// Map some obsolete styles to current ones
if(!_renamedStyles) {
_renamedStyles = JSON.parse(Zotero.File.getContentsFromURL(
"resource://zotero/schema/renamed-styles.json"
));
}
// TODO: With asynchronous style loading, move renamedStyles call back here
if(!skipMappings) {
var prefix = "http://www.zotero.org/styles/";
@ -352,7 +363,7 @@ Zotero.Styles = new function() {
return Zotero.HTTP.promise("GET", source).then(function(xmlhttp) {
return _install(xmlhttp.responseText, origin, true);
}).fail(function(error) {
if(typeof error === "object" && error instanceof Zotero.Exception) {
if(typeof error === "object" && error instanceof Zotero.Exception.Alert) {
throw new Zotero.Exception.Alert("styles.installSourceError", [origin, source],
"styles.install.title", error);
} else {

View file

@ -2858,6 +2858,7 @@ Zotero.Sync.Server.Data = new function() {
var toSave = [];
var toDelete = [];
var toReconcile = [];
var skipDateModifiedUpdateItems = {};
// Display a warning once for each object type
syncSession.suppressWarnings = false;
@ -2977,9 +2978,36 @@ Zotero.Sync.Server.Data = new function() {
case 'item':
var diff = obj.diff(remoteObj, false, ["dateAdded", "dateModified"]);
Zotero.debug('Diff:');
Zotero.debug(diff);
if (!diff) {
if (diff) {
Zotero.debug('Diff:');
Zotero.debug(diff);
try {
let dateField;
if (!Object.keys(diff[0].primary).length
&& !Object.keys(diff[1].primary).length
&& !diff[0].creators.length
&& !diff[1].creators.length
&& Object.keys(diff[0].fields).length == 1
&& (dateField = Object.keys(diff[0].fields)[0])
&& Zotero.ItemFields.isFieldOfBase(dateField, 'date')
&& /[0-9]{2}:[0-9]{2}:[0-9]{2}/.test(diff[0].fields[dateField])
&& Zotero.Date.isSQLDateTime(diff[1].fields[dateField])
&& diff[1].fields[dateField].substr(11).indexOf(diff[0].fields[dateField]) == 0) {
Zotero.debug("Marking local item with corrupted SQL date for overwriting", 2);
obj.setField(dateField, diff[1].fields[dateField]);
skipDateModifiedUpdateItems[obj.id] = true;
syncSession.removeFromUpdated(obj);
skipCR = true;
break;
}
}
catch (e) {
Components.utils.reportError(e);
Zotero.debug(e, 1);
}
}
else {
// Check if creators changed
var creatorsChanged = false;
@ -3390,7 +3418,9 @@ Zotero.Sync.Server.Data = new function() {
// Save parent items first
for (var i=0; i<toSave.length; i++) {
if (!toSave[i].getSourceKey()) {
toSave[i].save();
toSave[i].save({
skipDateModifiedUpdate: !!skipDateModifiedUpdateItems[toSave[i].id]
});
toSave.splice(i, 1);
i--;
}

View file

@ -132,7 +132,7 @@ Zotero.Translate.Sandbox = {
var nAttachments = attachments.length;
for(var j=0; j<nAttachments; j++) {
if(attachments[j].document) {
attachments[j].url = attachments[j].document.location.href;
attachments[j].url = attachments[j].document.documentURI || attachments[j].document.URL;
attachments[j].mimeType = "text/html";
delete attachments[j].document;
}
@ -2604,6 +2604,11 @@ Zotero.Translate.IO._RDFSandbox.prototype = {
*/
"getResourceURI":function(resource) {
if(typeof(resource) == "string") return resource;
const rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
var values = this.getTargets(resource, rdf + 'value');
if(values && values.length) return this.getResourceURI(values[0]);
if(resource.uri) return resource.uri;
if(resource.toNT == undefined) throw new Error("Zotero.RDF: getResourceURI called on invalid resource");
return resource.toNT();

View file

@ -758,13 +758,17 @@ Zotero.Utilities = {
// not first or last word
&& i != 0 && i != lastWordIndex
// does not follow a colon
&& (previousWordIndex == -1 || words[previousWordIndex][words[previousWordIndex].length-1] != ":")
&& (previousWordIndex == -1 || words[previousWordIndex][words[previousWordIndex].length-1].search(/[:\?!]/)==-1)
) {
words[i] = lowerCaseVariant;
} else {
// this is not a skip word or comes after a colon;
// we must capitalize
words[i] = upperCaseVariant.substr(0, 1) + lowerCaseVariant.substr(1);
// handle punctuation in the beginning, including multiple, as in "¿Qué pasa?"
var punct = words[i].match(/^[\'\"¡¿“‘„«\s]+/);
punct = punct ? punct[0].length+1 : 1;
words[i] = words[i].length ? words[i].substr(0, punct).toUpperCase() +
words[i].substr(punct).toLowerCase() : words[i];
}
}

View file

@ -234,7 +234,7 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
*
* @return {Boolean|Promise:Boolean}
*/
function init() {
function init(options) {
if (this.initialized || this.skipLoading) {
return false;
}
@ -245,7 +245,11 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
// Load in the preferences branch for the extension
Zotero.Prefs.init();
Zotero.Debug.init();
Zotero.Debug.init(options && options.forceDebugLog);
if (options) {
if (options.openPane) this.openPane = true;
}
this.mainThread = Services.tm.mainThread;
@ -768,6 +772,11 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
Zotero.DB.test();
var dbfile = Zotero.getZoteroDatabase();
// Tell any other Zotero instances to release their lock,
// in case we lost the lock on the database (how?) and it's
// now open in two places at once
Zotero.IPC.broadcast("releaseLock "+dbfile.persistentDescriptor);
// Test write access on Zotero data directory
if (!dbfile.parent.isWritable()) {
@ -894,8 +903,8 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
// Zotero.DBConnection.getStatement() explicitly
Components.utils.forceGC();
// unlock DB
return Zotero.DB.closeDatabase().then(function() {
// close DB
return Zotero.DB.closeDatabase(true).then(function() {
// broadcast that DB lock has been released
Zotero.IPC.broadcast("lockReleased");
});
@ -2021,7 +2030,7 @@ Components.utils.import("resource://gre/modules/osfile.jsm");
'function skype_',
'[JavaScript Error: "uncaught exception: Permission denied to call method Location.toString"]',
'CVE-2009-3555',
'OpenGL LayerManager',
'OpenGL',
'trying to re-register CID',
'Services.HealthReport',
'[JavaScript Error: "this.docShell is null"',
@ -2167,7 +2176,10 @@ Zotero.Prefs = new function(){
case this.prefBranch.PREF_BOOL:
return this.prefBranch.setBoolPref(pref, value);
case this.prefBranch.PREF_STRING:
return this.prefBranch.setCharPref(pref, value);
let str = Cc["@mozilla.org/supports-string;1"]
.createInstance(Ci.nsISupportsString);
str.data = value;
return this.prefBranch.setComplexValue(pref, Ci.nsISupportsString, str);
case this.prefBranch.PREF_INT:
return this.prefBranch.setIntPref(pref, value);
@ -2188,7 +2200,9 @@ Zotero.Prefs = new function(){
throw ("Invalid preference value '" + value + "' for pref '" + pref + "'");
}
}
catch (e){
catch (e) {
Components.utils.reportError(e);
Zotero.debug(e, 1);
throw ("Invalid preference '" + pref + "'");
}
}

View file

@ -145,9 +145,9 @@ var ZoteroPane = new function()
* mode
*/
function _loadPane() {
if(!Zotero.isConnector) {
ZoteroPane_Local.clearItemsPaneMessage();
}
if(!Zotero || !Zotero.initialized || Zotero.isConnector) return;
ZoteroPane_Local.clearItemsPaneMessage();
//Initialize collections view
ZoteroPane_Local.collectionsView = new Zotero.CollectionTreeView();
@ -1111,12 +1111,6 @@ var ZoteroPane = new function()
if (this.itemsView)
{
this.itemsView.unregister();
if (this.itemsView.wrappedJSObject.listener) {
document.getElementById('zotero-items-tree').removeEventListener(
'keypress', this.itemsView.wrappedJSObject.listener, false
);
}
this.itemsView.wrappedJSObject.listener = null;
document.getElementById('zotero-items-tree').view = this.itemsView = null;
}

View file

@ -314,14 +314,22 @@
ondragover="return ZoteroPane_Local.collectionsView.onDragOver(event)"
ondrop="return ZoteroPane_Local.collectionsView.onDrop(event)"/>
</tree>
<splitter id="zotero-tags-splitter" onmouseup="ZoteroPane_Local.updateTagSelectorSize()" collapse="after">
<splitter id="zotero-tags-splitter" onmouseup="ZoteroPane_Local.updateTagSelectorSize()" collapse="after"
zotero-persist="state">
<grippy oncommand="ZoteroPane_Local.toggleTagSelector()"/>
</splitter>
<!-- 'collapsed' is no longer necessary here due to the persisted 'state' on
zotero-tags-splitter, but without this an old-style entry for 'collapsed'
in localstore.rdf can cause the pane to always be closed on Zotero open.
TODO: deal with this some other way?
-->
<zoterotagselector id="zotero-tag-selector" zotero-persist="height,collapsed,showAutomatic,filterToScope"
oncommand="ZoteroPane_Local.updateTagFilter()"/>
</vbox>
<splitter id="zotero-collections-splitter" resizebefore="closest" resizeafter="closest" collapse="before"
zotero-persist="state"
onmousemove="document.getElementById('zotero-items-toolbar').setAttribute('state', this.getAttribute('state'));ZoteroPane_Local.updateToolbarPosition();"
oncommand="ZoteroPane_Local.updateToolbarPosition()">
<grippy id="zotero-collections-grippy"/>

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Ontkies alles">
<!ENTITY zotero.general.edit "Redigeer">
<!ENTITY zotero.general.delete "Skrap">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "The error log may include messages unrelated to Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancel">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF Name">
<!ENTITY zotero.recognizePDF.itemName.label "Item Name">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "Cancel">

View file

@ -760,9 +760,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Please enter a password.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=A sync operation is already in progress.
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
@ -895,12 +895,16 @@ proxies.recognized.add=Add Proxy
recognizePDF.noOCR=PDF does not contain OCRed text.
recognizePDF.couldNotRead=Could not read text from PDF.
recognizePDF.noMatches=No matching references found.
recognizePDF.fileNotFound=File not found.
recognizePDF.limit=Query limit reached. Try again later.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metadata Retrieval Complete.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Close
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Select a file to scan
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "إلغاء تحديد الكل">
<!ENTITY zotero.general.edit "تحرير">
<!ENTITY zotero.general.delete "حذف">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "قد يتضمن سجل الاخطاء على رسائل ليس لها علاقة بزوتيرو.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "إلغاء">
<!ENTITY zotero.recognizePDF.pdfName.label "اسم ملف PDF">
<!ENTITY zotero.recognizePDF.itemName.label "اسم العنصر">
<!ENTITY zotero.recognizePDF.captcha.label "اكتب النص التالي لمواصلة استرجاع البيانات الوصفية.">
<!ENTITY zotero.rtfScan.title "فحص ملف RTF">
<!ENTITY zotero.rtfScan.cancel.label "إلغاء">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=برجاء أعادة تشغيل %S.
general.restartFirefoxAndTryAgain=برجاء أعادة تشغيل %S ثم أعد المحاولة مرة أخرى.
general.checkForUpdate=التحقق من وجود تحديث
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=لا يمكن تجاهل هذا الاجراء.
general.install=تنصيب
general.updateAvailable=يوجد تحديث
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=الرجاء إدخال كلمة المرور.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=قم بإغلاق متصفح الفايرفوكس، قم بإجراء النسخ الاحتياطي وحذف تسجيلات الدخول.* من الملف الشخصي لمتصفح فايرفوكس الخاص بك, ثم قم بإعادة إدخال معلومات تسجيل الدخول لزوتيرو في تبويب التزامن بتفضيلات زوتيرو.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=عملية التزامن قيد العمل بالفعل.
sync.error.syncInProgress.wait=انتظر اتمام عملية المزامنة السابقة أو قم بإعادة تشغيل متصفح الفايرفوكس.
sync.error.writeAccessLost=لم يعد لديك حق الكتابة على مجموعة المشاركة لزوتيرو '%S', والملفات التي قمت بإضافتها او تحريرها لا يمكن مزامنتها الى الخادم.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=إذا قمت بالمتابعة، سيتم إعادة تعيين نسختك من مجموعة المشاركة إلى وضعها على الخادم، وسوف تفقد التعديلات المحلية على العناصر والملفات.
sync.error.copyChangedItems=إذا كنت ترغب بنسخ التغييرات التي قمت بها في مكان آخر أو طلب حق الكتابة من مسؤول مجموعة المشاركة، قم بإلغاء التزامن الآن.
sync.error.manualInterventionRequired=أسفرت المزامنة التلقائية عن تضارب الذي يتطلب التدخل اليدوي.
@ -895,12 +895,16 @@ proxies.recognized.add=إضافة وكيل
recognizePDF.noOCR=لا يحتوي ملف PDF على نصوص OCR محولة.
recognizePDF.couldNotRead=تعذر قراءة النص في ملف PDF.
recognizePDF.noMatches=لم يتم العثور على مراجع مطابقة.
recognizePDF.fileNotFound=لم يتم العثور على الملف.
recognizePDF.limit=بلغ الاستعلام للحد الاقصى. حاول مجددا فيما بعد.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=تمت عملية استرجاع البيانات الوصفية.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=إغلاق
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=حدد ملف لفحصه
rtfScan.scanning.label=جاري فحص مستند RTF...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Отказ на всички">
<!ENTITY zotero.general.edit "Редактира">
<!ENTITY zotero.general.delete "Изтрива">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "Дневника с грешките може да съдържа съобщения несвързани с Зотеро.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Отказ">
<!ENTITY zotero.recognizePDF.pdfName.label "Име на PDF">
<!ENTITY zotero.recognizePDF.itemName.label "Име на запис">
<!ENTITY zotero.recognizePDF.captcha.label "Въведете текста по-долу за да продължи извличането на метадани.">
<!ENTITY zotero.rtfScan.title "Преглед на RTF">
<!ENTITY zotero.rtfScan.cancel.label "Отказ">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Моля рестартирайте Firefox.
general.restartFirefoxAndTryAgain=Моля рестартирайте Firefox и опитайте отново.
general.checkForUpdate=Проверка за осъвременена версия
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=Това действие е необратимо.
general.install=Инсталация
general.updateAvailable=Има осъвременена версия
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Моля въведете парола
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Затворете Firefox, копирайте и изтрийте записана логин информация* от вашият Firefox профил, след което въведете отново Вашият Зотеро логин в панела за синхронизация на настройките на Зотеро.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Операция за синхронизиране тече в момента.
sync.error.syncInProgress.wait=Изчакайте предходната синхронизация да приключи или рестартирайте Firefox.
sync.error.writeAccessLost=Вие не притежавате достъп за писане в Зотеро групата "%S" и файловете, които сте добавили или редактирали не могат да бъдат синхронизирани със сървъра.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=Ако продължите, вашето копие на групата ще бъде възстановено от сървъра и локалните модификации на записи и файлове ще бъдат загубени.
sync.error.copyChangedItems=Ако желаете да копирате вашите промени някъде другаде или да поискате достъп за писане от администратора на вашата група, откажете синхронизацията.
sync.error.manualInterventionRequired=Възникна конфликт по време на автоматичната синхронизация, който изисква корекция на ръка.
@ -895,12 +895,16 @@ proxies.recognized.add=Добавя прокси
recognizePDF.noOCR=Този PDF файл не съдържа оптически разпознат текст.
recognizePDF.couldNotRead=Текста на този PDF файл не може да бъде прочетен.
recognizePDF.noMatches=Не са открити съответстващи препратки.
recognizePDF.fileNotFound=Файла не беше намерен.
recognizePDF.limit=Достигнат е лимита на запитванията. Опитайте отново по-късно.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Изтеглянето на метаданите приключи.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Затваря
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Изберете файл, който да бъде сканиран
rtfScan.scanning.label=Сканира RTF документ...

View file

@ -12,17 +12,17 @@
<!ENTITY zotero.preferences.showIn.browserPane "Subfinestra del navegador">
<!ENTITY zotero.preferences.showIn.separateTab "Pestanya separada">
<!ENTITY zotero.preferences.showIn.appTab "Pestanya d'aplicacions">
<!ENTITY zotero.preferences.statusBarIcon "Icona a la barra d&apos;estatus">
<!ENTITY zotero.preferences.statusBarIcon "Icona de la barra d&apos;estat">
<!ENTITY zotero.preferences.statusBarIcon.none "Cap">
<!ENTITY zotero.preferences.fontSize "Mida de lletra:">
<!ENTITY zotero.preferences.fontSize.small "Petita">
<!ENTITY zotero.preferences.fontSize.medium "Mitjana">
<!ENTITY zotero.preferences.fontSize.large "Gran">
<!ENTITY zotero.preferences.fontSize.xlarge "Molt gran">
<!ENTITY zotero.preferences.fontSize.large "Grossa">
<!ENTITY zotero.preferences.fontSize.xlarge "Molt grossa">
<!ENTITY zotero.preferences.fontSize.notes "Mida de lletra de la nota:">
<!ENTITY zotero.preferences.miscellaneous "Miscel·lània">
<!ENTITY zotero.preferences.autoUpdate "Automatically check for updated translators and styles">
<!ENTITY zotero.preferences.autoUpdate "Comprova automàticament si hi ha traductors o estils actualitzats">
<!ENTITY zotero.preferences.updateNow "Actualitza ara">
<!ENTITY zotero.preferences.reportTranslationFailure "Envia un informe dels transcriptors trencats">
<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader "Permeteu que zotero.org personalitzi el contingut en base a la versió actual del Zotero">
@ -35,7 +35,7 @@
<!ENTITY zotero.preferences.trashAutoEmptyDaysPost "dies">
<!ENTITY zotero.preferences.groups "Grups">
<!ENTITY zotero.preferences.groups.whenCopyingInclude "Quan copiïs elements entre les biblioteques, inclou:">
<!ENTITY zotero.preferences.groups.whenCopyingInclude "Quan copiïs elements entre les biblioteques, inclou-hi:">
<!ENTITY zotero.preferences.groups.childNotes "notes descendents">
<!ENTITY zotero.preferences.groups.childFiles "instantànies descendents i fitxers importats">
<!ENTITY zotero.preferences.groups.childLinks "enllaços descendents">
@ -128,7 +128,7 @@
<!ENTITY zotero.preferences.prefpane.keys "Dreceres de teclat">
<!ENTITY zotero.preferences.keys.openZotero "Obre/Tanca el Zotero">
<!ENTITY zotero.preferences.keys.saveToZotero "Save to Zotero (address bar icon)">
<!ENTITY zotero.preferences.keys.saveToZotero "Desa al Zotero (icona de la barra d'adreces)">
<!ENTITY zotero.preferences.keys.toggleFullscreen "Canvia a pantalla completa">
<!ENTITY zotero.preferences.keys.focusLibrariesPane "Enfoca la subfinestra de les biblioteques">
<!ENTITY zotero.preferences.keys.quicksearch "Cerca ràpida">
@ -163,7 +163,7 @@
<!ENTITY zotero.preferences.proxies.a_variable "&#37;a - Qualsevol cadena">
<!ENTITY zotero.preferences.prefpane.advanced "Avançat">
<!ENTITY zotero.preferences.advanced.filesAndFolders "Files and Folders">
<!ENTITY zotero.preferences.advanced.filesAndFolders "Fitxers i carpetes">
<!ENTITY zotero.preferences.prefpane.locate "Localitza">
<!ENTITY zotero.preferences.locate.locateEngineManager "Gestor del motor de cerca d'articles">
@ -186,7 +186,7 @@
<!ENTITY zotero.preferences.attachmentBaseDir.caption "Linked Attachment Base Directory">
<!ENTITY zotero.preferences.attachmentBaseDir.message "Zotero will use relative paths for linked file attachments within the base directory, allowing you to access files on different computers as long as the file structure within the base directory remains the same.">
<!ENTITY zotero.preferences.attachmentBaseDir.basePath "Base directory:">
<!ENTITY zotero.preferences.attachmentBaseDir.selectBasePath "Choose…">
<!ENTITY zotero.preferences.attachmentBaseDir.selectBasePath "Tria...">
<!ENTITY zotero.preferences.attachmentBaseDir.resetBasePath "Revert to Absolute Paths…">
<!ENTITY zotero.preferences.dbMaintenance "Manteniment de la base de dades">

View file

@ -97,5 +97,5 @@
<!ENTITY helpFeedbackPage.accesskey "S">
<!ENTITY helpReportErrors.label "Informa d'errors al Zotero">
<!ENTITY helpReportErrors.accesskey "R">
<!ENTITY helpCheckForUpdates.label "Comprova actualitzacions">
<!ENTITY helpCheckForUpdates.label "Comprova si hi ha actualitzacions...">
<!ENTITY helpCheckForUpdates.accesskey "U">

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Desselecciona tot">
<!ENTITY zotero.general.edit "Edita">
<!ENTITY zotero.general.delete "Suprimeix">
<!ENTITY zotero.general.ok "D'acord">
<!ENTITY zotero.general.cancel "Cancel·la">
<!ENTITY zotero.errorReport.title "Informe d'error de Zotero">
<!ENTITY zotero.errorReport.unrelatedMessages "El registre d&apos;error pot incloure missatges no relacionats amb el Zotero.">
@ -25,7 +27,7 @@
<!ENTITY zotero.upgrade.upgradeSucceeded "La vostra base de dades del Zotero s&apos;ha actualitzat correctament">
<!ENTITY zotero.upgrade.changeLogBeforeLink "Mireu">
<!ENTITY zotero.upgrade.changeLogLink "la llista de canvis">
<!ENTITY zotero.upgrade.changeLogAfterLink "per esbrinar les novetats">
<!ENTITY zotero.upgrade.changeLogAfterLink "per esbrinar si hi ha novetats">
<!ENTITY zotero.contextMenu.addTextToCurrentNote "Afegeix la selecció a una nota del Zotero">
<!ENTITY zotero.contextMenu.addTextToNewNote "Crea un element del Zotero i una nota amb la selecció">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancel·la">
<!ENTITY zotero.recognizePDF.pdfName.label "Nom del PDF">
<!ENTITY zotero.recognizePDF.itemName.label "Nom de l'element">
<!ENTITY zotero.recognizePDF.captcha.label "Escriviu el text de sota per continuar la recuperació de les metadades.">
<!ENTITY zotero.rtfScan.title "Escaneig de l'RTF">
<!ENTITY zotero.rtfScan.cancel.label "Cancel·la">

View file

@ -15,21 +15,21 @@ general.restartApp=Reinicia %S
general.quitApp=Surt de %S
general.errorHasOccurred=S'ha produït un error
general.unknownErrorOccurred=S'ha produït un error desconegut.
general.invalidResponseServer=Invalid response from server.
general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.invalidResponseServer=Resposta invàlida del servidor.
general.tryAgainLater=Torneu-ho a intentar d'aquí a uns minuts.
general.serverError=El servidor ha enviat un missatge d'error. Torneu-ho a intentar.
general.restartFirefox=Reinicieu el Firefox.
general.restartFirefoxAndTryAgain=Reinicieu el Firefox i torneu-ho a provar
general.checkForUpdate=Comprova si hi ha actualitzacions
general.checkForUpdate=Cerca si hi ha cap actualització
general.actionCannotBeUndone=Aquesta acció no es pot desfer.
general.install=Instal·la
general.updateAvailable=Actualització disponible
general.noUpdatesFound=No Updates Found
general.updateAvailable=Hi ha una actualització disponible
general.noUpdatesFound=No s'han trobat actualitzacions
general.isUpToDate=%S is up to date.
general.upgrade=Actualitza
general.yes=
general.no=No
general.notNow=Not Now
general.notNow=Ara no
general.passed=Passat
general.failed=Ha fallat
general.and=i
@ -51,7 +51,7 @@ general.quit=Surt
general.useDefault=Utilitza el valor per defecte
general.openDocumentation=Obre la documentació
general.numMore=%S més...
general.openPreferences=Open Preferences
general.openPreferences=Obre les preferències
general.keys.ctrlShift=Ctrl+Shift+
general.keys.cmdShift=Cmd+Shift+
@ -86,13 +86,13 @@ errorReport.advanceMessage=Premeu %S per enviar un informe d'error als desenvolu
errorReport.stepsToReproduce=Passos per a reproduir-lo:
errorReport.expectedResult=Resultat esperat:
errorReport.actualResult=Resultat real:
errorReport.noNetworkConnection=No network connection
errorReport.noNetworkConnection=No hi ha connexió a la xarxa
errorReport.invalidResponseRepository=Invalid response from repository
errorReport.repoCannotBeContacted=Repository cannot be contacted
attachmentBasePath.selectDir=Choose Base Directory
attachmentBasePath.chooseNewPath.title=Confirm New Base Directory
attachmentBasePath.selectDir=Tria el directori base
attachmentBasePath.chooseNewPath.title=Confirma el directori base nou
attachmentBasePath.chooseNewPath.message=Linked file attachments below this directory will be saved using relative paths.
attachmentBasePath.chooseNewPath.existingAttachments.singular=One existing attachment was found within the new base directory.
attachmentBasePath.chooseNewPath.existingAttachments.plural=%S existing attachments were found within the new base directory.
@ -147,11 +147,11 @@ date.relative.yearsAgo.multiple=Fa %S anys
pane.collections.delete.title=Suprimeix la col·lecció
pane.collections.delete=Segur que voleu eliminar la col·lecció seleccionada?
pane.collections.delete.keepItems=Items within this collection will not be deleted.
pane.collections.deleteWithItems.title=Delete Collection and Items
pane.collections.deleteWithItems=Are you sure you want to delete the selected collection and move all items within it to the Trash?
pane.collections.delete.keepItems=Els elements d'aquesta col·lecció no s'esborraran
pane.collections.deleteWithItems.title=Esborra la col·lecció i els elements
pane.collections.deleteWithItems=Segur que voleu esborrar la col·lecció seleccionada i enviar tots els elements que conté a la paperera?
pane.collections.deleteSearch.title=Delete Search
pane.collections.deleteSearch.title=Esborra la cerca
pane.collections.deleteSearch=Segur que voleu eliminar la cerca seleccionada?
pane.collections.emptyTrash=Segur que vols eliminar permanentment els elements de la paperera?
pane.collections.newCollection=Nova col·lecció
@ -159,8 +159,8 @@ pane.collections.name=Nom de la col·lecció:
pane.collections.newSavedSeach=Nova cerca desada
pane.collections.savedSearchName=Entra un mom per aquesta cerca desada
pane.collections.rename=Canvia el nom de la col·lecció:
pane.collections.library=La meva llibreria
pane.collections.groupLibraries=Group Libraries
pane.collections.library=La meva biblioteca
pane.collections.groupLibraries=Agrupa les biblioteques
pane.collections.trash=Paperera
pane.collections.untitled=Sense títol
pane.collections.unfiled=Elements sense emplenar
@ -168,9 +168,9 @@ pane.collections.duplicate=Duplica els elements
pane.collections.menu.rename.collection=Canvia el nom de la col·lecció...
pane.collections.menu.edit.savedSearch=Edita la cerca desada
pane.collections.menu.delete.collection=Delete Collection…
pane.collections.menu.delete.collectionAndItems=Delete Collection and Items…
pane.collections.menu.delete.savedSearch=Delete Saved Search…
pane.collections.menu.delete.collection=Esborra la col·lecció...
pane.collections.menu.delete.collectionAndItems=Esborra la col·lecció i els elements...
pane.collections.menu.delete.savedSearch=Esborra la cerca desada...
pane.collections.menu.export.collection=Exporta la col·lecció...
pane.collections.menu.export.savedSearch=Exporta la cerca desada...
pane.collections.menu.createBib.collection=Crea una bibliografia a partir de la col·lecció...
@ -186,10 +186,10 @@ pane.tagSelector.delete.message=Aquesta etiqueta s'esborrarà de tots els elemen
pane.tagSelector.numSelected.none=No hi ha cap etiqueta seleccionada
pane.tagSelector.numSelected.singular=%S etiqueta seleccionada
pane.tagSelector.numSelected.plural=%S etiquetes seleccionades
pane.tagSelector.maxColoredTags=Only %S tags in each library can have colors assigned.
pane.tagSelector.maxColoredTags=Només a %S etiquetes de cada biblioteca poden tenir colors assignats.
tagColorChooser.numberKeyInstructions=You can add this tag to selected items by pressing the $NUMBER key on the keyboard.
tagColorChooser.maxTags=Up to %S tags in each library can have colors assigned.
tagColorChooser.maxTags=Fins a %S etiquetes de cada biblioteca poden tenir colors assignats.
pane.items.loading=Carregant la llista d'elements...
pane.items.attach.link.uri.title=Attach Link to URI
@ -202,8 +202,8 @@ pane.items.delete=Segur que voleu eliminar l'element seleccionat?
pane.items.delete.multiple=Segur que voleu eliminar els elements seleccionats?
pane.items.menu.remove=Elimina l'element seleccionat
pane.items.menu.remove.multiple=Elimina els elements seleccionats
pane.items.menu.moveToTrash=Move Item to Trash…
pane.items.menu.moveToTrash.multiple=Move Items to Trash…
pane.items.menu.moveToTrash=Desplaça l'element a la paperera.
pane.items.menu.moveToTrash.multiple=Desplaça els elements a la paperera...
pane.items.menu.export=Exporta l'element seleccionat...
pane.items.menu.export.multiple=Exporta els elements seleccionats...
pane.items.menu.createBib=Crea una bibliografia a partir de l'element seleccionat...
@ -580,7 +580,7 @@ fileInterface.export=Exporta
fileInterface.exportedItems=Elements exportats
fileInterface.imported=Importat
fileInterface.unsupportedFormat=The selected file is not in a supported format.
fileInterface.viewSupportedFormats=View Supported Formats…
fileInterface.viewSupportedFormats=Mostra els formats compatibles...
fileInterface.untitledBibliography=Bibliografia sense títol
fileInterface.bibliographyHTMLTitle=Bibliografia
fileInterface.importError=S'ha produït un error quan s'intentava importar el fitxer seleccionat. Assegureu-vos que el fitxer és correcte i torneu-ho a intentar.
@ -589,9 +589,9 @@ fileInterface.noReferencesError=Els elements seleccionats no contenen cap refer
fileInterface.bibliographyGenerationError=S'ha produït un error quan es generava la bibliografia. Torneu-ho a intentar.
fileInterface.exportError=S'ha produït un error quan s'intentava exportar l'element seleccionat.
quickSearch.mode.titleCreatorYear=Title, Creator, Year
quickSearch.mode.fieldsAndTags=All Fields & Tags
quickSearch.mode.everything=Everything
quickSearch.mode.titleCreatorYear=Títol, autor, any
quickSearch.mode.fieldsAndTags=Tots els camps i etiquetes
quickSearch.mode.everything=Tot
advancedSearchMode=Mode de cerca avançada — premeu la tecla de Retorn per a cercar
searchInProgress=Cerca en curs — espereu.
@ -697,7 +697,7 @@ integration.cited.loading=Carregant els elements citats...
integration.ibid=ibídem
integration.emptyCitationWarning.title=Cita en blanc
integration.emptyCitationWarning.body=La cita s'ha especificat estaria buida en l'estil seleccionat. Segur que la voleu afegir?
integration.openInLibrary=Open in %S
integration.openInLibrary=Obre a %S
integration.error.incompatibleVersion=Aquesta versió del connector de processador de textos del Zotero ($INTEGRATION_VERSION) és incompatible ambla versió actual del Zotero (%1$S). Assegureu-vos que feu servir les darreres versions de tots dos components.
integration.error.incompatibleVersion2=Zotero %1$S requereix %2$S %3$S o versions posteriors. Descarregueu la darrera versió de %2$S des de zotero.org.
@ -728,8 +728,8 @@ integration.citationChanged=Heu modificat aquesta cita des que Zotero la va gene
integration.citationChanged.description=En feu clic a "Sí" evitareu que el Zotero actualitzi aquesta cita si n'afegiu més de cites, commuteu els estils, o modifiqueu la referència a què es refereix. Si feu clic a "No", s'eliminaran els canvis.
integration.citationChanged.edit=Heu modificat aquesta cita des que el Zotero la generà. Si l'editeu netejareu les modificacions. Voleu continuar?
styles.install.title=Install Style
styles.install.unexpectedError=An unexpected error occurred while installing "%1$S"
styles.install.title=Instal·la l'estil
styles.install.unexpectedError=S'ha produït un error inesperat durant la instal·lació de "%1$S"
styles.installStyle=Instal·la estil "%1$S" des de %2$S?
styles.updateStyle=Actualitza l'estil existent "%1$S" amb "%2$S" des de %3$S?
styles.installed=L'estil "%S" s'ha instal·lat correctament
@ -739,7 +739,7 @@ styles.installSourceError=%1$S fa referència a un fitxer inexistent o no vàlid
styles.deleteStyle=Segur que voleu suprimir l'estil "%1$S"?
styles.deleteStyles=Segur que voleu suprimir els estils seleccionats?
styles.abbreviations.title=Load Abbreviations
styles.abbreviations.title=Carrega les abreviacions
styles.abbreviations.parseError=The abbreviations file "%1$S" is not valid JSON.
styles.abbreviations.missingInfo=The abbreviations file "%1$S" does not specify a complete info block.
@ -759,13 +759,13 @@ sync.error.invalidLogin=Nom d'usuari o contrasenya no vàlid
sync.error.invalidLogin.text=The Zotero sync server did not accept your username and password.\n\nPlease check that you have entered your zotero.org login information correctly in the Zotero sync preferences.
sync.error.enterPassword=Introduïu una contrasenya.
sync.error.loginManagerInaccessible=Zotero no pot accedir a la seva informació d'inici de sessió
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.checkMasterPassword=Si feu servir una contrasenya mestra a %S, assegureu-vos que l'heu introduïda correctament.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Ja està en marxa una operació de sincronització.
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
sync.error.writeAccessLost=Ja no tens accés d'escriptura al grupo de Zotero '%S' i els fitxers que has afegit o editat no es poden sincronitzar amb el servidor.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=Si continueu, la còpia del grup es reinicialitzarà al vostre estat al servidor i les modificacions locals dels elements i els fitxers es perdran.
sync.error.copyChangedItems=Cancel·la la sincronització ara si t'agradaria tenir l'oportunitat de copiar els canvis en un altre lloc o per tal de sol·licitar l'accés d'escriptura a un administrador del grup.
sync.error.manualInterventionRequired=Una sincronització automàtica ha donat lloc a un conflicte que requereix intervenció manual.
@ -810,7 +810,7 @@ sync.status.notYetSynced=Encara no s'ha sincronitzat
sync.status.lastSync=Darrera sincronització:
sync.status.loggingIn=Inici de sessió al servidor de sincronització
sync.status.gettingUpdatedData=Obtenint dades actualitzades de servidor de sincronització
sync.status.processingUpdatedData=Processing updated data
sync.status.processingUpdatedData=Processant les dades actualitzades del servidor de sincronització
sync.status.uploadingData=Carregant dades per sincronitzar el servidor
sync.status.uploadAccepted=Càrrega acceptada \u2014 en espera del servidor de sincronització
sync.status.syncingFiles=Sincronització dels fitxers
@ -866,7 +866,7 @@ sync.storage.error.webdav.serverConfig.title=Error de configuració del servidor
sync.storage.error.webdav.serverConfig=El vostre servidor WebDAV ha tornat un error intern.
sync.storage.error.zfs.restart=A file sync error occurred. Please restart %S and/or your computer and try syncing again.\n\nIf the error persists, there may be a problem with either your computer or your network: security software, proxy server, VPN, etc. Try disabling any security/firewall software you're using or, if this is a laptop, try from a different network.
sync.storage.error.zfs.tooManyQueuedUploads=You have too many queued uploads. Please try again in %S minutes.
sync.storage.error.zfs.tooManyQueuedUploads=Teniu massa càrregues a la cua. Torneu a intentar d'aquí a %S minuts.
sync.storage.error.zfs.personalQuotaReached1=Heu arribat al límit d'emmagatzematge de fitxers al Zotero. Alguns fitxers no s'han carregat. La resta de dades del Zotero se seguiran sincronitzant amb el servidor.
sync.storage.error.zfs.personalQuotaReached2=Llegiu la configuració del vostre compte a zotero.org per conèixer opcions addicionals d'emmagatzematge.
sync.storage.error.zfs.groupQuotaReached1=El grup '%S' ha arribat al límit d'emmagatzematge de fitxers al Zotero. Alguns fitxers no s'han carregat. La resta de dades del Zotero es continuaran sincronitzant amb el servidor.
@ -895,12 +895,16 @@ proxies.recognized.add=Afegeix el servidor intermediari
recognizePDF.noOCR=El PDF no conté text reconeixible.
recognizePDF.couldNotRead=No s'ha pogut llegir el text d'un PDF.
recognizePDF.noMatches=No s'han trobat referències coincidents.
recognizePDF.fileNotFound=No s'ha trobat el fitxer.
recognizePDF.limit=Límit de consulta assolit. Intenta-ho més tard.
recognizePDF.noMatches=No s'han trobat referències coincidents
recognizePDF.fileNotFound=No s'ha trobat el fitxer
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=S'ha produït un error inesperat.
recognizePDF.complete.label=Recuperació de les metadades completada.
recognizePDF.stopped=Cancel·lat
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Tanca
recognizePDF.captcha.title=Introduïu el codi CAPTCHA
recognizePDF.captcha.description=El Zotero fa servir el Google Scholar per ajudar a identificar fitxers PDF. Per continuar fent servir el Google Scholar, introduïu el text de la imatge següent.
rtfScan.openTitle=Selecciona un fitxer per escanejar
rtfScan.scanning.label=Scanning RTF Document...
@ -911,19 +915,19 @@ rtfScan.scannedFileSuffix=(Escanejat)
file.accessError.theFile=El fitxer '%S'
file.accessError.aFile=A file
file.accessError.cannotBe=cannot be
file.accessError.created=created
file.accessError.updated=updated
file.accessError.deleted=deleted
file.accessError.aFile=Un fitxer
file.accessError.cannotBe=no pot ser
file.accessError.created=creat
file.accessError.updated=actualitzat
file.accessError.deleted=esborrat
file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename.
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.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
lookup.failure.title=Error en la cerca
lookup.failure.description=Zotero no va poder trobar un registre per l'identificador especificat. Si us plau, comprova l'identificador i torna a intentar-ho.
lookup.failureToID.description=Zotero could not find any identifiers in your input. Please verify your input and try again.
lookup.failure.description=El Zotero no ha pogut trobar un registre per a l'identificador especificat. Comproveu l'identificador i torneu-ho a intentar.
lookup.failureToID.description=El Zotero no ha pogut trobar cap dels identificadors de l'entrada. Verifiqueu l'entrada i torneu-ho a intentar.
locate.online.label=Veure en línia
locate.online.tooltip=Vés a aquest element en línia
@ -955,7 +959,7 @@ 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. Fes clic en aquesta icona a la barra d'adreces per desar la referència a la teva biblioteca de Zotero.
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.

View file

@ -55,8 +55,8 @@
<!ENTITY zotero.preferences.sync.createAccount "Vytvořit účet">
<!ENTITY zotero.preferences.sync.lostPassword "Ztracené heslo?">
<!ENTITY zotero.preferences.sync.syncAutomatically "Synchronizovat automaticky">
<!ENTITY zotero.preferences.sync.syncFullTextContent "Sync full-text content">
<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "Zotero can sync the full-text content of files in your Zotero libraries with zotero.org and other linked devices, allowing you to easily search for your files wherever you are. The full-text content of your files will not be shared publicly.">
<!ENTITY zotero.preferences.sync.syncFullTextContent "Synchronizovat plnotextový obsah">
<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "Zotero může synchronizovat plnotextový obsah souborů ve vašich knihovnách Zotera se serverem zotero.org a dalšími propojenými zařízeními. To vám umožní snadno hledat vaše soubory kdekoli se nacházíte. Plnotextový obsah vašich souborů nebude sdílen veřejně.">
<!ENTITY zotero.preferences.sync.about "O synchronizaci">
<!ENTITY zotero.preferences.sync.fileSyncing "Synchronizace souborů">
<!ENTITY zotero.preferences.sync.fileSyncing.url "URL:">

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Odznačit vše">
<!ENTITY zotero.general.edit "Editovat">
<!ENTITY zotero.general.delete "Smazat">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Zrušit">
<!ENTITY zotero.errorReport.title "Chybová zpráva Zotera">
<!ENTITY zotero.errorReport.unrelatedMessages "Záznam o chybách může obsahovat informace nesouvisející se Zoterem.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Zrušit">
<!ENTITY zotero.recognizePDF.pdfName.label "Jméno PDF">
<!ENTITY zotero.recognizePDF.itemName.label "Jméno položky">
<!ENTITY zotero.recognizePDF.captcha.label "Opište níže zobrazený text pro pokračování v získávání metadat.">
<!ENTITY zotero.rtfScan.title "Sken RTF">
<!ENTITY zotero.rtfScan.cancel.label "Zrušit">

View file

@ -12,7 +12,7 @@ general.restartRequiredForChanges=Aby se změny projevily, musí být restartov
general.restartNow=Restartovat ihned
general.restartLater=Restartovat později
general.restartApp=Restartovat %S
general.quitApp=Quit %S
general.quitApp=Zavřít %S
general.errorHasOccurred=Vyskytla se chyba.
general.unknownErrorOccurred=Nastala neznámá chyba.
general.invalidResponseServer=Chybná odpověď ze serveru.
@ -20,16 +20,16 @@ general.tryAgainLater=Zkuste to opět za pár minut.
general.serverError=Server vrátil chybu, zkuste to znovu.
general.restartFirefox=Prosím, restartujte Firefox.
general.restartFirefoxAndTryAgain=Prosím, restartujte Firefox a zkuste to znovu.
general.checkForUpdate=Zkontrolovat, jestli nejsou k dispozici aktualizace
general.checkForUpdate=Zkontrolovat aktualizace
general.actionCannotBeUndone=Tato akce je nevratná.
general.install=Instalovat
general.updateAvailable=Je k dispozici aktualizace
general.noUpdatesFound=No Updates Found
general.isUpToDate=%S is up to date.
general.noUpdatesFound=Aktualizace nebyly nalezeny
general.isUpToDate=%S je aktuální.
general.upgrade=Aktualizace
general.yes=Ano
general.no=Ne
general.notNow=Not Now
general.notNow=Nyní ne
general.passed=Prošel
general.failed=Selhal
general.and=a
@ -39,14 +39,14 @@ general.permissionDenied=Přístup odepřen
general.character.singular=znak
general.character.plural=znaky
general.create=Vytvořit
general.delete=Delete
general.moreInformation=More Information
general.delete=Smazat
general.moreInformation=Více informací
general.seeForMoreInformation=Pro více informací se podívejte na %S
general.enable=Povolit
general.disable=Zakázat
general.remove=Odstranit
general.reset=Resetovat
general.hide=Hide
general.hide=Skrýt
general.quit=Zavřít
general.useDefault=Použít výchozí
general.openDocumentation=Otevřít dokumentaci
@ -62,7 +62,7 @@ general.operationInProgress.waitUntilFinishedAndTryAgain=Počkejte prosím, doku
punctuation.openingQMark="
punctuation.closingQMark="
punctuation.colon=:
punctuation.ellipsis=
punctuation.ellipsis=...
install.quickStartGuide=Rychlý průvodce
install.quickStartGuide.message.welcome=Vítejte v Zoteru!
@ -111,8 +111,8 @@ dataDir.selectedDirNonEmpty.title=Adresář není prázdný
dataDir.selectedDirNonEmpty.text=Adresář, který jste vybrali, není prázdný a zřejmě není Datovým adresářem aplikace Zotero.\n\nChcete přesto vytvořit soubory aplikace Zotero v tomto adresáři?
dataDir.selectedDirEmpty.title=Adresář je prázdný
dataDir.selectedDirEmpty.text=Adresář, který jste vybrali je prázdný. Pro přesunutí existujícího datového adresáře Zotera je nutné manuálně přesunout soubory ze stávajícího datového adresáře do nové lokace, jakmile bude %1$S uzavřen.
dataDir.selectedDirEmpty.useNewDir=Use the new directory?
dataDir.moveFilesToNewLocation=Be sure to move files from your existing Zotero data directory to the new location before reopening %1$S.
dataDir.selectedDirEmpty.useNewDir=Použít nový adresář?
dataDir.moveFilesToNewLocation=Ujistěte se, že jste přesunuli soubory z vašeho existujícího Datového adresáře Zotera do nového umístění předtím, než znovu otevřete %1$S.
dataDir.incompatibleDbVersion.title=Nekompatibilní verze databáze
dataDir.incompatibleDbVersion.text=Aktuálně vybraný datový adresář není kompatibilní se Zotero Standalone, které může sdílet databázi pouze se Zoterem pro Firefox verze 2.1b3 a novějším.\n\nNejprve aktualizujte své Zotero pro Firefox na nejnovější verzi, nebo pro použítí se Zotero Standalone zvolte jiný datový adresář.
dataDir.standaloneMigration.title=Nalezená existující knihovna Zotera
@ -145,13 +145,13 @@ date.relative.daysAgo.multiple=před %S dny
date.relative.yearsAgo.one=před 1 rokem
date.relative.yearsAgo.multiple=před %S roky
pane.collections.delete.title=Delete Collection
pane.collections.delete.title=Smazat kolekci
pane.collections.delete=Chcete opravdu smazat zvolenou kolekci?
pane.collections.delete.keepItems=Items within this collection will not be deleted.
pane.collections.deleteWithItems.title=Delete Collection and Items
pane.collections.deleteWithItems=Are you sure you want to delete the selected collection and move all items within it to the Trash?
pane.collections.delete.keepItems=Položky v této kolekci nebudou vymazány.
pane.collections.deleteWithItems.title=Smazat kolekci a položky
pane.collections.deleteWithItems=Jste si jistý, že chcete smazat vybranou kolekci a přesunout položky jež jsou v ní obsaženy do Koše?
pane.collections.deleteSearch.title=Delete Search
pane.collections.deleteSearch.title=Smazat hledání
pane.collections.deleteSearch=Chcete opravdu smazat vybrané vyhledávání?
pane.collections.emptyTrash=Jste si jistí, že chcete permanentně odstranit položky z koše?
pane.collections.newCollection=Nová kolekce
@ -168,9 +168,9 @@ pane.collections.duplicate=Duplicitní položky
pane.collections.menu.rename.collection=Přejmenovat kolekci...
pane.collections.menu.edit.savedSearch=Editovat Uložené hledání
pane.collections.menu.delete.collection=Delete Collection…
pane.collections.menu.delete.collectionAndItems=Delete Collection and Items…
pane.collections.menu.delete.savedSearch=Delete Saved Search…
pane.collections.menu.delete.collection=Smazat kolekci
pane.collections.menu.delete.collectionAndItems=Smazat kolekci a položky
pane.collections.menu.delete.savedSearch=Smazat uložené hledání...
pane.collections.menu.export.collection=Exportovat kolekci...
pane.collections.menu.export.savedSearch=Exportovat Uložené hledání...
pane.collections.menu.createBib.collection=Vytvořit bibliografii z kolekce...
@ -202,8 +202,8 @@ pane.items.delete=Jste si jisti, že chcete smazat zvolenou položku?
pane.items.delete.multiple=Jste si jisti, že chcete smazat zvolené položky?
pane.items.menu.remove=Smazat vybranou položku z kolekce
pane.items.menu.remove.multiple=Smazat vybrané položky z kolekce
pane.items.menu.moveToTrash=Move Item to Trash…
pane.items.menu.moveToTrash.multiple=Move Items to Trash…
pane.items.menu.moveToTrash=Přesunout položku do Koše...
pane.items.menu.moveToTrash.multiple=Přesunout položky do Koše...
pane.items.menu.export=Exportovat vybranou položku...
pane.items.menu.export.multiple=Exportovat vybrané položky...
pane.items.menu.createBib=Vytvořit bibliografii z vybrané položky...
@ -759,13 +759,13 @@ sync.error.invalidLogin=Neplatné uživatelské jméno nebo heslo
sync.error.invalidLogin.text=Synchronizační server Zotera nerozpoznal vaše uživatelské jméno a heslo.\n\nProsím, zkontrolujte, že jste v Nastavení synchronizace Zotera zadali správné údaje pro přihlášení k zotero.org.
sync.error.enterPassword=Prosím zadejte heslo.
sync.error.loginManagerInaccessible=Zotero nemůže přistoupit k vašim přihlašovacím údajům.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Zavřete Firefox, proveďte zálohu a smažte singons.* ze svého profilu ve Firefoxu. Poté znovu vložte své přihlašovací údaje do panelu Sync v Nastavení Zotera.
sync.error.checkMasterPassword=Pokud používáte hlavní heslo v %S, ujistěte se, že jste jej zadali správně.
sync.error.corruptedLoginManager=To může být způsobeno i poškozenou databází přihlašovacích údajů %1$S. Pro zkontrolování zavřete %1$S, odstraňte signons.sqlite z vašeho %1$S adresáře profilu a znovu vložte přihlašovací údaje Zotera do panelu Sync v nastavení Zotera.
sync.error.loginManagerCorrupted1=Zotero nemůže přistoupit k vašim přihlašovacím údajům. Může to být způsobeno poškozením databáze správce přihlašování %S.
sync.error.loginManagerCorrupted2=Zavřete %1$S, odstraňte signons.sqlite z vašeho %2$S adresáře profilu a znovu vložte přihlašovací údaje Zotera do panelu Sync v nastavení Zotera.
sync.error.syncInProgress=Synchronizace už probíhá.
sync.error.syncInProgress.wait=Počkejte, dokud předchozí synchronizace neskončí, nebo restartujte Firefox.
sync.error.writeAccessLost=V Zotero skupině '%S' už nemáte práva pro zápis a soubory, které jste přidali či editovali, nemohou být synchronizovány se serverem.
sync.error.writeAccessLost=Nemáte nadále práva k zápisu do Zotero skupiny '%S' a položky které jste přidali nemohou být synchronizovány na server.
sync.error.groupWillBeReset=Pokud budete pokračovat, vaše kopie skupiny bude restartována podle stavu na serveru a lokální modifikace položek a souborů budou ztraceny.
sync.error.copyChangedItems=Pokud chcete zkopírovat své soubory jinam, nebo požádat administrátora skupiny o práva pro zápis, zrušte synchronizaci.
sync.error.manualInterventionRequired=Automatická synchronizace způsobila konflikt, který vyžaduje ruční zásah uživatele.
@ -780,17 +780,17 @@ sync.lastSyncWithDifferentAccount=Databáze Zotera byla naposledy synchronizová
sync.localDataWillBeCombined=Pokud budete pokračovat, lokální data Zotera budou zkombinována s daty z účtu '%S' uloženými na serveru.
sync.localGroupsWillBeRemoved1=Lokální skupiny, včetně jakýchkoli změněných položek, budou také odstraněny.
sync.avoidCombiningData=Abyste se vyhnuli smíchání, nebo ztrátě dat, vraťte se k účtu '%S', nebo použijte možnost Reset v panelu Sync v nastavení Zotera.
sync.localGroupsWillBeRemoved2=If you continue, local groups, including any with changed items, will be removed and replaced with groups linked to the '%1$S' account.\n\nTo avoid losing local changes to groups, be sure you have synced with the '%2$S' account before syncing with the '%1$S' account.
sync.localGroupsWillBeRemoved2=Pokud budete pokračovat, budou lokální skupiny včetně všech se změněnými položkami, odstraněny a nahrazeny skupinami napojenými na účet '%1$S'.\n\nNechcete-li ztratit lokální změny, ujistěte se, že jste synchronizovali Zotero s účtem '%2$S' dříve, než provedete synchronizaci s účtem '%1$S'.
sync.conflict.autoChange.alert=One or more locally deleted Zotero %S have been modified remotely since the last sync.
sync.conflict.autoChange.log=A Zotero %S has changed both locally and remotely since the last sync:
sync.conflict.autoChange.alert=Jedna nebo více lokálně smazaná Zotero %S byla od poslední synchronizace vzdáleně modifikována.
sync.conflict.autoChange.log=%S Zotera byla od poslední synchronizace lokálně i vzdáleně změněna:
sync.conflict.remoteVersionsKept=Byly zachovány vzdálené verze.
sync.conflict.remoteVersionKept=Byla zachována vzdálená verze.
sync.conflict.localVersionsKept=Byly zachovány lokální verze.
sync.conflict.localVersionKept=Byla zachována lokální verze.
sync.conflict.recentVersionsKept=Byly zachovány nejnovější verze.
sync.conflict.recentVersionKept=Byla zachována nejnovější verze - '%S'
sync.conflict.viewErrorConsole=View the %S Error Console for the full list of such changes.
sync.conflict.viewErrorConsole=Kompletní seznam takových změn můžete najít v chybové konzoli %S.
sync.conflict.localVersion=Lokální verze: %S
sync.conflict.remoteVersion=Vzdálená verze: %S
sync.conflict.deleted=[smazáno]
@ -815,10 +815,10 @@ sync.status.uploadingData=Nahrávám data na synchronizační server
sync.status.uploadAccepted=Nahraná data přijata - čeká se na synchronizační server
sync.status.syncingFiles=Synchronizuji soubory
sync.fulltext.upgradePrompt.title=New: Full-Text Content Syncing
sync.fulltext.upgradePrompt.text=Zotero can now sync the full-text content of files in your Zotero libraries with zotero.org and other linked devices, allowing you to easily search for your files wherever you are. The full-text content of your files will not be shared publicly.
sync.fulltext.upgradePrompt.changeLater=You can change this setting later from the Sync pane of the Zotero preferences.
sync.fulltext.upgradePrompt.enable=Use Full-Text Syncing
sync.fulltext.upgradePrompt.title=Nové: Synchronizace plnotextového obsahu
sync.fulltext.upgradePrompt.text=Zotero nyní může synchronizovat plnotextový obsah souborů ve vašich knihovnách Zotera se serverem zotero.org a dalšími propojenými zařízeními. To vám umožní snadno hledat vaše soubory kdekoli se nacházíte. Plnotextový obsah vašich souborů nebude sdílen veřejně.
sync.fulltext.upgradePrompt.changeLater=Můžete změnit toto nastavení později v panelu Sync v nastavení Zotera.
sync.fulltext.upgradePrompt.enable=Použít synchronizaci plných textů
sync.storage.mbRemaining=%SMB zbývá
sync.storage.kbRemaining=%SKB zbývá
@ -834,13 +834,13 @@ sync.storage.fileSyncSetUp=Nastavení synchronizace bylo úspěšně nastaveno.
sync.storage.openAccountSettings=Otevřít nastavení účtu
sync.storage.error.default=Při synchronizaci došlo k chybě. Prosím zkuste synchronizaci opakovat.\n\nPokud se vám tato zpráva zobrazuje opakovaně, restartujte %S a\nebo váš počítač a zkuste to znovu. Pokud by se zpráva zobrazovala i nadále, odešlete prosím chybové hlášení a napište ID zprávy do nového vlákna na Zotero fórech.
sync.storage.error.defaultRestart=A file sync error occurred. Please restart %S and/or your computer and try syncing again.\n\nIf you receive this message repeatedly, submit an error report and post the Report ID to a new thread in the Zotero Forums.
sync.storage.error.defaultRestart=Došlo k chybě při synchronizaci. Prosíme restartujte %S a\nebo váš počítač a zkuste synchronizaci opakovat.\n\nPokud se toto chybová zpráva zobrazuje opakovaně, odešlete prosím chybové hlášení a vložte ID chybového hlášení do nového vlákna na Fórech Zotera.
sync.storage.error.serverCouldNotBeReached=Nepodařilo se dosáhnout serveru %S.
sync.storage.error.permissionDeniedAtAddress=Nemáte práva vytvořit Zotero adresář na následující adrese:
sync.storage.error.checkFileSyncSettings=Prosím, zkontrolujte své nastavení synchronizace, nebo kontaktujte administrátora vašeho serveru.
sync.storage.error.verificationFailed=Ověření %S selhalo. Zkontrolujte vaše nastavení synchronizace souborů v panelu Sync v Nastavení Zotera.
sync.storage.error.fileNotCreated=Nepodařilo se vytvořit soubor '%S' v uložném adresáři Zotera.
sync.storage.error.encryptedFilenames=Error creating file '%S'.\n\nSee http://www.zotero.org/support/kb/encrypted_filenames for more information.
sync.storage.error.encryptedFilenames=Chyba při vytváření souboru '%S'.\n\nVíce infromací naleznete na http://www.zotero.org/support/kb/encrypted_filenames .
sync.storage.error.fileEditingAccessLost=V Zotero skupině '%S' už nemáte právo editace souborů a soubory, které jste přidali či editovali, nemohou být synchronizovány se serverem.
sync.storage.error.copyChangedItems=Pokud byste chtěli uložit kopii změněných položek a souborů jinam, zrušte teď synchronizaci.
sync.storage.error.fileUploadFailed=Nahrání souborů se nezdařilo.
@ -848,9 +848,9 @@ sync.storage.error.directoryNotFound=Adresář nebyl nalezen
sync.storage.error.doesNotExist=%S neexistuje.
sync.storage.error.createNow=Chcete ho teď vytvořit?
sync.storage.error.webdav.default=A WebDAV file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences.
sync.storage.error.webdav.defaultRestart=A WebDAV file sync error occurred. Please restart %S and try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences.
sync.storage.error.webdav.enterURL=Please enter a WebDAV URL.
sync.storage.error.webdav.default=Při synchronizaci prostřednictvím WebDAV došlo k chybě. Prosím, zkuste synchronizaci opakovat.\n\nPokud se vám tato chybová zpráva zobrazuje opakovaně, zkontrolujte své nastavení WebDAV serveru v panelu Sync nastavení Zotera.
sync.storage.error.webdav.defaultRestart=Při synchronizaci prostřednictvím WebDAV došlo k chybě. Prosím, zkuste synchronizaci opakovat. Restartujte prosím %S a zkuste synchronizaci opakovat.\n\nPokud se vám tato chybová zpráva zobrazuje opakovaně, zkontrolujte své nastavení WebDAV serveru v panelu Sync nastavení Zotera.
sync.storage.error.webdav.enterURL=Prosím, vložte WebDAV URL.
sync.storage.error.webdav.invalidURL=%S není platná WebDAV URL.
sync.storage.error.webdav.invalidLogin=WebDAV server nepřijal uživatelské jméno a heslo, které jste zadali.
sync.storage.error.webdav.permissionDenied=Nemáte práva přístupu pro %S na WebDAV serveru.
@ -860,18 +860,18 @@ sync.storage.error.webdav.sslConnectionError=Chyba SSL spojení při připojová
sync.storage.error.webdav.loadURLForMoreInfo=Nahrajte vaší WebDAV URL do prohlížeče pro více informací.
sync.storage.error.webdav.seeCertOverrideDocumentation=Více informací najdete v dokumentaci překonání certifikátu (certificate override documentation).
sync.storage.error.webdav.loadURL=Načíst WebDAV URL
sync.storage.error.webdav.fileMissingAfterUpload=A potential problem was found with your WebDAV server.\n\nAn uploaded file was not immediately available for download. There may be a short delay between when you upload files and when they become available, particularly if you are using a cloud storage service.\n\nIf Zotero file syncing appears to work normally, you can ignore this message. If you have trouble, please post to the Zotero Forums.
sync.storage.error.webdav.nonexistentFileNotMissing=Your WebDAV server is claiming that a nonexistent file exists. Contact your WebDAV server administrator for assistance.
sync.storage.error.webdav.serverConfig.title=WebDAV Server Configuration Error
sync.storage.error.webdav.serverConfig=Your WebDAV server returned an internal error.
sync.storage.error.webdav.fileMissingAfterUpload=Zotero narazilo na možný problém s vaším WebDAV serverem.\n\nNahraný soubor nebyl ihned k dispozici pro stažení. Může ovšem docházet ke krátkým zpožděním mezi nahráním souboru a jejich zpřístupnění ke stahování - zejména pokud používáte cloudové úložiště.\n\nPokud se vám zdá, že synchronizace funguje normálně, můžete ignorovat tuto zprávu. Pokud máte se synchronizací potíže, napište prosím do Zotero Fóra.
sync.storage.error.webdav.nonexistentFileNotMissing=Váš WebDAV server tvrdí, že neexistujíc soubor existuje. Požádejte o pomoc správce vašeho WebDAV serveru.
sync.storage.error.webdav.serverConfig.title=Chyba konfigurace WebDAV Serveru
sync.storage.error.webdav.serverConfig=Váš WebDAV server vrátil interní chybu.
sync.storage.error.zfs.restart=A file sync error occurred. Please restart %S and/or your computer and try syncing again.\n\nIf the error persists, there may be a problem with either your computer or your network: security software, proxy server, VPN, etc. Try disabling any security/firewall software you're using or, if this is a laptop, try from a different network.
sync.storage.error.zfs.tooManyQueuedUploads=You have too many queued uploads. Please try again in %S minutes.
sync.storage.error.zfs.restart=Došlo k chybě při synchronizaci souborů. Prosím, restartujte %S a\nebo váš počítač a zkuste synchronizaci opakovat.\n\nPokud problém přetrvává, může jít o problém s vaším počítačem, nebo připojením: bezpečnostním softwarem, proxy serverem, VPN apod. Zkuste dočasně deaktivovat bezpečnostní software či firewall, nebo, v případě notebooku, zkuste synchronizaci provést z jiné sítě.
sync.storage.error.zfs.tooManyQueuedUploads=Máte ve frontě příliš mnoho uploadů. Prosím, zkuste akci opakovat za°%S minut.
sync.storage.error.zfs.personalQuotaReached1=Dosáhli jste vaší kvóty v Zotero úložišti souborů. Některé soubory nebudou nahrány. Ostatní data Zotera se budou i nadále synchronizovat se serverem.
sync.storage.error.zfs.personalQuotaReached2=Pro zobrazení dalších možností ukládání použijte nastavení účtu na zotero.org.
sync.storage.error.zfs.groupQuotaReached1=Skupina '%S' dosáhla její kvóty v Zotero úložišti souborů. Některé soubory nebyly nahrány. Ostatní data Zotera se budou i nadále synchronizovat se serverem.
sync.storage.error.zfs.groupQuotaReached2=Vlastník skupiny může zvětšit kapacitu úložiště skupiny pomocí sekce 'nastavení úložiště' na zotero.org.
sync.storage.error.zfs.fileWouldExceedQuota=The file '%S' would exceed your Zotero File Storage quota
sync.storage.error.zfs.fileWouldExceedQuota=Soubor '%S' by velikostí překročil limit vašeho uložiště souborů Zotera.
sync.longTagFixer.saveTag=Uložit štítek
sync.longTagFixer.saveTags=Uložit štítky
@ -895,12 +895,16 @@ proxies.recognized.add=Přidat proxy
recognizePDF.noOCR=PDF neobsahuje text získaný pomocí OCR.
recognizePDF.couldNotRead=Není možné přečíst text z PDF.
recognizePDF.noMatches=Nebyly nalezeny odpovídající reference.
recognizePDF.fileNotFound=Soubor nenalezen.
recognizePDF.limit=Dosažen maximální počet dotazů. Zkuste to později.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Získávání metadat bylo dokončeno.
recognizePDF.noMatches=Nebyly nalezeny odpovídající reference
recognizePDF.fileNotFound=Soubor nenalezen
recognizePDF.limit=Byl dosažen limit počtu dotazů na Google Scholar. Zkuste to prosím znovu později.
recognizePDF.error=Došlo k neočekávané chybě.
recognizePDF.stopped=Zrušeno
recognizePDF.complete.label=Získání metadat dokončeno
recognizePDF.cancelled.label=Získání metadat zrušeno
recognizePDF.close.label=Zavřít
recognizePDF.captcha.title=Prosíme vložte kód CAPTCHA
recognizePDF.captcha.description=Zotero používá Google Scholar k identifikaci PDF souborů. Pokud chcete i nadále používat Google Scholar, vložte prosím text z obrázku níže.
rtfScan.openTitle=Vyberte soubor k prohledání
rtfScan.scanning.label=Prohledávám RTF dokument...
@ -910,20 +914,20 @@ rtfScan.saveTitle=Vyberte umístění, do kterého bude uložen naformátovaný
rtfScan.scannedFileSuffix=(Prohledán)
file.accessError.theFile=The file '%S'
file.accessError.aFile=A file
file.accessError.cannotBe=cannot be
file.accessError.created=created
file.accessError.updated=updated
file.accessError.deleted=deleted
file.accessError.message.windows=Check that the file is not currently in use, that its permissions allow write access, and that it has a valid filename.
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.accessError.theFile=Soubor '%S'
file.accessError.aFile=Soubor
file.accessError.cannotBe=nemůže být
file.accessError.created=vytvořen
file.accessError.updated=aktualizován
file.accessError.deleted=smazán
file.accessError.message.windows=Zkontrolujte, že soubor není právě používán, má nastavena práva k zápisu a má platný název.
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ář
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.
lookup.failureToID.description=Zotero could not find any identifiers in your input. Please verify your input and try again.
lookup.failureToID.description=Zotero nenašlo ve vašem vstupu žádné identifikátory. Prosím, zkotrolujte váš vstup a zkuste to znovu.
locate.online.label=Zobrazit online
locate.online.tooltip=Přejít na tuto položku online
@ -946,14 +950,14 @@ locate.manageLocateEngines=Manage Lookup Engines...
standalone.corruptInstallation=Instalace vašeho Samostatného Zotera se zdá být poškozena kvůli nezdařené automatické aktualizaci. Zotero může dál fungovat, nicméně pokud se chcete vyhnout potenciálním chybám, doporučujeme co nejdříve znovu stáhnout Samostatné Zotero z http://zotero.org/support/standalone.
standalone.addonInstallationFailed.title=Instalace doplňku selhala.
standalone.addonInstallationFailed.body=Doplněk "%S" nemohl být nainstalován. Může být nekompatibilní s touto verzí Samostantého Zotera.
standalone.rootWarning=You appear to be running Zotero Standalone as root. This is insecure and may prevent Zotero from functioning when launched from your user account.\n\nIf you wish to install an automatic update, modify the Zotero program directory to be writeable by your user account.
standalone.rootWarning.exit=Exit
standalone.rootWarning=Vypadá to, že vaše Zotero Standalone běží pod uživatelem root. To není bezpečné a navíc to může později znemožnit fungování Zotera pod vaším uživatelským účtem.\n\nPokud si přejete nainstalovat automatickou aktualizaci, změňte práva u adresáře programu Zotero tak, aby do něj mohl váš uživatelský účet zapisovat.
standalone.rootWarning.exit=Konec
standalone.rootWarning.continue=Pokračovat
standalone.updateMessage=A recommended update is available, but you do not have permission to install it. To update automatically, modify the Zotero program directory to be writeable by your user account.
standalone.updateMessage=Je k dispozici doporučená aktualizace, ale vy nemáte povolení ji nainstalovat. Pokud chcete automaticky aktualizovat Zotero, změňte nastavení adresáře programu Zotero tak, aby do něj mohl zapisovat váš uživatelský účet.
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 was launched but is not accessible. If you experienced an error opening Zotero Standalone, restart Firefox.
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.

View file

@ -22,12 +22,12 @@
<!ENTITY zotero.preferences.fontSize.notes "Skriftstørrelse i noter:">
<!ENTITY zotero.preferences.miscellaneous "Forskelligt">
<!ENTITY zotero.preferences.autoUpdate "Automatically check for updated translators and styles">
<!ENTITY zotero.preferences.autoUpdate "Kontroller automatisk for oversættelser og typografier">
<!ENTITY zotero.preferences.updateNow "Opdater nu">
<!ENTITY zotero.preferences.reportTranslationFailure "Rapporter om &quot;oversættere&quot; uden forbindelse">
<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader "Tillad Zoter.org at tilpasse indhold baseret på den aktuelle Zotero-version">
<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader.tooltip "Hvis den er slået til, vil den aktuelle Zotero-version blive medtaget ved HTTP-forespørgsler til zotero.org.">
<!ENTITY zotero.preferences.parseRISRefer "Use Zotero for downloaded BibTeX/RIS/Refer files">
<!ENTITY zotero.preferences.parseRISRefer "Brug Zotero til at hente BibTeX/RIS/Refer -filer">
<!ENTITY zotero.preferences.automaticSnapshots "Tag automatisk et &quot;Snapshot&quot; når der oprettes Elementer for web-sider">
<!ENTITY zotero.preferences.downloadAssociatedFiles "Vedhæft automatisk tilhørende PDF-filer og andre filer når Elementer gemmes">
<!ENTITY zotero.preferences.automaticTags "Mærk automatisk Elementer med stikord og emne-grupper">
@ -55,8 +55,8 @@
<!ENTITY zotero.preferences.sync.createAccount "Opret konto">
<!ENTITY zotero.preferences.sync.lostPassword "Mistet adgangskode?">
<!ENTITY zotero.preferences.sync.syncAutomatically "Synkroniser automatisk">
<!ENTITY zotero.preferences.sync.syncFullTextContent "Sync full-text content">
<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "Zotero can sync the full-text content of files in your Zotero libraries with zotero.org and other linked devices, allowing you to easily search for your files wherever you are. The full-text content of your files will not be shared publicly.">
<!ENTITY zotero.preferences.sync.syncFullTextContent "Synkroniser full-text indhold">
<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "Zotero kan synkronisere full-text indholdet af filer i dit Zoterobibliotek med zotero.org og andre tilknyttede enheder, hvilket tillader dig enkel søgning i dine foler uanset hvor du er. Full-text indholdet af dine filer vil ikke blive delt offentligt.">
<!ENTITY zotero.preferences.sync.about "Om synkronisering">
<!ENTITY zotero.preferences.sync.fileSyncing "Fil-synkronisering">
<!ENTITY zotero.preferences.sync.fileSyncing.url "URL:">
@ -113,7 +113,7 @@
<!ENTITY zotero.preferences.prefpane.cite "Henvis">
<!ENTITY zotero.preferences.cite.styles "Bibliografiske formater">
<!ENTITY zotero.preferences.cite.wordProcessors "Teksbehandlere">
<!ENTITY zotero.preferences.cite.wordProcessors "Tekstbehandlere">
<!ENTITY zotero.preferences.cite.wordProcessors.noWordProcessorPluginsInstalled "Der er ikke p.t. installeret et plugin til tekstbehandling.">
<!ENTITY zotero.preferences.cite.wordProcessors.getPlugins "Hent plugin til tekstbehandlere...">
<!ENTITY zotero.preferences.cite.wordProcessors.getPlugins.url "http://www.zotero.org/support/word_processor_plugin_installation_for_zotero_2.1">
@ -128,12 +128,12 @@
<!ENTITY zotero.preferences.prefpane.keys "Genvejs-taster">
<!ENTITY zotero.preferences.keys.openZotero "Åbn/Luk Zotero-vinduet">
<!ENTITY zotero.preferences.keys.saveToZotero "Save to Zotero (address bar icon)">
<!ENTITY zotero.preferences.keys.saveToZotero "Gem til Zotero (ikon i adresselinjen)">
<!ENTITY zotero.preferences.keys.toggleFullscreen "Slå fuldskærmsvisning til/fra">
<!ENTITY zotero.preferences.keys.focusLibrariesPane "Panel med fokusbiblioteker">
<!ENTITY zotero.preferences.keys.quicksearch "Hurtigsøgning">
<!ENTITY zotero.preferences.keys.newItem "Create a New Item">
<!ENTITY zotero.preferences.keys.newNote "Create a New Note">
<!ENTITY zotero.preferences.keys.newItem "Opret nyt element">
<!ENTITY zotero.preferences.keys.newNote "Opret en ny note">
<!ENTITY zotero.preferences.keys.toggleTagSelector "Slå Tag selector til/fra">
<!ENTITY zotero.preferences.keys.copySelectedItemCitationsToClipboard "Kopier valgte henvisninger til udklipsholder">
<!ENTITY zotero.preferences.keys.copySelectedItemsToClipboard "Kopier valgte Elementer til udklipsholder">

View file

@ -54,7 +54,7 @@
<!ENTITY selectAllCmd.label "Vælg alle">
<!ENTITY selectAllCmd.key "A">
<!ENTITY selectAllCmd.accesskey "A">
<!ENTITY preferencesCmd.label "Preferences">
<!ENTITY preferencesCmd.label "Indstillinger">
<!ENTITY preferencesCmd.accesskey "O">
<!ENTITY preferencesCmdUnix.label "Indstillinger">
<!ENTITY preferencesCmdUnix.accesskey "n">

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Fravælg alle">
<!ENTITY zotero.general.edit "Rediger">
<!ENTITY zotero.general.delete "Slet">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Annullér">
<!ENTITY zotero.errorReport.title "Zotero fejlrapport">
<!ENTITY zotero.errorReport.unrelatedMessages "Logfilen for fejl kan indeholde meddelelser der ikke har med Zotero at gøre.">
@ -68,7 +70,7 @@
<!ENTITY zotero.items.issue_column "Udgivelse">
<!ENTITY zotero.items.series_column "Serier">
<!ENTITY zotero.items.seriesTitle_column "Serie titel">
<!ENTITY zotero.items.court_column "Court">
<!ENTITY zotero.items.court_column "Domstol">
<!ENTITY zotero.items.medium_column "Medium/Format">
<!ENTITY zotero.items.genre_column "Genre">
<!ENTITY zotero.items.system_column "System">
@ -108,7 +110,7 @@
<!ENTITY zotero.toolbar.export.label "Eksporter Biblioteket ...">
<!ENTITY zotero.toolbar.rtfScan.label "RTF Scan...">
<!ENTITY zotero.toolbar.timeline.label "Opret tidslinie">
<!ENTITY zotero.toolbar.preferences.label "Præferencer...">
<!ENTITY zotero.toolbar.preferences.label "Indstillinger...">
<!ENTITY zotero.toolbar.supportAndDocumentation "Support og dokumentation">
<!ENTITY zotero.toolbar.about.label "Om Zotero">
<!ENTITY zotero.toolbar.advancedSearch "Avanceret søgning">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Fortryd">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF-filens navn">
<!ENTITY zotero.recognizePDF.itemName.label "Elementets navn">
<!ENTITY zotero.recognizePDF.captcha.label "Indtast teksten nedenfor for at fortsætte med indlæsning af metadata.">
<!ENTITY zotero.rtfScan.title "RTF-scanning">
<!ENTITY zotero.rtfScan.cancel.label "Fortryd">

File diff suppressed because it is too large Load diff

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Auswahl aufheben">
<!ENTITY zotero.general.edit "Bearbeiten">
<!ENTITY zotero.general.delete "Löschen">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Abbrechen">
<!ENTITY zotero.errorReport.title "Zotero Fehlerbericht">
<!ENTITY zotero.errorReport.unrelatedMessages "Dieses Fehlerprotokoll kann unter Umständen Nachrichten enthalten, die nicht mit Zotero in Verbindung stehen.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Abbrechen">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF-Name">
<!ENTITY zotero.recognizePDF.itemName.label "Eintragsname">
<!ENTITY zotero.recognizePDF.captcha.label "Geben Sie den unten angezeigten Text ein, um mit dem Abruf der Metadaten fortzufahren.">
<!ENTITY zotero.rtfScan.title "RTF-Scan">
<!ENTITY zotero.rtfScan.cancel.label "Abbrechen">

View file

@ -760,9 +760,9 @@ sync.error.invalidLogin.text=Der Zotero Sync Server hat Ihren Benutzernamen und
sync.error.enterPassword=Bitte geben Sie ein Passwort ein.
sync.error.loginManagerInaccessible=Zotero kann nicht auf ihre Login-Informationen zugreifen.
sync.error.checkMasterPassword=Wenn sie ein Master Passwort in %S verwenden, stellen sie sicher, dass sie es korrekt eingegeben haben.
sync.error.corruptedLoginManager=Es kann auch Folge einer korrupten %1$S Login-Manager Datenbank sein. Um dies zu testen, schließen sie %1$S, legen sie ein Backup an und löschen sie singons.* aus Ihrem %1$S-Profilordner. Geben Sie dann Ihre Logindaten erneut im Sync-Reiter der Zotero Einstellungen ein.
sync.error.corruptedLoginManager=Dies kann auch Folge einer beschädigten %1$S Login-Manager Datenbank sein. Um dies zu testen, schließen Sie %1$S, löschen Sie singons.sqlite aus Ihrem %1$S-Profilordner. Geben Sie dann Ihre Logindaten erneut im Sync-Reiter der Zotero Einstellungen ein.
sync.error.loginManagerCorrupted1=Zotero kann nicht nicht auf Ihre Login-Informationen zugreifen, möglicherweise aufgrund einer beschädigten %S-Login-Manager-Datenbank.
sync.error.loginManagerCorrupted2=Schließen Sie %S, legen Sie ein Backup an und löschen Sie signons.* aus Ihrem %S-Profilordner. Geben Sie dann Ihre Logindaten erneut im Sync-Reiter der Zotero-Einstellungen ein.
sync.error.loginManagerCorrupted2=Schließen Sie %1$S und löschen Sie signons.sqlite aus Ihrem %2$S-Profilordner. Geben Sie dann Ihre Logindaten erneut im Sync-Reiter der Zotero-Einstellungen ein.
sync.error.syncInProgress=Ein Sync-Vorgang läuft bereits.
sync.error.syncInProgress.wait=Warten Sie, bis der aktuelle Sync-Vorgang abgeschlossen ist, oder starten Sie Firefox neu.
sync.error.writeAccessLost=Sie haben keine Schreibberechtigung mehr für die Zotero-Gruppe '%S', und die Einträge, die Sie hinzugefügt oder bearbeitet haben, können nicht mit dem Server synchronisiert werden.
@ -895,12 +895,16 @@ proxies.recognized.add=Proxy hinzufügen
recognizePDF.noOCR=PDF enthält keinen OCR-Text
recognizePDF.couldNotRead=Text aus PDF konnte nicht gelesen werden.
recognizePDF.noMatches=Keine passenden Bezüge gefunden.
recognizePDF.fileNotFound=Datei nicht gefunden.
recognizePDF.limit=Abfrage-Limit erreicht. Versuchen Sie es später erneut.
recognizePDF.noMatches=Keine passenden Verweise gefunden.
recognizePDF.fileNotFound=Datei nicht gefunden
recognizePDF.limit=Abfrage-Limit in Google Scholar erreicht. Versuchen Sie es noch einmal später.
recognizePDF.error=Ein unerwarteter Fehler ist aufgetreten.
recognizePDF.stopped=Abgebrochen
recognizePDF.complete.label=Metadaten-Abruf abgeschlossen.
recognizePDF.cancelled.label=Metadaten-Abruf abgebrochen.
recognizePDF.close.label=Schließen
recognizePDF.captcha.title=Bitte geben Sie das CAPTCHA ein
recognizePDF.captcha.description=Zotero verwendet Google Scholar, um PDF-Dateien zu identifizieren. Um Google Scholar weiter zu benutzen, geben Sie bitte den Text aus der unten stehenden Grafik ein.
rtfScan.openTitle=Wählen Sie eine Datei zum Scannen aus
rtfScan.scanning.label=Scanne RTF-Dokument...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Deselect All">
<!ENTITY zotero.general.edit "Edit">
<!ENTITY zotero.general.delete "Delete">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "The error log may include messages unrelated to Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancel">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF Name">
<!ENTITY zotero.recognizePDF.itemName.label "Item Name">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "Cancel">

View file

@ -760,9 +760,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Please enter a password.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=A sync operation is already in progress.
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
@ -895,12 +895,16 @@ proxies.recognized.add=Add Proxy
recognizePDF.noOCR=PDF does not contain OCRed text.
recognizePDF.couldNotRead=Could not read text from PDF.
recognizePDF.noMatches=No matching references found.
recognizePDF.fileNotFound=File not found.
recognizePDF.limit=Query limit reached. Try again later.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metadata Retrieval Complete.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Close
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Select a file to scan
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Deselect All">
<!ENTITY zotero.general.edit "Edit">
<!ENTITY zotero.general.delete "Delete">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "The error log may include messages unrelated to Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancel">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF Name">
<!ENTITY zotero.recognizePDF.itemName.label "Item Name">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "Cancel">
@ -282,4 +283,4 @@
<!ENTITY zotero.downloadManager.label "Save to Zotero">
<!ENTITY zotero.downloadManager.saveToLibrary.description "Attachments cannot be saved to the currently selected library. This item will be saved to your library instead.">
<!ENTITY zotero.downloadManager.noPDFTools.description "To use this feature, you must first install the PDF tools in the Search pane of the Zotero preferences.">
<!ENTITY zotero.downloadManager.noPDFTools.description "To use this feature, you must first install the PDF tools in the Search pane of the Zotero preferences.">

View file

@ -895,12 +895,16 @@ proxies.recognized.add = Add Proxy
recognizePDF.noOCR = PDF does not contain OCRed text.
recognizePDF.couldNotRead = Could not read text from PDF.
recognizePDF.noMatches = No matching references found.
recognizePDF.fileNotFound = File not found.
recognizePDF.limit = Query limit reached. Try again later.
recognizePDF.noMatches = No matching references found
recognizePDF.fileNotFound = File not found
recognizePDF.limit = Google Scholar query limit reached. Try again later.
recognizePDF.error = An unexpected error occurred.
recognizePDF.complete.label = Metadata Retrieval Complete.
recognizePDF.stopped = Cancelled
recognizePDF.complete.label = Metadata Retrieval Complete
recognizePDF.cancelled.label = Metadata Retrieval Cancelled
recognizePDF.close.label = Close
recognizePDF.captcha.title = Please enter CAPTCHA
recognizePDF.captcha.description = Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle = Select a file to scan
rtfScan.scanning.label = Scanning RTF Document…

View file

@ -55,8 +55,8 @@
<!ENTITY zotero.preferences.sync.createAccount "Crear cuenta">
<!ENTITY zotero.preferences.sync.lostPassword "¿Olvidó su contraseña?">
<!ENTITY zotero.preferences.sync.syncAutomatically "Sincronizar automáticamente">
<!ENTITY zotero.preferences.sync.syncFullTextContent "Sync full-text content">
<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "Zotero can sync the full-text content of files in your Zotero libraries with zotero.org and other linked devices, allowing you to easily search for your files wherever you are. The full-text content of your files will not be shared publicly.">
<!ENTITY zotero.preferences.sync.syncFullTextContent "Sincronizar el texto completo del contenido">
<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "Zotero puede sincronizar el texto completo del contenido de los archivos en sus bibliotecas de Zotero con zotero.org y otros dispositivos enlazados, permitiéndole buscar fácilmente en los archivos no importa dónde esté. El texto completo del contenido de sus archivos no se compartirá públicamente.">
<!ENTITY zotero.preferences.sync.about "Acerca de la sincronización">
<!ENTITY zotero.preferences.sync.fileSyncing "Sincronización de archivos">
<!ENTITY zotero.preferences.sync.fileSyncing.url "URL:">

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Deseleccionar todo">
<!ENTITY zotero.general.edit "Editar">
<!ENTITY zotero.general.delete "Borrar">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancelar">
<!ENTITY zotero.errorReport.title "Informe de errores de Zotero">
<!ENTITY zotero.errorReport.unrelatedMessages "El informe de errores puede incluir mensajes sin relación con Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancelar">
<!ENTITY zotero.recognizePDF.pdfName.label "Nombre del PDF">
<!ENTITY zotero.recognizePDF.itemName.label "Nombre del ítem">
<!ENTITY zotero.recognizePDF.captcha.label "Tipee el texto abajo para continuar recuperando metadatos.">
<!ENTITY zotero.rtfScan.title "Escaneado RTF">
<!ENTITY zotero.rtfScan.cancel.label "Cancelar">

View file

@ -760,9 +760,9 @@ sync.error.invalidLogin.text=El servidor de sincronización de Zotero no ha acep
sync.error.enterPassword=Por favor, ingrese una contraseña.
sync.error.loginManagerInaccessible=Zotero no puede acceder a su información de inicio de sesión.
sync.error.checkMasterPassword=Si está utilizando una contraseña maestra en %S, asegúrese que la ha ingresado con éxito.
sync.error.corruptedLoginManager=Esto también podría ser debido a un gestor de base de datos %1$S corrupto. Para comprobarlo, cierre %1$S, copias de seguridad y elimine los inicios de sesión. * de su perfil %1$S, y volver a introducir su información de acceso Zotero en el panel Sync en las preferencias de Zotero.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero no puede acceder a su información de registro, posiblemente debido a un inicio de sesión %S corrupto respecto a la base de datos.
sync.error.loginManagerCorrupted2=Cierra %1$S, haz copia de seguridad y borra signons.* de tu perfil %2$S, y reintroduce tu información de inicio de sesión en Zotero en el panel Sincronización de las preferencias de Zotero.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Una operación de sincronización ya está en marcha.
sync.error.syncInProgress.wait=Espera a que se complete la sincronización anterior o reinicia %S.
sync.error.writeAccessLost=Ya no posee derecho de escritura en el grupo Zotero '%S', y los ítems que agregó o editó no puede ser sincronizado con el servidor.
@ -895,12 +895,16 @@ proxies.recognized.add=Agregar proxy
recognizePDF.noOCR=PDF no contiene texto reconocido por OCR.
recognizePDF.couldNotRead=No se puede leer texto desde el PDF.
recognizePDF.noMatches=No hay referencias encontradas.
recognizePDF.fileNotFound=Archivo no encontrado.
recognizePDF.limit=Límite de consultas alcanzado. Reinténtalo más tarde.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=Ha ocurrido un error inesperado.
recognizePDF.complete.label=Recuperación de metadatos completa.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Cerrar
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Seleccionar un archivo a escanear
rtfScan.scanning.label=Escaneando documento RTF...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Tühistada kõik valikud">
<!ENTITY zotero.general.edit "Toimetada">
<!ENTITY zotero.general.delete "Kustutada">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "Vealogi võib sisaldada teateid, mis ei puutu Zoterosse.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Tühistada">
<!ENTITY zotero.recognizePDF.pdfName.label "PDFi nimi">
<!ENTITY zotero.recognizePDF.itemName.label "Kirje nimi">
<!ENTITY zotero.recognizePDF.captcha.label "Jätkamiseks sisestage allolev tekst.">
<!ENTITY zotero.rtfScan.title "RTF Skänn">
<!ENTITY zotero.rtfScan.cancel.label "Tühistada">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Palun Firefox alglaadida.
general.restartFirefoxAndTryAgain=Palun Firefox alglaadida ja siis uuesti proovida.
general.checkForUpdate=Uuenduste kontrollimine
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=Seda ei saa tagasi võtta.
general.install=Paigaldus
general.updateAvailable=Uuendus saadaval
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Palun sisestada salasõna.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Sulgege Firefox, tehke varukoopia ja kustutage enda Firefoxi profiilist salvestatud sisselogimise info. Seejärel sisestage enda info uuesti Zotero seadetes.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Andmeid juba sünkroonitakse.
sync.error.syncInProgress.wait=Oodake kuni eelmine sünkroonimine lõpetab või tehke Firefoxile alglaadimine.
sync.error.writeAccessLost=Teil ei ole enam ligipääsu Zotero grupp "%S"-le ning lisatud või muudetud faile või viiteid ei ole võimaik serverisse sünkroniseerida.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=Kui jätkate, taastatakse grupi raamatukogu sellest olekust, mis on parajasti serveris ning kõik teie poolt tehtud muudatused lähevad kaotsi.
sync.error.copyChangedItems=Kui soovite salvestada tehtud muudatused kuhugi mujale või taodelda muutmisõigust grupi administraatori käest, katkestage sünkroonimine.
sync.error.manualInterventionRequired=Automaatne sünkroonimine põhjustas konflikti, mis nõuab teie sekkumist.
@ -895,12 +895,16 @@ proxies.recognized.add=Proksi lisamine
recognizePDF.noOCR=PDF ei sisalda OCR-tuvastatud teksti.
recognizePDF.couldNotRead=PDFist ei õnnetstu teksti lugeda.
recognizePDF.noMatches=Sobivaid vasteid ei leitud.
recognizePDF.fileNotFound=Faili ei leitud.
recognizePDF.limit=Päringulimiit saavutatud. Palun hiljem uuesti proovida.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metaandmete kogumine lõppenud.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Sulgeda
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Faili valimine (RTF skänn)
rtfScan.scanning.label=RTF dokumendi skänn...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Desautatu guztiak">
<!ENTITY zotero.general.edit "Editatu">
<!ENTITY zotero.general.delete "Ezabatu">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "The error log may include messages unrelated to Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Baztertu">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF Izenburua">
<!ENTITY zotero.recognizePDF.itemName.label "Item Izenburua">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "Cancel">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Berrabiarazi ezazu Firefox.
general.restartFirefoxAndTryAgain=Berrabiarazi ezazu Firefox eta saiatu berriro.
general.checkForUpdate=Bilatu eguneraketak
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=Ekintza hau ezin da atzera egin.
general.install=Instalatu
general.updateAvailable=Eguneraketa eskuragarri
@ -760,9 +760,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Sartu pasahitza, mesedez
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Beste Sync ekintza bat burutzen ari da.
sync.error.syncInProgress.wait=Itxaron hura bukatu arte eta berrabiarazi Firefox.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
@ -895,12 +895,16 @@ proxies.recognized.add=Add Proxy
recognizePDF.noOCR=PDF does not contain OCRed text.
recognizePDF.couldNotRead=Could not read text from PDF.
recognizePDF.noMatches=No matching references found.
recognizePDF.fileNotFound=File not found.
recognizePDF.limit=Query limit reached. Try again later.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metadata Retrieval Complete.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Close
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Select a file to scan
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "انتخاب هیچ‌کدام">
<!ENTITY zotero.general.edit "ویرایش">
<!ENTITY zotero.general.delete "حذف">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "گزارش خطا ممکن است شامل پیام‌های غیر مرتبط با زوترو باشد.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "انصراف">
<!ENTITY zotero.recognizePDF.pdfName.label "نام PDF">
<!ENTITY zotero.recognizePDF.itemName.label "نام آیتم‌">
<!ENTITY zotero.recognizePDF.captcha.label "متن زیر را برای ادامه بازیابی فراداده‌ها وارد کنید.">
<!ENTITY zotero.rtfScan.title "پیمایش RTF">
<!ENTITY zotero.rtfScan.cancel.label "انصراف">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=لطفا فایرفاکس را دوباره راه‌اندازی کنید.
general.restartFirefoxAndTryAgain=لطفا فایرفاکس را مجددا راه‌اندازی و دوباره تلاش کنید.
general.checkForUpdate=گشتن به دنبال روزآمد
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=این عمل قابل بازگشت نیست.
general.install=نصب
general.updateAvailable=روزآمد موجود است
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=لطفا یک گذرواژه وارد کنید.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=فایرفاکس را ببندید و بعد از پشتیبان گرفتن، همه پرونده‌های signons.* را از پوشه پروفایل فایرفاکس پاک کنید و اطلاعات ثبت ورود زوترو را در قسمت مربوط به تنظیمات همزمان‌سازی، از نو وارد کنید.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=عملیات همزمان‌‌سازی از قبل در جریان است.
sync.error.syncInProgress.wait=لطفا تا تکمیل همزمان‌سازی قبلی صبر کنید یا فایرفاکس را دوباره راه‌اندازی کنید.
sync.error.writeAccessLost=شما دیگر به گروه زوترو با نام '%S' دسترسی برای نوشتن ندارید. در نتیجه امکان همزمان‌سازی با کارگزار برای پرونده‌هایی که افزوده‌اید یا ویرایش کرده‌اید، وجود ندارد.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=اگر ادامه دهید، رونوشت شما از گروه، به وضعیتی که روی کارگزار دارد، بازنشانی خواهد شد و تغییرات محلی در آیتم‌ها و پرونده‌ها از دست خواهند رفت.
sync.error.copyChangedItems=اگر می‌خواهید از تغییرات خود در جای دیگری، رونوشت بگیرید یا از سرپرست یک گروه، دسترسی برای نوشتن را درخواست کنید، هم‌اکنون همزمان‌سازی را لغو کنید.
sync.error.manualInterventionRequired=همزمان‌‌سازی خودکار، منجر به ناسازگاری‌ای شده است که به دخالت دستی نیاز دارد.
@ -895,12 +895,16 @@ proxies.recognized.add=افزودن پیشکار
recognizePDF.noOCR=PDF دارای متن OCR نیست.
recognizePDF.couldNotRead=خواندن متن از PDF امکان‌پذیر نبود.
recognizePDF.noMatches=مرجع مطابقت کننده‌ای پیدا نشده
recognizePDF.fileNotFound=پرونده پیدا نشد.
recognizePDF.limit=Query limit reached. Try again later.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=بازیابی فراداده‌‌ها تمام شد.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=بستن
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=پرونده‌ای را برای پیمایش انتخاب کنید
rtfScan.scanning.label=در حال پیمایش سند RTF...

View file

@ -10,4 +10,4 @@
<!ENTITY zotero.thanks "Erityiskiitokset:">
<!ENTITY zotero.about.close "Sulje">
<!ENTITY zotero.moreCreditsAndAcknowledgements "Lisää kiitoksia">
<!ENTITY zotero.citationProcessing "Citation &amp; Bibliography Processing">
<!ENTITY zotero.citationProcessing "Viittausten ja lähdeluetteloiden käsittely">

View file

@ -39,7 +39,7 @@
<!ENTITY zotero.preferences.groups.childNotes "niiden alaiset muistiinpanot">
<!ENTITY zotero.preferences.groups.childFiles "niiden alaiset tilannekuvat ja tuodut tiedostot">
<!ENTITY zotero.preferences.groups.childLinks "niiden alaiset linkit">
<!ENTITY zotero.preferences.groups.tags "tags">
<!ENTITY zotero.preferences.groups.tags "avainsanat">
<!ENTITY zotero.preferences.openurl.caption "OpenURL">
@ -62,13 +62,13 @@
<!ENTITY zotero.preferences.sync.fileSyncing.url "Osoite:">
<!ENTITY zotero.preferences.sync.fileSyncing.myLibrary "Synkronoi liitetiedostot Omaan Kirjastoon käyttäen protokollaa">
<!ENTITY zotero.preferences.sync.fileSyncing.groups "Synkronoi ryhmäkirjastojen liitetiedostot käyttäen Zoteron tallennustilaa">
<!ENTITY zotero.preferences.sync.fileSyncing.download "Download files">
<!ENTITY zotero.preferences.sync.fileSyncing.download.atSyncTime "at sync time">
<!ENTITY zotero.preferences.sync.fileSyncing.download "Lataa tiedostot">
<!ENTITY zotero.preferences.sync.fileSyncing.download.atSyncTime "synkronoinnin yhteydessä">
<!ENTITY zotero.preferences.sync.fileSyncing.download.onDemand "as needed">
<!ENTITY zotero.preferences.sync.fileSyncing.tos1 "Käyttämällä Zoteron tallennustilaa sitoudut samalla siihen liittyviin">
<!ENTITY zotero.preferences.sync.fileSyncing.tos2 "käyttöehtoihin">
<!ENTITY zotero.preferences.sync.reset.warning1 "The following operations are for use only in rare, specific situations and should not be used for general troubleshooting. In many cases, resetting will cause additional problems. See ">
<!ENTITY zotero.preferences.sync.reset.warning2 "Sync Reset Options">
<!ENTITY zotero.preferences.sync.reset.warning1 "Seuraavat toiminnot ovat tarpeen vain äärimmäisen harvinaisissa tilanteissa, eikä niitä tulisi käyttää tavalliseen virheenetsintään. Monissa tapauksissa asetusten nollaus voi aiheuttaa lisää ongelmia. Katso ">
<!ENTITY zotero.preferences.sync.reset.warning2 "Synkroinnin nollauksen asetukset">
<!ENTITY zotero.preferences.sync.reset.warning3 " for more information.">
<!ENTITY zotero.preferences.sync.reset.fullSync "Täydellinen synkronointi Zotero-palvelimen kanssa">
<!ENTITY zotero.preferences.sync.reset.fullSync.desc "Yhdistä paikallinen Zotero-aineisto synkronointipalvelimen aineiston kanssa jättäen synkronointihistoria huomioimatta">

View file

@ -12,12 +12,12 @@
<!ENTITY fileMenu.label "Tiedosto">
<!ENTITY fileMenu.accesskey "F">
<!ENTITY saveCmd.label "Save…">
<!ENTITY saveCmd.label "Tallenna...">
<!ENTITY saveCmd.key "S">
<!ENTITY saveCmd.accesskey "A">
<!ENTITY pageSetupCmd.label "Page Setup…">
<!ENTITY pageSetupCmd.label "Sivun asetukset...">
<!ENTITY pageSetupCmd.accesskey "U">
<!ENTITY printCmd.label "Print…">
<!ENTITY printCmd.label "Tulosta...">
<!ENTITY printCmd.key "P">
<!ENTITY printCmd.accesskey "P">
<!ENTITY closeCmd.label "Sulje">
@ -54,7 +54,7 @@
<!ENTITY selectAllCmd.label "Valitse kaikki">
<!ENTITY selectAllCmd.key "A">
<!ENTITY selectAllCmd.accesskey "A">
<!ENTITY preferencesCmd.label "Preferences">
<!ENTITY preferencesCmd.label "Asetukset">
<!ENTITY preferencesCmd.accesskey "O">
<!ENTITY preferencesCmdUnix.label "Asetukset">
<!ENTITY preferencesCmdUnix.accesskey "n">

View file

@ -4,8 +4,10 @@
<!ENTITY zotero.general.deselectAll "Poista valinnat">
<!ENTITY zotero.general.edit "Muokkaa">
<!ENTITY zotero.general.delete "Poista">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Peruuta">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.title "Zoteron virheraportti">
<!ENTITY zotero.errorReport.unrelatedMessages "Virhepäiväkirjassa saattaa olla mukana Zoteroon liittymättömiä viestejä.">
<!ENTITY zotero.errorReport.submissionInProgress "Odota">
<!ENTITY zotero.errorReport.submitted "Virheraporttisi on toimitettu.">
@ -13,7 +15,7 @@
<!ENTITY zotero.errorReport.postToForums "Lähetä Zoteron keskustelualueelle (forums.zotero.org) viesti, joka sisältää raportin tunnuksen, ongelman kuvauksen sekä toimenpiteet, joilla virhe saadaan toistettua.">
<!ENTITY zotero.errorReport.notReviewed "Error reports are generally not reviewed unless referred to in the forums.">
<!ENTITY zotero.upgrade.title "Zotero Upgrade Wizard">
<!ENTITY zotero.upgrade.title "Zoteron päivitysvelho">
<!ENTITY zotero.upgrade.newVersionInstalled "Olet asentanut Zoteron uuden version.">
<!ENTITY zotero.upgrade.upgradeRequired "Zotero-tietokantasi täytyy päivittää, jotta se toimisi uuden version kanssa.">
<!ENTITY zotero.upgrade.autoBackup "Tietokantasi varmuuskopioidaan automaattisesti ennen muutosten tekemistä.">
@ -58,22 +60,22 @@
<!ENTITY zotero.items.rights_column "Oikeudet">
<!ENTITY zotero.items.dateAdded_column "Lisätty">
<!ENTITY zotero.items.dateModified_column "Muokattu">
<!ENTITY zotero.items.extra_column "Extra">
<!ENTITY zotero.items.archive_column "Archive">
<!ENTITY zotero.items.archiveLocation_column "Loc. in Archive">
<!ENTITY zotero.items.place_column "Place">
<!ENTITY zotero.items.volume_column "Volume">
<!ENTITY zotero.items.edition_column "Edition">
<!ENTITY zotero.items.pages_column "Pages">
<!ENTITY zotero.items.issue_column "Issue">
<!ENTITY zotero.items.series_column "Series">
<!ENTITY zotero.items.seriesTitle_column "Series Title">
<!ENTITY zotero.items.court_column "Court">
<!ENTITY zotero.items.medium_column "Medium/Format">
<!ENTITY zotero.items.extra_column "Ylimääräistä">
<!ENTITY zotero.items.archive_column "Arkisto">
<!ENTITY zotero.items.archiveLocation_column "Paik. arkistossa">
<!ENTITY zotero.items.place_column "Paikka">
<!ENTITY zotero.items.volume_column "Vuosikerta">
<!ENTITY zotero.items.edition_column "Painos">
<!ENTITY zotero.items.pages_column "Sivuja">
<!ENTITY zotero.items.issue_column "Numero">
<!ENTITY zotero.items.series_column "Sarja">
<!ENTITY zotero.items.seriesTitle_column "Sarjan nimi">
<!ENTITY zotero.items.court_column "Tuomioistuin">
<!ENTITY zotero.items.medium_column "Formaatti">
<!ENTITY zotero.items.genre_column "Genre">
<!ENTITY zotero.items.system_column "System">
<!ENTITY zotero.items.moreColumns.label "More Columns">
<!ENTITY zotero.items.restoreColumnOrder.label "Restore Column Order">
<!ENTITY zotero.items.system_column "Järjestelmä">
<!ENTITY zotero.items.moreColumns.label "Lisää sarakkeita">
<!ENTITY zotero.items.restoreColumnOrder.label "Palauta sarakejärjestys">
<!ENTITY zotero.items.menu.showInLibrary "Näytä kirjastossa">
<!ENTITY zotero.items.menu.attach.note "Lisää muistiinpano">
@ -86,10 +88,10 @@
<!ENTITY zotero.items.menu.restoreToLibrary "Palauta kirjastoon">
<!ENTITY zotero.items.menu.duplicateItem "Monista valittu nimike">
<!ENTITY zotero.items.menu.mergeItems "Merge Items…">
<!ENTITY zotero.items.menu.mergeItems "Yhdistä kohteet...">
<!ENTITY zotero.duplicatesMerge.versionSelect "Choose the version of the item to use as the master item:">
<!ENTITY zotero.duplicatesMerge.fieldSelect "Select fields to keep from other versions of the item:">
<!ENTITY zotero.duplicatesMerge.versionSelect "Valitse se nimikkeen pääversio:">
<!ENTITY zotero.duplicatesMerge.fieldSelect "Valise kentät, jotka säilytetään muista versioista:">
<!ENTITY zotero.toolbar.newItem.label "Uusi nimike">
<!ENTITY zotero.toolbar.moreItemTypes.label "Lisää">
@ -121,7 +123,7 @@
<!ENTITY zotero.item.textTransform "Muunna teksti">
<!ENTITY zotero.item.textTransform.titlecase "Otsikon aakkoslaji">
<!ENTITY zotero.item.textTransform.sentencecase "Lauseenkaltainen">
<!ENTITY zotero.item.creatorTransform.nameSwap "Swap first/last names">
<!ENTITY zotero.item.creatorTransform.nameSwap "Vaihda etu- ja sukunimi">
<!ENTITY zotero.toolbar.newNote "Uusi muistiinpano">
<!ENTITY zotero.toolbar.note.standalone "Uusi itsenäinen muistiinpano">
@ -139,18 +141,18 @@
<!ENTITY zotero.tagSelector.selectVisible "Select visible">
<!ENTITY zotero.tagSelector.clearVisible "Deselect visible">
<!ENTITY zotero.tagSelector.clearAll "Deselect all">
<!ENTITY zotero.tagSelector.assignColor "Assign Color…">
<!ENTITY zotero.tagSelector.assignColor "Aseta väri">
<!ENTITY zotero.tagSelector.renameTag "Rename Tag...">
<!ENTITY zotero.tagSelector.deleteTag "Delete Tag...">
<!ENTITY zotero.tagColorChooser.title "Choose a Tag Color and Position">
<!ENTITY zotero.tagColorChooser.color "Color:">
<!ENTITY zotero.tagColorChooser.position "Position:">
<!ENTITY zotero.tagColorChooser.setColor "Set Color">
<!ENTITY zotero.tagColorChooser.removeColor "Remove Color">
<!ENTITY zotero.tagColorChooser.title "Valitse avainsanan väri ja sijainti">
<!ENTITY zotero.tagColorChooser.color "Väri:">
<!ENTITY zotero.tagColorChooser.position "Sijainti:">
<!ENTITY zotero.tagColorChooser.setColor "Aseta väri">
<!ENTITY zotero.tagColorChooser.removeColor "Poista väri">
<!ENTITY zotero.lookup.description "Kirjoita ISBN-, DOI tai PMID-koodi allaolevaan laatikkoon.">
<!ENTITY zotero.lookup.button.search "Search">
<!ENTITY zotero.lookup.button.search "Etsi">
<!ENTITY zotero.selectitems.title "Valitse nimikkeet">
<!ENTITY zotero.selectitems.intro.label "Valitse nimikkeet, jotka haluat lisätä kirjastoon">
@ -159,9 +161,9 @@
<!ENTITY zotero.bibliography.title "Luo kirjallisuusluettelo">
<!ENTITY zotero.bibliography.style.label "Sitaattityyli:">
<!ENTITY zotero.bibliography.outputMode "Output Mode:">
<!ENTITY zotero.bibliography.bibliography "Bibliography">
<!ENTITY zotero.bibliography.outputMethod "Output Method:">
<!ENTITY zotero.bibliography.outputMode "Luettelotyyppi:">
<!ENTITY zotero.bibliography.bibliography "Lähdeluettelo">
<!ENTITY zotero.bibliography.outputMethod "Vientitapa:">
<!ENTITY zotero.bibliography.saveAsRTF.label "Tallenna RTF-muodossa">
<!ENTITY zotero.bibliography.saveAsHTML.label "Tallenna HTML-muodossa">
<!ENTITY zotero.bibliography.copyToClipboard.label "Kopioi leikepöydälle">
@ -170,7 +172,7 @@
<!ENTITY zotero.integration.docPrefs.title "Asiakirjan asetukset">
<!ENTITY zotero.integration.addEditCitation.title "Lisää/muokkaa sitaatti">
<!ENTITY zotero.integration.editBibliography.title "Muokkaa lähdeluetteloa">
<!ENTITY zotero.integration.quickFormatDialog.title "Quick Format Citation">
<!ENTITY zotero.integration.quickFormatDialog.title "Pikainen lähteen muokkaus">
<!ENTITY zotero.progress.title "Eteneminen">
@ -189,7 +191,7 @@
<!ENTITY zotero.citation.suppressAuthor.label "Piilota tekijä">
<!ENTITY zotero.citation.prefix.label "Etuliite:">
<!ENTITY zotero.citation.suffix.label "Jälkiliite:">
<!ENTITY zotero.citation.editorWarning.label "Warning: If you edit a citation in the editor it will no longer update to reflect changes in your database or the citation style.">
<!ENTITY zotero.citation.editorWarning.label "Varoitus: Jos muokkaat viittausta tekstieditorissa, se ei enää päivity tietokannan tietojen tai viittaustyylin perusteella.">
<!ENTITY zotero.richText.italic.label "Kursiivi">
<!ENTITY zotero.richText.bold.label "Lihavointi">
@ -212,8 +214,8 @@
<!ENTITY zotero.integration.prefs.bookmarks.caption "Bookmarks are preserved across Microsoft Word and OpenOffice, but may be accidentally modified.">
<!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.label "Automatically abbreviate journal titles">
<!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.caption "MEDLINE journal abbreviations will be automatically generated using journal titles. The “Journal Abbr” field will be ignored.">
<!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.label "Lyhennä lehtien nimet automaattisesti">
<!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.caption "Lehtien MEDLINE-lyhenteet muodostetaan automaattisesti lehtien nimistä. &quot;Lehden lyhenne&quot; -kenttä ohitetaan.">
<!ENTITY zotero.integration.prefs.storeReferences.label "Tallenna viitteet asiakirjassa">
<!ENTITY zotero.integration.prefs.storeReferences.caption "Viitteiden tallentaminen asiakirjassa kasvattaa hiukan tiedoston kokoa, mutta tällöin tiedoston voi jakaa muiden kanssa käyttämättä Zotero-ryhmää. Tällä toiminnalle luotujen asiakirjojen muokkaamiseen tarvitaan Zotero 3.0 tai uudempi.">
@ -239,9 +241,9 @@
<!ENTITY zotero.sync.longTagFixer.uncheckedTagsNotSaved "Rastittamattomia merkkejä ei tallenneta.">
<!ENTITY zotero.sync.longTagFixer.tagWillBeDeleted "Merkki poistetaan kaikista nimikkeistä.">
<!ENTITY zotero.merge.title "Conflict Resolution">
<!ENTITY zotero.merge.of "of">
<!ENTITY zotero.merge.deleted "Deleted">
<!ENTITY zotero.merge.title "Ristiriidan selvittäminen">
<!ENTITY zotero.merge.of "/">
<!ENTITY zotero.merge.deleted "Poistettu">
<!ENTITY zotero.proxy.recognized.title "Välityspalvelin tunnistettu">
<!ENTITY zotero.proxy.recognized.warning "Lisää vain välityspalvelimia, jotka on linkitetty kirjastostasi, koulustasi tai yrityksestäsi">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Peruuta">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF:n nimi">
<!ENTITY zotero.recognizePDF.itemName.label "Nimikkeen nimi">
<!ENTITY zotero.recognizePDF.captcha.label "Kirjoita allaoleva teksti jatkaaksesi metatiedon noutamista">
<!ENTITY zotero.rtfScan.title "RTF:n läpikäynti">
<!ENTITY zotero.rtfScan.cancel.label "Peruuta">

View file

@ -11,7 +11,7 @@ general.restartRequiredForChange=Muutos vaikuttaa vasta %Sin uudelleenkäynnisty
general.restartRequiredForChanges=Muutokset vaikuttavat vasta %Sin uudelleenkäynnistyksen jälkeen.
general.restartNow=Käynnistä uudelleen nyt
general.restartLater=Käynnistä uudelleen myöhemmin
general.restartApp=Restart %S
general.restartApp=Käynnistä %S uudelleen
general.quitApp=Quit %S
general.errorHasOccurred=On tapahtunut virhe
general.unknownErrorOccurred=Tapahtui tuntematon virhe.
@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Käynnistä Firefox uudelleen.
general.restartFirefoxAndTryAgain=Käynnistä Firefox uudelleen ja kokeile uudestaan
general.checkForUpdate=Tarkista päivitykset
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=Tätä toimintoa ei voi perua.
general.install=Asenna
general.updateAvailable=Päivitys on saatavana
@ -164,7 +164,7 @@ pane.collections.groupLibraries=Group Libraries
pane.collections.trash=Roskakori
pane.collections.untitled=Nimetön
pane.collections.unfiled=Lajittelemattomat nimikkeet
pane.collections.duplicate=Duplicate Items
pane.collections.duplicate=Kaksoiskappaleet
pane.collections.menu.rename.collection=Nimeä kokoelma uudelleen...
pane.collections.menu.edit.savedSearch=Muokkaa tallennettua hakua
@ -247,8 +247,8 @@ pane.item.defaultLastName=suku
pane.item.defaultFullName=koko nimi
pane.item.switchFieldMode.one=Käytä vain yhtä kenttää
pane.item.switchFieldMode.two=Käytä kahta kenttää
pane.item.creator.moveUp=Move Up
pane.item.creator.moveDown=Move Down
pane.item.creator.moveUp=Siirrä ylös
pane.item.creator.moveDown=Siirrä alas
pane.item.notes.untitled=Otsikoimaton muistio
pane.item.notes.delete.confirm=Haluatko varmasti poistaa tämän muistion?
pane.item.notes.count.zero=%S muistiota:
@ -340,7 +340,7 @@ itemFields.publicationTitle=Julkaisutiedot
itemFields.ISSN=ISSN
itemFields.date=Päiväys
itemFields.section=Osio
itemFields.callNumber=Soita
itemFields.callNumber=Hyllypaikka
itemFields.archiveLocation=Paik. arkistossa
itemFields.distributor=Jakelija
itemFields.extra=Ylim.
@ -503,12 +503,12 @@ db.dbRestoreFailed=Zotero-tietokanta '%S' vaikuttaa olevan vioittunut, ja yritys
db.integrityCheck.passed=Tietokannasta ei löytynyt virheitä.
db.integrityCheck.failed=Zotero-tietokannasta löytyi virheitä!
db.integrityCheck.dbRepairTool=Voit käyttää tietokannan korjaustyökalua osoitteessa http://zotero.org/utils/dbfix näiden ongelmien korjaamiseen.
db.integrityCheck.repairAttempt=Zotero can attempt to correct these errors.
db.integrityCheck.appRestartNeeded=%S will need to be restarted.
db.integrityCheck.fixAndRestart=Fix Errors and Restart %S
db.integrityCheck.errorsFixed=The errors in your Zotero database have been corrected.
db.integrityCheck.errorsNotFixed=Zotero was unable to correct all the errors in your database.
db.integrityCheck.reportInForums=You can report this problem in the Zotero Forums.
db.integrityCheck.repairAttempt=Zotero voi yrittää korjata nämä virheet.
db.integrityCheck.appRestartNeeded=%S pitää käynnistää uudelleen.
db.integrityCheck.fixAndRestart=Korjaa virheet ja käynnistä %S uudelleen
db.integrityCheck.errorsFixed=Virheet Zotero-tietokannassa on korjattu.
db.integrityCheck.errorsNotFixed=Zotero ei onnistunut korjaamaan kaikkia tietokannan virheitä.
db.integrityCheck.reportInForums=Voit ilmoittaa tästä ongelmasta Zoteron keskustelufoorumilla.
zotero.preferences.update.updated=Päivitetty
zotero.preferences.update.upToDate=Ajan tasalla
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Anna salasana.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Synkronointi on jo käynnissä.
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
sync.error.writeAccessLost=Sinulla ei enää ole kirjoitusoikeutta Zoteron ryhmään '%S'. Lisäämiäsi tai muokkaamiasi tiedostoja ei voida synkronoida palvelimelle.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=Jos jatkat, kopiosi ryhmästä resetoituu siihen tilaan, missä se palvelimella on. Paikalliset muokkaukset nimikkeisiin ja tiedostoihin menetetään.
sync.error.copyChangedItems=Jos haluat mahdollisuuden kopioida tekemäsi muutokset muualle tai pyytää kirjoitusoikeutta ryhmän ylläpitäjältä, peruuta synkronointi nyt.
sync.error.manualInterventionRequired=Automaattinen synkronointi johti konfliktiin, joka vaatii manuaalista väliintuloa.
@ -895,12 +895,16 @@ proxies.recognized.add=Lisää välityspalvelin
recognizePDF.noOCR=PDF-tiedosto ei sisällä OCRed-tekstiä.
recognizePDF.couldNotRead=PDF-tiedoston tekstiä ei voi lukea.
recognizePDF.noMatches=Nimikkeitä ei löytynyt.
recognizePDF.fileNotFound=Tiedostoa ei löydy
recognizePDF.limit=Kyselyjen raja ylitetty. Yritä myöhemmin uudelleen.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metatiedon haku on valmis.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Sulje
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Valitse käsiteltävä tiedosto
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Tout désélectionner">
<!ENTITY zotero.general.edit "Modifier">
<!ENTITY zotero.general.delete "Supprimer">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Annuler">
<!ENTITY zotero.errorReport.title "Rapport d'erreur Zotero">
<!ENTITY zotero.errorReport.unrelatedMessages "Le journal des erreurs peut comprendre des messages sans rapport avec Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Annuler">
<!ENTITY zotero.recognizePDF.pdfName.label "Nom du PDF">
<!ENTITY zotero.recognizePDF.itemName.label "Nom du document">
<!ENTITY zotero.recognizePDF.captcha.label "Entrez le texte ci-dessous pour poursuivre la récupération des métadonnées.">
<!ENTITY zotero.rtfScan.title "Analyse d'un fichier RTF">
<!ENTITY zotero.rtfScan.cancel.label "Annuler">

View file

@ -760,9 +760,9 @@ sync.error.invalidLogin.text=Le serveur de synchronisation Zotero n'a pas accept
sync.error.enterPassword=Veuillez saisir votre mot de passe.
sync.error.loginManagerInaccessible=Zotero ne peut pas accéder à vos informations de connexion.
sync.error.checkMasterPassword=Si vous utilisez un mot de passe maître dans %S, assurez-vous de l'avoir saisi correctement.
sync.error.corruptedLoginManager=Ce pourrait être également causé par la corruption de la base de données du gestionnaire de connexions de %1$S. Pour vérifier, fermez %1$S, sauvegardez puis supprimez signons.* de votre profil %1, et saisissez à nouveau vos informations de connexion Zotero dans le panneau Synchronisation des Préférences de Zotero.
sync.error.corruptedLoginManager=Ce pourrait être également causé par la corruption de la base de données du gestionnaire de connexions de %1$S. Pour vérifier, fermez %1$S, supprimez signons.sqlite dans le répertoire de votre profil %1$S, et re-tapez vos informations de connexion Zotero dans le panneau Synchronisation des Préférences de Zotero.
sync.error.loginManagerCorrupted1=Zotero ne peut pas accéder à vos informations de connexion, peut-être à cause de la corruption de la base de données du gestionnaire de connexions de %S.
sync.error.loginManagerCorrupted2=Fermez %1$S, sauvegardez signons.* puis supprimez-le de votre profil %2$S, et finalement saisissez à nouveau vos informations de connexion dans le panneau Synchronisation des Préférences de Zotero.
sync.error.loginManagerCorrupted2=Fermez %1$S, supprimez signons.sqlite dans le répertoire de votre profil %2$S, et re-tapez vos informations de connexion Zotero dans le panneau Synchronisation des Préférences de Zotero.
sync.error.syncInProgress=Une opération de synchronisation est déjà en cours.
sync.error.syncInProgress.wait=Attendez que la synchronisation précédente soit terminée ou redémarrez %S.
sync.error.writeAccessLost=Vous n'avez plus d'accès en écriture au groupe Zotero '%S', et les documents que vous avez ajoutés ou modifiés ne peuvent pas être synchronisés avec le serveur.
@ -895,12 +895,16 @@ proxies.recognized.add=Ajout d'un serveur mandataire
recognizePDF.noOCR=Ce PDF ne contient pas de texte ayant fait l'objet d'une reconnaissance optique de caractères.
recognizePDF.couldNotRead=Le texte du PDF n'a pas pu être lu.
recognizePDF.noMatches=Il n'a pas été trouvé de référence correspondante.
recognizePDF.fileNotFound=Fichier non trouvé.
recognizePDF.limit=Limite de la requête atteinte. Réessayez plus tard.
recognizePDF.noMatches=Il n'a pas été trouvé de référence correspondante
recognizePDF.fileNotFound=Fichier non trouvé
recognizePDF.limit=Le nombre de requêtes possibles auprès de Google Scholar a été atteint. Réessayez plus tard.
recognizePDF.error=Une erreur inattendue s'est produite.
recognizePDF.complete.label=Récupération des métadonnées achevée.
recognizePDF.stopped=Annulée
recognizePDF.complete.label=Récupération des métadonnées achevée
recognizePDF.cancelled.label=Récupération des métadonnées annulée
recognizePDF.close.label=Fermer
recognizePDF.captcha.title=Veuillez recopier le CAPTCHA
recognizePDF.captcha.description=Zotero utilise Google Scholar pour identifier les PDF. Pour continuer à utiliser Google Scholar, veuillez taper le texte de l'image ci-dessous.
rtfScan.openTitle=Sélectionnez un fichier à analyser
rtfScan.scanning.label=Analyse du document RTF en cours…

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Desmarcar todo">
<!ENTITY zotero.general.edit "Editar">
<!ENTITY zotero.general.delete "Borrar">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Informe de erros de Zotero">
<!ENTITY zotero.errorReport.unrelatedMessages "O rexistro de erros pode incluír mensaxes que non gardan relación con Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancelar">
<!ENTITY zotero.recognizePDF.pdfName.label "Nome do PDF">
<!ENTITY zotero.recognizePDF.itemName.label "Nome do elemento">
<!ENTITY zotero.recognizePDF.captcha.label "Introduza o texto abaixo para seguir recuperando metadatos.">
<!ENTITY zotero.rtfScan.title "Analizador de RTF">
<!ENTITY zotero.rtfScan.cancel.label "Cancelar">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Proba de novo nuns minutos.
general.serverError=O servidor devolveu un erro. Inténtao de novo.
general.restartFirefox=Reinicie %S.
general.restartFirefoxAndTryAgain=Reinicie %S e volva intentalo.
general.checkForUpdate=Comprobar as actualizacións
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=Esta acción non se pode desfacer.
general.install=Instalar
general.updateAvailable=Actualización dispoñible
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=O servidor de sincronización de Zotero non acepta
sync.error.enterPassword=Introduza un contrasinal.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Peche o %S, faga unha copia de seguridade e elimine signons.* no seu perfil de %S e reintroduza a súa información de rexistro no panel de sincronización no panel de preferencias do Zotero.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Xa se está executando unha sincronización.
sync.error.syncInProgress.wait=Espere até que a sincronización anterior se complete ou reinicie %S.
sync.error.writeAccessLost=Xa non ten acceso de escritura ao grupo Zotero «%S» e os ficheiros que engadiu ou editou non poden ser sincronizados co servidor.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=Se continúa, a súa copia do grupo será restaurada ao seu estado no servidor e as modificacións locais dos elementos e ficheiros perderanse.
sync.error.copyChangedItems=Cancele a sincronización se antes prefire copiar os cambios noutro lugar ou solicitar o acceso de escritura a un administrador do grupo.
sync.error.manualInterventionRequired=Unha sincronización automática produciu un conflito que require resolvelo manualmente.
@ -895,12 +895,16 @@ proxies.recognized.add=Engadir Proxy
recognizePDF.noOCR=O PDF non contén texto en OCR.
recognizePDF.couldNotRead=Non se puido ler o texto do PDF.
recognizePDF.noMatches=Non se atoparon referencias que coincidan.
recognizePDF.fileNotFound=Non se atopou o ficheiro.
recognizePDF.limit=Acadouse o límite de consultas. Ténteo de novo máis tarde.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Recuperación completa de metadatos.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Pechar
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Seleccione un ficheiro para esculcar
rtfScan.scanning.label=Analizando o documento RTF...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Deselect All">
<!ENTITY zotero.general.edit "ערוך">
<!ENTITY zotero.general.delete "מחק">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "The error log may include messages unrelated to Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "ביטול">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF Name">
<!ENTITY zotero.recognizePDF.itemName.label "Item Name">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "בטל">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=.הפעילו מחדש את פיירפוקס בבקשה
general.restartFirefoxAndTryAgain=Please restart Firefox and try again.
general.checkForUpdate=בדוק אם יש עידכונים
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=This action cannot be undone.
general.install=התקנה
general.updateAvailable=עדכונים זמינים
@ -760,9 +760,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Please enter a password.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=A sync operation is already in progress.
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
@ -895,12 +895,16 @@ proxies.recognized.add=Add Proxy
recognizePDF.noOCR=PDF does not contain OCRed text.
recognizePDF.couldNotRead=Could not read text from PDF.
recognizePDF.noMatches=No matching references found.
recognizePDF.fileNotFound=File not found.
recognizePDF.limit=Query limit reached. Try again later.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metadata Retrieval Complete.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Close
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Select a file to scan
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Deselect All">
<!ENTITY zotero.general.edit "Edit">
<!ENTITY zotero.general.delete "Delete">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "The error log may include messages unrelated to Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancel">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF Name">
<!ENTITY zotero.recognizePDF.itemName.label "Item Name">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "Cancel">

View file

@ -760,9 +760,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Please enter a password.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=A sync operation is already in progress.
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
@ -895,12 +895,16 @@ proxies.recognized.add=Add Proxy
recognizePDF.noOCR=PDF does not contain OCRed text.
recognizePDF.couldNotRead=Could not read text from PDF.
recognizePDF.noMatches=No matching references found.
recognizePDF.fileNotFound=File not found.
recognizePDF.limit=Query limit reached. Try again later.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metadata Retrieval Complete.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Close
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Select a file to scan
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Kijelölés megszüntetése">
<!ENTITY zotero.general.edit "Szerkesztés">
<!ENTITY zotero.general.delete "Törlés">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "A hibanapló a Zoterohoz nem kapcsolódó bejegyzéseket is tartalmazhat">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancel">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF Name">
<!ENTITY zotero.recognizePDF.itemName.label "Item Name">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "Cancel">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Indítsa újra a Firefoxot.
general.restartFirefoxAndTryAgain=Indítsa újra a Firefoxot és próbálja meg újra.
general.checkForUpdate=Frissítések keresése
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=This action cannot be undone.
general.install=Telepítés
general.updateAvailable=Van elérhető frissítés
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Adja meg a jelszót.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Zárja be a Firefoxot, készítsen biztonsági másolatot, és törölje ki a bejelentkezési adatokat a Firefox profiljából, majd adja meg újra a bejelentkezési adatokat a Zotero beállítások Szinkronizáció nevű lapján.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=A szinkronizáció már folyamatban.
sync.error.syncInProgress.wait=Várja meg, amíg a szinkronizáció befejeződik vagy indítsa újra a Firefoxot.
sync.error.writeAccessLost=Nincs írási jogosultsága a '%S' csoporthoz, ezért az új vagy módosított fájlokat nem lehet szinkronizálni a szerverrel.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=Ha folytatja, a helyi változások elvesznek, és a szerveren található változat kerül a helyi gépre.
sync.error.copyChangedItems=Ha jogosultságot szeretne kérni vagy egy másik csoporttal szinkronizálni, vesse el a szinkronizációt.
sync.error.manualInterventionRequired=Az automatikus szinkronizáció hibát talált, ezért beavatkozásra van szükség.
@ -895,12 +895,16 @@ proxies.recognized.add=Add Proxy
recognizePDF.noOCR=PDF does not contain OCRed text.
recognizePDF.couldNotRead=Could not read text from PDF.
recognizePDF.noMatches=No matching references found.
recognizePDF.fileNotFound=File not found.
recognizePDF.limit=Query limit reached. Try again later.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metadata Retrieval Complete.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Close
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Select a file to scan
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Hilangkan Semua Pilihan">
<!ENTITY zotero.general.edit "Edit">
<!ENTITY zotero.general.delete "Hapus">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "Log kesalahan mungkin mengandung pesan yang tidak terkait dengan Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Batalkan">
<!ENTITY zotero.recognizePDF.pdfName.label "Nama PDF">
<!ENTITY zotero.recognizePDF.itemName.label "Nama Item">
<!ENTITY zotero.recognizePDF.captcha.label "Tuliskan teks di bawah ini untuk meneruskan menerima metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "Batalkan">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Mohon restart %S.
general.restartFirefoxAndTryAgain=Mohon restart %S dan coba kembali.
general.checkForUpdate=Periksa pemutakhiran
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=Tindakan ini tidak dapat dibatalkan.
general.install=Instal
general.updateAvailable=Pemutakhiran Tersedia
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Silakan masukkan password.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Tutuplah %S, back up dan hapus tanda.* dari profil %S Anda, lalu masukkanlah kembali informasi login Zotero Anda ke dalam jendela Sinkronisasi preferensi Zotero.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Operasi sinkronisasi sedang dalam progres.
sync.error.syncInProgress.wait=Tunggulah sinkronisasi sebelumnya selesasi atau restart %S.
sync.error.writeAccessLost=Anda tidak lagi memiliki akses penulisan kepada grup Zotero '%S', dan berkas-berkas yang telah Anda tambahkan atau edit tidak dapat disinkronisasikan ke dalam server.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=Jika Anda berlanjut, salinan Anda pada grup akan direset menjadi keadaan seperti pada server, dan modifikasi lokal terhadap item-item dan berkas-berkas akan hilang.
sync.error.copyChangedItems=Jika Anda ingin mencoba untuk menyalin perubahan apapun atau meminta akses penulisan dari administrator grup, batalkan sinkronisasi sekarang.
sync.error.manualInterventionRequired=Sinkronisasi otomatis menghasilkan sebua konflik yang membutuhkan intervensi manual.
@ -895,12 +895,16 @@ proxies.recognized.add=Tambahkan Proksi
recognizePDF.noOCR=PDF tidak mengandung teks OCRed.
recognizePDF.couldNotRead=Tidak dapat membaca teks dari PDF.
recognizePDF.noMatches=Tidak ditemukan referensi yang cocok.
recognizePDF.fileNotFound=Berkas tidak ditemukan.
recognizePDF.limit=Batas queri tercapai. Coba kembali lain waktu.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Penerimaan Metadata Selesai.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Tutup
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Pilihlah sebuah berkas untuk dipindai
rtfScan.scanning.label=Memindai Dokumen RTF

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Velja ekkert">
<!ENTITY zotero.general.edit "Breyta">
<!ENTITY zotero.general.delete "Eyða">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "Villuskráin gæti innihaldið skilaboð sem ekki tengjast Zotero.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Cancel">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF Name">
<!ENTITY zotero.recognizePDF.itemName.label "Item Name">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF Scan">
<!ENTITY zotero.rtfScan.cancel.label "Cancel">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Vinsamlegast endurræsið %S
general.restartFirefoxAndTryAgain=Vinsamlegast endurræsið %S og reynið aftur.
general.checkForUpdate=Athuga uppfærslur
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=Ekki er hægt að taka þessa aðgerð til baka.
general.install=Setja upp
general.updateAvailable=Uppfærsla er fáanleg
@ -760,9 +760,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=Please enter a password.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=A sync operation is already in progress.
sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
@ -895,12 +895,16 @@ proxies.recognized.add=Add Proxy
recognizePDF.noOCR=PDF does not contain OCRed text.
recognizePDF.couldNotRead=Could not read text from PDF.
recognizePDF.noMatches=No matching references found.
recognizePDF.fileNotFound=File not found.
recognizePDF.limit=Query limit reached. Try again later.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Metadata Retrieval Complete.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Close
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Select a file to scan
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "Deseleziona tutti">
<!ENTITY zotero.general.edit "Modifica">
<!ENTITY zotero.general.delete "Elimina">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "Il log degli errori potrebbe includere messaggi non riferibili a Zotero">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "Annulla">
<!ENTITY zotero.recognizePDF.pdfName.label "Nome PDF">
<!ENTITY zotero.recognizePDF.itemName.label "Nome oggetto">
<!ENTITY zotero.recognizePDF.captcha.label "Digita il testo qui sotto per continuare a recuperare i metadati">
<!ENTITY zotero.rtfScan.title "Scansione RTF">
<!ENTITY zotero.rtfScan.cancel.label "Annulla">

View file

@ -11,17 +11,17 @@ general.restartRequiredForChange=Riavviare %S per rendere effettive le modifiche
general.restartRequiredForChanges=Riavviare %S per rendere effettive le modifiche.
general.restartNow=Riavvia ora
general.restartLater=Riavvia in seguito
general.restartApp=Restart %S
general.restartApp=Riavviare %S
general.quitApp=Quit %S
general.errorHasOccurred=Si è verificato un errore.
general.unknownErrorOccurred=Si è verificato un errrore sconosciuto
general.invalidResponseServer=Invalid response from server.
general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Riavviare Firefox
general.restartFirefoxAndTryAgain=Riavviare Firefox e tentare di nuovo.
general.checkForUpdate=Controlla aggiornamenti
general.actionCannotBeUndone=Questa azione non può essere annullata
general.unknownErrorOccurred=Si è verificato un errrore sconosciuto.
general.invalidResponseServer=Risposta del server non valida.
general.tryAgainLater=Tentare di nuovo tra qualche minuto.
general.serverError=Il server ha restituito un errore. Ritentare.
general.restartFirefox=Riavviare %S.
general.restartFirefoxAndTryAgain=Riavviare %S e tentare di nuovo.
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=Questa azione non può essere annullata.
general.install=Installa
general.updateAvailable=Aggiornamenti disponibili
general.noUpdatesFound=No Updates Found
@ -47,11 +47,11 @@ general.disable=Disattiva
general.remove=Rimuovi
general.reset=Reset
general.hide=Hide
general.quit=Quit
general.useDefault=Use Default
general.quit=Esci
general.useDefault=Usa impostazioni predefinite
general.openDocumentation=Apri la documentazione
general.numMore=%S more…
general.openPreferences=Open Preferences
general.numMore=altri %S...
general.openPreferences=Apri le impostazioni
general.keys.ctrlShift=Ctrl+Shift+
general.keys.cmdShift=Cmd+Shift+
@ -86,22 +86,22 @@ errorReport.advanceMessage=Premere '%S' per inviare un rapporto di errore agli s
errorReport.stepsToReproduce=Passaggio da riprodurre:
errorReport.expectedResult=Risultato previsto:
errorReport.actualResult=Risultato verificatosi:
errorReport.noNetworkConnection=No network connection
errorReport.invalidResponseRepository=Invalid response from repository
errorReport.repoCannotBeContacted=Repository cannot be contacted
errorReport.noNetworkConnection=Nessuna connessione di rete
errorReport.invalidResponseRepository=Risposta non valida dal repository
errorReport.repoCannotBeContacted=Il repository non può essere contattato
attachmentBasePath.selectDir=Choose Base Directory
attachmentBasePath.chooseNewPath.title=Confirm New Base Directory
attachmentBasePath.chooseNewPath.message=Linked file attachments below this directory will be saved using relative paths.
attachmentBasePath.chooseNewPath.existingAttachments.singular=One existing attachment was found within the new base directory.
attachmentBasePath.chooseNewPath.existingAttachments.plural=%S existing attachments were found within the new base directory.
attachmentBasePath.chooseNewPath.button=Change Base Directory Setting
attachmentBasePath.clearBasePath.title=Revert to Absolute Paths
attachmentBasePath.clearBasePath.message=New linked file attachments will be saved using absolute paths.
attachmentBasePath.clearBasePath.existingAttachments.singular=One existing attachment within the old base directory will be converted to use an absolute path.
attachmentBasePath.clearBasePath.existingAttachments.plural=%S existing attachments within the old base directory will be converted to use absolute paths.
attachmentBasePath.clearBasePath.button=Clear Base Directory Setting
attachmentBasePath.selectDir=Scegliere la cartella base
attachmentBasePath.chooseNewPath.title=Confermare la nuova cartella base
attachmentBasePath.chooseNewPath.message=I file allegati inseriti in questa directory verranno salvati usando un percorso relativo.
attachmentBasePath.chooseNewPath.existingAttachments.singular=Un allegato esistente è stato trovato nella nuova directory base.
attachmentBasePath.chooseNewPath.existingAttachments.plural=%S allegati esistenti sono stati trovati nella nuova directory base.
attachmentBasePath.chooseNewPath.button=Cambiare l'impostazione della cartella base
attachmentBasePath.clearBasePath.title=Ripristina i percorsi assoluti
attachmentBasePath.clearBasePath.message=I file allegati inseriti in questa directory verranno salvati usando un percorso assoluto.
attachmentBasePath.clearBasePath.existingAttachments.singular=Un allegato esistente nella vecchia directory base sarà convertito usando un percorso assoluto.
attachmentBasePath.clearBasePath.existingAttachments.plural=%S allegati esistenti nella vecchia directory base saranno convertiti usando un percorso assoluto.
attachmentBasePath.clearBasePath.button=Ripristina l'impostazione della cartella base
dataDir.notFound=Impossibile trovare la cartella dati di Zotero.
dataDir.previousDir=Cartella precedente:
@ -109,12 +109,12 @@ dataDir.useProfileDir=Utilizza cartella del profilo di Firefox
dataDir.selectDir=Selezionare una cartella dati di Zotero
dataDir.selectedDirNonEmpty.title=Cartella non vuota
dataDir.selectedDirNonEmpty.text=La cartella selezionata non risulta vuota e non sembra essere una cartella dati di Zotero.\n\nCreare i file di Zotero comunque?
dataDir.selectedDirEmpty.title=Directory Empty
dataDir.selectedDirEmpty.text=The directory you selected is empty. To move an existing Zotero data directory, you will need to manually move files from the existing data directory to the new location after %1$S has closed.
dataDir.selectedDirEmpty.title=Cartella vuota
dataDir.selectedDirEmpty.text=La cartella selezionata è vuota. Per trasferire una cartella dei dati di Zotero, sarà necessario trasferire manualmente i file dalla cartella dati esistente alla nuova posizione dopo la chiusura di %1$S.
dataDir.selectedDirEmpty.useNewDir=Use the new directory?
dataDir.moveFilesToNewLocation=Be sure to move files from your existing Zotero data directory to the new location before reopening %1$S.
dataDir.incompatibleDbVersion.title=Incompatible Database Version
dataDir.incompatibleDbVersion.text=The currently selected data directory is not compatible with Zotero Standalone, which can share a database only with Zotero for Firefox 2.1b3 or later.\n\nUpgrade to the latest version of Zotero for Firefox first or select a different data directory for use with Zotero Standalone.
dataDir.incompatibleDbVersion.title=Versione del database incompatibile
dataDir.incompatibleDbVersion.text=La cartella dati selezionata non è compatibile con Zotero Standalone, che può condividere il database solo con Zoero per Firefox 2.1b3 o versioni successive.\n\nAggiornare prima alla versione più recente di Zotero for Firefox, oppure selezionare una diversa cartella dati da usare con Zotero Standalone.
dataDir.standaloneMigration.title=È stata trovata una libreria di Zotero già esistente
dataDir.standaloneMigration.description=Sembra essere la prima volta che utilizzi %1$S. Vuoi che %1$S importi le impostazioni da %2$S e usi la cartella dati esistente?
dataDir.standaloneMigration.multipleProfiles=%1$S condividerà la sua cartella dati con il profilo usato più di recente.
@ -160,11 +160,11 @@ pane.collections.newSavedSeach=Nuova ricerca salvata
pane.collections.savedSearchName=Immettere un nome per la ricerca salvata:
pane.collections.rename=Rinomina collezione:
pane.collections.library=Libreria personale
pane.collections.groupLibraries=Group Libraries
pane.collections.groupLibraries=Biblioteche di gruppo
pane.collections.trash=Cestino
pane.collections.untitled=Senza titolo
pane.collections.unfiled=Elemento non classificato
pane.collections.duplicate=Duplicate Items
pane.collections.duplicate=Elementi duplicati
pane.collections.menu.rename.collection=Rinomina collezione...
pane.collections.menu.edit.savedSearch=Modifica ricerca salvata
@ -186,14 +186,14 @@ pane.tagSelector.delete.message=Il tag verrà rimosso da tutti gli elementi.
pane.tagSelector.numSelected.none=Nessun tag selezionato
pane.tagSelector.numSelected.singular=%S tag selezionato
pane.tagSelector.numSelected.plural=%S tag selezionati
pane.tagSelector.maxColoredTags=Only %S tags in each library can have colors assigned.
pane.tagSelector.maxColoredTags=Solo %S etichette per biblioteca possono essere associate a un colore.
tagColorChooser.numberKeyInstructions=You can add this tag to selected items by pressing the $NUMBER key on the keyboard.
tagColorChooser.maxTags=Up to %S tags in each library can have colors assigned.
tagColorChooser.numberKeyInstructions=È possibile aggiungere questa etichetta agli elementi selezionati premendo il tasto $NUMBER sulla tastiera.
tagColorChooser.maxTags=Fino a %S etichette per biblioteca possono essere associate a un colore.
pane.items.loading=Caricamento lista elementi in corso...
pane.items.attach.link.uri.title=Attach Link to URI
pane.items.attach.link.uri=Enter a URI:
pane.items.attach.link.uri.title=Allega un collegamento alla URI
pane.items.attach.link.uri=Inserire una URI:
pane.items.trash.title=Sposta nel Cestino
pane.items.trash=Spostare l'elemento selezionato nel Cestino?
pane.items.trash.multiple=Spostare gli elementi selezionati nel Cestino?
@ -230,12 +230,12 @@ pane.items.interview.manyParticipants=Intervista di %S e altri
pane.item.selected.zero=Nessun elemento selezionato
pane.item.selected.multiple=%S elementi selezionati
pane.item.unselected.zero=No items in this view
pane.item.unselected.singular=%S item in this view
pane.item.unselected.plural=%S items in this view
pane.item.unselected.zero=Nessun elemento in questa vista
pane.item.unselected.singular=%S elemento in questa vista
pane.item.unselected.plural=%S elementi in questa vista
pane.item.duplicates.selectToMerge=Select items to merge
pane.item.duplicates.mergeItems=Merge %S items
pane.item.duplicates.selectToMerge=Selezionare gli elementi da accorpare
pane.item.duplicates.mergeItems=Accorpare %S elementi
pane.item.duplicates.writeAccessRequired=Library write access is required to merge items.
pane.item.duplicates.onlyTopLevel=Only top-level full items can be merged.
pane.item.duplicates.onlySameItemType=Merged items must all be of the same item type.
@ -247,8 +247,8 @@ pane.item.defaultLastName=cognome
pane.item.defaultFullName=nome completo
pane.item.switchFieldMode.one=Passa a campo unico
pane.item.switchFieldMode.two=Passa a campo doppio
pane.item.creator.moveUp=Move Up
pane.item.creator.moveDown=Move Down
pane.item.creator.moveUp=Sposta in alto
pane.item.creator.moveDown=Sposta in basso
pane.item.notes.untitled=Nota senza titolo
pane.item.notes.delete.confirm=Cancellare questa nota?
pane.item.notes.count.zero=%S note
@ -503,17 +503,17 @@ db.dbRestoreFailed=Il database '%S' di Zotero potrebbe essere danneggiato e il t
db.integrityCheck.passed=Non è stato rilevato alcun errore nel database.
db.integrityCheck.failed=Rilevato errore nel database di Zotero.
db.integrityCheck.dbRepairTool=È possibile utilizzare gli strumenti di riparazione del database disponibili presso http://zotero.org/utils/dbfix per tentare di corregere questi errori.
db.integrityCheck.repairAttempt=Zotero can attempt to correct these errors.
db.integrityCheck.appRestartNeeded=%S will need to be restarted.
db.integrityCheck.fixAndRestart=Fix Errors and Restart %S
db.integrityCheck.errorsFixed=The errors in your Zotero database have been corrected.
db.integrityCheck.errorsNotFixed=Zotero was unable to correct all the errors in your database.
db.integrityCheck.reportInForums=You can report this problem in the Zotero Forums.
db.integrityCheck.repairAttempt=Zotero può tentare di correggere questi errori.
db.integrityCheck.appRestartNeeded=%S dovrà essere riavviato.
db.integrityCheck.fixAndRestart=Correggere gli errori e riavviare %S
db.integrityCheck.errorsFixed=Gli errori nel database di Zotero sono stati corretti.
db.integrityCheck.errorsNotFixed=Zotero non è riuscito a correggere tutti gli errori nel database.
db.integrityCheck.reportInForums=È possibile segnalare questo problema nei forum di Zotero.
zotero.preferences.update.updated=Aggiornato
zotero.preferences.update.upToDate=Aggiornato
zotero.preferences.update.error=Errore
zotero.preferences.launchNonNativeFiles=Open PDFs and other files within %S when possible
zotero.preferences.launchNonNativeFiles=Apri PDF e altri file all'interno di %S quando possibile
zotero.preferences.openurl.resolversFound.zero=Non è stato rilevato alcun motore di ricerca
zotero.preferences.openurl.resolversFound.singular=Rilevato %S motore di ricerca
zotero.preferences.openurl.resolversFound.plural=Rilevati %S motori di ricerca
@ -556,7 +556,7 @@ zotero.preferences.search.pdf.tryAgainOrViewManualInstructions=Riprovare in segu
zotero.preferences.export.quickCopy.bibStyles=Stili bibliografici
zotero.preferences.export.quickCopy.exportFormats=Formati di esportazione
zotero.preferences.export.quickCopy.instructions=Copia veloce permette di copiare i riferimenti bibliografici selezionati negli Appunti utilizzando la scorciatoia da tastiera (%S) o trascinando l'elemento in un campo di testo di una pagina web.
zotero.preferences.export.quickCopy.citationInstructions=For bibliography styles, you can copy citations or footnotes by pressing %S or holding down Shift before dragging items.
zotero.preferences.export.quickCopy.citationInstructions=Per gli stili bibliografici, è possibile copiare le citazioni o le note a piè di pagina premendo %S oppure tenendo premuto Maiusc prima di trascinare gli elementi.
zotero.preferences.styles.addStyle=Aggiungi stile
zotero.preferences.advanced.resetTranslatorsAndStyles=Reimposta motori di ricerca e stili
@ -640,7 +640,7 @@ fulltext.indexState.partial=Parzialmente indicizzato
exportOptions.exportNotes=Esporta note
exportOptions.exportFileData=Esporta file
exportOptions.useJournalAbbreviation=Use Journal Abbreviation
exportOptions.useJournalAbbreviation=Usare l'abbreviazione dei titoli dei periodici
charset.UTF8withoutBOM=Unicode (UTF-8 senza BOM)
charset.autoDetect=(rilevamento automatico)
@ -656,8 +656,8 @@ citation.multipleSources=Fonti multiple...
citation.singleSource=Fonte singola...
citation.showEditor=Visualizza editor...
citation.hideEditor=Nascondi editor...
citation.citations=Citations
citation.notes=Notes
citation.citations=Citazioni
citation.notes=Note
report.title.default=Rapporto Zotero
report.parentItem=Elemento principale:
@ -743,7 +743,7 @@ styles.abbreviations.title=Load Abbreviations
styles.abbreviations.parseError=The abbreviations file "%1$S" is not valid JSON.
styles.abbreviations.missingInfo=The abbreviations file "%1$S" does not specify a complete info block.
sync.sync=Sync
sync.sync=Sincronizzazione
sync.cancel=Interrompere la Sincronizzazione
sync.openSyncPreferences=Apri le impostazione di sincronizzazione...
sync.resetGroupAndSync=Reimpostare i Gruppi e la Sincronizzazione
@ -753,33 +753,33 @@ sync.remoteObject=Oggetto remoto
sync.mergedObject=Oggetto unificato
sync.error.usernameNotSet=Nome utente non impostato
sync.error.usernameNotSet.text=You must enter your zotero.org username and password in the Zotero preferences to sync with the Zotero server.
sync.error.usernameNotSet.text=È necessario inserire le proprie credenziali di zotero.org nelle impostazioni di Zotero per attivare la sincronizzazione con il server Zotero.
sync.error.passwordNotSet=Password non impostata
sync.error.invalidLogin=Nome utente o password non validi
sync.error.invalidLogin.text=The Zotero sync server did not accept your username and password.\n\nPlease check that you have entered your zotero.org login information correctly in the Zotero sync preferences.
sync.error.invalidLogin.text=Il server di sincronizzazione di Zotero non ha accettato le credenziali inserite..\n\nControllare di avere inserito correttamente le credenziali di zotero.org nelle impostazioni sulla sincronizzazione di Zotero.
sync.error.enterPassword=Immettere una password.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Chiudere %S, fare un copia dei dati e eliminare le informazioni di login.* dal profilo di %S. Immettere nuovamente le proprie informazioni di login per Zotero nel pannello Sincronizzazione delle impostazioni di Zotero.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=Un'operazione di sincronizzazione è già in corso.
sync.error.syncInProgress.wait=Attendere il completamento dell'operazione precedente o riavviare %S.
sync.error.writeAccessLost=Non si ha più privilegio di scrittura per il gruppo di Zotero '%S': i file aggiunti o modificati non possono essere sincronizzati con il server.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=Se si continua, la propria copia del gruppo verrà allineata allo stato del server e tutte le modifiche apportate in locale andranno perse.
sync.error.copyChangedItems=Annullare la sincronizzazione se si desidera avere la possibilità di salvare i propri cambiamenti o di richiedere i privilegi di scrittura da un amministratore del gruppo.
sync.error.manualInterventionRequired=Una sincronizzazione automatica ha prodotto un conflitto che richiede un intervento manuale.
sync.error.clickSyncIcon=Fare click sull'icona di sincronizzazione per avviare manualmente la sincronizzazione.
sync.error.invalidClock=The system clock is set to an invalid time. You will need to correct this to sync with the Zotero server.
sync.error.sslConnectionError=SSL connection error
sync.error.checkConnection=Error connecting to server. Check your Internet connection.
sync.error.emptyResponseServer=Empty response from server.
sync.error.invalidCharsFilename=The filename '%S' contains invalid characters.\n\nRename the file and try again. If you rename the file via the OS, you will need to relink it in Zotero.
sync.error.invalidClock=L'orologio di sistema è impostato su un orario sbagliato. È necessario correggere l'ora di sistema perché la sincronizzazione con il server di Zotero possa funzionare.
sync.error.sslConnectionError=Errore nella connessione SSL
sync.error.checkConnection=Errore nella connessione al server. Controllare la connessione a Internet.
sync.error.emptyResponseServer=Risposta vuota dal server.
sync.error.invalidCharsFilename=Il nome del file '%S' contiene caratteri non validi.\n\nRinominare il file e tentare nuovamente. Se il nome viene modificato tramite il sistema operativo, sarà necessario aggiungere di nuovo il collegamento in Zotero.
sync.lastSyncWithDifferentAccount=This Zotero database was last synced with a different zotero.org account ('%1$S') from the current one ('%2$S').
sync.localDataWillBeCombined=If you continue, local Zotero data will be combined with data from the '%S' account stored on the server.
sync.localGroupsWillBeRemoved1=Local groups, including any with changed items, will also be removed.
sync.avoidCombiningData=To avoid combining or losing data, revert to the '%S' account or use the Reset options in the Sync pane of the Zotero preferences.
sync.lastSyncWithDifferentAccount=Questo database di Zotero è stato sincronizzato con un account zotero.org ('%1$S') diverso da quello attualmente in uso ('%2$S').
sync.localDataWillBeCombined=Continuando, i dati locali di Zotero saranno combinati con quelli dell'account '%S' archiviato sul server.
sync.localGroupsWillBeRemoved1=Anche i gruppi locali, inclusi quelli con elementi modificati, verranno rimossi.
sync.avoidCombiningData=Per evitare di combinare o perdere dati, ritornare all'account '%S' oppure usare le opzioni di Ripristino nel pannello Sincronizzazione delle impostazioni di Zotero.
sync.localGroupsWillBeRemoved2=If you continue, local groups, including any with changed items, will be removed and replaced with groups linked to the '%1$S' account.\n\nTo avoid losing local changes to groups, be sure you have synced with the '%2$S' account before syncing with the '%1$S' account.
sync.conflict.autoChange.alert=One or more locally deleted Zotero %S have been modified remotely since the last sync.
@ -895,12 +895,16 @@ proxies.recognized.add=Aggiungere un Proxy
recognizePDF.noOCR=Il PDF non contiene testo OCR.
recognizePDF.couldNotRead=Impossibile leggere il testo del PDF.
recognizePDF.noMatches=Non è stato possibile trovare riferimenti bibliografici corrispondenti.
recognizePDF.fileNotFound=Impossibile trovare il file.
recognizePDF.limit=È stato raggiunto il limite per la ricerca. Provare nuovamente
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=Ricezione dei metadati completata.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=Chiudi
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=Selezionare un file da scansionare
rtfScan.scanning.label=Scanning RTF Document...

View file

@ -9,10 +9,10 @@
<!ENTITY zotero.preferences.userInterface "ユーザーインターフェース">
<!ENTITY zotero.preferences.showIn "Zoteroを表示するのは:">
<!ENTITY zotero.preferences.showIn.browserPane "ブラウザ画面枠内">
<!ENTITY zotero.preferences.showIn.browserPane "ブラウザ画面">
<!ENTITY zotero.preferences.showIn.separateTab "新しいタブ">
<!ENTITY zotero.preferences.showIn.appTab "アプリタブ">
<!ENTITY zotero.preferences.statusBarIcon "ステタスバーのアイコン:">
<!ENTITY zotero.preferences.statusBarIcon "ステタスバーのアイコン:">
<!ENTITY zotero.preferences.statusBarIcon.none "なし">
<!ENTITY zotero.preferences.fontSize "文字サイズ:">
<!ENTITY zotero.preferences.fontSize.small "小">
@ -65,11 +65,11 @@
<!ENTITY zotero.preferences.sync.fileSyncing.download "必要に応じて">
<!ENTITY zotero.preferences.sync.fileSyncing.download.atSyncTime "同期する際に">
<!ENTITY zotero.preferences.sync.fileSyncing.download.onDemand "ファイルをダウンロードする">
<!ENTITY zotero.preferences.sync.fileSyncing.tos1 "Zotero ストレジを使用することにより、次の使用許諾条件に同意することになります。">
<!ENTITY zotero.preferences.sync.fileSyncing.tos1 "Zotero ストレジをお使いになると、次の使用許諾条件に同意したことになります。">
<!ENTITY zotero.preferences.sync.fileSyncing.tos2 "使用許諾条件">
<!ENTITY zotero.preferences.sync.reset.warning1 "次の操作は、稀に起こる特別な状況のためだけのもので、一般的な問題解決に用いられるべきではありません。多くの場合、リセットすることで更なる問題を引き起こします。以下をご参照ください。">
<!ENTITY zotero.preferences.sync.reset.warning2 "同期リセットの設定">
<!ENTITY zotero.preferences.sync.reset.warning3 "より詳しい情報はこちら。">
<!ENTITY zotero.preferences.sync.reset.warning3 "により詳しい情報がございます。">
<!ENTITY zotero.preferences.sync.reset.fullSync "Zotero サーバと完全に同期(シンク)させる">
<!ENTITY zotero.preferences.sync.reset.fullSync.desc "同期の履歴を無視し、ローカル(手元)の Zotero データと同期サーバのデータを融合する。">
<!ENTITY zotero.preferences.sync.reset.restoreFromServer "Zotero サーバーから復元(リストア)する">
@ -109,7 +109,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.dragLimit "アイテム数が右の値より大きい時はドラッグ時のクイックコピーを無効化する">
<!ENTITY zotero.preferences.quickCopy.dragLimit "アイテム数が右の値より大きい時はドラッグ時のクイックコピーを無効化する:">
<!ENTITY zotero.preferences.prefpane.cite "引用">
<!ENTITY zotero.preferences.cite.styles "引用スタイル">
@ -175,7 +175,7 @@
<!ENTITY zotero.preferences.charset "文字コード">
<!ENTITY zotero.preferences.charset.importCharset "文字コードをインポート">
<!ENTITY zotero.preferences.charset.displayExportOption "文字コードのオプションをエクスポートの際に表示する">
<!ENTITY zotero.preferences.charset.displayExportOption "文字コードの選択肢をエクスポートの際に表示する">
<!ENTITY zotero.preferences.dataDir "データ・ディレクトリの場所">
<!ENTITY zotero.preferences.dataDir.useProfile "Firefox プロファイルのディレクトリを使用する">

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "選択をすべて解除">
<!ENTITY zotero.general.edit "編集">
<!ENTITY zotero.general.delete "削除">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "キャンセル">
<!ENTITY zotero.errorReport.title "Zotero エラーレポート">
<!ENTITY zotero.errorReport.unrelatedMessages "エラー・ログは Zotero とは無関係のメッセージを含んでいる可能性があります。">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "取り消し">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF 名">
<!ENTITY zotero.recognizePDF.itemName.label "アイテム名">
<!ENTITY zotero.recognizePDF.captcha.label "Type the text below to continue retrieving metadata.">
<!ENTITY zotero.rtfScan.title "RTF スキャン">
<!ENTITY zotero.rtfScan.cancel.label "取り消す">

View file

@ -20,12 +20,12 @@ general.tryAgainLater=数分後にもう一度お試し下さい。
general.serverError=サーバーがエラーを返しました。もう一度お試し下さい。
general.restartFirefox=%S を再起動してください。
general.restartFirefoxAndTryAgain=%S を再起動してもう一度試してみて下さい。
general.checkForUpdate=更新の確認
general.checkForUpdate=更新を確認する
general.actionCannotBeUndone=この操作を実行すると、元に戻すことができません。
general.install=インストールする
general.updateAvailable=更新が公開されています
general.noUpdatesFound=No Updates Found
general.isUpToDate=%S is up to date.
general.noUpdatesFound=更新は見つかりませんでした。
general.isUpToDate=%S は最新です。
general.upgrade=更新をインストールする
general.yes=はい
general.no=いいえ
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=Zotero 同期サーバーはあなたのユーザ
sync.error.enterPassword=パスワードを入力してください
sync.error.loginManagerInaccessible=あなたのログイン情報にアクセスできません。
sync.error.checkMasterPassword=%Sでマスターパスワードを設定している場合、これを正しく入力したか確認してださい。
sync.error.corruptedLoginManager=これは、%1$Sのログインマネージャーのデータベースが壊れていることが原因かもしれません。確認するには、%1$Sを閉じ、%1$Sプロファイルの signon.* をバックアップして削除した後、Zotero環境設定の「同期」タブにログイン情報を入力し直してください。
sync.error.corruptedLoginManager=これは %1$S ログイン・マネージャー・データベースが壊れていることも原因かもしれません。\n確認するためには、%1$S を閉じて、%2$S プロファイル・ディレクトリから、signons.sqlite を取り除き、Zotero 環境設定の「同期」画面で、Zotero ログイン情報を再度入力して下さい。
sync.error.loginManagerCorrupted1=おそらく、%Sのログインマネージャーのデータベースが壊れているため、あなたのログイン情報にアクセスできません。
sync.error.loginManagerCorrupted2=%1$Sを閉じ、%2$Sプロファイルの signon.* をバックアップして削除した後、Zotero環境設定の「同期」タブにログイン情報を入力し直してください。
sync.error.loginManagerCorrupted2=%1$S を閉じて、%2$S プロファイル・ディレクトリから、signons.sqlite を取り除き、Zotero 環境設定の「同期」画面で、Zotero ログイン情報を再度入力して下さい。
sync.error.syncInProgress=同期処理がすでに実行中です。
sync.error.syncInProgress.wait=この前の同期が完了するのをお待ち頂くか、あるいは %S を再起動してください。
sync.error.writeAccessLost=あなたはもはや Zotero グループ '%S'に書き込みアクセス権限を持っていません。あなたが追加したり編集したファイルはサーバ側と同期させることができません。
sync.error.writeAccessLost=あなたはもはや Zotero グループ '%S'への書き込み権限がありません。あなたが追加または編集したファイルをサーバ側と同期させることはできません。
sync.error.groupWillBeReset=もし続けると、このグループの手元のコピーはサーバ側の状態にリセットされ、アイテムやファイルへのローカル(手元)での変更内容は失われます。
sync.error.copyChangedItems=もしあなたの編集内容を別の場所へコピーしたい、あるいはグループ管理者に書き込みアクセス権限の供与を依頼したい場合は、直ちに同期をキャンセルしてください。
sync.error.manualInterventionRequired=自動の同期処理は、手動処理が必要な矛盾に陥りました。
@ -895,12 +895,16 @@ proxies.recognized.add=プロキシを追加
recognizePDF.noOCR=PDF は OCRed テキストを含んでいません。
recognizePDF.couldNotRead=PDF から文字を読み込むことができませんでした。
recognizePDF.noMatches=該当する文献が見つかりませんでした
recognizePDF.fileNotFound=ファイルが見つかりませんでした。
recognizePDF.limit=クエリーデータベースへの検索要求の数が上限query limitに達しました。しばらくしてからもう一度お試しください。
recognizePDF.noMatches=一致する文献が見つかりません
recognizePDF.fileNotFound=ファイルが見つかりません
recognizePDF.limit=Google Scholar の検索が上限に達しました。しばらくしてからもう一度お試し下さい。
recognizePDF.error=予期しないエラーが生じました。
recognizePDF.complete.label=メタデータの取得完了。
recognizePDF.stopped=キャンセルされました
recognizePDF.complete.label=メタデータの取り込みが完了しました
recognizePDF.cancelled.label=メタデータの取り込みがキャンセルされました
recognizePDF.close.label=閉じる
recognizePDF.captcha.title=CAPTCHA (画像認証) して下さい
recognizePDF.captcha.description=Zotero は PDF の同定に Google Scholar を利用します。Google Scholar の使用を継続するには、下の画像中に含まれる文字を入力して下さい。
rtfScan.openTitle=スキャンするファイルを選んでください
rtfScan.scanning.label=RTF 文書をスキャン中…

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "ដោះជម្រើស">
<!ENTITY zotero.general.edit "កែតម្រូវ">
<!ENTITY zotero.general.delete "លុបចោល">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "កំណត់ហេតុកំហុសអាចបញ្ចូលសារដែលមិនពាក់ព័ន្ធទៅកាន់ហ្ស៊ូតេរ៉ូ។">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "បដិសេធ">
<!ENTITY zotero.recognizePDF.pdfName.label "ឈ្មោះភីឌីអែហ្វ">
<!ENTITY zotero.recognizePDF.itemName.label "ឈ្មោះឯកសារ">
<!ENTITY zotero.recognizePDF.captcha.label "វាយអត្ថបទខាងក្រោម ដើម្បីបន្តស្តារទិន្នន័យមេតា">
<!ENTITY zotero.rtfScan.title "វិភាគអ៊ែរធីអែហ្វ">
<!ENTITY zotero.rtfScan.cancel.label "បដិសេធ">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=សូមចាប់ផ្តើម %S ជាថ្មី។
general.restartFirefoxAndTryAgain=សូមចាប់ផ្តើម %S ជាថ្មី និង ព្យាយាមម្តងទៀត។
general.checkForUpdate=ស្វែងរកទំនើបកម្ម
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=ចំណាត់ការនេះមិនអាចបកក្រោយវិញបានទេ។
general.install=ដំឡើង
general.updateAvailable=មានទំនើបកម្មអាចដំឡើងបាន
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=សូមបញ្ចូលលេខសម្ងាត់
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=សូមបិទ%S ការទាញរក្សាបម្រុងទុក និង លុបព័តិមានចូលមើលពីទម្រង់ %S របស់អ្នក និង​បញ្ចូលព័ត៌ជាថ្មីនៅត្រង់ផ្ទាំងសមកាលកម្មក្នុងជម្រើស​អាទិភាពហ្ស៊ូតេរ៉ូ។
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=សមកាលកម្មកំពុងតែដំណើរការ
sync.error.syncInProgress.wait=សូមរង់ចាំឲសមកាលកម្មពីមុនបានបញ្ចប់សិន ឬ ចាប់ផ្តើម %S ជាថ្មីម្តង​ទៀត។
sync.error.writeAccessLost=អ្នកលែងមានសិទិ្ធចូលក្នុងក្រុមហ្ស៊ូតេរ៉ូ '%S' បានទៀតហើយ រាល់ឯកសារ​ដែលអ្នកបានបន្ថែម ឬ បានកែតម្រូវមិនអាចធ្វើសមកាលកម្មទៅកាន់​ម៉ាស៊ីនបម្រើបានទៀតហើយ។
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=ប្រសិនបើអ្នកបន្ត ឯកសារថតចម្លងនៃក្រុមនឹងត្រូវត្រលប់ទៅរកសភាព​ដើមវិញនៅក្នុងម៉ាស៊ីន​បម្រើ ហើយ រាល់ការកែតម្រូវផ្សេងៗនៅលើឯកសារ​នឹងត្រូវបាត់​បង់។
sync.error.copyChangedItems=ប្រសិនបើអ្នកចង់បានឱកាសថតចម្លងរាល់ការផ្លាស់ប្តូររបស់អ្នក ឬ ស្នើសុំ​សិទ្ធិចូលមើលពីក្រុមរដ្ឋបាល។ សូមបដិសេធសមកាលកម្មចោល។
sync.error.manualInterventionRequired=សមកាលកម្មដោយស្វ័យប្រវត្តិបណ្តាលឲមានការប៉ះទង្គិចគ្នា តម្រូវឲធ្វើសម​កាល​កម្មដោយដៃ។
@ -895,12 +895,16 @@ proxies.recognized.add=បន្ថែមសិទិ្ធប្រទាន
recognizePDF.noOCR=ភីឌីអែហ្វមិនមានអត្ថបទ OCRed
recognizePDF.couldNotRead=មិនអាចស្គាល់អត្ថបទភីឌីអែហ្វបាន
recognizePDF.noMatches=ឯកសារផ្គូរផ្គងមិនអាចរកឃើញ។
recognizePDF.fileNotFound=ឯកសាររកមិនឃើញ។
recognizePDF.limit=ការសាកសូរមានកំណត់ សូមព្យាយាមម្តងទៀត។
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=ទិន្នន័យមេតាបានទទួលដោយពេញលេញ។
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=បិទ
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=ជ្រើសរើសឯកសារសម្រាប់វិភាគ
rtfScan.scanning.label=កំពុងវិភាគឯកសារអ៊ែរធីអែហ្វ...

View file

@ -4,6 +4,8 @@
<!ENTITY zotero.general.deselectAll "모두 선택 해제">
<!ENTITY zotero.general.edit "편집">
<!ENTITY zotero.general.delete "삭제">
<!ENTITY zotero.general.ok "OK">
<!ENTITY zotero.general.cancel "Cancel">
<!ENTITY zotero.errorReport.title "Zotero Error Report">
<!ENTITY zotero.errorReport.unrelatedMessages "오류 로그에는 Zotero와 관련이 없는 메시지가 포함될 수 있습니다.">
@ -253,7 +255,6 @@
<!ENTITY zotero.recognizePDF.cancel.label "취소">
<!ENTITY zotero.recognizePDF.pdfName.label "PDF 명">
<!ENTITY zotero.recognizePDF.itemName.label "항목 명">
<!ENTITY zotero.recognizePDF.captcha.label "메타 데이터 검색을 진행하려면 아래에 글을 입력하세요.">
<!ENTITY zotero.rtfScan.title "RTF 스캔">
<!ENTITY zotero.rtfScan.cancel.label "취소">

View file

@ -20,7 +20,7 @@ general.tryAgainLater=Please try again in a few minutes.
general.serverError=The server returned an error. Please try again.
general.restartFirefox=Firefox를 재시작해 주세요.
general.restartFirefoxAndTryAgain=Firefox를 재시작한 후 다시 시도해 주세요.
general.checkForUpdate=업데이트 확인
general.checkForUpdate=Check for Update
general.actionCannotBeUndone=주의! 되돌릴 수 없습니다.
general.install=설치
general.updateAvailable=업데이트 내용이 존재합니다
@ -760,12 +760,12 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username
sync.error.enterPassword=비밀번호를 입력해 주세요.
sync.error.loginManagerInaccessible=Zotero cannot access your login information.
sync.error.checkMasterPassword=If you are using a master password in %S, make sure you have entered it successfully.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, back up and delete signons.* from your %1$S profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S login manager database. To check, close %1$S, remove signons.sqlite from your %1$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted1=Zotero cannot access your login information, possibly due to a corrupted %S login manager database.
sync.error.loginManagerCorrupted2=Close Firefox, back up and delete signons.* from your Firefox profile, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.loginManagerCorrupted2=Close %1$S, remove signons.sqlite from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences.
sync.error.syncInProgress=동기화 작업이 이미 진행중입니다.
sync.error.syncInProgress.wait=이전의 동기화가 완료때까지 기다리거나 Firefox를 재시작하세요.
sync.error.writeAccessLost=더이상 '%S' Zotero 그룹에 쓰기 접근을 할 수 없습니다. 추가했거나 편집한 파일이 서버로 동기화되지 않습니다.
sync.error.writeAccessLost=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server.
sync.error.groupWillBeReset=계속 진행하면, 서버의 해당 그룹 상태로 리셋되고 항목들의 수정내용과 파일을 잃게 됩니다.
sync.error.copyChangedItems=수정내용을 복사해 두거나 그룹 관리자로부터 쓰기 접근 권한을 요청하려면, 지금 동기화를 취소하십시오.
sync.error.manualInterventionRequired=자동 동기화가 충돌을 일으켰으며, 이 문제를 수동으로 해결해야 합니다.
@ -895,12 +895,16 @@ proxies.recognized.add=프록시 추가
recognizePDF.noOCR=PDF가 OCR할 문서를 포함하고 있지 않습니다.
recognizePDF.couldNotRead=PDF로 부터 글을 읽을수 없습니다.
recognizePDF.noMatches=일치하는 레퍼런스를 찾을 수 없음.
recognizePDF.fileNotFound=파일을 찾을수 없음.
recognizePDF.limit=쿼리 한계에 도달. 나중에 시도하십시오.
recognizePDF.noMatches=No matching references found
recognizePDF.fileNotFound=File not found
recognizePDF.limit=Google Scholar query limit reached. Try again later.
recognizePDF.error=An unexpected error occurred.
recognizePDF.complete.label=메타데이터 검색 완료.
recognizePDF.stopped=Cancelled
recognizePDF.complete.label=Metadata Retrieval Complete
recognizePDF.cancelled.label=Metadata Retrieval Cancelled
recognizePDF.close.label=닫기
recognizePDF.captcha.title=Please enter CAPTCHA
recognizePDF.captcha.description=Zotero uses Google Scholar to help identify PDFs. To continue using Google Scholar, please enter the text from the image below.
rtfScan.openTitle=조사할 파일 선택
rtfScan.scanning.label=RTF 문서 조사중...

View file

@ -0,0 +1,13 @@
<!ENTITY zotero.version "versija">
<!ENTITY zotero.createdby "Sukurta:">
<!ENTITY zotero.director "Direktorius:">
<!ENTITY zotero.directors "Direktoriai:">
<!ENTITY zotero.developers "Programuotojai:">
<!ENTITY zotero.alumni "Buvę studentai:">
<!ENTITY zotero.about.localizations "Vertėjai:">
<!ENTITY zotero.about.additionalSoftware "Kitos Programos ir Standartai:">
<!ENTITY zotero.executiveProducer "Vykdomasis Prodiuseris:">
<!ENTITY zotero.thanks "Dėkojame:">
<!ENTITY zotero.about.close "Uždaryti">
<!ENTITY zotero.moreCreditsAndAcknowledgements "Papildomi Kreditai ir Padėkos">
<!ENTITY zotero.citationProcessing "Citatų ir Bibliografijos Apdorojimas">

View file

@ -0,0 +1,209 @@
<!ENTITY zotero.preferences.title "Zotero nuostatos">
<!ENTITY zotero.preferences.default "Numatyta:">
<!ENTITY zotero.preferences.items "įrašai">
<!ENTITY zotero.preferences.period ".">
<!ENTITY zotero.preferences.settings "Nuostatos">
<!ENTITY zotero.preferences.prefpane.general "Bendrosios">
<!ENTITY zotero.preferences.userInterface "Naudotojo sąsaja">
<!ENTITY zotero.preferences.showIn "Zotero paleisdimas:">
<!ENTITY zotero.preferences.showIn.browserPane "Naršyklės skydelyje">
<!ENTITY zotero.preferences.showIn.separateTab "Atskiroje kortelėje">
<!ENTITY zotero.preferences.showIn.appTab "Programos kortelėje">
<!ENTITY zotero.preferences.statusBarIcon "Ženkliukas būsenos juostoje:">
<!ENTITY zotero.preferences.statusBarIcon.none "Jokio">
<!ENTITY zotero.preferences.fontSize "Šrifto dydis:">
<!ENTITY zotero.preferences.fontSize.small "Mažas">
<!ENTITY zotero.preferences.fontSize.medium "Vidutinis">
<!ENTITY zotero.preferences.fontSize.large "Didelis">
<!ENTITY zotero.preferences.fontSize.xlarge "Ypač didelis">
<!ENTITY zotero.preferences.fontSize.notes "Pastabų šrifto dydis:">
<!ENTITY zotero.preferences.miscellaneous "Įvairios">
<!ENTITY zotero.preferences.autoUpdate "Automatiškai tikrinti, ar yra transliatorių ir stilių atnaujinimų">
<!ENTITY zotero.preferences.updateNow "Atnaujinti dabar">
<!ENTITY zotero.preferences.reportTranslationFailure "Pranešti apie netinkamus svetainės transliatorius">
<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader "Leisti zotero.org derinti turinį pagal dabartinę Zotero versiją">
<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader.tooltip "Jei parinktis įgalinta, dabartinė Zotero versija bus automatiškai įtraukta į zotero.org HTTP užklausas.">
<!ENTITY zotero.preferences.parseRISRefer "Zotero naudoti BibTeX/RIS/Refer failų parsiuntimui">
<!ENTITY zotero.preferences.automaticSnapshots "Pagal kuriamiems naujiems įrašams automatiškai sukurti nuotraukas">
<!ENTITY zotero.preferences.downloadAssociatedFiles "Įrašant įrašus, automatiškai prisegti susijusius PDF dokumentus ir kitus failus">
<!ENTITY zotero.preferences.automaticTags "Įrašams automatiškai priskirti gaires su raktažodžiais ir temomis">
<!ENTITY zotero.preferences.trashAutoEmptyDaysPre "Automatiškai šiukšlinės šalinti įrašus, senesnius nei">
<!ENTITY zotero.preferences.trashAutoEmptyDaysPost "d.">
<!ENTITY zotero.preferences.groups "Grupės">
<!ENTITY zotero.preferences.groups.whenCopyingInclude "Kopijuojant elementus tarp bibliotekų, įtraukti:">
<!ENTITY zotero.preferences.groups.childNotes "įrašams priklausančias pastabas">
<!ENTITY zotero.preferences.groups.childFiles "įrašams priklausančias nuotraukas ir importuotus failus">
<!ENTITY zotero.preferences.groups.childLinks "įrašams priklausančias nuorodas">
<!ENTITY zotero.preferences.groups.tags "gairės">
<!ENTITY zotero.preferences.openurl.caption "OpenURL">
<!ENTITY zotero.preferences.openurl.search "Sprendiklių paieška">
<!ENTITY zotero.preferences.openurl.custom "Savitas...">
<!ENTITY zotero.preferences.openurl.server "Sprendiklis:">
<!ENTITY zotero.preferences.openurl.version "Versija:">
<!ENTITY zotero.preferences.prefpane.sync "Sinchronizavimas">
<!ENTITY zotero.preferences.sync.username "Naudotojo vardas:">
<!ENTITY zotero.preferences.sync.password "Slaptažodis:">
<!ENTITY zotero.preferences.sync.syncServer "Zotero sinchronizavimo serveris">
<!ENTITY zotero.preferences.sync.createAccount "Sukurti paskyrą">
<!ENTITY zotero.preferences.sync.lostPassword "Pamiršote slaptažodį?">
<!ENTITY zotero.preferences.sync.syncAutomatically "Sinchronizuoti automatiškai">
<!ENTITY zotero.preferences.sync.syncFullTextContent "Viso tekstinio turinio sinchronizavimas">
<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "Zotero gali sinchronizuoti visą jūsiškės bibliotekos failų tekstinį turinį su zotero.org ir kitais susietais įrenginiais. Tai Jums leistų greitai pasiekti savus failus kad ir kur bebūtumėte. Jūsų tekstinis turinys nebus viešinamas.">
<!ENTITY zotero.preferences.sync.about "Apie sinchronizavimą">
<!ENTITY zotero.preferences.sync.fileSyncing "Failų sinchronizavimas">
<!ENTITY zotero.preferences.sync.fileSyncing.url "URL:">
<!ENTITY zotero.preferences.sync.fileSyncing.myLibrary "Prie mano biliotekos įrašų prisegtus failus sinchronizuoti per">
<!ENTITY zotero.preferences.sync.fileSyncing.groups "Prie grupės biliotekos įrašų prisegtus failus sinchronizuoti per Zotero saugyklą">
<!ENTITY zotero.preferences.sync.fileSyncing.download "Failus parsiųsti">
<!ENTITY zotero.preferences.sync.fileSyncing.download.atSyncTime "sinchronizuojant">
<!ENTITY zotero.preferences.sync.fileSyncing.download.onDemand "pagal poreikį">
<!ENTITY zotero.preferences.sync.fileSyncing.tos1 "Naudodamiesi Zotero saugykla Jūs savaime sutinkate su jos">
<!ENTITY zotero.preferences.sync.fileSyncing.tos2 "naudojimosi taisyklėmis ir sąlygomis">
<!ENTITY zotero.preferences.sync.reset.warning1 "Tolaiu pateiktos funkcijos skirtos retiems specifiniams atvejams - jų nereikėtų naudoti įprastų nesklandumų sprendimui. Dažniausiai atkūrimas sukelia dar daugiau problemų. Daugiau informacijos rasite ">
<!ENTITY zotero.preferences.sync.reset.warning2 "atkūrimo sinchronizuojant parinkčių">
<!ENTITY zotero.preferences.sync.reset.warning3 " puslapyje.">
<!ENTITY zotero.preferences.sync.reset.fullSync "Visiškas sinchronizavimas su Zotero serveriu">
<!ENTITY zotero.preferences.sync.reset.fullSync.desc "Apjungti vietinius Zotero duomenis ir esančiuosius sinchronizavimo serveryje, nepaisant sinchronizavimo istorijos.">
<!ENTITY zotero.preferences.sync.reset.restoreFromServer "Atkurti parsiunčiant iš Zotero serverio">
<!ENTITY zotero.preferences.sync.reset.restoreFromServer.desc "Išvalyti visus vietinius Zotero duomenis ir parsiųsti duomenis iš sinchronizavimo serverio.">
<!ENTITY zotero.preferences.sync.reset.restoreToServer "Atkurti perrašant Zotero serverio duomenis">
<!ENTITY zotero.preferences.sync.reset.restoreToServer.desc "Ištrinti visus serverio duomenis, po to vietinius Zotero duomenis nusiųsti į serverį.">
<!ENTITY zotero.preferences.sync.reset.resetFileSyncHistory "Perrašyti failų sinchronizavimo žurnalą">
<!ENTITY zotero.preferences.sync.reset.resetFileSyncHistory.desc "Priverstinai patikrinti saugyklos serverį, ar jame yra visi vietiniai prisegtiniai failai.">
<!ENTITY zotero.preferences.sync.reset "Nustatyti iš naujo">
<!ENTITY zotero.preferences.sync.reset.button "Nustatyti iš naujo...">
<!ENTITY zotero.preferences.prefpane.search "Paieška">
<!ENTITY zotero.preferences.search.fulltextCache "Viso teksto podėlis">
<!ENTITY zotero.preferences.search.pdfIndexing "PDF indeksavimas">
<!ENTITY zotero.preferences.search.indexStats "Indeksavimo statistika">
<!ENTITY zotero.preferences.search.indexStats.indexed "Suindeksuota:">
<!ENTITY zotero.preferences.search.indexStats.partial "Dalinai:">
<!ENTITY zotero.preferences.search.indexStats.unindexed "Nesuindeksuota:">
<!ENTITY zotero.preferences.search.indexStats.words "Žodžių:">
<!ENTITY zotero.preferences.fulltext.textMaxLength "Didžiausias rašmenų kiekis, kurį indeksuoti viename faile:">
<!ENTITY zotero.preferences.fulltext.pdfMaxPages "Didžiausias puslapių kiekis, kurį indeksuoti viename faile:">
<!ENTITY zotero.preferences.prefpane.export "Eksportavimas">
<!ENTITY zotero.preferences.citationOptions.caption "Citavimo parinktys">
<!ENTITY zotero.preferences.export.citePaperJournalArticleURL "Į nuorodas įtraukti popierinių straipsnių URL adresus">
<!ENTITY zotero.preferences.export.citePaperJournalArticleURL.description "Jei parinktis nepasirinkta, Zotero URL adresus įtrauks tik jei cituojamas žurnalo, laikraščio ar periodinio leidinio straipsnyje nenurodyti puslapiai.">
<!ENTITY zotero.preferences.quickCopy.caption "Greitas kopijavimas">
<!ENTITY zotero.preferences.quickCopy.defaultOutputFormat "Numatytasis išvedimo formatas:">
<!ENTITY zotero.preferences.quickCopy.copyAsHTML "Kopijuoti HTML formatu">
<!ENTITY zotero.preferences.quickCopy.macWarning "Pastaba: raiškiojo teksto formatavimas nebus išlaikomas Mac OS X sistemoje.">
<!ENTITY zotero.preferences.quickCopy.siteEditor.setings "Parinktys atskiroms svetainėms:">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Sritis/kelias">
<!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(pvz., vikipedija.lt)">
<!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Išvedimo formatas">
<!ENTITY zotero.preferences.quickCopy.dragLimit "Neleisti greitai kopijuoti, jei tempiama daugiau kaip">
<!ENTITY zotero.preferences.prefpane.cite "Citavimas">
<!ENTITY zotero.preferences.cite.styles "Stiliai">
<!ENTITY zotero.preferences.cite.wordProcessors "Tekstų rengyklės">
<!ENTITY zotero.preferences.cite.wordProcessors.noWordProcessorPluginsInstalled "Nerasta įdiegtų teksto rengyklės papildinių.">
<!ENTITY zotero.preferences.cite.wordProcessors.getPlugins "Diegti papildinius į tekstų rengykles...">
<!ENTITY zotero.preferences.cite.wordProcessors.getPlugins.url "http://www.zotero.org/support/word_processor_plugin_installation_for_zotero_2.1">
<!ENTITY zotero.preferences.cite.wordProcessors.useClassicAddCitationDialog "Naudoti klasikinį citatų įdėjimo langą">
<!ENTITY zotero.preferences.cite.styles.styleManager "Stilių tvarkytuvė">
<!ENTITY zotero.preferences.cite.styles.styleManager.title "Pavadinimas">
<!ENTITY zotero.preferences.cite.styles.styleManager.updated "Atnaujinta">
<!ENTITY zotero.preferences.cite.styles.styleManager.csl "CSL">
<!ENTITY zotero.preferences.export.getAdditionalStyles "Parsisiųsti papildomų stilių...">
<!ENTITY zotero.preferences.prefpane.keys "Spartieji klavišai">
<!ENTITY zotero.preferences.keys.openZotero "Atverti/užverti Zotero skydelį">
<!ENTITY zotero.preferences.keys.saveToZotero "Įrašyti į Zotero (ženkliukas adreso juostoje)">
<!ENTITY zotero.preferences.keys.toggleFullscreen "Įjungti/išungti viso ekrano veikseną">
<!ENTITY zotero.preferences.keys.focusLibrariesPane "Aktyvuoti bibliotekos skydelį">
<!ENTITY zotero.preferences.keys.quicksearch "Greita paieška">
<!ENTITY zotero.preferences.keys.newItem "Sukurti naują įrašą">
<!ENTITY zotero.preferences.keys.newNote "Sukurti naują pastabą">
<!ENTITY zotero.preferences.keys.toggleTagSelector "Rodyti/slėpti gairių parinkiklį">
<!ENTITY zotero.preferences.keys.copySelectedItemCitationsToClipboard "Kopijuoti pasirinktų įrašų citavimą į iškarpinę">
<!ENTITY zotero.preferences.keys.copySelectedItemsToClipboard "Kopijuoti pasirinktus įrašus į iškarpinę">
<!ENTITY zotero.preferences.keys.importFromClipboard "Importuoti iš iškarpinės">
<!ENTITY zotero.preferences.keys.changesTakeEffect "Pakeitimai veiks tik naujai atvertuose languose">
<!ENTITY zotero.preferences.prefpane.proxies "Įgaliotieji serveriai">
<!ENTITY zotero.preferences.proxies.proxyOptions "Įgaliotojo serverio parinktys">
<!ENTITY zotero.preferences.proxies.desc_before_link "Zotero skaidriai nukreips užklausas per įrašytus įgaliotuosius serverius. Daugiau informacijos rasite">
<!ENTITY zotero.preferences.proxies.desc_link "įgaliotojo serverio dokumentacijoje">
<!ENTITY zotero.preferences.proxies.desc_after_link ".">
<!ENTITY zotero.preferences.proxies.transparent "Įgalinti įgaliotojo serverio nukreipimą">
<!ENTITY zotero.preferences.proxies.autoRecognize "Automatiškai aptikti įgaliotųjų serverių šaltinius">
<!ENTITY zotero.preferences.proxies.disableByDomain "Uždrauti įgaliotojo serverio nukreipimą, jei mano srities pavadinime yra">
<!ENTITY zotero.preferences.proxies.configured "Sukonfigūruoti įgaliotieji serveriai">
<!ENTITY zotero.preferences.proxies.hostname "Serveris">
<!ENTITY zotero.preferences.proxies.scheme "Schema">
<!ENTITY zotero.preferences.proxies.multiSite "Daugelio svetainių">
<!ENTITY zotero.preferences.proxies.autoAssociate "Automatiškai susieti naujus serverius">
<!ENTITY zotero.preferences.proxies.variables "Įgaliotojo serverio schemoje galite naudoti tokius kintamuosius:">
<!ENTITY zotero.preferences.proxies.h_variable "&#37;h - serveris į nukreiptą svetainę (e.g., www.zotero.org)">
<!ENTITY zotero.preferences.proxies.p_variable "&#37;p - kelias į nukreiptą puslapį be adreso pagrindo ir brūkšnio (pvz., apie/index.html)">
<!ENTITY zotero.preferences.proxies.d_variable "&#37;d - kelias iki katalogo (pvz., apie/)">
<!ENTITY zotero.preferences.proxies.f_variable "&#37;f - failo vardas (pvz., index.html)">
<!ENTITY zotero.preferences.proxies.a_variable "&#37;a - bet kas">
<!ENTITY zotero.preferences.prefpane.advanced "Sudėtingiau">
<!ENTITY zotero.preferences.advanced.filesAndFolders "Failai ir katalogai">
<!ENTITY zotero.preferences.prefpane.locate "Rasti vietą">
<!ENTITY zotero.preferences.locate.locateEngineManager "Straipsnių paieškos variklių tvarkytuvė">
<!ENTITY zotero.preferences.locate.description "Aprašas">
<!ENTITY zotero.preferences.locate.name "Pavadinimas">
<!ENTITY zotero.preferences.locate.locateEnginedescription "Paieškos variklis išplečia dokumentų suradimo galimybes, kuriomis galite pasinaudoti informaciniame skydelyje per išskleidžiamąjį meniu. Įgalindami žemiau pateiktus paieškos variklius, įtrauksite juos į išskleidžiamąjį meniu, tad savo bibliotekos šaltinių galėsite ieškoti internete. ">
<!ENTITY zotero.preferences.locate.addDescription "Norėdami į sąrašą įtraukti naują paieškos variklį, savo interneto naršyklėje įeikite į paieškos svetainę ir Zotero paieškos meniu spauskite &#34;Pridėti&#34;.">
<!ENTITY zotero.preferences.locate.restoreDefaults "Naudoti numatytuosius">
<!ENTITY zotero.preferences.charset "Rašmenų koduotė">
<!ENTITY zotero.preferences.charset.importCharset "Importuoti rašmenų koduotę">
<!ENTITY zotero.preferences.charset.displayExportOption "Eksportuojant rodyti rašmenų koduotės parinktis">
<!ENTITY zotero.preferences.dataDir "Duomenų katalogo vieta">
<!ENTITY zotero.preferences.dataDir.useProfile "Naudoti profilio katalogą">
<!ENTITY zotero.preferences.dataDir.custom "Savitas:">
<!ENTITY zotero.preferences.dataDir.choose "Pasirinkti...">
<!ENTITY zotero.preferences.dataDir.reveal "Parodyti duomenų katalogą">
<!ENTITY zotero.preferences.attachmentBaseDir.caption "Susietų priedų pagrindinis katalogas">
<!ENTITY zotero.preferences.attachmentBaseDir.message "Zotero failams, kurie prisegti prie įrašų, naudos santykinius kelius pagrindinio katalogo atžvilgiu, tad failus galėsite pasiekti bet kuriame savo kompiuteryje, žinoma, jei failų struktūra pagrindiniuose kataloguose bus tokia pati.">
<!ENTITY zotero.preferences.attachmentBaseDir.basePath "Pagrindinis katalogas:">
<!ENTITY zotero.preferences.attachmentBaseDir.selectBasePath "Pasirinkti...">
<!ENTITY zotero.preferences.attachmentBaseDir.resetBasePath "Pakeisti absoliučiais keliais...">
<!ENTITY zotero.preferences.dbMaintenance "Duomenų bazės priežiūra">
<!ENTITY zotero.preferences.dbMaintenance.integrityCheck "Tikrinti duomenų bazės vientisumą">
<!ENTITY zotero.preferences.dbMaintenance.resetTranslatorsAndStyles "Atkurti transliatorius ir stilius...">
<!ENTITY zotero.preferences.dbMaintenance.resetTranslators "Atstatyti transliatorius...">
<!ENTITY zotero.preferences.dbMaintenance.resetStyles "Atstatyti stilius...">
<!ENTITY zotero.preferences.debugOutputLogging "Derinimo pranešimų žurnalas">
<!ENTITY zotero.preferences.debugOutputLogging.message "Derinimo pranešimai Zotero programuotojams gali padėti aptikti Zotero nesklandumus. Derinimo pranešimų rašymas į žurnalą gali sulėtinti Zotero darbą, tad šią funkciją siūlome naudoti tik tuomet, jei Zotero programuotojai paprašo pateikti derinimo išvedimą.">
<!ENTITY zotero.preferences.debugOutputLogging.linesLogged "eilutė(s)(-ių) įrašyta ">
<!ENTITY zotero.preferences.debugOutputLogging.enableAfterRestart "Įgalinti paleidus iš naujo">
<!ENTITY zotero.preferences.debugOutputLogging.viewOutput "Rodyti išvedimą">
<!ENTITY zotero.preferences.debugOutputLogging.clearOutput "Išvalyti išvedimą">
<!ENTITY zotero.preferences.debugOutputLogging.submitToServer "Išsiųsti į Zotero serverį">
<!ENTITY zotero.preferences.openAboutConfig "Atverti about:config">
<!ENTITY zotero.preferences.openCSLEdit "Atverti CSL rengyklę">
<!ENTITY zotero.preferences.openCSLPreview "Atverti CSL žiūryklę">
<!ENTITY zotero.preferences.openAboutMemory "Atverti about:memory">

View file

@ -0,0 +1,23 @@
<!ENTITY zotero.search.name "Pavadinimas:">
<!ENTITY zotero.search.joinMode.prefix "Taikyti">
<!ENTITY zotero.search.joinMode.any "bet kuriuos">
<!ENTITY zotero.search.joinMode.all "visus">
<!ENTITY zotero.search.joinMode.suffix "paieškos kriterijus:">
<!ENTITY zotero.search.recursive.label "Ieškoti poaplankiuose">
<!ENTITY zotero.search.noChildren "Nerodyti priedų">
<!ENTITY zotero.search.includeParentsAndChildren "Įtraukti pagrindinius įrašus ir jų priedus">
<!ENTITY zotero.search.textModes.phrase "Frazė">
<!ENTITY zotero.search.textModes.phraseBinary "Frazė (įsk. skaitmeninius failus)">
<!ENTITY zotero.search.textModes.regexp "Regexp">
<!ENTITY zotero.search.textModes.regexpCS "Regexp (skiriant didž. ir maž. raides)">
<!ENTITY zotero.search.date.units.days "d.">
<!ENTITY zotero.search.date.units.months "mėn.">
<!ENTITY zotero.search.date.units.years "m.">
<!ENTITY zotero.search.search "Ieškoti">
<!ENTITY zotero.search.clear "Išvalyti">
<!ENTITY zotero.search.saveSearch "Įsiminti paiešką">

View file

@ -0,0 +1,101 @@
<!ENTITY preferencesCmdMac.label "Nuostatos...">
<!ENTITY preferencesCmdMac.commandkey ",">
<!ENTITY servicesMenuMac.label "Paslaugos">
<!ENTITY hideThisAppCmdMac.label "Slėpti „&brandShortName;“">
<!ENTITY hideThisAppCmdMac.commandkey "S">
<!ENTITY hideOtherAppsCmdMac.label "Slėpti likusius">
<!ENTITY hideOtherAppsCmdMac.commandkey "S">
<!ENTITY showAllAppsCmdMac.label "Rodyti visus">
<!ENTITY quitApplicationCmdMac.label "Baigti darbą su Zotero">
<!ENTITY quitApplicationCmdMac.key "B">
<!ENTITY fileMenu.label "Failas">
<!ENTITY fileMenu.accesskey "F">
<!ENTITY saveCmd.label "Įrašyti...">
<!ENTITY saveCmd.key "S">
<!ENTITY saveCmd.accesskey "r">
<!ENTITY pageSetupCmd.label "Puslapio nuostatos...">
<!ENTITY pageSetupCmd.accesskey "n">
<!ENTITY printCmd.label "Spausdinti...">
<!ENTITY printCmd.key "P">
<!ENTITY printCmd.accesskey "S">
<!ENTITY closeCmd.label "Užverti">
<!ENTITY closeCmd.key "W">
<!ENTITY closeCmd.accesskey "U">
<!ENTITY quitApplicationCmdWin.label "Išeiti">
<!ENTITY quitApplicationCmdWin.accesskey "I">
<!ENTITY quitApplicationCmd.label "Baigti darbą">
<!ENTITY quitApplicationCmd.accesskey "B">
<!ENTITY editMenu.label "Taisa">
<!ENTITY editMenu.accesskey "T">
<!ENTITY undoCmd.label "Atšaukti">
<!ENTITY undoCmd.key "Z">
<!ENTITY undoCmd.accesskey "A">
<!ENTITY redoCmd.label "Atstatyti">
<!ENTITY redoCmd.key "Y">
<!ENTITY redoCmd.accesskey "t">
<!ENTITY cutCmd.label "Iškirpti">
<!ENTITY cutCmd.key "X">
<!ENTITY cutCmd.accesskey "r">
<!ENTITY copyCmd.label "Kopijuoti">
<!ENTITY copyCmd.key "C">
<!ENTITY copyCmd.accesskey "K">
<!ENTITY copyCitationCmd.label "Kopijuoti citatą">
<!ENTITY copyBibliographyCmd.label "Kopijuoti bibliografiją">
<!ENTITY pasteCmd.label "Įdėti">
<!ENTITY pasteCmd.key "V">
<!ENTITY pasteCmd.accesskey "d">
<!ENTITY deleteCmd.label "Pašalinti">
<!ENTITY deleteCmd.key "D">
<!ENTITY deleteCmd.accesskey "š">
<!ENTITY selectAllCmd.label "Pažymėti viską">
<!ENTITY selectAllCmd.key "A">
<!ENTITY selectAllCmd.accesskey "v">
<!ENTITY preferencesCmd.label "Nuostatos">
<!ENTITY preferencesCmd.accesskey "N">
<!ENTITY preferencesCmdUnix.label "Nuostatos">
<!ENTITY preferencesCmdUnix.accesskey "N">
<!ENTITY findCmd.label "Ieškoti">
<!ENTITY findCmd.accesskey "I">
<!ENTITY findCmd.commandkey "I">
<!ENTITY bidiSwitchPageDirectionItem.label "Keisti puslapio kryptį">
<!ENTITY bidiSwitchPageDirectionItem.accesskey "p">
<!ENTITY bidiSwitchTextDirectionItem.label "Keisti teksto kryptį">
<!ENTITY bidiSwitchTextDirectionItem.accesskey "e">
<!ENTITY bidiSwitchTextDirectionItem.commandkey "X">
<!ENTITY toolsMenu.label "Priemonės">
<!ENTITY toolsMenu.accesskey "P">
<!ENTITY addons.label "Priedai">
<!ENTITY minimizeWindow.key "r">
<!ENTITY minimizeWindow.label "Suskleisti">
<!ENTITY bringAllToFront.label "Perkelti visus į priekį">
<!ENTITY zoomWindow.label "Mastelis">
<!ENTITY windowMenu.label "Langas">
<!ENTITY helpMenu.label "Žinynas">
<!ENTITY helpMenu.accesskey "Ž">
<!ENTITY helpMenuWin.label "Žinynas">
<!ENTITY helpMenuWin.accesskey "Ž">
<!ENTITY helpMac.commandkey "?">
<!ENTITY aboutProduct.label "Apie „&brandShortName;“">
<!ENTITY aboutProduct.accesskey "A">
<!ENTITY productHelp.label "Pagalba ir dokumentacija">
<!ENTITY productHelp.accesskey "P">
<!ENTITY helpTroubleshootingInfo.label "Informacija nesklandumų šalinimui">
<!ENTITY helpTroubleshootingInfo.accesskey "I">
<!ENTITY helpFeedbackPage.label "Siųsti atsiliepimą...">
<!ENTITY helpFeedbackPage.accesskey "S">
<!ENTITY helpReportErrors.label "Pranešti apie Zotero klaidą...">
<!ENTITY helpReportErrors.accesskey "r">
<!ENTITY helpCheckForUpdates.label "Tikrinti, ar yra atnaujinimų...">
<!ENTITY helpCheckForUpdates.accesskey "T">

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