commit 7f43ca9503a9f3d7e6762fb41aff1e3cb406dd9a parent e0b51114423fc82e065ce940a9c6cbc6c77be3ac Author: Dan Stillman <dstillman@zotero.org> Date: Sun, 1 Nov 2015 21:22:13 -0500 Merge branch '4.0' Diffstat:
170 files changed, 3576 insertions(+), 1430 deletions(-)
diff --git a/README.md b/README.md @@ -2,6 +2,8 @@ Zotero ====== [](https://travis-ci.org/zotero/zotero) -Zotero is a free, easy-to-use tool to help you collect, organize, cite, and share your research sources. +[Zotero](https://www.zotero.org/) is a free, easy-to-use tool to help you collect, organize, cite, and share your research sources. + +Please post feature requests or bug reports to the [Zotero Forums](https://forums.zotero.org/). If you're having trouble with Zotero, see [Getting Help](https://www.zotero.org/support/getting_help). For more information on how to use this source code, see the [Zotero wiki](https://www.zotero.org/support/dev/source_code). diff --git a/chrome/content/zotero-platform/mac/integration.css b/chrome/content/zotero-platform/mac/integration.css @@ -1,15 +1,17 @@ body { line-height: 1.45em; + font-size: 15px; } body[multiline="true"] { - line-height: 1.63em; + line-height: 26px; } #quick-format-dialog { background: transparent; -moz-appearance: none; padding: 0; + width: 800px; } #quick-format-search { @@ -18,25 +20,24 @@ body[multiline="true"] { } #quick-format-search[multiline="true"] { - padding: 1px 2px 0 18px; + padding: 2px 2px 0 19.5px; + margin: 2.5px 3.5px; border: 1px solid rgba(0, 0, 0, 0.5); - border-radius: 10px; -moz-appearance: none; } #quick-format-search:not([multiline="true"]) { - height: 22px !important; + padding-top: 4.5px; + height: 37px !important; } #quick-format-entry { background: -moz-linear-gradient(-90deg, rgb(243,123,119) 0, rgb(180,47,38) 50%, rgb(156,36,27) 50%); - -moz-border-radius:15px; - border-radius:15px; - padding: 10px; + padding: 12px; } #zotero-icon { - margin: -1px 0 0 -13px; + margin: -2.5px 0 3px -6px; } #quick-format-search[multiline="true"] #zotero-icon { @@ -94,4 +95,8 @@ panel button:hover:active { panel button:-moz-focusring { box-shadow: 0 0 1px -moz-mac-focusring inset, 0 0 4px 1px -moz-mac-focusring, 0 0 2px 1px -moz-mac-focusring; +} + +.quick-format-bubble { + padding: 1px 6px 1px 6px; } \ No newline at end of file diff --git a/chrome/content/zotero/browser.js b/chrome/content/zotero/browser.js @@ -52,7 +52,7 @@ var Zotero_Browser = new function() { this.appcontent = null; this.isScraping = false; - var _browserData = new Object(); + var _browserData = new WeakMap(); var _attachmentsMap = new WeakMap(); var _blacklist = [ @@ -154,9 +154,10 @@ var Zotero_Browser = new function() { this.scrapeThisPage = function (translator, event) { // Perform translation var tab = _getTabObject(Zotero_Browser.tabbrowser.selectedBrowser); - if(tab.page.translators && tab.page.translators.length) { - tab.page.translate.setTranslator(translator || tab.page.translators[0]); - Zotero_Browser.performTranslation(tab.page.translate); // TODO: async + var page = tab.getPageObject(); + if(page.translators && page.translators.length) { + page.translate.setTranslator(translator || page.translators[0]); + Zotero_Browser.performTranslation(page.translate); // TODO: async } else { this.saveAsWebPage( @@ -201,7 +202,8 @@ var Zotero_Browser = new function() { // make sure annotation action is toggled var tab = _getTabObject(Zotero_Browser.tabbrowser.selectedBrowser); - if(tab.page && tab.page.annotations && tab.page.annotations.clearAction) tab.page.annotations.clearAction(); + var page = tab.getPageObject(); + if(page && page.annotations && page.annotations.clearAction) page.annotations.clearAction(); if(!toggleTool) return; @@ -225,7 +227,7 @@ var Zotero_Browser = new function() { */ function toggleCollapsed() { var tab = _getTabObject(Zotero_Browser.tabbrowser.selectedBrowser); - tab.page.annotations.toggleCollapsed(); + tab.getPageObject().annotations.toggleCollapsed(); } /* @@ -333,16 +335,19 @@ var Zotero_Browser = new function() { if(annotationID) { if(Zotero.Annotate.isAnnotated(annotationID)) { //window.alert(Zotero.getString("annotations.oneWindowWarning")); - } else if(!tab.page.annotations) { - // enable annotation - tab.page.annotations = new Zotero.Annotations(Zotero_Browser, browser, annotationID); - var saveAnnotations = function() { - tab.page.annotations.save(); - tab.page.annotations = undefined; - }; - browser.contentWindow.addEventListener('beforeunload', saveAnnotations, false); - browser.contentWindow.addEventListener('close', saveAnnotations, false); - tab.page.annotations.load(); + } else { + var page = tab.getPageObject(); + if(!page.annotations) { + // enable annotation + page.annotations = new Zotero.Annotations(Zotero_Browser, browser, annotationID); + var saveAnnotations = function() { + page.annotations.save(); + page.annotations = undefined; + }; + browser.contentWindow.addEventListener('beforeunload', saveAnnotations, false); + browser.contentWindow.addEventListener('close', saveAnnotations, false); + page.annotations.load(); + } } } } @@ -373,8 +378,11 @@ var Zotero_Browser = new function() { var tab = _getTabObject(browser); if(!tab) return; - - if(doc == tab.page.document || doc == rootDoc) { + + var page = tab.getPageObject(); + if(!page) return; + + if(doc == page.document || doc == rootDoc) { // clear translator only if the page on which the pagehide event was called is // either the page to which the translator corresponded, or the root document // (the second check is probably paranoid, but won't hurt) @@ -396,7 +404,7 @@ var Zotero_Browser = new function() { var rootDoc = (doc instanceof HTMLDocument ? doc.defaultView.top.document : doc); var browser = Zotero_Browser.tabbrowser.getBrowserForDocument(rootDoc); var tab = _getTabObject(browser); - if(doc == tab.page.document || doc == rootDoc) tab.clear(); + if(doc == tab.getPageObject().document || doc == rootDoc) tab.clear(); tab.detectTranslators(rootDoc, doc); } catch(e) { Zotero.debug(e); @@ -410,7 +418,8 @@ var Zotero_Browser = new function() { // Save annotations when closing a tab, since the browser is already // gone from tabbrowser by the time contentHide() gets called var tab = _getTabObject(event.target); - if(tab.page && tab.page.annotations) tab.page.annotations.save(); + var page = tab.getPageObject(); + if(page && page.annotations) page.annotations.save(); tab.clear(); // To execute if document object does not exist @@ -423,9 +432,10 @@ var Zotero_Browser = new function() { */ function resize(event) { var tab = _getTabObject(this.tabbrowser.selectedBrowser); - if(!tab.page.annotations) return; + var page = tab.getPageObject(); + if(!page.annotations) return; - tab.page.annotations.refresh(); + page.annotations.refresh(); } /* @@ -460,7 +470,8 @@ var Zotero_Browser = new function() { } // set annotation bar status - if(tab.page.annotations && tab.page.annotations.annotations.length) { + var page = tab.getPageObject(); + if(page.annotations && page.annotations.annotations.length) { document.getElementById('zotero-annotate-tb').hidden = false; toggleMode(); } else { @@ -507,7 +518,7 @@ var Zotero_Browser = new function() { var tab = _getTabObject(this.tabbrowser.selectedBrowser); var captureState = tab.getCaptureState(); if (captureState == tab.CAPTURE_STATE_TRANSLATABLE) { - let translators = tab.page.translators; + let translators = tab.getPageObject().translators; for (var i=0, n = translators.length; i < n; i++) { let translator = translators[i]; @@ -703,10 +714,11 @@ var Zotero_Browser = new function() { function _constructLookupFunction(tab, success) { return function(e) { - tab.page.translate.setTranslator(tab.page.translators[0]); - tab.page.translate.clearHandlers("done"); - tab.page.translate.clearHandlers("itemDone"); - tab.page.translate.setHandler("done", function(obj, status) { + var page = tab.getPageObject(); + page.translate.setTranslator(page.translators[0]); + page.translate.clearHandlers("done"); + page.translate.clearHandlers("itemDone"); + page.translate.setHandler("done", function(obj, status) { if(status) { success(e, obj); Zotero_Browser.progress.close(); @@ -718,7 +730,7 @@ var Zotero_Browser = new function() { Zotero_Browser.progress.show(); Zotero_Browser.progress.changeHeadline(Zotero.getString("ingester.lookup.performing")); - tab.page.translate.translate(false); + page.translate.translate(false); e.stopPropagation(); } } @@ -728,10 +740,12 @@ var Zotero_Browser = new function() { */ function _getTabObject(browser) { if(!browser) return false; - if(!browser.zoteroBrowserData) { - browser.zoteroBrowserData = new Zotero_Browser.Tab(browser); + var obj = _browserData.get(browser); + if(!obj) { + obj = new Zotero_Browser.Tab(browser); + _browserData.set(browser, obj); } - return browser.zoteroBrowserData; + return obj; } /** @@ -744,7 +758,7 @@ var Zotero_Browser = new function() { // ignore click if it's on an existing annotation if(e.target.getAttribute("zotero-annotation")) return; - var annotation = tab.page.annotations.createAnnotation(); + var annotation = tab.getPageObject().annotations.createAnnotation(); annotation.initWithEvent(e); // disable add mode, now that we've used it @@ -758,9 +772,9 @@ var Zotero_Browser = new function() { if(selection.isCollapsed) return; if(type == "highlight") { - tab.page.annotations.highlight(selection.getRangeAt(0)); + tab.getPageObject().annotations.highlight(selection.getRangeAt(0)); } else if(type == "unhighlight") { - tab.page.annotations.unhighlight(selection.getRangeAt(0)); + tab.getPageObject().annotations.unhighlight(selection.getRangeAt(0)); } selection.removeAllRanges(); @@ -781,19 +795,33 @@ var Zotero_Browser = new function() { Zotero_Browser.Tab = function(browser) { this.browser = browser; - this.page = new Object(); + this.wm = new WeakMap(); } Zotero_Browser.Tab.prototype.CAPTURE_STATE_DISABLED = 0; Zotero_Browser.Tab.prototype.CAPTURE_STATE_GENERIC = 1; Zotero_Browser.Tab.prototype.CAPTURE_STATE_TRANSLATABLE = 2; +/** + * Gets page-specific information (stored in WeakMap to prevent holding + * a reference to translate) + */ +Zotero_Browser.Tab.prototype.getPageObject = function() { + var doc = this.browser.contentWindow; + if(!doc) return null; + var obj = this.wm.get(doc); + if(!obj) { + obj = {}; + this.wm.set(doc, obj); + } + return obj; +} + /* - * clears page-specific information + * Removes page-specific information from WeakMap */ Zotero_Browser.Tab.prototype.clear = function() { - delete this.page; - this.page = new Object(); + this.wm.delete(this.browser.contentWindow); } /* @@ -874,10 +902,11 @@ Zotero_Browser.Tab.prototype._attemptLocalFileImport = function(doc) { Zotero_Browser.Tab.prototype.getCaptureState = function () { - if (!this.page.saveEnabled) { + var page = this.getPageObject(); + if (!page.saveEnabled) { return this.CAPTURE_STATE_DISABLED; } - if (this.page.translators && this.page.translators.length) { + if (page.translators && page.translators.length) { return this.CAPTURE_STATE_TRANSLATABLE; } return this.CAPTURE_STATE_GENERIC; @@ -892,7 +921,7 @@ Zotero_Browser.Tab.prototype.getCaptureIcon = function (hiDPI) { switch (this.getCaptureState()) { case this.CAPTURE_STATE_TRANSLATABLE: - var itemType = this.page.translators[0].itemType; + var itemType = this.getPageObject().translators[0].itemType; return (itemType === "multiple" ? "chrome://zotero/skin/treesource-collection" + suffix + ".png" : Zotero.ItemTypes.getImageSrc(itemType)); @@ -916,10 +945,11 @@ Zotero_Browser.Tab.prototype.getCaptureTooltip = function() { case this.CAPTURE_STATE_TRANSLATABLE: var text = Zotero.getString('ingester.saveToZotero'); - if (this.page.translators[0].itemType == 'multiple') { + var translator = this.getPageObject().translators[0]; + if (translator.itemType == 'multiple') { text += '…'; } - text += ' (' + this.page.translators[0].label + ')'; + text += ' (' + translator.label + ')'; break; // TODO: Different captions for images, PDFs, etc.? @@ -974,44 +1004,45 @@ Zotero_Browser.Tab.prototype._selectItems = function(obj, itemList, callback) { * called when translators are available */ Zotero_Browser.Tab.prototype._translatorsAvailable = function(translate, translators) { - this.page.saveEnabled = true; + var page = this.getPageObject(); + page.saveEnabled = true; if(translators && translators.length) { //see if we should keep the previous set of translators if(//we already have a translator for part of this page - this.page.translators && this.page.translators.length && this.page.document.location + page.translators && page.translators.length && page.document.location //and the page is still there - && this.page.document.defaultView && !this.page.document.defaultView.closed + && page.document.defaultView && !page.document.defaultView.closed //this set of translators is not targeting the same URL as a previous set of translators, // because otherwise we want to use the newer set, // but only if it's not in a subframe of the previous set - && (this.page.document.location.href != translate.document.location.href || - Zotero.Utilities.Internal.isIframeOf(translate.document.defaultView, this.page.document.defaultView)) + && (page.document.location.href != translate.document.location.href || + Zotero.Utilities.Internal.isIframeOf(translate.document.defaultView, page.document.defaultView)) //the best translator we had was of higher priority than the new set - && (this.page.translators[0].priority < translators[0].priority + && (page.translators[0].priority < translators[0].priority //or the priority was the same, but... - || (this.page.translators[0].priority == translators[0].priority + || (page.translators[0].priority == translators[0].priority //the previous set of translators targets the top frame or the current one does not either - && (this.page.document.defaultView == this.page.document.defaultView.top - || translate.document.defaultView !== this.page.document.defaultView.top) + && (page.document.defaultView == page.document.defaultView.top + || translate.document.defaultView !== page.document.defaultView.top) )) ) { Zotero.debug("Translate: a better translator was already found for this page"); return; //keep what we had } else { this.clear(); //clear URL bar icon - this.page.saveEnabled = true; + page = this.getPageObject(); + page.saveEnabled = true; } Zotero.debug("Translate: found translators for page\n" + "Best translator: " + translators[0].label + " with priority " + translators[0].priority); - - this.page.translate = translate; - this.page.translators = translators; - this.page.document = translate.document; + page.translate = translate; + page.translators = translators; + page.document = translate.document; - this.page.translate.clearHandlers("select"); - this.page.translate.setHandler("select", this._selectItems); + translate.clearHandlers("select"); + translate.setHandler("select", this._selectItems); } else if(translate.type != "import" && translate.document.documentURI.length > 7 && translate.document.documentURI.substr(0, 7) == "file://") { this._attemptLocalFileImport(translate.document); diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js @@ -51,7 +51,9 @@ var Zotero_QuickFormat = new function () { io = window.arguments[0].wrappedJSObject; // Only hide chrome on Windows or Mac - if(Zotero.isMac || Zotero.isWin) { + if(Zotero.isMac) { + document.documentElement.setAttribute("drawintitlebar", true); + } else if(Zotero.isWin) { document.documentElement.setAttribute("hidechrome", true); } @@ -78,7 +80,7 @@ var Zotero_QuickFormat = new function () { var locators = Zotero.Cite.labels; var menu = document.getElementById("locator-label"); var labelList = document.getElementById("locator-label-popup"); - for each(var locator in locators) { + for(var locator of locators) { var locatorLabel = Zotero.getString('citation.locator.'+locator.replace(/\s/g,'')); // add to list of labels @@ -225,7 +227,7 @@ var Zotero_QuickFormat = new function () { var prevNode = node.previousSibling; if(prevNode && prevNode.citationItem && prevNode.citationItem.locator) { prevNode.citationItem.locator += str; - prevNode.value = _buildBubbleString(prevNode.citationItem); + prevNode.textContent = _buildBubbleString(prevNode.citationItem); node.nodeValue = ""; _clearEntryList(); return; @@ -242,7 +244,7 @@ var Zotero_QuickFormat = new function () { var prevNode = node.previousSibling; if(prevNode && prevNode.citationItem) { prevNode.citationItem.locator = m[2]; - prevNode.value = _buildBubbleString(prevNode.citationItem); + prevNode.textContent = _buildBubbleString(prevNode.citationItem); node.nodeValue = ""; _clearEntryList(); return; @@ -265,7 +267,7 @@ var Zotero_QuickFormat = new function () { if(year) str += " "+year; var s = new Zotero.Search(); - str = str.replace(" & ", " ", "g").replace(" and ", " ", "g"); + str = str.replace(/ (?:&|and) /g, " ", "g"); if(charRe.test(str)) { Zotero.debug("QuickFormat: QuickSearch: "+str); s.addCondition("quicksearch-titleCreatorYear", "contains", str); @@ -302,7 +304,7 @@ var Zotero_QuickFormat = new function () { for(var i=0, iCount=citedItems.length; i<iCount; i++) { // Generate a string to search for each item var item = citedItems[i], - itemStr = [creator.ref.firstName+" "+creator.ref.lastName for each(creator in item.getCreators())]; + itemStr = [creator.ref.firstName+" "+creator.ref.lastName for (creator of item.getCreators())]; itemStr = itemStr.concat([item.getField("title"), item.getField("date", true, true).substr(0, 4)]).join(" "); // See if words match @@ -395,7 +397,7 @@ var Zotero_QuickFormat = new function () { // Also take into account items cited in this citation. This means that the sorting isn't // exactly by # of items cited from each library, but maybe it's better this way. _updateCitationObject(); - for each(var citationItem in io.citation.citationItems) { + for(var citationItem of io.citation.citationItems) { var citedItem = Zotero.Cite.getItem(citationItem.id); if(!citedItem.cslItemID) { var libraryID = citedItem.libraryID; @@ -756,7 +758,7 @@ var Zotero_QuickFormat = new function () { if(qfe.scrollHeight > 30) { qfe.setAttribute("multiline", true); qfs.setAttribute("multiline", true); - qfs.style.height = (4+qfe.scrollHeight)+"px"; + qfs.style.height = ((Zotero.isMac ? 6 : 4)+qfe.scrollHeight)+"px"; window.sizeToContent(); } else { delete qfs.style.height; @@ -784,7 +786,7 @@ var Zotero_QuickFormat = new function () { if(!panelFrameHeight) { panelFrameHeight = referencePanel.boxObject.height - referencePanel.clientHeight; var computedStyle = window.getComputedStyle(referenceBox, null); - for each(var attr in ["border-top-width", "border-bottom-width"]) { + for(var attr of ["border-top-width", "border-bottom-width"]) { var val = computedStyle.getPropertyValue(attr); if(val) { var m = pixelRe.exec(val); @@ -939,7 +941,7 @@ var Zotero_QuickFormat = new function () { if(item.id) { var libraryName = item.libraryID ? Zotero.Libraries.getName(item.libraryID) : Zotero.getString('pane.collections.library'); - panelLibraryLink.textContent = Zotero.getString("integration.openInLibrary", libraryName); + panelLibraryLink.label = Zotero.getString("integration.openInLibrary", libraryName); } target.setAttribute("selected", "true"); @@ -1082,7 +1084,7 @@ var Zotero_QuickFormat = new function () { selection.addRange(nodeRange); } - } else if(keyCode === event.DOM_VK_UP) { + } else if(keyCode === event.DOM_VK_UP && referencePanel.state === "open") { var selectedItem = referenceBox.selectedItem; var previousSibling; @@ -1102,8 +1104,8 @@ var Zotero_QuickFormat = new function () { visibleItem = visibleItem.previousSibling; } referenceBox.ensureElementIsVisible(visibleItem); - event.preventDefault(); }; + event.preventDefault(); } else if(keyCode === event.DOM_VK_DOWN) { if((Zotero.isMac ? event.metaKey : event.ctrlKey)) { // If meta key is held down, show the citation properties panel @@ -1111,7 +1113,7 @@ var Zotero_QuickFormat = new function () { if(bubble) _showCitationProperties(bubble); event.preventDefault(); - } else { + } else if (referencePanel.state === "open") { var selectedItem = referenceBox.selectedItem; var nextSibling; @@ -1124,8 +1126,8 @@ var Zotero_QuickFormat = new function () { if(nextSibling){ referenceBox.selectedItem = nextSibling; referenceBox.ensureElementIsVisible(nextSibling); - event.preventDefault(); }; + event.preventDefault(); } } else { _resetSearchTimer(); @@ -1235,7 +1237,7 @@ var Zotero_QuickFormat = new function () { } else { delete panelRefersToBubble.citationItem["suppress-author"]; } - panelRefersToBubble.value = _buildBubbleString(panelRefersToBubble.citationItem); + panelRefersToBubble.textContent = _buildBubbleString(panelRefersToBubble.citationItem); }; /** diff --git a/chrome/content/zotero/integration/quickFormat.xul b/chrome/content/zotero/integration/quickFormat.xul @@ -34,7 +34,6 @@ id="quick-format-dialog" orient="vertical" title="&zotero.integration.quickFormatDialog.title;" - width="600" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" persist="screenX screenY" @@ -61,7 +60,7 @@ oncommand="Zotero_QuickFormat.onClassicViewCommand()"/> </menupopup> </toolbarbutton> - <iframe id="quick-format-iframe" ondragstart="event.stopPropagation()" src="data:application/xhtml+xml,%3C!DOCTYPE%20html%20PUBLIC%20%22-//W3C//DTD%20XHTML%201.0%20Strict//EN%22%20%22http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd%22%3E%3Chtml%20xmlns=%22http://www.w3.org/1999/xhtml%22%3E%3Chead%3E%3Clink%20rel=%22stylesheet%22%20type=%22text/css%22%20href=%22chrome://zotero/skin/integration.css%22/%3E%3Clink%20rel=%22stylesheet%22%20type=%22text/css%22%20href=%22chrome://zotero-platform/content/integration.css%22/%3E%3C/head%3E%3Cbody%20contenteditable=%22true%22%20id=%22quick-format-editor%22/%3E%3C/html%3E" + <iframe id="quick-format-iframe" ondragstart="event.stopPropagation()" src="data:application/xhtml+xml,%3C!DOCTYPE%20html%20PUBLIC%20%22-//W3C//DTD%20XHTML%201.0%20Strict//EN%22%20%22http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd%22%3E%3Chtml%20xmlns=%22http://www.w3.org/1999/xhtml%22%3E%3Chead%3E%3Clink%20rel=%22stylesheet%22%20type=%22text/css%22%20href=%22chrome://zotero/skin/integration.css%22/%3E%3Clink%20rel=%22stylesheet%22%20type=%22text/css%22%20href=%22chrome://zotero-platform/content/integration.css%22/%3E%3C/head%3E%3Cbody%20contenteditable=%22true%22%20spellcheck=%22false%22%20id=%22quick-format-editor%22/%3E%3C/html%3E" tabindex="1" flex="1"/> </hbox> </hbox> diff --git a/chrome/content/zotero/integration/windowDraggingUtils.js b/chrome/content/zotero/integration/windowDraggingUtils.js @@ -51,7 +51,7 @@ WindowDraggingElement.prototype = { if (aEvent.button != 0 || this._window.fullScreen || !this.mouseDownCheck.call(this._elem, aEvent) || - aEvent.getPreventDefault()) + aEvent.defaultPrevented) return false; let target = aEvent.originalTarget, parent = aEvent.originalTarget; diff --git a/chrome/content/zotero/xpcom/cite.js b/chrome/content/zotero/xpcom/cite.js @@ -81,8 +81,15 @@ Zotero.Cite = { } var styleClass = cslEngine.opt.class; - var citations = [cslEngine.appendCitationCluster({"citationItems":[{"id":item.id}], "properties":{}}, true)[0][1] - for each(item in items)]; + var citations=[]; + for (var i=0, ilen=items.length; i<ilen; i++) { + var item = items[i]; + var outList = cslEngine.appendCitationCluster({"citationItems":[{"id":item.id}], "properties":{}}, true); + for (var j=0, jlen=outList.length; j<jlen; j++) { + var citationPos = outList[j][0]; + citations[citationPos] = outList[j][1]; + } + } if(styleClass == "note") { if(format == "html") { @@ -560,4 +567,4 @@ Zotero.Cite.System.prototype = { converterStream.close(); return str.value; } -}; -\ No newline at end of file +}; diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js @@ -80,7 +80,7 @@ if (!Array.indexOf) { }; } var CSL = { - PROCESSOR_VERSION: "1.1.39", + PROCESSOR_VERSION: "1.1.60", CONDITION_LEVEL_TOP: 1, CONDITION_LEVEL_BOTTOM: 2, PLAIN_HYPHEN_REGEX: /(?:[^\\]-|\u2013)/, @@ -269,7 +269,7 @@ var CSL = { DATE_PARTS: ["year", "month", "day"], DATE_PARTS_ALL: ["year", "month", "day", "season"], DATE_PARTS_INTERNAL: ["year", "month", "day", "year_end", "month_end", "day_end"], - NAME_PARTS: ["family", "given", "dropping-particle", "non-dropping-particle", "suffix", "literal"], + NAME_PARTS: ["non-dropping-particle", "family", "given", "dropping-particle", "suffix", "literal"], DECORABLE_NAME_PARTS: ["given", "family", "suffix"], DISAMBIGUATE_OPTIONS: [ "disambiguate-add-names", @@ -398,7 +398,7 @@ var CSL = { ret[ret.length - 1] += str; return ret; }, - SKIP_WORDS: ["about","above","across","afore","after","against","along","alongside","amid","amidst","among","amongst","anenst","apropos","apud","around","as","aside","astride","at","athwart","atop","barring","before","behind","below","beneath","beside","besides","between","beyond","but","by","circa","despite","down","during","except","for","forenenst","from","given","in","inside","into","lest","like","modulo","near","next","notwithstanding","of","off","on","onto","out","over","per","plus","pro","qua","sans","since","than","through"," thru","throughout","thruout","till","to","toward","towards","under","underneath","until","unto","up","upon","versus","vs.","v.","vs","v","via","vis-à -vis","with","within","without","according to","ahead of","apart from","as for","as of","as per","as regards","aside from","back to","because of","close to","due to","except for","far from","inside of","instead of","near to","next to","on to","out from","out of","outside of","prior to","pursuant to","rather than","regardless of","such as","that of","up to","where as","or", "yet", "so", "for", "and", "nor", "a", "an", "the", "de", "d'", "von", "van", "c", "et", "ca"], + SKIP_WORDS: ["about","above","across","afore","after","against","along","alongside","amid","amidst","among","amongst","anenst","apropos","apud","around","as","aside","astride","at","athwart","atop","barring","before","behind","below","beneath","beside","besides","between","beyond","but","by","circa","despite","down","during","except","for","forenenst","from","given","in","inside","into","lest","like","modulo","near","next","notwithstanding","of","off","on","onto","out","over","per","plus","pro","qua","sans","since","than","through"," thru","throughout","thruout","till","to","toward","towards","under","underneath","until","unto","up","upon","versus","vs.","v.","vs","v","via","vis-à-vis","with","within","without","according to","ahead of","apart from","as for","as of","as per","as regards","aside from","back to","because of","close to","due to","except for","far from","inside of","instead of","near to","next to","on to","out from","out of","outside of","prior to","pursuant to","rather than","regardless of","such as","that of","up to","where as","or", "yet", "so", "for", "and", "nor", "a", "an", "the", "de", "d'", "von", "van", "c", "et", "ca"], FORMAT_KEY_SEQUENCE: [ "@strip-periods", "@font-style", @@ -465,7 +465,7 @@ var CSL = { "lt-LT":"Lithuanian", "lv-LV":"Latvian", "mn-MN":"Mongolian", - "nb-NO":"Norwegian (BokmÃ¥l)", + "nb-NO":"Norwegian (Bokmål)", "nl-NL":"Dutch", "nn-NO":"Norwegian (Nynorsk)", "pl-PL":"Polish", @@ -995,7 +995,7 @@ CSL.DateParser = function () { jiymatcher = "(?:" + jiymatchstring + ")(?:[0-9]+)"; jiymatcher = new RegExp(jiymatcher, "g"); jmd = /(\u6708|\u5E74)/g; - jy = /\u65E5/; + jy = /\u65E5/g; jr = /\u301c/g; yearlast = "(?:[?0-9]{1,2}%%NUMD%%){0,2}[?0-9]{4}(?![0-9])"; yearfirst = "[?0-9]{4}(?:%%NUMD%%[?0-9]{1,2}){0,2}(?![0-9])"; @@ -1117,11 +1117,11 @@ CSL.DateParser = function () { m = txt.match(jmd); if (m) { txt = txt.replace(/\s+/, "", "g"); - txt = txt.replace(jy, "", "g"); - txt = txt.replace(jmd, "-", "g"); - txt = txt.replace(jr, "/", "g"); - txt = txt.replace("-/", "/", "g"); - txt = txt.replace(/-$/,"", "g"); + txt = txt.replace(jy, ""); + txt = txt.replace(jmd, "-"); + txt = txt.replace(jr, "/"); + txt = txt.replace(/\-\//g, "/"); + txt = txt.replace(/-$/g,""); slst = txt.split(jiysplitter); lst = []; mm = txt.match(jiymatcher); @@ -1365,9 +1365,6 @@ CSL.Engine = function (sys, style, lang, forceLang) { if (CSL.getAbbreviation) { this.sys.getAbbreviation = CSL.getAbbreviation; } - if (CSL.suppressJurisdictions) { - this.sys.suppressJurisdictions = CSL.suppressJurisdictions; - } if (this.sys.stringCompare) { CSL.stringCompare = this.sys.stringCompare; } @@ -1418,8 +1415,8 @@ CSL.Engine = function (sys, style, lang, forceLang) { this.opt.xclass = sys.xml.getAttributeValue(this.cslXml, "class"); this.opt.class = this.opt.xclass; this.opt.styleID = this.sys.xml.getStyleId(this.cslXml); - if (CSL.setSuppressJurisdictions) { - CSL.setSuppressJurisdictions(this.opt.styleID); + if (CSL.setSuppressedJurisdictions) { + CSL.setSuppressedJurisdictions(this.opt.styleID, this.opt.suppressedJurisdictions); } this.opt.styleName = this.sys.xml.getStyleId(this.cslXml, true); if (this.opt.version.slice(0,4) === "1.1m") { @@ -1430,6 +1427,7 @@ CSL.Engine = function (sys, style, lang, forceLang) { this.opt.development_extensions.rtl_support = true; this.opt.development_extensions.expect_and_symbol_form = true; this.opt.development_extensions.require_explicit_legal_case_title_short = true; + this.opt.development_extensions.force_jurisdiction = true; } if (lang) { lang = lang.replace("_", "-"); @@ -1877,6 +1875,11 @@ CSL.Engine.prototype.retrieveItem = function (id) { } } var isLegalType = ["bill","legal_case","legislation","gazette","regulation"].indexOf(Item.type) > -1; + if (this.opt.development_extensions.force_jurisdiction && isLegalType) { + if (!Item.jurisdiction) { + Item.jurisdiction = "us"; + } + } if (!isLegalType && Item.title && this.sys.getAbbreviation) { var noHints = false; if (!Item.jurisdiction) { @@ -2174,7 +2177,7 @@ CSL.Engine.prototype.getCitationLabel = function (Item) { if (m) { myname = myname.slice(m[1].length); } - myname = myname.replace(CSL.ROMANESQUE_NOT_REGEXP, "", "g"); + myname = myname.replace(CSL.ROMANESQUE_NOT_REGEXP, ""); if (!myname) { break; } @@ -2571,7 +2574,7 @@ CSL.Output.Queue.prototype.append = function (str, tokname, notSerious, ignorePr blob.blobs = blob.blobs.replace(/\.([^a-z]|$)/g, "$1"); } for (var i = blob.decorations.length - 1; i > -1; i += -1) { - if (blob.decorations[i][0] === "@quotes" && blob.decorations[i][1] === "true") { + if (blob.decorations[i][0] === "@quotes" && blob.decorations[i][1] !== "false") { blob.punctuation_in_quote = this.state.getOpt("punctuation-in-quote"); } if (!blob.blobs.match(CSL.ROMANESQUE_REGEXP)) { @@ -2933,7 +2936,7 @@ CSL.Output.Queue.adjust = function (punctInQuote) { } } PUNCT_OR_SPACE[" "] = true; - PUNCT_OR_SPACE[" "] = true; + PUNCT_OR_SPACE[" "] = true; var RtoL_MAP = {}; for (var key in LtoR_MAP) { for (var subkey in LtoR_MAP[key]) { @@ -2972,7 +2975,7 @@ CSL.Output.Queue.adjust = function (punctInQuote) { function blobHasDescendantQuotes(blob) { if (blob.decorations) { for (var i=0,ilen=blob.decorations.length;i<ilen;i++) { - if (blob.decorations[i][0] === '@quotes') { + if (blob.decorations[i][0] === '@quotes' && blob.decorations[i][1] !== "false") { return true; } } @@ -3185,9 +3188,12 @@ CSL.Output.Queue.adjust = function (punctInQuote) { if (i === (parent.blobs.length - 1)) { if (true || !someChildrenAreNumbers) { var parentChar = parentStrings.suffix.slice(0, 1); - var allowMigration = blobHasDescendantQuotes(child); - if (!allowMigration && PUNCT[parentChar]) { + var allowMigration = false; + if (PUNCT[parentChar]) { allowMigration = blobHasDescendantMergingPunctuation(parentChar,child); + if (!allowMigration && punctInQuote) { + allowMigration = blobHasDescendantQuotes(child); + } } if (allowMigration) { if (PUNCT[parentChar]) { @@ -3204,7 +3210,7 @@ CSL.Output.Queue.adjust = function (punctInQuote) { } } } - if (childStrings.suffix.slice(-1) === " " && parentStrings.suffix.slice(0,1) === " ") { + if (childStrings.suffix.slice(-1) === " " && parentStrings.suffix.slice(0,1) === " ") { parentStrings.suffix = parentStrings.suffix.slice(1); } if (PUNCT_OR_SPACE[childStrings.suffix.slice(0,1)]) { @@ -3279,7 +3285,7 @@ CSL.Output.Queue.adjust = function (punctInQuote) { var quoteSwap = false; for (var j=0,jlen=child.decorations.length;j<jlen;j++) { var decoration = child.decorations[j]; - if (decoration[0] === "@quotes") { + if (decoration[0] === "@quotes" && decoration[1] !== "false") { quoteSwap = true; } } @@ -3303,6 +3309,7 @@ CSL.Engine.Opt = function () { this.mode = "html"; this.dates = {}; this.jurisdictions_seen = {}; + this.suppressedJurisdictions = {}; this["locale-sort"] = []; this["locale-translit"] = []; this["locale-translat"] = []; @@ -3443,6 +3450,8 @@ CSL.Engine.Opt = function () { this.development_extensions.expect_and_symbol_form = false; this.development_extensions.require_explicit_legal_case_title_short = false; this.development_extensions.spoof_institutional_affiliations = false; + this.development_extensions.force_jurisdiction = false; + this.development_extensions.parse_names = true; }; CSL.Engine.Tmp = function () { this.names_max = new CSL.Stack(); @@ -3949,13 +3958,13 @@ CSL.Engine.prototype.processCitationCluster = function (citation, citationsPre, for (n = 0, nlen = CSL.POSITION_TEST_VARS.length; n < nlen; n += 1) { var param = CSL.POSITION_TEST_VARS[n]; if (item[1][param] !== oldvalue[param]) { - if (param === 'first-reference-note-number') { - rerunAkeys[this.registry.registry[myid].ambig] = true; + if (this.registry.registry[myid]) { + if (param === 'first-reference-note-number') { + rerunAkeys[this.registry.registry[myid].ambig] = true; + this.tmp.taintedItemIDs[myid] = true; + } } this.tmp.taintedCitationIDs[onecitation.citationID] = true; - if (param === 'first-reference-note-number') { - this.tmp.taintedItemIDs[myid] = true; - } } } } @@ -5358,7 +5367,7 @@ CSL.Node.date = { dp = []; if (this.variables.length && !(state.tmp.just_looking - && this.variables[0] !== "issued")) { + && this.variables[0] === "accessed")) { state.parallel.StartVariable(this.variables[0]); date_obj = Item[this.variables[0]]; if ("undefined" === typeof date_obj) { @@ -5645,7 +5654,9 @@ CSL.Node["date-part"] = { if (state[state.tmp.area].opt.collapse === "year-suffix-ranged") { number.range_prefix = state.getTerm("citation-range-delimiter"); } - if (state[state.tmp.area].opt["year-suffix-delimiter"]) { + if (state[state.tmp.area].opt.cite_group_delimiter) { + number.successor_prefix = state[state.tmp.area].opt.cite_group_delimiter; + } else if (state[state.tmp.area].opt["year-suffix-delimiter"]) { number.successor_prefix = state[state.tmp.area].opt["year-suffix-delimiter"]; } else { number.successor_prefix = state[state.tmp.area].opt.layout_delimiter; @@ -7747,7 +7758,7 @@ CSL.NameOutput.prototype._renderPersonalName = function (v, name, slot, pos, i, }; CSL.NameOutput.prototype._isRomanesque = function (name) { var ret = 2; - if (!name.family.replace('"', '', 'g').match(CSL.ROMANESQUE_REGEXP)) { + if (!name.family.replace(/\"/g, '').match(CSL.ROMANESQUE_REGEXP)) { ret = 0; } if (!ret && name.given && name.given.match(CSL.STARTSWITH_ROMANESQUE_REGEXP)) { @@ -7788,7 +7799,7 @@ CSL.NameOutput.prototype._renderOnePersonalName = function (value, pos, i, j) { suffix_sep = " "; } var romanesque = this._isRomanesque(name); - var has_hyphenated_non_dropping_particle = (non_dropping_particle && ["\u2019", "\'", "-"].indexOf(non_dropping_particle.blobs.slice(-1)) > -1); + var has_hyphenated_non_dropping_particle = (non_dropping_particle && ["\u2019", "\'", "-", " "].indexOf(non_dropping_particle.blobs.slice(-1)) > -1); var blob, merged, first, second; if (romanesque === 0) { blob = this._join([non_dropping_particle, family, given], ""); @@ -7810,7 +7821,7 @@ CSL.NameOutput.prototype._renderOnePersonalName = function (value, pos, i, j) { if (["Lord", "Lady"].indexOf(name.given) > -1) { sort_sep = ", "; } - if (["always", "display-and-sort"].indexOf(this.state.opt["demote-non-dropping-particle"]) > -1 && !has_hyphenated_non_dropping_particle) { + if (["always", "display-and-sort"].indexOf(this.state.opt["demote-non-dropping-particle"]) > -1) { second = this._join([given, dropping_particle], (name["comma-dropping-particle"] + " ")); second = this._join([second, non_dropping_particle], " "); if (second && this.given) { @@ -8051,34 +8062,11 @@ CSL.NameOutput.prototype._parseName = function (name) { } else { noparse = false; } - if (!name["non-dropping-particle"] && name.family && !noparse && name.given) { - if (!name["static-particles"]) { - CSL.parseParticles(name, true); - } - } - if (!name.suffix && name.given) { - m = name.given.match(/(\s*,!*\s*)/); - if (m) { - idx = name.given.indexOf(m[1]); - var possible_suffix = name.given.slice(idx + m[1].length); - var possible_comma = name.given.slice(idx, idx + m[1].length).replace(/\s*/g, ""); - if (possible_suffix.length <= 3) { - if (possible_comma.length === 2) { - name["comma-suffix"] = true; - } - name.suffix = possible_suffix; - } else if (!name["dropping-particle"] && name.given) { - name["dropping-particle"] = possible_suffix; - name["comma-dropping-particle"] = ","; + if (this.state.opt.development_extensions.parse_names) { + if (!name["non-dropping-particle"] && name.family && !noparse && name.given) { + if (!name["static-particles"]) { + CSL.parseParticles(name, true); } - name.given = name.given.slice(0, idx); - } - } - if (!name["dropping-particle"] && name.given) { - m = name.given.match(/(\s+)([a-z][ \'\u2019a-z]*)$/); - if (m) { - name.given = name.given.slice(0, (m[1].length + m[2].length) * -1); - name["dropping-particle"] = m[2]; } } }; @@ -10898,13 +10886,6 @@ CSL.Transform = function (state) { if (["archive"].indexOf(myabbrev_family) > -1) { myabbrev_family = "collection-title"; } - if (variable === "jurisdiction" && basevalue && state.sys.getHumanForm) { - var jcode = basevalue; - basevalue = state.sys.getHumanForm(basevalue); - if (state.sys.suppressJurisdictions) { - basevalue = state.sys.suppressJurisdictions(jcode,basevalue); - } - } value = ""; if (state.sys.getAbbreviation) { var jurisdiction = state.transform.loadAbbreviation(Item.jurisdiction, myabbrev_family, basevalue, Item.type, noHints); @@ -10964,31 +10945,44 @@ CSL.Transform = function (state) { } ret = {name:"", usedOrig:stopOrig,locale:getFieldLocale(Item,field)}; opts = state.opt[locale_type]; + var hasVal = false; + var jurisdictionName = false; if (locale_type === 'locale-orig') { if (stopOrig) { ret = {name:"", usedOrig:stopOrig}; } else { ret = {name:Item[field], usedOrig:false, locale:getFieldLocale(Item,field)}; } - return ret; + hasVal = true; } else if (use_default && ("undefined" === typeof opts || opts.length === 0)) { - return {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)}; - } - for (var i = 0, ilen = opts.length; i < ilen; i += 1) { - opt = opts[i]; - o = opt.split(/[\-_]/)[0]; - if (opt && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][opt]) { - ret.name = Item.multi._keys[field][opt]; - ret.locale = o; - break; - } else if (o && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][o]) { - ret.name = Item.multi._keys[field][o]; - ret.locale = o; - break; + var ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)}; + hasVal = true; + } + if (!hasVal) { + for (var i = 0, ilen = opts.length; i < ilen; i += 1) { + opt = opts[i]; + o = opt.split(/[\-_]/)[0]; + if (opt && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][opt]) { + ret.name = Item.multi._keys[field][opt]; + ret.locale = o; + if (field === 'jurisdiction') jurisdictionName = ret.name; + break; + } else if (o && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][o]) { + ret.name = Item.multi._keys[field][o]; + ret.locale = o; + if (field === 'jurisdiction') jurisdictionName = ret.name; + break; + } + } + if (!ret.name && use_default) { + ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)}; } } - if (!ret.name && use_default) { - ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)}; + if (field === 'jurisdiction' && CSL.getSuppressedJurisdictionName) { + if (ret.name && !jurisdictionName) { + jurisdictionName = state.sys.getHumanForm(Item[field]); + } + ret.name = CSL.getSuppressedJurisdictionName.call(state, Item[field], jurisdictionName); } return ret; } @@ -12497,7 +12491,7 @@ CSL.Util.PageRangeMangler.getFunction = function (state, rangeType) { } else { ret = [lst[0]]; for (pos = 1, len = lst.length; pos < len; pos += 1) { - ret.push(m[pos - 1].replace(/\s*\-\s*/, "-", "g")); + ret.push(m[pos - 1].replace(/\s*\-\s*/g, "-")); ret.push(lst[pos]); } } @@ -12521,7 +12515,7 @@ CSL.Util.PageRangeMangler.getFunction = function (state, rangeType) { } } if ("string" === typeof lst[pos]) { - lst[pos] = lst[pos].replace("-", range_delimiter, "g"); + lst[pos] = lst[pos].replace(/\-/g, range_delimiter); } } return lst; @@ -12720,21 +12714,29 @@ CSL.Util.FlipFlopper.prototype.init = function (str, blob) { }; CSL.Util.FlipFlopper.prototype._normalizeString = function (str) { var i, ilen; - str = str.replace(/\s+'\s+/g," ’ "); + str = str.replace(/\s+'\s+/g," ’ "); if (str.indexOf(this.quotechars[0]) > -1) { - for (i = 0, ilen = 2; i < ilen; i += 1) { - if (this.quotechars[i + 2]) { - str = str.replace(this.quotechars[i + 2], this.quotechars[0]); + var oldStr = null; + while (str !== oldStr) { + oldStr = str; + for (i = 0, ilen = 2; i < ilen; i += 1) { + if (this.quotechars[i + 2]) { + str = str.replace(this.quotechars[i + 2], this.quotechars[0]); + } } } } if (str.indexOf(this.quotechars[1]) > -1) { - for (i = 0, ilen = 2; i < ilen; i += 1) { - if (this.quotechars[i + 4]) { - if (i === 0) { - str = str.replace(this.quotechars[i + 4], " " + this.quotechars[1]); - } else { - str = str.replace(this.quotechars[i + 4], this.quotechars[1]); + var oldStr = null; + while (str !== oldStr) { + oldStr = str; + for (i = 0, ilen = 2; i < ilen; i += 1) { + if (this.quotechars[i + 4]) { + if (i === 0) { + str = str.replace(this.quotechars[i + 4], " " + this.quotechars[1]); + } else { + str = str.replace(this.quotechars[i + 4], this.quotechars[1]); + } } } } @@ -13148,7 +13150,7 @@ CSL.Output.Formats.prototype.html = { return text.replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") - .replace(" ", "  ", "g") + .replace(/\s\s/g, "\u00A0 ") .replace(CSL.SUPERSCRIPTS_REGEXP, function(aChar) { return "<sup>" + CSL.SUPERSCRIPTS[aChar] + "</sup>"; @@ -13364,7 +13366,7 @@ CSL.Output.Formats.prototype.rtf = { return str+"\\tab "; }, "@display/right-inline": function (state, str) { - return str+"\\line\r\n"; + return str+"\r\n"; }, "@display/indent": function (state, str) { return "\n\\tab "+str+"\\line\r\n"; @@ -13773,7 +13775,7 @@ CSL.Registry.NameReg = function (state) { if (!str) { str = ""; } - return str.replace(".", " ", "g").replace(/\s+/g, " ").replace(/\s+$/,""); + return str.replace(/\./g, " ").replace(/\s+/g, " ").replace(/\s+$/,""); }; set_keys = function (state, itemid, nameobj) { pkey = strip_periods(nameobj.family); @@ -14386,263 +14388,340 @@ CSL.Engine.prototype.retrieveAllStyleModules = function (jurisdictionList) { } return ret; } +CSL.ParticleList = function() { + var always_dropping_1 = [[[0,1], null]]; + var always_dropping_2 = [[[0,2], null]]; + var always_dropping_3 = [[[0,3], null]] + var always_non_dropping_1 = [[null, [0,1]]]; + var always_non_dropping_2 = [[null, [0,2]]]; + var always_non_dropping_3 = [[null, [0,3]]]; + var either_1 = [[null, [0,1]],[[0,1],null]]; + var either_2 = [[null, [0,2]],[[0,2],null]]; + var either_1_dropping_best = [[[0,1],null],[null, [0,1]]]; + var either_2_dropping_best = [[[0,2],null],[null, [0,2]]]; + var either_3_dropping_best = [[[0,3],null],[null, [0,3]]]; + var non_dropping_2_alt_dropping_1_non_dropping_1 = [[null, [0,2]], [[0,1], [1,2]]]; + return PARTICLES = [ + ["'s", always_non_dropping_1], + ["'s-", always_non_dropping_1], + ["'t", always_non_dropping_1], + ["a", always_non_dropping_1], + ["aan 't", always_non_dropping_2], + ["aan de", always_non_dropping_2], + ["aan den", always_non_dropping_2], + ["aan der", always_non_dropping_2], + ["aan het", always_non_dropping_2], + ["aan t", always_non_dropping_2], + ["aan", always_non_dropping_1], + ["ad-", either_1], + ["adh-", either_1], + ["af", either_1], + ["al", either_1], + ["al-", either_1], + ["am de", always_non_dropping_2], + ["am", always_non_dropping_1], + ["an-", either_1], + ["ar-", either_1], + ["as-", either_1], + ["ash-", either_1], + ["at-", either_1], + ["ath-", either_1], + ["auf dem", either_2_dropping_best], + ["auf den", either_2_dropping_best], + ["auf der", either_2_dropping_best], + ["auf ter", always_non_dropping_2], + ["auf", either_1_dropping_best], + ["aus 'm", either_2_dropping_best], + ["aus dem", either_2_dropping_best], + ["aus den", either_2_dropping_best], + ["aus der", either_2_dropping_best], + ["aus m", either_2_dropping_best], + ["aus", either_1_dropping_best], + ["aus'm", either_2_dropping_best], + ["az-", either_1], + ["aš-", either_1], + ["aḍ-", either_1], + ["aḏ-", either_1], + ["aṣ-", either_1], + ["aṭ-", either_1], + ["aṯ-", either_1], + ["aẓ-", either_1], + ["ben", always_non_dropping_1], + ["bij 't", always_non_dropping_2], + ["bij de", always_non_dropping_2], + ["bij den", always_non_dropping_2], + ["bij het", always_non_dropping_2], + ["bij t", always_non_dropping_2], + ["bij", always_non_dropping_1], + ["bin", always_non_dropping_1], + ["boven d", always_non_dropping_2], + ["boven d'", always_non_dropping_2], + ["d", always_non_dropping_1], + ["d'", either_1], + ["da", either_1], + ["dal", always_non_dropping_1], + ["dal'", always_non_dropping_1], + ["dall'", always_non_dropping_1], + ["dalla", always_non_dropping_1], + ["das", either_1], + ["de die le", always_non_dropping_3], + ["de die", always_non_dropping_2], + ["de l", always_non_dropping_2], + ["de l'", always_non_dropping_2], + ["de la", non_dropping_2_alt_dropping_1_non_dropping_1], + ["de las", non_dropping_2_alt_dropping_1_non_dropping_1], + ["de le", always_non_dropping_2], + ["de li", either_2], + ["de van der", always_non_dropping_3], + ["de", either_1], + ["de'", either_1], + ["deca", always_non_dropping_1], + ["degli", either_1], + ["dei", either_1], + ["del", either_1], + ["dela", always_dropping_1], + ["dell'", either_1], + ["della", either_1], + ["delle", either_1], + ["dello", either_1], + ["den", either_1], + ["der", either_1], + ["des", either_1], + ["di", either_1], + ["die le", always_non_dropping_2], + ["do", always_non_dropping_1], + ["don", always_non_dropping_1], + ["dos", either_1], + ["du", either_1], + ["ed-", either_1], + ["edh-", either_1], + ["el", either_1], + ["el-", either_1], + ["en-", either_1], + ["er-", either_1], + ["es-", either_1], + ["esh-", either_1], + ["et-", either_1], + ["eth-", either_1], + ["ez-", either_1], + ["eš-", either_1], + ["eḍ-", either_1], + ["eḏ-", either_1], + ["eṣ-", either_1], + ["eṭ-", either_1], + ["eṯ-", either_1], + ["eẓ-", either_1], + ["het", always_non_dropping_1], + ["i", always_non_dropping_1], + ["il", always_dropping_1], + ["im", always_non_dropping_1], + ["in 't", always_non_dropping_2], + ["in de", always_non_dropping_2], + ["in den", always_non_dropping_2], + ["in der", either_2], + ["in het", always_non_dropping_2], + ["in t", always_non_dropping_2], + ["in", always_non_dropping_1], + ["l", always_non_dropping_1], + ["l'", always_non_dropping_1], + ["la", always_non_dropping_1], + ["las", always_non_dropping_1], + ["le", always_non_dropping_1], + ["les", either_1], + ["lo", either_1], + ["los", always_non_dropping_1], + ["lou", always_non_dropping_1], + ["of", always_non_dropping_1], + ["onder 't", always_non_dropping_2], + ["onder de", always_non_dropping_2], + ["onder den", always_non_dropping_2], + ["onder het", always_non_dropping_2], + ["onder t", always_non_dropping_2], + ["onder", always_non_dropping_1], + ["op 't", always_non_dropping_2], + ["op de", either_2], + ["op den", always_non_dropping_2], + ["op der", always_non_dropping_2], + ["op gen", always_non_dropping_2], + ["op het", always_non_dropping_2], + ["op t", always_non_dropping_2], + ["op ten", always_non_dropping_2], + ["op", always_non_dropping_1], + ["over 't", always_non_dropping_2], + ["over de", always_non_dropping_2], + ["over den", always_non_dropping_2], + ["over het", always_non_dropping_2], + ["over t", always_non_dropping_2], + ["over", always_non_dropping_1], + ["s", always_non_dropping_1], + ["s'", always_non_dropping_1], + ["sen", always_dropping_1], + ["t", always_non_dropping_1], + ["te", always_non_dropping_1], + ["ten", always_non_dropping_1], + ["ter", always_non_dropping_1], + ["tho", always_non_dropping_1], + ["thoe", always_non_dropping_1], + ["thor", always_non_dropping_1], + ["to", always_non_dropping_1], + ["toe", always_non_dropping_1], + ["tot", always_non_dropping_1], + ["uijt 't", always_non_dropping_2], + ["uijt de", always_non_dropping_2], + ["uijt den", always_non_dropping_2], + ["uijt te de", always_non_dropping_3], + ["uijt ten", always_non_dropping_2], + ["uijt", always_non_dropping_1], + ["uit 't", always_non_dropping_2], + ["uit de", always_non_dropping_2], + ["uit den", always_non_dropping_2], + ["uit het", always_non_dropping_2], + ["uit t", always_non_dropping_2], + ["uit te de", always_non_dropping_3], + ["uit ten", always_non_dropping_2], + ["uit", always_non_dropping_1], + ["unter", always_non_dropping_1], + ["v", always_non_dropping_1], + ["v.", always_non_dropping_1], + ["v.d.", always_non_dropping_1], + ["van 't", always_non_dropping_2], + ["van de l", always_non_dropping_3], + ["van de l'", always_non_dropping_3], + ["van de", always_non_dropping_2], + ["van de", always_non_dropping_2], + ["van den", always_non_dropping_2], + ["van der", always_non_dropping_2], + ["van gen", always_non_dropping_2], + ["van het", always_non_dropping_2], + ["van la", always_non_dropping_2], + ["van t", always_non_dropping_2], + ["van ter", always_non_dropping_2], + ["van van de", always_non_dropping_3], + ["van", either_1], + ["vander", always_non_dropping_1], + ["vd", always_non_dropping_1], + ["ver", always_non_dropping_1], + ["vom und zum", always_dropping_3], + ["vom", either_1], + ["von 't", always_non_dropping_2], + ["von dem", either_2_dropping_best], + ["von den", either_2_dropping_best], + ["von der", either_2_dropping_best], + ["von t", always_non_dropping_2], + ["von und zu", either_3_dropping_best], + ["von zu", either_2_dropping_best], + ["von", either_1_dropping_best], + ["voor 't", always_non_dropping_2], + ["voor de", always_non_dropping_2], + ["voor den", always_non_dropping_2], + ["voor in 't", always_non_dropping_3], + ["voor in t", always_non_dropping_3], + ["voor", always_non_dropping_1], + ["vor der", either_2_dropping_best], + ["vor", either_1_dropping_best], + ["z", always_dropping_1], + ["ze", always_dropping_1], + ["zu", either_1_dropping_best], + ["zum", either_1], + ["zur", either_1] + ]; +}(); CSL.parseParticles = function(){ - var PARTICLES = [ - ["'s-", [[[0,1], null]]], - ["'t", [[[0,1], null]]], - ["abbé d'", [[[0,2], null]]], - ["af", [[[0,1], null]]], - ["al", [[[0,1], null]]], - ["al-", [[[0,1], null]],[[null,[0,1]]]], - ["auf den", [[[0,2], null]]], - ["auf der", [[[0,1], null]]], - ["aus der", [[[0,1], null]]], - ["aus'm", [[null, [0,1]]]], - ["ben", [[null, [0,1]]]], - ["bin", [[null, [0,1]]]], - ["d'", [[[0,1], null]],[[null,[0,1]]]], - ["da", [[null, [0,1]]]], - ["dall'", [[null, [0,1]]]], - ["das", [[[0,1], null]]], - ["de", [[null, [0,1]],[[0,1],null]]], - ["de la", [[[0,1], [1,2]]]], - ["de las", [[[0,1], [1,2]]]], - ["de li", [[[0,1], null]]], - ["de'", [[[0,1], null]]], - ["degli", [[[0,1], null]]], - ["dei", [[[0,1], null]]], - ["del", [[null, [0,1]]]], - ["dela", [[[0,1], null]]], - ["della", [[[0,1], null]]], - ["dello", [[[0,1], null]]], - ["den", [[[0,1], null]]], - ["der", [[[0,1], null]]], - ["des", [[null, [0,1]],[[0,1], null]]], - ["di", [[null, [0,1]]]], - ["do", [[null, [0,1]]]], - ["dos", [[[0,1], null]]], - ["du", [[[0,1], null]]], - ["el", [[[0,1], null]]], - ["il", [[[0,1], null]]], - ["in 't", [[[0,2], null]]], - ["in de", [[[0,2], null]]], - ["in der", [[[0,1], null]]], - ["in het", [[[0,2], null]]], - ["lo", [[[0,1], null]]], - ["les", [[[0,1], null]]], - ["l'", [[null, [0,1]]]], - ["la", [[null, [0,1]]]], - ["le", [[null, [0,1]]]], - ["lou", [[null, [0,1]]]], - ["mac", [[null, [0,1]]]], - ["op de", [[[0,2], null]]], - ["pietro", [[null, [0,1]]]], - ["saint", [[null, [0,1]]]], - ["sainte", [[null, [0,1]]]], - ["sen", [[[0,1], null]]], - ["st.", [[null, [0,1]]]], - ["ste.", [[null, [0,1]]]], - ["te", [[[0,1], null]]], - ["ten", [[[0,1], null]]], - ["ter", [[[0,1], null]]], - ["uit de", [[[0,2], null]]], - ["uit den", [[[0,2], null]]], - ["v.d.", [[null, [0,1]]]], - ["van", [[null, [0,1]]]], - ["van de", [[null, [0,2]]]], - ["van den", [[null, [0,2]]]], - ["van der", [[null, [0,2]]]], - ["van het", [[null, [0,2]]]], - ["vander", [[null, [0,1]]]], - ["vd", [[null, [0,1]]]], - ["ver", [[null, [0,1]]]], - ["von", [[[0,1], null]],[[null,[0,1]]]], - ["von der", [[[0,2], null]]], - ["von dem",[[[0,2], null]]], - ["von und zu", [[[0,1], null]]], - ["von zu", [[[0,2], null]]], - ["v.", [[[0,1], null]]], - ["v", [[[0,1], null]]], - ["vom", [[[0,1], null]]], - ["vom und zum", [[[0,1], null]]], - ["z", [[[0,1], null]]], - ["ze", [[[0,1], null]]], - ["zum", [[[0,1], null]]], - ["zur", [[[0,1], null]]] - ] - var CATEGORIZER = null; - function createCategorizer () { - CATEGORIZER = {}; - for (var i=0,ilen=PARTICLES.length;i<ilen;i++) { - var tLst = PARTICLES[i][0].split(" "); - var pInfo = []; - for (var j=0,jlen=PARTICLES[i][1].length;j<jlen;j++) { - var pParams = PARTICLES[i][1][j]; - var str1 = pParams[0] ? tLst.slice(pParams[0][0], pParams[0][1]).join(" ") : ""; - var str2 = pParams[1] ? tLst.slice(pParams[1][0], pParams[1][1]).join(" ") : ""; - pInfo.push({ - strings: [str1, str2], - positions: [pParams[0], pParams[1]] - }); - } - CATEGORIZER[PARTICLES[i][0]] = pInfo; - } - } - createCategorizer(); - var LIST = null; - var REX = null; - function assignToList (nospaceList, spaceList, particle) { - if (["\'", "-"].indexOf(particle.slice(-1)) > -1) { - nospaceList.push(particle); - } else { - spaceList.push(particle); - } - } - function composeParticleLists () { - LIST = { - "family": { - "space": [], - "nospace": [] - }, - "given": { - "partial": {}, - "full": [] - } - } - REX = { - "family": null, - "given": { - "full_lower": null, - "full_comma": null, - "partial": {} - } - } - var FAM_SP = LIST.family.space; - var FAM_NSP = LIST.family.nospace; - var GIV_PART = LIST.given.partial; - var GIV_FULL = LIST.given.full; - for (var i=0,ilen=PARTICLES.length;i<ilen;i++) { - var info = PARTICLES[i]; - var particle = info[0].split(" "); - if (particle.length === 1) { - assignToList(FAM_NSP, FAM_SP, particle[0]); - GIV_FULL.push(particle[0]); - if (!GIV_PART[particle[0]]) { - GIV_PART[particle[0]] = []; - } - GIV_PART[particle[0]].push(""); - } else if (particle.length === 2) { - assignToList(FAM_NSP, FAM_SP, particle[1]); - if (!GIV_PART[particle[1]]) { - GIV_PART[particle[1]] = []; - } - GIV_PART[particle[1]].push(particle[0]); - particle = particle.join(" "); - assignToList(FAM_NSP, FAM_SP, particle); - GIV_FULL.push(particle); - } - } - FAM_SP.sort(byLength); - FAM_NSP.sort(byLength); - GIV_FULL.sort(byLength); - for (var key in GIV_PART) { - GIV_PART[key].sort(byLength); - } - } - function byLength(a,b) { - if (a.length<b.length) { - return 1; - } else if (a.length>b.length) { - return -1; - } else { - return 0; - } - } - function composeRegularExpressions () { - composeParticleLists(); - REX.family = new RegExp("^((?:" + LIST.family.space.join("|") + ")(\\s+)|(?:" + LIST.family.nospace.join("|") + "([^\\s]))).*", "i"); - REX.given.full_comma = new RegExp(".*?(,[\\s]*)(" + LIST.given.full.join("|") + ")$", "i"); - REX.given.full_lower = new RegExp(".*?([ ]+)(" + LIST.given.full.join("|") + ")$"); - X = "Tom du".match(REX.given.full_lower) - var allInTheFamily = LIST.family.space - for (var key in LIST.given.partial) { - REX.given.partial[key] = new RegExp(".*?(\\s+)(" + LIST.given.partial[key].join("|") + ")$", "i"); + function splitParticles(nameValue, firstNameFlag, caseOverride) { + var origNameValue = nameValue; + nameValue = caseOverride ? nameValue.toLowerCase() : nameValue; + var particleList = []; + var apostrophe; + if (firstNameFlag) { + apostrophe ="\u02bb"; + nameValue = nameValue.split("").reverse().join(""); + } else { + apostrophe ="-\u2019"; + } + var rex = new RegExp("^([^ ]+[" + apostrophe + " \'] *)(.+)$"); + var m = nameValue.match(rex); + while (m) { + var m1 = firstNameFlag ? m[1].split("").reverse().join("") : m[1]; + var firstChar = m ? m1 : false; + var firstChar = firstChar ? m1.replace(/^[-\'\u02bb\u2019\s]*(.).*$/, "$1") : false; + var hasParticle = firstChar ? firstChar.toUpperCase() !== firstChar : false; + if (!hasParticle) break; + if (firstNameFlag) { + particleList.push(origNameValue.slice(m1.length * -1)); + origNameValue = origNameValue.slice(0,m1.length * -1); + } else { + particleList.push(origNameValue.slice(0,m1.length)); + origNameValue = origNameValue.slice(m1.length); + } + nameValue = m[2]; + m = nameValue.match(rex); + } + if (firstNameFlag) { + nameValue = nameValue.split("").reverse().join(""); + particleList.reverse(); + for (var i=1,ilen=particleList.length;i<ilen;i++) { + if (particleList[i].slice(0, 1) == " ") { + particleList[i-1] += " "; + } + } + for (var i=0,ilen=particleList.length;i<ilen;i++) { + if (particleList[i].slice(0, 1) == " ") { + particleList[i] = particleList[i].slice(1); + } + } + nameValue = origNameValue.slice(0, nameValue.length); + } else { + nameValue = origNameValue.slice(nameValue.length * -1); + } + return [hasParticle, nameValue, particleList]; + } + function trimLast(str) { + var lastChar = str.slice(-1); + str = str.trim(); + if (lastChar === " " && ["\'", "\u2019"].indexOf(str.slice(-1)) > -1) { + str += " "; } + return str; } - composeRegularExpressions(); - function matchRegularExpressions (name) { - var m = REX.family.exec(name.family); - var result = { - family: {match:null, str:null}, - given: {match:null, str:null} - } - if (m) { - result.family.match = m[2] ? m[1] : m[3] ? m[1].slice(0,-m[3].length) : m[1]; - result.family.str = (m[2] ? m[1].slice(0,-m[2].length) : m[3] ? m[1].slice(0,-m[3].length) : m[1]); - if (REX.given.partial[result.family.str.toLowerCase()]) { - var m = REX.given.partial[result.family.str.toLowerCase()].exec(name.given); - if (m) { - result.given.match = m[2] ? m[1] + m[2] : m[2]; - result.given.str = m[2]; - } - } - } else { - var m = REX.given.full_comma.exec(name.given); - if (!m) m = REX.given.full_lower.exec(name.given); + function parseSuffix(nameObj) { + if (!nameObj.suffix && nameObj.given) { + m = nameObj.given.match(/(\s*,!*\s*)/); if (m) { - result.given.match = m[1] ? m[1] + m[2] : m[2]; - result.given.str = m[2]; - } - } - return result; - } - function apostropheNormalizer(name, reverse) { - var params = ["\u2019", "\'"] - if (reverse) params.reverse(); - if (name.family) { - name.family = name.family.replace(params[0], params[1]) - } - if (name.given) { - name.given = name.given.replace(params[0], params[1]) - } - } - return function (name, normalizeApostrophe) { - if (normalizeApostrophe) { - apostropheNormalizer(name); - } - var result = matchRegularExpressions(name); - var particles = []; - if (result.given.match) { - name.given = name.given.slice(0,-result.given.match.length); - particles.push(result.given.str); - } - if (result.family.match) { - name.family = name.family.slice(result.family.match.length); - particles.push(result.family.str); - } - particles = particles.join(" ").split(" "); - if (particles.length) { - var key = particles.join(" "); - var pInfo = CATEGORIZER[key.toLowerCase()]; - if (pInfo) { - for (var i=pInfo.length-1;i>-1;i--) { - var pSet = pInfo[i]; - if (!result.family.str) result.family.str = ""; - if (!result.given.str) result.given.str = ""; - if (result.given.str === pSet.strings[0] && result.family.str === pSet.strings[1]) { - break; - } - } - if (pSet.positions[0] !== null) { - name["dropping-particle"] = particles.slice(pSet.positions[0][0], pSet.positions[0][1]).join(" "); - } - if (pSet.positions[1] !== null) { - name["non-dropping-particle"] = particles.slice(pSet.positions[1][0], pSet.positions[1][1]).join(" "); - } - } - } - if (normalizeApostrophe) { - apostropheNormalizer(name, true); + idx = nameObj.given.indexOf(m[1]); + var possible_suffix = nameObj.given.slice(idx + m[1].length); + var possible_comma = nameObj.given.slice(idx, idx + m[1].length).replace(/\s*/g, ""); + if (possible_suffix.replace(/\./g, "") === 'et al' && !nameObj["dropping-particle"]) { + nameObj["dropping-particle"] = possible_suffix; + nameObj["comma-dropping-particle"] = ","; + } else { + if (possible_comma.length === 2) { + nameObj["comma-suffix"] = true; + } + nameObj.suffix = possible_suffix; + } + nameObj.given = nameObj.given.slice(0, idx); + } + } + } + return function(nameObj) { + var res = splitParticles(nameObj.family); + var hasLastParticle = res[0]; + var lastNameValue = res[1]; + var lastParticleList = res[2]; + nameObj.family = lastNameValue; + var nonDroppingParticle = trimLast(lastParticleList.join("")); + if (nonDroppingParticle) { + nameObj['non-dropping-particle'] = nonDroppingParticle; + } + parseSuffix(nameObj); + var res = splitParticles(nameObj.given, true); + var hasFirstParticle = res[0]; + var firstNameValue = res[1]; + var firstParticleList = res[2]; + nameObj.given = firstNameValue; + var droppingParticle = firstParticleList.join("").trim(); + if (droppingParticle) { + nameObj['dropping-particle'] = droppingParticle; } } }(); diff --git a/chrome/content/zotero/xpcom/collectionTreeView.js b/chrome/content/zotero/xpcom/collectionTreeView.js @@ -578,19 +578,42 @@ Zotero.CollectionTreeView.prototype.setHighlightedRows = Zotero.Promise.coroutin this._highlightedRows = {}; this._treebox.invalidate(); - if (!ids) return; + if (!ids || !ids.length) { + return; + } + + // Make sure all highlighted collections are shown for (let id of ids) { - var row = null; if (id[0] == 'C') { id = id.substr(1); yield this.expandToCollection(id); - row = this._rowMap["C" + id]; } - if (row) { - this._highlightedRows[row] = true; - this._treebox.invalidateRow(row); + } + + // Highlight rows + var rows = []; + for (let id of ids) { + let row = this._rowMap[id]; + this._highlightedRows[row] = true; + this._treebox.invalidateRow(row); + rows.push(row); + } + rows.sort(); + var firstRow = this._treebox.getFirstVisibleRow(); + var lastRow = this._treebox.getLastVisibleRow(); + var scrolled = false; + for (let row of rows) { + // If row is visible, stop + if (row >= firstRow && row <= lastRow) { + scrolled = true; + break; } } + // Select first collection + // TODO: Select closest? Select a few rows above or below? + if (!scrolled) { + this._treebox.ensureRowIsVisible(rows[0]); + } }); diff --git a/chrome/content/zotero/xpcom/connector/translate_item.js b/chrome/content/zotero/xpcom/connector/translate_item.js @@ -174,13 +174,14 @@ Zotero.Translate.ItemSaver.prototype = { * attachmentCallback() will be called with all attachments that will be saved */ "_saveToServer":function(items, callback, attachmentCallback) { - var newItems = [], typedArraysSupported = false; + var newItems = [], itemIndices = [], typedArraysSupported = false; try { typedArraysSupported = !!(new Uint8Array(1) && new Blob()); } catch(e) {} for(var i=0, n=items.length; i<n; i++) { var item = items[i]; + itemIndices[i] = newItems.length; newItems = newItems.concat(Zotero.Utilities.itemToServerJSON(item)); if(typedArraysSupported) { for(var j=0; j<item.attachments.length; j++) { @@ -214,9 +215,8 @@ Zotero.Translate.ItemSaver.prototype = { function(prefs) { if(typedArraysSupported) { - Zotero.debug(response); - for(var i in resp.success) { - var item = items[i], key = resp.success[i]; + for(var i=0; i<items.length; i++) { + var item = items[i], key = resp.success[itemIndices[i]]; if(item.attachments && item.attachments.length) { me._saveAttachmentsToServer(key, me._getFileBaseNameFromItem(item), item.attachments, prefs, attachmentCallback); @@ -468,10 +468,13 @@ Zotero.Translate.ItemSaver.prototype = { doc = (new DOMParser()).parseFromString(result, "text/html"); } catch(e) {} - // If DOMParser fails, use document.implementation.createHTMLDocument + // If DOMParser fails, use document.implementation.createHTMLDocument, + // as documented at https://developer.mozilla.org/en-US/docs/Web/API/DOMParser if(!doc) { doc = document.implementation.createHTMLDocument(""); var docEl = doc.documentElement; + // AMO reviewer: This code is not run in Firefox, and the document + // is never rendered anyway docEl.innerHTML = result; if(docEl.children.length === 1 && docEl.firstElementChild === "html") { doc.replaceChild(docEl.firstElementChild, docEl); diff --git a/chrome/content/zotero/xpcom/data/tags.js b/chrome/content/zotero/xpcom/data/tags.js @@ -693,9 +693,6 @@ Zotero.Tags = new function() { let ios = Components.classes['@mozilla.org/network/io-service;1'] .getService(Components.interfaces["nsIIOService"]); let uri = ios.newURI(extraImage, null, null); - uri = Components.classes['@mozilla.org/chrome/chrome-registry;1'] - .getService(Components.interfaces["nsIChromeRegistry"]) - .convertChromeURL(uri); var img = new win.Image(); img.src = uri.spec; diff --git a/chrome/content/zotero/xpcom/date.js b/chrome/content/zotero/xpcom/date.js @@ -344,6 +344,8 @@ Zotero.Date = new function(){ } if(date.month) date.month--; // subtract one for JS style + else delete date.month; + Zotero.debug("DATE: retrieved with algorithms: "+JSON.stringify(date)); parts.push( @@ -383,7 +385,7 @@ Zotero.Date = new function(){ } // MONTH - if(!date.month) { + if(date.month === undefined) { // compile month regular expression var months = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec']; diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js @@ -1042,7 +1042,7 @@ Zotero.Integration.Document.prototype.addCitation = function() { return (new Zotero.Integration.Fields(me._session, me._doc)).addEditCitation(null); }); } - + /** * Edits the citation at the cursor position. * @return {Promise} @@ -1050,7 +1050,7 @@ Zotero.Integration.Document.prototype.addCitation = function() { Zotero.Integration.Document.prototype.editCitation = function() { var me = this; return this._getSession(true, false).then(function() { - var field = me._doc.cursorInField(me._session.data.prefs['fieldType']) + var field = me._doc.cursorInField(me._session.data.prefs['fieldType']); if(!field) { throw new Zotero.Exception.Alert("integration.error.notInCitation", [], "integration.error.title"); @@ -1061,6 +1061,18 @@ Zotero.Integration.Document.prototype.editCitation = function() { } /** + * Edits the citation at the cursor position if one exists, or else adds a new one. + * @return {Promise} + */ +Zotero.Integration.Document.prototype.addEditCitation = function() { + var me = this; + return this._getSession(false, false).then(function() { + var field = me._doc.cursorInField(me._session.data.prefs['fieldType']); + return (new Zotero.Integration.Fields(me._session, me._doc)).addEditCitation(field); + }); +} + +/** * Adds a bibliography to the current document. * @return {Promise} */ @@ -1584,6 +1596,10 @@ Zotero.Integration.Fields.prototype._updateDocument = function(forceCitations, f var plainCitation = field.getText(); if(plainCitation !== citation.properties.plainCitation) { // Citation manually modified; ask user if they want to save changes + Zotero.debug("[_updateDocument] Attempting to update manually modified citation.\n" + + "Original: " + citation.properties.plainCitation + "\n" + + "Current: " + plainCitation + ); field.select(); var result = this._doc.displayAlert( Zotero.getString("integration.citationChanged")+"\n\n"+Zotero.getString("integration.citationChanged.description"), @@ -1726,6 +1742,11 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field) { || (citation.properties.plainCitation && field.getText() !== citation.properties.plainCitation)) { this._doc.activate(); + Zotero.debug("[addEditCitation] Attempting to update manually modified citation.\n" + + "citation.properties.dontUpdate: " + citation.properties.dontUpdate + "\n" + + "Original: " + citation.properties.plainCitation + "\n" + + "Current: " + field.getText() + ); if(!this._doc.displayAlert(Zotero.getString("integration.citationChanged.edit"), Components.interfaces.zoteroIntegrationDocument.DIALOG_ICON_WARNING, Components.interfaces.zoteroIntegrationDocument.DIALOG_BUTTONS_OK_CANCEL)) { @@ -1759,7 +1780,7 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field) { io); } else { var mode = (!Zotero.isMac && Zotero.Prefs.get('integration.keepAddCitationDialogRaised') - ? 'popup' : 'alwaysRaised') + ? 'popup' : 'alwaysRaised')+',resizable=false'; Zotero.Integration.displayDialog(me._doc, 'chrome://zotero/content/integration/quickFormat.xul', mode, io); } diff --git a/chrome/content/zotero/xpcom/itemTreeView.js b/chrome/content/zotero/xpcom/itemTreeView.js @@ -2416,7 +2416,7 @@ Zotero.ItemTreeCommandController.prototype.onEvent = function(evt) Zotero.ItemTreeView.prototype.onDragStart = function (event) { // See note in LibraryTreeView::_setDropEffect() if (Zotero.isWin) { - event.dataTransfer.effectAllowed = 'copy'; + event.dataTransfer.effectAllowed = 'copyMove'; } var itemIDs = this.getSelectedItems(true); diff --git a/chrome/content/zotero/xpcom/quickCopy.js b/chrome/content/zotero/xpcom/quickCopy.js @@ -249,6 +249,8 @@ Zotero.QuickCopy = new function() { for (var i=0; i<notes.length; i++) { var div = doc.createElement("div"); div.className = "zotero-note"; + // AMO reviewer: This documented is never rendered (and the inserted markup + // is sanitized anyway) div.insertAdjacentHTML('afterbegin', notes[i].getNote()); container.appendChild(div); textContainer.appendChild(textDoc.importNode(div, true)); diff --git a/chrome/content/zotero/xpcom/storage/webdav.js b/chrome/content/zotero/xpcom/storage/webdav.js @@ -37,7 +37,7 @@ Zotero.Sync.Storage.WebDAV_Module.prototype = { _cachedCredentials: false, _loginManagerHost: 'chrome://zotero', - _loginManagerURL: 'Zotero Storage Server', + _loginManagerRealm: 'Zotero Storage Server', _lastSyncIDLength: 30, @@ -65,8 +65,8 @@ Zotero.Sync.Storage.WebDAV_Module.prototype = { Zotero.debug('Getting WebDAV password'); var loginManager = Components.classes["@mozilla.org/login-manager;1"] .getService(Components.interfaces.nsILoginManager); - var logins = loginManager.findLogins({}, this._loginManagerHost, this._loginManagerURL, null); + var logins = loginManager.findLogins({}, _loginManagerHost, null, _loginManagerRealm); // Find user from returned array of nsILoginInfo objects for (var i = 0; i < logins.length; i++) { if (logins[i].username == username) { @@ -74,6 +74,15 @@ Zotero.Sync.Storage.WebDAV_Module.prototype = { } } + // Pre-4.0.28.5 format, broken for findLogins and removeLogin in Fx41 + logins = loginManager.findLogins({}, "chrome://zotero", "", null); + for (var i = 0; i < logins.length; i++) { + if (logins[i].username == username + && logins[i].formSubmitURL == "Zotero Storage Server") { + return logins[i].password; + } + } + return ''; }, @@ -88,20 +97,36 @@ Zotero.Sync.Storage.WebDAV_Module.prototype = { var loginManager = Components.classes["@mozilla.org/login-manager;1"] .getService(Components.interfaces.nsILoginManager); - var logins = loginManager.findLogins({}, this._loginManagerHost, this._loginManagerURL, null); - + var logins = loginManager.findLogins({}, _loginManagerHost, null, _loginManagerRealm); for (var i = 0; i < logins.length; i++) { Zotero.debug('Clearing WebDAV passwords'); - loginManager.removeLogin(logins[i]); + if (logins[i].httpRealm == _loginManagerRealm) { + loginManager.removeLogin(logins[i]); + } + break; + } + + // Pre-4.0.28.5 format, broken for findLogins and removeLogin in Fx41 + logins = loginManager.findLogins({}, _loginManagerHost, "", null); + for (var i = 0; i < logins.length; i++) { + Zotero.debug('Clearing old WebDAV passwords'); + if (logins[i].formSubmitURL == "Zotero Storage Server") { + try { + loginManager.removeLogin(logins[i]); + } + catch (e) { + Zotero.logError(e); + } + } break; } if (password) { - Zotero.debug(this._loginManagerURL); + Zotero.debug('Setting WebDAV password'); var nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1", Components.interfaces.nsILoginInfo, "init"); - var loginInfo = new nsLoginInfo(this._loginManagerHost, this._loginManagerURL, - null, username, password, "", ""); + var loginInfo = new nsLoginInfo(_loginManagerHost, null, + _loginManagerRealm, username, password, "", ""); loginManager.addLogin(loginInfo); } }, diff --git a/chrome/content/zotero/xpcom/style.js b/chrome/content/zotero/xpcom/style.js @@ -691,12 +691,17 @@ Zotero.Style.prototype.getCiteProc = function(locale, automaticJournalAbbreviati } try { - return new Zotero.CiteProc.CSL.Engine( + var citeproc = new Zotero.CiteProc.CSL.Engine( new Zotero.Cite.System(automaticJournalAbbreviations), xml, locale, overrideLocale ); + + // Don't try to parse author names. We parse them in itemToCSLJSON + citeproc.opt.development_extensions.parse_names = false; + + return citeproc; } catch(e) { Zotero.logError(e); throw e; diff --git a/chrome/content/zotero/xpcom/sync/syncLocal.js b/chrome/content/zotero/xpcom/sync/syncLocal.js @@ -93,16 +93,36 @@ Zotero.Sync.Data.Local = { getLegacyPassword: function (username) { + var loginManagerHost = 'chrome://zotero'; + var loginManagerRealm = 'Zotero Sync Server'; + + Zotero.debug('Getting Zotero sync password'); + var loginManager = Components.classes["@mozilla.org/login-manager;1"] .getService(Components.interfaces.nsILoginManager); - var logins = loginManager.findLogins({}, "chrome://zotero", "Zotero Storage Server", null); + try { + var logins = loginManager.findLogins({}, loginManagerHost, null, loginManagerRealm); + } + catch (e) { + return ''; + } + // Find user from returned array of nsILoginInfo objects - for (let login of logins) { - if (login.username == username) { - return login.password; + for (let i = 0; i < logins.length; i++) { + if (logins[i].username == username) { + return logins[i].password; } } - return false; + + // Pre-4.0.28.5 format, broken for findLogins and removeLogin in Fx41, + var logins = loginManager.findLogins({}, loginManagerHost, "", null); + for (let i = 0; i < logins.length; i++) { + if (logins[i].username == username + && logins[i].formSubmitURL == "Zotero Sync Server") { + return logins[i].password; + } + } + return ''; }, diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js @@ -470,7 +470,7 @@ Zotero.Translate.Sandbox = { */ "selectItems":function(translate, items, callback) { function transferObject(obj) { - return Zotero.isFx ? translate._sandboxManager.copyObject(obj) : obj; + return Zotero.isFx && !Zotero.isBookmarklet ? translate._sandboxManager.copyObject(obj) : obj; } if(Zotero.Utilities.isEmpty(items)) { @@ -519,6 +519,10 @@ Zotero.Translate.Sandbox = { }; } + if(Zotero.isFx && !Zotero.isBookmarklet) { + items = Components.utils.cloneInto(items, {}); + } + var returnValue = translate._runHandler("select", items, newCallback); if(returnValue !== undefined) { // handler may have returned a value, which makes callback unnecessary diff --git a/chrome/content/zotero/xpcom/utilities.js b/chrome/content/zotero/xpcom/utilities.js @@ -99,6 +99,7 @@ const CSL_DATE_MAPPINGS = { /* * Mappings for types + * Also see itemFromCSLJSON */ const CSL_TYPE_MAPPINGS = { 'book':"book", @@ -1659,7 +1660,25 @@ Zotero.Utilities = { var nameObj; if (creator.lastName || creator.firstName) { - nameObj = {'family': creator.lastName, 'given': creator.firstName}; + nameObj = { + family: creator.lastName || '', + given: creator.firstName || '' + }; + + // Parse name particles + // Replicate citeproc-js logic for what should be parsed so we don't + // break current behavior. + if (nameObj.family && nameObj.given) { + // Don't parse if last name is quoted + if (nameObj.family.length > 1 + && nameObj.family.charAt(0) == '"' + && nameObj.family.charAt(nameObj.family.length - 1) == '"' + ) { + nameObj.family = nameObj.family.substr(1, nameObj.family.length - 2); + } else { + Zotero.CiteProc.CSL.parseParticles(nameObj, true); + } + } } else if (creator.name) { nameObj = {'literal': creator.name}; } @@ -1698,7 +1717,7 @@ Zotero.Utilities = { cslItem[variable] = {"date-parts":[dateParts]}; // if no month, use season as month - if(dateObj.part && !dateObj.month) { + if(dateObj.part && dateObj.month === undefined) { cslItem[variable].season = dateObj.part; } } else { @@ -1732,14 +1751,44 @@ Zotero.Utilities = { * @param {Object} cslItem */ "itemFromCSLJSON":function(item, cslItem) { - var isZoteroItem = item instanceof Zotero.Item, zoteroType; - - for(var type in CSL_TYPE_MAPPINGS) { - if(CSL_TYPE_MAPPINGS[type] == cslItem.type) { - zoteroType = type; - break; + var isZoteroItem = item instanceof Zotero.Item, + zoteroType; + + // Some special cases to help us map item types correctly + // This ensures that we don't lose data on import. The fields + // we check are incompatible with the alternative item types + if (cslItem.type == 'book') { + zoteroType = 'book'; + if (cslItem.version) { + zoteroType = 'computerProgram'; + } + } else if (cslItem.type == 'bill') { + zoteroType = 'bill'; + if (cslItem.publisher || cslItem['number-of-volumes']) { + zoteroType = 'hearing'; + } + } else if (cslItem.type == 'song') { + zoteroType = 'audioRecording'; + if (cslItem.number) { + zoteroType = 'podcast'; + } + } else if (cslItem.type == 'motion_picture') { + zoteroType = 'film'; + if (cslItem['collection-title'] || cslItem['publisher-place'] + || cslItem['event-place'] || cslItem.volume + || cslItem['number-of-volumes'] || cslItem.ISBN + ) { + zoteroType = 'videoRecording'; + } + } else { + for(var type in CSL_TYPE_MAPPINGS) { + if(CSL_TYPE_MAPPINGS[type] == cslItem.type) { + zoteroType = type; + break; + } } } + if(!zoteroType) zoteroType = "document"; var itemTypeID = Zotero.ItemTypes.getID(zoteroType); @@ -1754,9 +1803,14 @@ Zotero.Utilities = { for(var variable in CSL_TEXT_MAPPINGS) { if(variable in cslItem) { var textMappings = CSL_TEXT_MAPPINGS[variable]; - for(var i in textMappings) { - var field = textMappings[i], - fieldID = Zotero.ItemFields.getID(field); + for(var i=0; i<textMappings.length; i++) { + var field = textMappings[i]; + + // Until 5.0, use version instead of versionNumber + if (field == 'versionNumber') field = 'version'; + + var fieldID = Zotero.ItemFields.getID(field); + if(Zotero.ItemFields.isBaseField(fieldID)) { var newFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID); if(newFieldID) fieldID = newFieldID; @@ -1764,10 +1818,12 @@ Zotero.Utilities = { if(Zotero.ItemFields.isValidForType(fieldID, itemTypeID)) { if(isZoteroItem) { - item.setField(fieldID, cslItem[variable], true); + item.setField(fieldID, cslItem[variable]); } else { item[field] = cslItem[variable]; } + + break; } } } diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js @@ -78,6 +78,13 @@ var ZoteroPane = new function() function init() { Zotero.debug("Initializing Zotero pane"); + // Fix window without menubar/titlebar when Standalone is closed in full-screen mode + // in OS X 10.11 + if (Zotero.isMac && Zotero.isStandalone + && window.document.documentElement.getAttribute('sizemode') == 'fullscreen') { + window.document.documentElement.setAttribute('sizemode', 'normal'); + } + // Set "Report Errors..." label via property rather than DTD entity, // since we need to reference it in script elsewhere document.getElementById('zotero-tb-actions-reportErrors').setAttribute('label', @@ -2065,6 +2072,9 @@ var ZoteroPane = new function() this.itemsView.addEventListener('load', () => deferred.resolve()); yield deferred.promise; + // Focus the items column before selecting the item. + document.getElementById('zotero-items-tree').focus(); + var selected = yield this.itemsView.selectItem(itemID, expand); if (!selected) { if (item.deleted) { @@ -3384,7 +3394,7 @@ var ZoteroPane = new function() // // - if (!this.canEditFiles(row)) { + if (row && !this.canEditFiles(row)) { this.displayCannotEditLibraryFilesMessage(); return; } diff --git a/chrome/content/zotero/zoteroPane.xul b/chrome/content/zotero/zoteroPane.xul @@ -518,7 +518,8 @@ class="treecol-image" label="&zotero.tabs.attachments.label;" src="chrome://zotero/skin/attach-small.png" - zotero-persist="width ordinal hidden sortActive sortDirection"/> + fixed="true" + zotero-persist="ordinal hidden sortActive sortDirection"/> <splitter class="tree-splitter"/> <treecol id="zotero-items-column-numNotes" hidden="true" diff --git a/chrome/locale/af-ZA/zotero/csledit.dtd b/chrome/locale/af-ZA/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/af-ZA/zotero/zotero.properties b/chrome/locale/af-ZA/zotero/zotero.properties @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/ar/zotero/csledit.dtd b/chrome/locale/ar/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/ar/zotero/zotero.properties b/chrome/locale/ar/zotero/zotero.properties @@ -801,9 +801,9 @@ 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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/bg-BG/zotero/csledit.dtd b/chrome/locale/bg-BG/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/bg-BG/zotero/zotero.properties b/chrome/locale/bg-BG/zotero/zotero.properties @@ -801,9 +801,9 @@ 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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/ca-AD/zotero/csledit.dtd b/chrome/locale/ca-AD/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/ca-AD/zotero/zotero.properties b/chrome/locale/ca-AD/zotero/zotero.properties @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero també permet especificar editors i traductors. Pots convertir un autor en un editor o traductor mitjançant la selecció d'aquest menú. firstRunGuidance.quickFormat=Escriu un títol o autor per cercar una referència.\n\nDesprés que hagis fet la teva selecció, fes clic a la bombolla o prem Ctrl-\u2193 per afegir números de pàgina, prefixos o sufixos. També pots incloure un número de pàgina juntament amb els teus termes de cerca per afegir-lo directament.\n\nLes cites es poden editar directament en el document del processador de textos. firstRunGuidance.quickFormatMac=Escriu un títol o autor per cercar una referència.\n\nDesprés que hagis fet la teva selecció, fes clic a la bombolla o prem Cmd-\u2193 per afegir números de pàgina, prefixos o sufixos. També pots incloure un número de pàgina juntament amb els teus termes de cerca per afegir-lo directament.\n\nLes cites es poden editar directament en el document del processador de textos. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/cs-CZ/zotero/csledit.dtd b/chrome/locale/cs-CZ/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/cs-CZ/zotero/zotero.properties b/chrome/locale/cs-CZ/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Synchronizační server Zotera nerozpoznal vaše u 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=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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Synchronizace už probíhá. sync.error.syncInProgress.wait=Počkejte, dokud předchozí synchronizace neskončí, nebo restartujte Firefox. 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. diff --git a/chrome/locale/da-DK/zotero/csledit.dtd b/chrome/locale/da-DK/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Zotero formatredigering"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Henvisningsplacering:"> diff --git a/chrome/locale/da-DK/zotero/cslpreview.dtd b/chrome/locale/da-DK/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Zotero forhåndsvisning af format"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> +<!ENTITY styles.preview.citationFormat "Henvisningsformat:"> +<!ENTITY styles.preview.citationFormat.all "alle"> +<!ENTITY styles.preview.citationFormat.author "forfatter"> +<!ENTITY styles.preview.citationFormat.authorDate "forfatter-dato"> +<!ENTITY styles.preview.citationFormat.label "mærkat"> <!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat.numeric "numerisk"> diff --git a/chrome/locale/da-DK/zotero/preferences.dtd b/chrome/locale/da-DK/zotero/preferences.dtd @@ -95,7 +95,7 @@ <!ENTITY zotero.preferences.prefpane.export "Eksport"> -<!ENTITY zotero.preferences.citationOptions.caption "Valgmuligheder for hensvisninger"> +<!ENTITY zotero.preferences.citationOptions.caption "Valgmuligheder for henvisninger"> <!ENTITY zotero.preferences.export.citePaperJournalArticleURL "Medtag URL'er for trykte artikler i referencer"> <!ENTITY zotero.preferences.export.citePaperJournalArticleURL.description "Når denne mulighed er valgt fra, medtager Zotero kun URL'er for artikler i tidsskrifter, blade og aviser hvis der ikke er anført sidetal (første og sidste side)."> @@ -107,7 +107,7 @@ <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domæne/Sti"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(dvs. wikipedia.org)"> <!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Output-format"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Sprog"> <!ENTITY zotero.preferences.quickCopy.dragLimit "Slå Quick Copy fra hvis du trækker mere end"> <!ENTITY zotero.preferences.prefpane.cite "Henvis"> @@ -145,7 +145,7 @@ <!ENTITY zotero.preferences.proxies.desc_after_link "for nærmere oplysninger."> <!ENTITY zotero.preferences.proxies.transparent "Send forespørgsler gennem tidligere anvendte proxyer"> <!ENTITY zotero.preferences.proxies.autoRecognize "Anerkend automatisk ressourcer i proxyer"> -<!ENTITY zotero.preferences.proxies.showRedirectNotification "Show notification when redirecting through a proxy"> +<!ENTITY zotero.preferences.proxies.showRedirectNotification "Giv besked, når der omdirigeres gennem en proxy"> <!ENTITY zotero.preferences.proxies.disableByDomain "Slå automatisk brug af proxyer fra når domænenavnet indeholder "> <!ENTITY zotero.preferences.proxies.configured "Konfigurerede proxyer"> <!ENTITY zotero.preferences.proxies.hostname "Værtsnavn"> @@ -162,7 +162,7 @@ <!ENTITY zotero.preferences.prefpane.advanced "Avanceret"> <!ENTITY zotero.preferences.advanced.filesAndFolders "Filer og mapper"> -<!ENTITY zotero.preferences.advanced.keys "Shortcuts"> +<!ENTITY zotero.preferences.advanced.keys "Genvejstaster"> <!ENTITY zotero.preferences.prefpane.locate "Lokaliser"> <!ENTITY zotero.preferences.locate.locateEngineManager "Håndtering af søgemaskiner for artikler"> diff --git a/chrome/locale/da-DK/zotero/zotero.dtd b/chrome/locale/da-DK/zotero/zotero.dtd @@ -126,8 +126,8 @@ <!ENTITY zotero.item.textTransform.titlecase "Betydende ord med stort "> <!ENTITY zotero.item.textTransform.sentencecase "Første bogstav med stort"> <!ENTITY zotero.item.creatorTransform.nameSwap "Ombyt fornavn/efternavn"> -<!ENTITY zotero.item.viewOnline "View Online"> -<!ENTITY zotero.item.copyAsURL "Copy as URL"> +<!ENTITY zotero.item.viewOnline "Vis online"> +<!ENTITY zotero.item.copyAsURL "Kopiér som URL"> <!ENTITY zotero.toolbar.newNote "Ny note"> <!ENTITY zotero.toolbar.note.standalone "Ny selvstændig note"> @@ -165,7 +165,7 @@ <!ENTITY zotero.bibliography.title "Opret bibliografien"> <!ENTITY zotero.bibliography.style.label "Reference-stil:"> -<!ENTITY zotero.bibliography.locale.label "Language:"> +<!ENTITY zotero.bibliography.locale.label "Sprog:"> <!ENTITY zotero.bibliography.outputMode "Outputtilstand:"> <!ENTITY zotero.bibliography.bibliography "Litteraturliste"> <!ENTITY zotero.bibliography.outputMethod "Outputmetode:"> diff --git a/chrome/locale/da-DK/zotero/zotero.properties b/chrome/locale/da-DK/zotero/zotero.properties @@ -42,7 +42,7 @@ general.create=Opret general.delete=Slet general.moreInformation=Mere information general.seeForMoreInformation=Se %S for nærmere oplysninger. -general.open=Open %S +general.open=Åbn %S general.enable=Slå til general.disable=Slå fra general.remove=Fjern @@ -55,7 +55,7 @@ general.numMore=%S mere... general.openPreferences=Åbn indstillinger general.keys.ctrlShift=Ctrl+Skift+ general.keys.cmdShift=Cmd+Skift+ -general.dontShowAgain=Don’t Show Again +general.dontShowAgain=Vis ikke igen general.operationInProgress=En handling i Zotero er ved at blive udført. general.operationInProgress.waitUntilFinished=Vent venligst til den er færdig. @@ -205,11 +205,11 @@ pane.items.trash.multiple=Er du sikker på, du vil lægge disse elementer i papi pane.items.delete.title=Slet pane.items.delete=Er du sikker på, du vil slette dette element? pane.items.delete.multiple=Er du sikker på, du vil slette disse elementer? -pane.items.remove.title=Remove from Collection -pane.items.remove=Are you sure you want to remove the selected item from this collection? -pane.items.remove.multiple=Are you sure you want to remove the selected items from this collection? -pane.items.menu.remove=Remove Item from Collection… -pane.items.menu.remove.multiple=Remove Items from Collection… +pane.items.remove.title=Fjern fra samling +pane.items.remove=Er du sikker på, du vil slette det valgte element fra denne samling? +pane.items.remove.multiple=Er du sikker på, du vil slette de valgte elementer fra denne samling? +pane.items.menu.remove=Fjern element fra samling... +pane.items.menu.remove.multiple=Fjern elementer fra samling... pane.items.menu.moveToTrash=Flyt element til papirkurven... pane.items.menu.moveToTrash.multiple=Flyt elementer til papirkurven... pane.items.menu.export=Eksportér dette element... @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Du kan ikke tilføje filer til den valgte ingester.saveToZotero=Gem i Zotoro ingester.saveToZoteroUsing=Gem i Zotero med brug af "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Gem i Zotero som webside (med øjebliksbillede) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Gem i Zotero som webside (uden øjebliksbillede) ingester.scraping=Gemmer element... ingester.scrapingTo=Gemmer i ingester.scrapeComplete=Elementet er gemt @@ -569,15 +569,15 @@ zotero.preferences.export.quickCopy.exportFormats=Eksport-formater zotero.preferences.export.quickCopy.instructions=Med hurtigkopiering kan du kopiere valgte elementer til udklipsholderen ved at trykke %S eller til en tekstboks på en hjemmeside ved at trække dem derhen. zotero.preferences.export.quickCopy.citationInstructions=I bibliografiske formater kan du kopiere henvisninger og fodnoter ved at trykke %S eller holde Skift nede, før du trækker elementer. -zotero.preferences.wordProcessors.installationSuccess=Installation was successful. -zotero.preferences.wordProcessors.installationError=Installation could not be completed because an error occurred. Please ensure that %1$S is closed, and then restart %2$S. -zotero.preferences.wordProcessors.installed=The %S add-in is currently installed. -zotero.preferences.wordProcessors.notInstalled=The %S add-in is not currently installed. -zotero.preferences.wordProcessors.install=Install %S Add-in -zotero.preferences.wordProcessors.reinstall=Reinstall %S Add-in -zotero.preferences.wordProcessors.installing=Installing %S… -zotero.preferences.wordProcessors.incompatibleVersions1=%1$S %2$S is incompatible with versions of %3$S before %4$S. Please remove %3$S, or download the latest version from %5$S. -zotero.preferences.wordProcessors.incompatibleVersions2=%1$S %2$S requires %3$S %4$S or later to run. Please download the latest version of %3$S from %5$S. +zotero.preferences.wordProcessors.installationSuccess=Installationen gennemført. +zotero.preferences.wordProcessors.installationError=Installationen kunne ikke gennemføres, fordi der opstod en fejl. Sikr dig venligst, at %1$S er lukket og genstart %2$S. +zotero.preferences.wordProcessors.installed=Tilføjelsen %S er i øjeblikket installeret. +zotero.preferences.wordProcessors.notInstalled=Tilføjelsen %S er for øjeblikket ikke installeret. +zotero.preferences.wordProcessors.install=Installér tilføjelsen %S +zotero.preferences.wordProcessors.reinstall=Geninstallér tilføjelsen %S +zotero.preferences.wordProcessors.installing=Installerer %S... +zotero.preferences.wordProcessors.incompatibleVersions1=%1$S %2$S er ikke kompatibel med versioner af %3$S før %4$S. Fjern venligst %3$S, eller hent den seneste version fra %5$S. +zotero.preferences.wordProcessors.incompatibleVersions2=%1$S %2$S kræver %3$S %4$S eller senere for at køre. Hent venligst den seneste version af %3$S fra %5$S. zotero.preferences.styles.addStyle=Tilføj nyt bibliografisk format @@ -680,22 +680,22 @@ citation.showEditor=Vis redaktør... citation.hideEditor=Skjul redaktør... citation.citations=Henvisninger citation.notes=Noter -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure +citation.locator.page=Side +citation.locator.book=Bog +citation.locator.chapter=Kapitel +citation.locator.column=Kolonne +citation.locator.figure=Figur citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line +citation.locator.issue=Nummer +citation.locator.line=Linje citation.locator.note=Note -citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section -citation.locator.subverbo=Sub verbo -citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.opus=Værk +citation.locator.paragraph=Afsnit +citation.locator.part=Del +citation.locator.section=Afsnit +citation.locator.subverbo=Under ordet +citation.locator.volume=Bind +citation.locator.verse=Vers report.title.default=Zotero-rapport report.parentItem=Overordnet element: @@ -757,7 +757,7 @@ integration.missingItem.multiple=Elementet %1$S i denne henvisning findes ikke l integration.missingItem.description=Hvis du trykker "Nej", vil feltkoderne for henvisninger, der indeholder dette element, blive slettet. Henvisningsteksten vil blive bevaret, men slettes i referencelisten. integration.removeCodesWarning=Fjernes feltkoderne vil det forhindre Zotero i at opdatere henvisninger og referencelister i dette dokument. Vil du fortsætte? integration.upgradeWarning=Dit dokument skal opgraderes permanent for at virke med Zotero 2.1 og senere. Det anbefales, at du laver en sikkerhedskopi, inden du fortsætter. Vil du fortsætte? -integration.error.newerDocumentVersion=Your document was created with a newer version of Zotero (%1$S) than the currently installed version (%2$S). Please upgrade Zotero before editing this document. +integration.error.newerDocumentVersion=Dit dokument blev oprettet med en nyere version af Zotero (%1$S) end den nuværende installerede version (%2$S). Opgradér venligst Zotero, inden du redigerer dette dokument. integration.corruptField=Zotero-feltkoden svarende til denne henvisning, som fortæller Zotero, hvilket element i din samling denne henvisning repræsenterer, er ødelagt. Ønsker du at vælge elementet igen? integration.corruptField.description=Hvis du trykker "Nej", vil feltkoderne for henvisninger, der indeholder dette element, blive slettet. Henvisningsteksten vil blive bevaret, men slettes muligvis i referencelisten. integration.corruptBibliography=Zotero-feltkoden for din referenceliste er ødelagt. Skal Zotero slette denne feltkode og oprette en ny referenceliste? @@ -789,8 +789,8 @@ sync.removeGroupsAndSync=Fjern grupper og synkronisering sync.localObject=Lokalt objekt sync.remoteObject=Eksternt objekt sync.mergedObject=Sammenflettet objekt -sync.merge.resolveAllLocal=Use the local version for all remaining conflicts -sync.merge.resolveAllRemote=Use the remote version for all remaining conflicts +sync.merge.resolveAllLocal=Anvend den lokale version for alle tilbageværende konflikter +sync.merge.resolveAllRemote=Anvend fjern-versionen for alle tilbageværende konflikter sync.error.usernameNotSet=Brugernavn ikke angivet @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zotero-synkroniseringsserveren godkendte ikke dit b sync.error.enterPassword=Indtast venligst en adgangskode. sync.error.loginManagerInaccessible=Zotero kan ikke få adgang til din login-information. sync.error.checkMasterPassword=Hvis du bruger en master-adgangskode til %S, så sikr dig, at du har indtastet det korrekt. -sync.error.corruptedLoginManager=Dette kunne også skyldes en ødelagt %1$S login-database. For at tjekke det, så luk %1$S, fjern signons.sqlite fra din %1$S-profilmappe og genindtast din Zotero login-information i Synkroniser-panelet under Indstillinger. -sync.error.loginManagerCorrupted1=Zotero kan ikke få adgang til din login-information, muligvis pga. en ødelagt %S login-database. -sync.error.loginManagerCorrupted2=Luk %1$S, fjern signons.sqlite fra din %2$S-profilmappe og genindtast din Zotero login-information i Synkroniser-panelet under Indstillinger +sync.error.corruptedLoginManager=Dette kunne også skyldes fejl i %1$S logindatabase. Kontrollér ved at lukke %1$S, fjern cert8.db, key3.db, og logins.json fra din %1$S profilmappe, og genindtast din Zotero-logininformation i Synkroniserpanelet under indstillinger. +sync.error.loginManagerCorrupted1=Zotero kan ikke få adgang til din login-information, muligvis pga. fejl i %S logindatabase. +sync.error.loginManagerCorrupted2=Luk %1$S, fjern cert8.db, key3.db, og logins.json fra din %2$S profilmappe, og genindtast din Zotero-logininformation i Synkroniserpanelet under indstillinger. sync.error.syncInProgress=En synkroniseringshandling er allerede i gang. sync.error.syncInProgress.wait=Vent på den foregående synkronisering er færdig eller genstart %S. sync.error.writeAccessLost=Du har ikke længere skriveadgang til Zotero-gruppen '%S', og tilføjede eller redigerede elementer kan ikke synkroniseres med serveren. @@ -965,7 +965,7 @@ file.accessError.message.windows=Tjek at filen ikke er i brug, ikke er skrivebes file.accessError.message.other=Tjek at filen ikke er i brug og ikke er skrivebeskyttet. file.accessError.restart=Genstart af computeren eller deaktivering af sikkerhedsprogrammer kan måske også hjælpe. file.accessError.showParentDir=Vis overordnet mappe -file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file. +file.error.cannotAddShortcut=Genvejsfiler kan ikke tilføjes direkte. Vælg venligst den originale fil. lookup.failure.title=Opslag slog fejl lookup.failure.description=Zotero kunne ikke finde en post for den specificerede identifikator. Tjek identifikatoren og prøv igen. @@ -1004,9 +1004,9 @@ connector.loadInProgress=Zotero Standalone blev startet, men er ikke tilgængeli firstRunGuidance.authorMenu=Zotero lader dig anføre redaktører og oversættere. Du kan ændre en forfatter til en redaktør eller oversætter ved at vælge fra denne menu. firstRunGuidance.quickFormat=Indtast en titel eller forfatter for at søge efter en reference.\n\nNår du har foretaget dit valg, så klik på boblen eller tryk Ctrl-↓ for at tilføje sidenumre, præfikser eller suffikser. Du kan også inkludere et sidenummer sammen med dine søgetermer.\n\nDu kan redigere henvisninger direkte i dit tekstbehandlingsdokument. firstRunGuidance.quickFormatMac=Indtast en titel eller forfatter for at søge efter en reference.\n\nNår du har foretaget dit valg, så klik på boblen eller tryk Cmd-↓ for at tilføje sidenumre, præfikser eller suffikser. Du kan også inkludere et sidenummer sammen med dine søgetermer.\n\nDu kan redigere henvisninger direkte i dit tekstbehandlingsdokument. -firstRunGuidance.toolbarButton.new=Klik her for at åbne Zotero eller anvend %S-tastaturgenvejen. +firstRunGuidance.toolbarButton.new=Tryk på 'Z'-knappen for at åbne Zotero, eller brug %S-genvejstasten. firstRunGuidance.toolbarButton.upgrade=Zotero-ikonet kan nu findes i Firefox-værktøjslinjen. Klik ikonet for at åbne Zotero eller anvend %S-tastaturgenvejen. -firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. +firstRunGuidance.saveButton=Tryk på denne knap for at gemme enhver webside i dit Zotero-bibliotek. På nogle sider vil Zotero være i stand til at gemme alle detaljer inkl. forfatter og dato. styles.bibliography=Referenceliste styles.editor.save=Gem henvisningsformat diff --git a/chrome/locale/de/zotero/csledit.dtd b/chrome/locale/de/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Zotero Zitierstil-Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Zitationsposition:"> diff --git a/chrome/locale/de/zotero/cslpreview.dtd b/chrome/locale/de/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Zotero Zitierstil-Vorschau"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Zitationsformat:"> +<!ENTITY styles.preview.citationFormat.all "alle"> +<!ENTITY styles.preview.citationFormat.author "Autor"> +<!ENTITY styles.preview.citationFormat.authorDate "Autor-Datum"> +<!ENTITY styles.preview.citationFormat.label "Label"> +<!ENTITY styles.preview.citationFormat.note "Fußnote"> +<!ENTITY styles.preview.citationFormat.numeric "numerisch"> diff --git a/chrome/locale/de/zotero/zotero.properties b/chrome/locale/de/zotero/zotero.properties @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Sie können keine Dateien zur im Moment au ingester.saveToZotero=In Zotero speichern ingester.saveToZoteroUsing=In Zotero mit "%S" speichern -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=In Zotero als Webseite speichern (mit Schnappschuss) +ingester.saveToZoteroAsWebPageWithoutSnapshot=In Zotero speichern als Webseite (ohne Schnappschuss) ingester.scraping=Speichere Eintrag... ingester.scrapingTo=Speichern nach ingester.scrapeComplete=Eintrag gespeichert. @@ -801,9 +801,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=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 %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.corruptedLoginManager=Eine andere mögliche Ursache ist eine beschädigte %1$S-Login-Datenbank. Um dies zu testen, schließen Sie %1$S, löschen Sie cert8.db, key3.db und logins.json aus Ihrem %1$S Profilordner und geben Sie Ihre Zugangsdaten erneut im Sync-Reiter in den Zotero Einstellungen ein. +sync.error.loginManagerCorrupted1=Zotero kann nicht auf Ihre Zugangsdaten zugreifen, vermutlich wegen einer beschädigten %S-Login-Datenbank. +sync.error.loginManagerCorrupted2=Schließen Sie %1$S, löschen Sie cert8.db, key3.db und logins.json aus Ihrem %2$S Profilordner und geben Sie Ihre Zugangsdaten erneut im Sync-Reiter in den 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone wurde gestartet, aber es ist kein Zug firstRunGuidance.authorMenu=Zotero ermöglicht es Ihnen, auch Herausgeber und Übersetzer anzugeben. Sie können einen Autor zum Übersetzer machen, indem Sie in diesem Menü die entsprechende Auswahl treffen. firstRunGuidance.quickFormat=Geben Sie einen Titel oder Autor ein, um nach einer Zitation zu suchen.\n\nNachdem Sie Ihre Auswahl getroffen haben, klicken Sie auf die Blase oder drücken Sie Strg-\u2193, um Seitenzahlen, Präfixe oder Suffixe hinzuzufügen. Sie können die Seitenzahl auch zu Ihren Suchbegriffen hinzufügen, um diese direkt hinzuzufügen.\n\nSie können alle Zitationen direkt im Dokument bearbeiten. firstRunGuidance.quickFormatMac=Geben Sie einen Titel oder Autor ein, um nach einer Zitation zu suchen.\n\nNachdem Sie Ihre Auswahl getroffen haben, klicken Sie auf die Blase oder drücken Sie Cmd-\u2193, um Seitenzahlen, Präfixe oder Suffixe hinzuzufügen. Sie können die Seitenzahl auch zu Ihren Suchbegriffen hinzufügen, um diese direkt hinzuzufügen.\n\nSie können alle Zitationen direkt im Dokument bearbeiten. -firstRunGuidance.toolbarButton.new=Klicken Sie hier oder verwenden Sie die %S Tastenkombination um Zotero zu öffnen. +firstRunGuidance.toolbarButton.new=Klicken Sie auf die 'Z' Schaltfläche, oder benutzen Sie die %S Tastenkombination um Zotero zu öffnen. firstRunGuidance.toolbarButton.upgrade=Das Zotero Icon ist jetzt in der Firefox Symbolleiste. Klicken Sie das Icon oder verwenden Sie die %S Tastenkombination um Zotero zu öffnen. firstRunGuidance.saveButton=Klicken Sie diesen Button, um beliebige Webseiten zu Zotero hinzuzufügen. Auf manchen Seiten kann Zotero sämtliche Details einschließlich des Autors/der Autorin und des Datums erfassen. diff --git a/chrome/locale/el-GR/zotero/csledit.dtd b/chrome/locale/el-GR/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/el-GR/zotero/zotero.properties b/chrome/locale/el-GR/zotero/zotero.properties @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties @@ -799,9 +799,9 @@ sync.error.invalidLogin.text = The Zotero sync server did not accept your usern 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, 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 %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.corruptedLoginManager = This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2 = Close %1$S, remove cert8.db, key3.db, and logins.json 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 %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. diff --git a/chrome/locale/es-ES/zotero/csledit.dtd b/chrome/locale/es-ES/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Editor de estilo Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Posición de la cita:"> diff --git a/chrome/locale/es-ES/zotero/cslpreview.dtd b/chrome/locale/es-ES/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Previsualización de estilo Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Formato de la cita:"> +<!ENTITY styles.preview.citationFormat.all "todo"> +<!ENTITY styles.preview.citationFormat.author "autor"> +<!ENTITY styles.preview.citationFormat.authorDate "fecha-autor"> +<!ENTITY styles.preview.citationFormat.label "etiqueta"> +<!ENTITY styles.preview.citationFormat.note "nota"> +<!ENTITY styles.preview.citationFormat.numeric "numérico"> diff --git a/chrome/locale/es-ES/zotero/zotero.properties b/chrome/locale/es-ES/zotero/zotero.properties @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=No puedes agregar archivos a la actual col ingester.saveToZotero=Guardar en Zotero ingester.saveToZoteroUsing=Guardar en Zotero usando "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Guardar en Zotero como página de internet (con una instantánea) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Guardar en Zotero como página de internet (sin una instantánea) ingester.scraping=Guardando ítem... ingester.scrapingTo=Guardando en ingester.scrapeComplete=Ítem guardado @@ -801,9 +801,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 puede ser debido a una base de datos de gestión de inicio de sesión de %1$S corrompida. Para comprobarlo, cierre %1$S, elimine signons.sqlite de su directorio de perfil de inicio de sesión %1$S, y vuelva a introducir la información de inicio de sesión de Zotero en el panel de sincronización en las preferencias de Zotero. -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=Cierre %1$S, elimine signons.sqlite de su directorio de perfil %2$S, y vuelva a introducir su información de inicio de sesión Zotero en el panel de sincronización en las preferencias de Zotero. +sync.error.corruptedLoginManager=Esto también puede ser debido a una base de datos de gestión de inicio de sesión de %1$S corrompida. Para comprobarlo, cierre %1$S, elimine cert8.db, key3.db, y logins.json de su directorio de perfil de inicio de sesión %1$S, y vuelva a introducir la información de inicio de sesión de Zotero en el panel de sincronización en las preferencias de Zotero. +sync.error.loginManagerCorrupted1=Zotero no puede acceder a su información de inicio de sesión, posiblemente debido a que esté corrupta la base de datos de gestión de inicios de sesión de %S. +sync.error.loginManagerCorrupted2=Cierre %1$S, elimine cert8.db, key3.db, y logins.json desde su carpeta de perfíl %2$S, y vuelva a ingresar su información de inicio de sesión Zotero en el panel de sincronización en las preferencias Zotero. 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero autónomo fue lanzado, pero no está accesible. firstRunGuidance.authorMenu=Zotero te permite también especificar editores y traductores. Puedes cambiar el rol de autor a editor o traductor seleccionándolo desde este menú. firstRunGuidance.quickFormat=Escribe el título o el autor para buscar una referencia. \n\nDespués de que hayas hecho tu selección, haz clic en la burbuja o pulsa Ctrl-\u2193 para agregar números de página, prefijos o sufijos. También puedes incluir un número de página junto con tus términos de búsqueda para añadirlo directamente.\n\nPuedes editar citas directamente en el documento del procesador de textos. firstRunGuidance.quickFormatMac=Escribe el título o el autor para buscar una referencia. \n\nDespués de que hayas hecho tu selección, haz clic en la burbuja o pulsa Cmd-\u2193 para agregar números de página, prefijos o sufijos. También puedes incluir un número de página junto con tus términos de búsqueda para añadirlo directamente.\n\nPuedes editar citas directamente en el documento del procesador de textos. -firstRunGuidance.toolbarButton.new=Clic aquí para abrir Zotero o utilice el atajo de teclado %S +firstRunGuidance.toolbarButton.new=Clic en el botón ‘Z’ para abrir Zotero o utilice el atajo de teclado %S. firstRunGuidance.toolbarButton.upgrade=El ícono Zotero ahora se encuentra en la barra de Firefox. Clic en el ícono para abrir Zotero, o use el atajo de teclado %S. firstRunGuidance.saveButton=Clic en este botón para guardar cualquier página de internet a su biblioteca Zotero. En algunas páginas, Zotero será capaz de guardar en detalle, incluyendo autor y fecha. diff --git a/chrome/locale/et-EE/zotero/csledit.dtd b/chrome/locale/et-EE/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Stiilide redaktor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Asukoht:"> diff --git a/chrome/locale/et-EE/zotero/cslpreview.dtd b/chrome/locale/et-EE/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Zotero stiilide eelvaade"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Viite formaat:"> +<!ENTITY styles.preview.citationFormat.all "kõik"> +<!ENTITY styles.preview.citationFormat.author "autor"> +<!ENTITY styles.preview.citationFormat.authorDate "autor-kuupäev"> +<!ENTITY styles.preview.citationFormat.label "silt"> +<!ENTITY styles.preview.citationFormat.note "märkus"> +<!ENTITY styles.preview.citationFormat.numeric "numbriline"> diff --git a/chrome/locale/et-EE/zotero/zotero.dtd b/chrome/locale/et-EE/zotero/zotero.dtd @@ -244,7 +244,7 @@ <!ENTITY zotero.sync.longTagFixer.tagWillBeDeleted "Lipik kustutatakse kõigilt kirjetelt."> <!ENTITY zotero.merge.title "Konflikti lahendamine"> -<!ENTITY zotero.merge.of "of"> +<!ENTITY zotero.merge.of " "> <!ENTITY zotero.merge.deleted "Kustututatud"> <!ENTITY zotero.proxy.recognized.title "Proksi omaks võetud."> diff --git a/chrome/locale/et-EE/zotero/zotero.properties b/chrome/locale/et-EE/zotero/zotero.properties @@ -11,13 +11,13 @@ general.restartRequiredForChange=Et muudatus rakenduks on vajalik %Si alglaadimi general.restartRequiredForChanges=Et muudatused rakendusksid on vajalik %Si alglaadimine. general.restartNow=Alglaadida nüüd general.restartLater=Alglaadida hiljem -general.restartApp=Restart %S +general.restartApp=Alglaadida %S general.quitApp=Quit %S general.errorHasOccurred=Tekkis viga. general.unknownErrorOccurred=Tundmatu viga. -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=Server andis vigase vastuse +general.tryAgainLater=Palun mõne minuti pärast uuesti proovida +general.serverError=Server andis veateate. Palun uuesti proovida. general.restartFirefox=Palun Firefox alglaadida. general.restartFirefoxAndTryAgain=Palun Firefox alglaadida ja siis uuesti proovida. general.checkForUpdate=Uuenduste kontrollimine @@ -46,13 +46,13 @@ general.open=Open %S general.enable=Lubada general.disable=Keelata general.remove=Eemaldada -general.reset=Reset +general.reset=Lähtestamine general.hide=Hide -general.quit=Quit -general.useDefault=Use Default +general.quit=Väljuda +general.useDefault=Vaikimisi seaded general.openDocumentation=Dokumentatsiooni avamine -general.numMore=%S more… -general.openPreferences=Open Preferences +general.numMore=%S rohkem... +general.openPreferences=Avada eelistused general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ general.dontShowAgain=Don’t Show Again @@ -89,22 +89,22 @@ errorReport.advanceMessage=Veateate saatmiseks Zotero arendajatele vajutage %S. errorReport.stepsToReproduce=Kuidas viga tekib: errorReport.expectedResult=Loodetud tulemus: errorReport.actualResult=Tegelik tulemus: -errorReport.noNetworkConnection=No network connection -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.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 +errorReport.noNetworkConnection=Puudub võrguühendus +errorReport.invalidResponseRepository=Repositoorium andis vigase vastuse +errorReport.repoCannotBeContacted=Repositoorium ei ole kättesaadav + + +attachmentBasePath.selectDir=Baaskataloogi valimine +attachmentBasePath.chooseNewPath.title=Baaskataloogi kinnitamine +attachmentBasePath.chooseNewPath.message=Allolevad lingitud manused salvestatakse kasutades suhtelisi viiteid. +attachmentBasePath.chooseNewPath.existingAttachments.singular=Uues baaskataloogis leiti üks olemasolev manus. +attachmentBasePath.chooseNewPath.existingAttachments.plural=Uues baaskataloogis leiti %S olemasolevat manust. +attachmentBasePath.chooseNewPath.button=Baaskataloogi seadete muutmine +attachmentBasePath.clearBasePath.title=Absoluutsetele radadele üleminek +attachmentBasePath.clearBasePath.message=Uued lingitud manused salvestatakse kasutades absoluutseid radasid. +attachmentBasePath.clearBasePath.existingAttachments.singular=Üks olemasolev manus vanas baaskataloogis lingitakse absoluutse raja kaudu. +attachmentBasePath.clearBasePath.existingAttachments.plural=%S olemasolevat manust vanas baaskataloogis lingitakse absoluutse raja kaudu. +attachmentBasePath.clearBasePath.button=Baaskataloogi seadete kustutamine dataDir.notFound=Zotero andmete kataloogi ei leitud. dataDir.previousDir=Eelmine kataloog: @@ -112,12 +112,12 @@ dataDir.useProfileDir=Kasutada Firefoxi profiili kataloogi dataDir.selectDir=Zotero andmete kataloogi valimine dataDir.selectedDirNonEmpty.title=Kataloog ei ole tühi dataDir.selectedDirNonEmpty.text=Kataloog, mille valisite ei ole ilmselt tühi ja ei ole ka Zotero andmete kataloog.\n\nLuua Zotero failid sellest hoolimata sinna kataloogi? -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=Kataloog on tühi +dataDir.selectedDirEmpty.text=Kataloog, mille valisite, on tühi. Et liigutada olemasolev Zotero andmekataloog, on tarvis käsitsi kopeerida failid olemasolevast kataloogist uued asukohta. Selleks on vajalik kõigepealt sulgeda %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=Andmebaasi versioon ei ole toetatud. +dataDir.incompatibleDbVersion.text=Valitud andmekataloog ei ole kompatiibel Zotero Standalone versiooniga, toimib alles Zotero for Firefox 2.1b3 või hilisem versioon.\n\nPalun kõigepealt Zotero for Firefox uuendada või valida teine andmekataloog Zotero Standalone tarvis. dataDir.standaloneMigration.title=Zotero uuendamise teadaanne dataDir.standaloneMigration.description=Paistab, et kasutate esmakordselt %1$St. Kas soovite %1$Si laadida seaded %2$Sst ja kasutada olemasolevat andmete kataloogi? dataDir.standaloneMigration.multipleProfiles=%1$S jagab andmete kataloogi viimati kasutatud profiiliga. @@ -163,11 +163,11 @@ pane.collections.newSavedSeach=Uus salvestatud otsing pane.collections.savedSearchName=Pange salvestatud otsingule nimi: pane.collections.rename=Nimetage teema ümber: pane.collections.library=Minu raamatukogu -pane.collections.groupLibraries=Group Libraries +pane.collections.groupLibraries=Jagatud kataloogid pane.collections.trash=Praht pane.collections.untitled=Nimeta pane.collections.unfiled=Teemata kirjed -pane.collections.duplicate=Duplicate Items +pane.collections.duplicate=Duplikaadid pane.collections.menu.rename.collection=Teema ümbernimetamine... pane.collections.menu.edit.savedSearch=Salvestatud otsingu toimetamine @@ -189,10 +189,10 @@ pane.tagSelector.delete.message=Soovite kindlasti lipikut kustutada?\n\nLipik ee pane.tagSelector.numSelected.none=0 lipikut valitud pane.tagSelector.numSelected.singular=%S lipik valitud pane.tagSelector.numSelected.plural=%S lipikut valitud -pane.tagSelector.maxColoredTags=Only %S tags in each library can have colors assigned. +pane.tagSelector.maxColoredTags=Vaid %S lipikut igas teemakataloogis võivad olla värvilised. -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=Selle lipiku saate lisada kirjetele vajutades klaviatuuril $NUMBER klahvi. +tagColorChooser.maxTags=Kuni %S lipikut igas teemakataloogis võivad olla värvilised. pane.items.loading=Kirjete nimekirja laadimine... pane.items.columnChooser.moreColumns=More Columns @@ -239,15 +239,15 @@ pane.items.interview.manyParticipants=Intervjueerijad %S et al. pane.item.selected.zero=Kirjeid ei ole valitud pane.item.selected.multiple=%S kirjet valitud -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=Selles vaates pole kirjeid +pane.item.unselected.singular=%S kirje selles vaates +pane.item.unselected.plural=%S kirjet selles vaates -pane.item.duplicates.selectToMerge=Select items to merge -pane.item.duplicates.mergeItems=Merge %S items -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. +pane.item.duplicates.selectToMerge=Liidetavate kirjete valimine +pane.item.duplicates.mergeItems=%S kirje liitmine +pane.item.duplicates.writeAccessRequired=Kirjete liitmiseks, on nõutav kataloogi muutmisõigus +pane.item.duplicates.onlyTopLevel=Liita on võimalik vaid peakirjeid. +pane.item.duplicates.onlySameItemType=Liidetud kirjed peavad olema sama tüüpi. pane.item.changeType.title=Kirje tüübi muutmine pane.item.changeType.text=Soovite kindlasti selle kirje tüüpi muutma?\n\nJärgnevad väljad kustutatakse: @@ -256,8 +256,8 @@ pane.item.defaultLastName=Perekonnanimi pane.item.defaultFullName=Täisnimi pane.item.switchFieldMode.one=Ühendväli pane.item.switchFieldMode.two=Eraldi väljad -pane.item.creator.moveUp=Move Up -pane.item.creator.moveDown=Move Down +pane.item.creator.moveUp=Liigutada üles +pane.item.creator.moveDown=Liigutada alla pane.item.notes.untitled=Nimeta märkus pane.item.notes.delete.confirm=Soovite kindlasti seda märkust kustutada? pane.item.notes.count.zero=%S märkust: @@ -273,9 +273,9 @@ pane.item.attachments.count.zero=%S manust: pane.item.attachments.count.singular=%S manus: pane.item.attachments.count.plural=%S manust: pane.item.attachments.select=Faili valimine -pane.item.attachments.PDF.installTools.title=PDF Tools Not Installed -pane.item.attachments.PDF.installTools.text=To use this feature, you must first install the PDF tools in the Search pane of the Zotero preferences. -pane.item.attachments.filename=Filename +pane.item.attachments.PDF.installTools.title=PDF Tools ei ole paigaldatud +pane.item.attachments.PDF.installTools.text=Selle funktsiooni kasutamiseks on kõigepealt tarvis paigaldada PDF Tools Zotero seadetes. +pane.item.attachments.filename=Faili nimi pane.item.noteEditor.clickHere=vajutage siia pane.item.tags.count.zero=%S lipikut: pane.item.tags.count.singular=%S lipik: @@ -487,7 +487,7 @@ ingester.saveToZoteroUsing=Salvestada Zoterosse kasutades "%S" ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) ingester.scraping=Kirje salvestamine... -ingester.scrapingTo=Saving to +ingester.scrapingTo=Salvestamine asukohta ingester.scrapeComplete=Kirje salvestatud ingester.scrapeError=Kirje salvestamine ei õnnestunud ingester.scrapeErrorDescription=Selle kirje salvestamisel tekkis viga. Lisainformatsiooniks vaadake %S. @@ -500,7 +500,7 @@ ingester.importReferRISDialog.checkMsg=Selle saidi puhul alati lubada ingester.importFile.title=Faili importimine ingester.importFile.text=Soovite importida faili "%S"?\n\nKirjed lisatakse uude teemasse. -ingester.importFile.intoNewCollection=Import into new collection +ingester.importFile.intoNewCollection=Uude teemakataloogi importimine ingester.lookup.performing=Teostan otsimist... ingester.lookup.error=Selle kirje otsimisel tekkis viga. @@ -514,23 +514,23 @@ db.dbRestoreFailed=Zotero andmebaas '%S' näib olevat kahjustatud ja automaatsel db.integrityCheck.passed=Andmebaas paistab korras olevat. db.integrityCheck.failed=Andmebaasis esinevad vead! db.integrityCheck.dbRepairTool=Nende vigade parandamiseks võite katsetada http://zotero.org/utils/dbfix asuvat tööriista. -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 võib üritada neid vigu parandada. +db.integrityCheck.appRestartNeeded=%S nõuab alglaadimist. +db.integrityCheck.fixAndRestart=Parandada vead ja alglaadida %S +db.integrityCheck.errorsFixed=Zotero andmebaasi vead on edukalt parandatud. +db.integrityCheck.errorsNotFixed=Zotero'l ei õnnestunud vigu parandada. +db.integrityCheck.reportInForums=Sellest veast võite Zotero foorimites teada anda. zotero.preferences.update.updated=Uuendatud zotero.preferences.update.upToDate=Värske zotero.preferences.update.error=Viga -zotero.preferences.launchNonNativeFiles=Open PDFs and other files within %S when possible +zotero.preferences.launchNonNativeFiles=Avada PDF'id ja teised failid kasutades võimaluse korral %S zotero.preferences.openurl.resolversFound.zero=%S lahendajat leitud zotero.preferences.openurl.resolversFound.singular=%S lahendaja leitud zotero.preferences.openurl.resolversFound.plural=%S lahendajat leitud -zotero.preferences.sync.purgeStorage.title=Purge Attachment Files on Zotero Servers? -zotero.preferences.sync.purgeStorage.desc=If you plan to use WebDAV for file syncing and you previously synced attachment files in My Library to the Zotero servers, you can purge those files from the Zotero servers to give you more storage space for groups.\n\nYou can purge files at any time from your account settings on zotero.org. +zotero.preferences.sync.purgeStorage.title=Kustutada manused Zotero Serverist? +zotero.preferences.sync.purgeStorage.desc=Kui plaanite kasutada WebDAV teenust manuste sünkroniseerimiseks ja eelevalt sünkroniseerisite faile Zotero serveriga, siis võite need failid Zotero serverist kustutada. Selliselt hoiate kokku ruumi gruppide manuste tarvis.\n\nFaile saab kustutada oma kasutaja seadetest Zotero.org keskkonnas. zotero.preferences.sync.purgeStorage.confirmButton=Purge Files Now zotero.preferences.sync.purgeStorage.cancelButton=Do Not Purge zotero.preferences.sync.reset.userInfoMissing=You must enter a username and password in the %S tab before using the reset options. @@ -567,7 +567,7 @@ zotero.preferences.search.pdf.tryAgainOrViewManualInstructions=Palun proovige hi zotero.preferences.export.quickCopy.bibStyles=Bibliograafilised stiilid zotero.preferences.export.quickCopy.exportFormats=Eksprodiformaadid zotero.preferences.export.quickCopy.instructions=Kiirkopeerimine võimaldab kopeerida valitud viited lõikepuhvrisse kasutades kiirklahvi (%S) või lohistades kirjed veebilehe tekstikasti. -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=Bibliograafia stiilide tarbeks võite kopeerida viideid vajutades %S või hoides all Shift klahvi, viiteid lohistada. zotero.preferences.wordProcessors.installationSuccess=Installation was successful. zotero.preferences.wordProcessors.installationError=Installation could not be completed because an error occurred. Please ensure that %1$S is closed, and then restart %2$S. @@ -662,7 +662,7 @@ fulltext.indexState.partial=Osaline exportOptions.exportNotes=Märkuste eksprot exportOptions.exportFileData=Failide eksport -exportOptions.useJournalAbbreviation=Use Journal Abbreviation +exportOptions.useJournalAbbreviation=Kasutada ajakirja lühendit charset.UTF8withoutBOM=Unicode (UTF-8 ilma BOM) charset.autoDetect=(automaatne) @@ -678,8 +678,8 @@ citation.multipleSources=Mitmed allikad... citation.singleSource=Üks allikas... citation.showEditor=Toimetaja näidata... citation.hideEditor=Toimetaja peita... -citation.citations=Citations -citation.notes=Notes +citation.citations=Viited +citation.notes=Märkused citation.locator.page=Page citation.locator.book=Book citation.locator.chapter=Chapter @@ -801,12 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=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.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.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. @@ -936,12 +936,12 @@ proxies.recognized.add=Proksi lisamine recognizePDF.noOCR=PDF ei sisalda OCR-tuvastatud teksti. recognizePDF.couldNotRead=PDFist ei õnnetstu teksti lugeda. -recognizePDF.noMatches=No matching references found -recognizePDF.fileNotFound=File not found -recognizePDF.limit=Google Scholar query limit reached. Try again later. +recognizePDF.noMatches=Sobivaid vasteid ei leitud. +recognizePDF.fileNotFound=Faili ei leitud. +recognizePDF.limit=Google Scholar'i päringulimiit saavutatud. Palun hiljem uuesti proovida. recognizePDF.error=An unexpected error occurred. recognizePDF.stopped=Cancelled -recognizePDF.complete.label=Metadata Retrieval Complete +recognizePDF.complete.label=Metaandmete kogumine lõppenud. recognizePDF.cancelled.label=Metadata Retrieval Cancelled recognizePDF.close.label=Sulgeda recognizePDF.captcha.title=Please enter CAPTCHA @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero võimaldab määrata ka toimetajaid ja tõlkijaid. Autori saab muuta toimetajaks või tõlkijaks sellest menüüst. firstRunGuidance.quickFormat=Viite otsimiseks kirjutage pealkiri või autor.\n\nKui olete valiku teinud, siis leheküljenumbrite, prefiksite või sufiksite lisamiseks klikkige viite kastikesele või vajutage Ctrl-\u2193. Leheküljenumbri võite sisestada ka kohe kastikese sisse.\n\nSamas võite viiteid toimetada ka tekstiredaktoris. firstRunGuidance.quickFormatMac=Viite otsimiseks kirjutage pealkiri või autor.\n\nKui olete valiku teinud, siis leheküljenumbrite, prefiksite või sufiksite lisamiseks klikkige viite kastikesele või vajutage Cmd-\u2193. Leheküljenumbri võite sisestada ka kohe kastikese sisse.\n\nSamas võite viiteid toimetada ka tekstiredaktoris. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/eu-ES/zotero/csledit.dtd b/chrome/locale/eu-ES/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/eu-ES/zotero/zotero.properties b/chrome/locale/eu-ES/zotero/zotero.properties @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/fa/zotero/csledit.dtd b/chrome/locale/fa/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/fa/zotero/zotero.properties b/chrome/locale/fa/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username sync.error.enterPassword=لطفا یک گذرواژه وارد کنید. sync.error.loginManagerInaccessible=زوترو نمیتواند به اطلاعات لازم برای ورود به وبگاه دسترسی پیدا کند. 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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/fi-FI/zotero/csledit.dtd b/chrome/locale/fi-FI/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/fi-FI/zotero/zotero.properties b/chrome/locale/fi-FI/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zoteron synkronointipalvelin ei hyväksynyt käytt sync.error.enterPassword=Anna salasana. sync.error.loginManagerInaccessible=Zotero ei saanut oikeuksia kirjautumistietoihisi. sync.error.checkMasterPassword=Jos käytät pääsalasanaa $S:ssa, varmista, että se on oikein. -sync.error.corruptedLoginManager=Kyse voi olla myös virheestä %1$S:n kirjautumistietojen tietokannassa. Voit tarkistaa tämän sulkemalla ensin %1$S:n, poistamalla tiedoston signons.sqlite %1$S:n profiilikansiosta ja syöttämällä tämän jälkeen Zoteron kirjautumistiedot uudelleen Zoteron asetusten synkronointivälilehdellä. -sync.error.loginManagerCorrupted1=Zotero ei voi käyttää kirjautumistietojasi. %S:n kirjautumistietojen tietokanta on mahdollisesti vioittunut. -sync.error.loginManagerCorrupted2=Sulje %1$S, poista signons.sqlite %2$S:n profiilikansiosta, ja syötä sen jälkeen Zoteron kirjautumistiedot uudelleen Zoteron asetusten Synkronointi-välilehdelä. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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 Zotero-ryhmään '%S'. Lisäämiäsi tai muokkaamiasi nimikkeitä ei voida synkronoida palvelimelle. diff --git a/chrome/locale/fr-FR/zotero/csledit.dtd b/chrome/locale/fr-FR/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Éditeur de style Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Position de la citation :"> diff --git a/chrome/locale/fr-FR/zotero/cslpreview.dtd b/chrome/locale/fr-FR/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Aperçu des styles Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> +<!ENTITY styles.preview.citationFormat "Format de citation :"> +<!ENTITY styles.preview.citationFormat.all "tous"> +<!ENTITY styles.preview.citationFormat.author "auteur"> +<!ENTITY styles.preview.citationFormat.authorDate "auteur-date"> +<!ENTITY styles.preview.citationFormat.label "étiquette (label)"> <!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat.numeric "numérique"> diff --git a/chrome/locale/fr-FR/zotero/searchbox.dtd b/chrome/locale/fr-FR/zotero/searchbox.dtd @@ -8,8 +8,8 @@ <!ENTITY zotero.search.joinMode.suffix "condition(s) suivante(s) :"> <!ENTITY zotero.search.recursive.label "Rechercher dans les sous-collections"> -<!ENTITY zotero.search.noChildren "Ne montrer que les objets de niveau supérieur"> -<!ENTITY zotero.search.includeParentsAndChildren "Inclure les objets parents et enfants correspondants"> +<!ENTITY zotero.search.noChildren "Ne montrer que les documents de niveau supérieur"> +<!ENTITY zotero.search.includeParentsAndChildren "Inclure les documents parents et enfants correspondants"> <!ENTITY zotero.search.textModes.phrase "Expression"> <!ENTITY zotero.search.textModes.phraseBinary "Expression (fichiers binaires incl.)"> diff --git a/chrome/locale/fr-FR/zotero/zotero.dtd b/chrome/locale/fr-FR/zotero/zotero.dtd @@ -188,7 +188,7 @@ <!ENTITY zotero.charset.label "Encodage des caractères"> <!ENTITY zotero.moreEncodings.label "Plus d'encodages"> -<!ENTITY zotero.citation.keepSorted.label "Conserver les sources en ordre alphabétique"> +<!ENTITY zotero.citation.keepSorted.label "Trier les sources automatiquement"> <!ENTITY zotero.citation.suppressAuthor.label "Supprimer l'auteur"> <!ENTITY zotero.citation.prefix.label "Préfixe :"> diff --git a/chrome/locale/fr-FR/zotero/zotero.properties b/chrome/locale/fr-FR/zotero/zotero.properties @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Vous ne pouvez pas ajouter des fichiers à ingester.saveToZotero=Enregistrer dans Zotero ingester.saveToZoteroUsing=Enregistrer dans Zotero en utilisant "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Enregistrer dans Zotero comme Page Web (avec capture) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Enregistrer dans Zotero comme Page Web (sans capture) ingester.scraping=Enregistrement du document en cours… ingester.scrapingTo=Enregistrer dans ingester.scrapeComplete=Document enregistré @@ -801,9 +801,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, 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, 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.corruptedLoginManager=Cela peut aussi être dû à une corruption de la base de données des identifiants de %1$S. Pour vérifier, fermez %1$S, supprimez les fichiers cert8.db, key3.db, et logins.json de votre dossier de profil %2$S, puis entrez à nouveau vos identifiants de connexion Zotero dans le panneau Synchronisation des préférences de Zotero. +sync.error.loginManagerCorrupted1=Zotero ne peut pas accéder à vos identifiants de connexion, peut-être à cause d'une corruption de la base de données des identifiants de %S. +sync.error.loginManagerCorrupted2=Fermez %1$S, supprimez les fichiers cert8.db, key3.db, et logins.json de votre dossier de profil %2$S, puis entrez à nouveau vos identifiants 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone a été démarré mais n'est pas acce firstRunGuidance.authorMenu=Zotero vous permet également de préciser les éditeurs scientifiques, directeurs de publication et les traducteurs. Vous pouvez changer un auteur en éditeur ou en traducteur en cliquant sur le triangle à gauche de "Auteur". firstRunGuidance.quickFormat=Tapez son titre ou son auteur pour rechercher une référence.\n\nAprès l'avoir sélectionnée, cliquez sur la bulle ou appuyer sur Ctrl-\u2193 pour ajouter les numéros des pages, un préfixe ou un suffixe. Vous pouvez aussi inclure un numéro de page en même temps que vos termes de recherche afin de l'ajouter directement.\n\nVous pouvez modifier les citations directement dans le document du traitement de texte. firstRunGuidance.quickFormatMac=Tapez son titre ou son auteur pour rechercher une référence.\n\nAprès l'avoir sélectionnée, cliquez sur la bulle ou appuyer sur Cmd-\u2193 pour ajouter les numéros des pages, un préfixe ou un suffixe. Vous pouvez aussi inclure un numéro de page en même temps que vos termes de recherche afin de l'ajouter directement.\n\nVous pouvez modifier les citations directement dans le document du traitement de texte. -firstRunGuidance.toolbarButton.new=Cliquez ici pour ouvrir Zotero, ou utilisez le raccourci clavier %S. +firstRunGuidance.toolbarButton.new=Cliquez sur le bouton "Z" pour ouvrir Zotero ou utilisez le raccourci clavier %S. firstRunGuidance.toolbarButton.upgrade=L'icône Zotero est désormais dans la barre d'outils Firefox. Cliquez sur l'icône pour ouvrir Zotero, ou utilisez le raccourci clavier %S. firstRunGuidance.saveButton=Cliquez sur ce bouton pour enregistrer n'importe quel page web dans votre bibliothèque Zotero. Sur certaines pages, Zotero pourra enregistrer tous les détails, y compris l'auteur et la date. diff --git a/chrome/locale/gl-ES/zotero/csledit.dtd b/chrome/locale/gl-ES/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Editor de estilos de Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Posición da referencia:"> diff --git a/chrome/locale/gl-ES/zotero/cslpreview.dtd b/chrome/locale/gl-ES/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Visor de estilos de Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Formato de citas:"> +<!ENTITY styles.preview.citationFormat.all "todo"> +<!ENTITY styles.preview.citationFormat.author "autor"> +<!ENTITY styles.preview.citationFormat.authorDate "autor - data"> +<!ENTITY styles.preview.citationFormat.label "etiqueta"> +<!ENTITY styles.preview.citationFormat.note "nota"> +<!ENTITY styles.preview.citationFormat.numeric "numérico"> diff --git a/chrome/locale/gl-ES/zotero/zotero.dtd b/chrome/locale/gl-ES/zotero/zotero.dtd @@ -99,7 +99,7 @@ <!ENTITY zotero.toolbar.moreItemTypes.label "Máis"> <!ENTITY zotero.toolbar.newItemFromPage.label "Crear un novo elemento a partir da páxina actual"> <!ENTITY zotero.toolbar.lookup.label "Engadir un elemento polo identificador"> -<!ENTITY zotero.toolbar.removeItem.label "Eliminar o elemento..."> +<!ENTITY zotero.toolbar.removeItem.label "Eliminar..."> <!ENTITY zotero.toolbar.newCollection.label "Colección nova"> <!ENTITY zotero.toolbar.newGroup "Grupo novo..."> <!ENTITY zotero.toolbar.newSubcollection.label "Subcolección nova"> diff --git a/chrome/locale/gl-ES/zotero/zotero.properties b/chrome/locale/gl-ES/zotero/zotero.properties @@ -42,7 +42,7 @@ general.create=Crear general.delete=Eliminar general.moreInformation=Máis información general.seeForMoreInformation=Vexa %S para máis información. -general.open=Open %S +general.open=Abrir %S general.enable=Activar general.disable=Desactivar general.remove=Remove @@ -205,9 +205,9 @@ pane.items.trash.multiple=Seguro que quere mover os elementos seleccionados ao l pane.items.delete.title=Eliminar pane.items.delete=Seguro que quere eliminar o elemento seleccionado? pane.items.delete.multiple=Seguro que quere eliminar os elementos seleccionados? -pane.items.remove.title=Remove from Collection -pane.items.remove=Are you sure you want to remove the selected item from this collection? -pane.items.remove.multiple=Are you sure you want to remove the selected items from this collection? +pane.items.remove.title=Eliminar da colección +pane.items.remove=Seguro que queres eliminar o elemento escollido desta colección? +pane.items.remove.multiple=Seguro que queres eliminar os elementos escollidos desta colección? pane.items.menu.remove=Remove Item from Collection… pane.items.menu.remove.multiple=Remove Items from Collection… pane.items.menu.moveToTrash=Mover os elementos ao lixo... @@ -226,7 +226,7 @@ pane.items.menu.createParent=Crear un elemento pai do elemento seleccionado pane.items.menu.createParent.multiple=Crear un elementos pai dos elementos seleccionados pane.items.menu.renameAttachments=Renomear o ficheiro dos metadatos parentais pane.items.menu.renameAttachments.multiple=Cambiar os nomes dos ficheiros dos metadatos parentais -pane.items.showItemInLibrary=Show Item in Library +pane.items.showItemInLibrary=Amosar na biblioteca pane.items.letter.oneParticipant=Carta a %S pane.items.letter.twoParticipants=Carta a %S e %S @@ -569,7 +569,7 @@ zotero.preferences.export.quickCopy.exportFormats=Formatos de exportación zotero.preferences.export.quickCopy.instructions=As copias rápidas permiten copiar referencias seleccionadas ao portaretallos pulsando unha tecla de acceso (%S) ou arrastrar obxectos desde un cadro de texto nunha páxina web. zotero.preferences.export.quickCopy.citationInstructions=Para os estilos de bibliografía, podes copiar as citacións ou os rodapés premento %S ou apretando Shift antes de arrastrar e soltar os elementos. -zotero.preferences.wordProcessors.installationSuccess=Installation was successful. +zotero.preferences.wordProcessors.installationSuccess=A instalación levouse a cabo correctamente. zotero.preferences.wordProcessors.installationError=Installation could not be completed because an error occurred. Please ensure that %1$S is closed, and then restart %2$S. zotero.preferences.wordProcessors.installed=The %S add-in is currently installed. zotero.preferences.wordProcessors.notInstalled=The %S add-in is not currently installed. @@ -680,22 +680,22 @@ citation.showEditor=Mostrar o editor citation.hideEditor=Agochar o editor citation.citations=Citacións citation.notes=Notas -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure +citation.locator.page=Páxina +citation.locator.book=Libro +citation.locator.chapter=Capítulo +citation.locator.column=Columna +citation.locator.figure=Figura citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line -citation.locator.note=Note +citation.locator.issue=Número +citation.locator.line=Liña +citation.locator.note=Nota citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section +citation.locator.paragraph=Parágrafo +citation.locator.part=Parte +citation.locator.section=Sección citation.locator.subverbo=Sub verbo citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.verse=Verso report.title.default=Informe de Zotero report.parentItem=Artigo pai: @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=O servidor de sincronización de Zotero non acepta sync.error.enterPassword=Introduza un contrasinal. sync.error.loginManagerInaccessible=Zotero non pode acceder á información de acceso. sync.error.checkMasterPassword=Se está a usar un contrasinal maestro en %S, comprobe que o introduciu correctamente. -sync.error.corruptedLoginManager=Isto podería ser por mor dunha base de datos de rexistro %1$S corrompida. Para comprobalo, peche %1$S, elimine signons.sqlite do seu cartafol de perfil %1$S e reintroduza a información de acceso ao panel de sincronización de Zotero desde as preferencias de Zotero. -sync.error.loginManagerCorrupted1=Zotero non pode acceder á información de acceso, seguramente debido a unha base de datos %S de acceso corrompida. -sync.error.loginManagerCorrupted2=Peche %1$S, elimine signons.sqlite do seu cartafol de perfil %2S$S e volva a introducir a información de acceso en Zotero desde o panel de sincronización nas preferencias de Zotero. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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 dispón de permisos de escritura no grupo de Zotero '%S' e os elementos que se engadiron ou editaron non se poden sincronizar co servidor. @@ -1004,15 +1004,15 @@ connector.loadInProgress=Zotero Standalone iniciouse pero non está accesible. firstRunGuidance.authorMenu=Zotero permítelle ademais especificar os editores e tradutores. Escolléndoo neste menú pode asignar a un autor como editor ou tradutor. firstRunGuidance.quickFormat=Teclee un título ou autor para buscar unha referencia.\n\nDespois de facer a selección faga clic na burbulla ou prema Ctrl-\↓ para engadir números de páxina, prefixos ou sufixos. Así mesmo, pode incluír un número de páxina cos datos de busca e engadilo directamente.\n\Ademais, pode editar citas directamente dende o procesador de documentos de texto. firstRunGuidance.quickFormatMac=Teclee un título de autor para facer unha busca dunha referencia.\n\nDespois de ter feito a selección prema na burbulla ou prema Cmd-\↓ para engadir os números de páxina, prefixos ou sufixos. Igualmente, pode incluír un número de páxina co seus termos de busca empregados e engadilo directamente.\n\nPode ademais editar citas directamente desde o procesador de documentos de textos. -firstRunGuidance.toolbarButton.new=Para abrir Zotero preme aquí ou usa o atallo de teclado %S +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=A icona de Zotero pódese atopar na barra de ferramentas do Firefox. Preme na icona de Zotero para abrilo ou usa o atallo de teclado %S. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. -styles.bibliography=Bibliography -styles.editor.save=Save Citation Style -styles.editor.warning.noItems=No items selected in Zotero. -styles.editor.warning.parseError=Error parsing style: -styles.editor.warning.renderError=Error generating citations and bibliography: -styles.editor.output.individualCitations=Individual Citations -styles.editor.output.singleCitation=Single Citation (with position "first") +styles.bibliography=Bibliografía +styles.editor.save=Gardar o estilo de citas +styles.editor.warning.noItems=Non hai elementos seleccionados +styles.editor.warning.parseError=Erros ao procesar o estilo: +styles.editor.warning.renderError=Error xerando as citas e a bibliografía: +styles.editor.output.individualCitations=Citas individuais +styles.editor.output.singleCitation=Cita única (coa posición "primeiro") styles.preview.instructions=Select one or more items in Zotero and click the "Refresh" button to see how these items are rendered by the installed CSL citation styles. diff --git a/chrome/locale/he-IL/zotero/csledit.dtd b/chrome/locale/he-IL/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/he-IL/zotero/zotero.properties b/chrome/locale/he-IL/zotero/zotero.properties @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/hr-HR/zotero/csledit.dtd b/chrome/locale/hr-HR/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/hr-HR/zotero/zotero.properties b/chrome/locale/hr-HR/zotero/zotero.properties @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/hu-HU/zotero/csledit.dtd b/chrome/locale/hu-HU/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Zotero Hivatkozás Szerkesztő"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/hu-HU/zotero/cslpreview.dtd b/chrome/locale/hu-HU/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ <!ENTITY styles.preview "Zotero Style Preview"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> +<!ENTITY styles.preview.citationFormat "Hivatkozási forma:"> <!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> +<!ENTITY styles.preview.citationFormat.author "szerző"> +<!ENTITY styles.preview.citationFormat.authorDate "szövegközi hivatkozás (szerző-dátum)"> <!ENTITY styles.preview.citationFormat.label "label"> <!ENTITY styles.preview.citationFormat.note "note"> <!ENTITY styles.preview.citationFormat.numeric "numeric"> diff --git a/chrome/locale/hu-HU/zotero/preferences.dtd b/chrome/locale/hu-HU/zotero/preferences.dtd @@ -107,7 +107,7 @@ <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domén/Útvonal"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(pl: wikipedia.org)"> <!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Kimeneti formátum"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Nyelv"> <!ENTITY zotero.preferences.quickCopy.dragLimit "A gyorsmásolás kikapcsolása, amikor az elemek száma több, mint"> <!ENTITY zotero.preferences.prefpane.cite "Hivatkozás"> @@ -162,7 +162,7 @@ <!ENTITY zotero.preferences.prefpane.advanced "Haladó"> <!ENTITY zotero.preferences.advanced.filesAndFolders "Fájlok és mappák"> -<!ENTITY zotero.preferences.advanced.keys "Shortcuts"> +<!ENTITY zotero.preferences.advanced.keys "Billentyűparancsok"> <!ENTITY zotero.preferences.prefpane.locate "Elhelyezni"> <!ENTITY zotero.preferences.locate.locateEngineManager "Article Lookup Engine Manager"> @@ -203,6 +203,6 @@ <!ENTITY zotero.preferences.debugOutputLogging.submitToServer "Elküldés a Zotero szervernek"> <!ENTITY zotero.preferences.openAboutConfig "Az about:config megnyitása"> -<!ENTITY zotero.preferences.openCSLEdit "Open Style Editor"> +<!ENTITY zotero.preferences.openCSLEdit "Style Editor megnyitása"> <!ENTITY zotero.preferences.openCSLPreview "Open Style Preview"> <!ENTITY zotero.preferences.openAboutMemory "Az about:memory megnyitása"> diff --git a/chrome/locale/hu-HU/zotero/zotero.dtd b/chrome/locale/hu-HU/zotero/zotero.dtd @@ -64,7 +64,7 @@ <!ENTITY zotero.items.dateModified_column "Módosítás dátuma"> <!ENTITY zotero.items.extra_column "Extra"> <!ENTITY zotero.items.archive_column "Archívum"> -<!ENTITY zotero.items.archiveLocation_column "Loc. in Archive"> +<!ENTITY zotero.items.archiveLocation_column "Pontos lelőhely"> <!ENTITY zotero.items.place_column "Hely"> <!ENTITY zotero.items.volume_column "Kötet"> <!ENTITY zotero.items.edition_column "Kiadás"> @@ -125,8 +125,8 @@ <!ENTITY zotero.item.textTransform "Szöveg átalakítása"> <!ENTITY zotero.item.textTransform.titlecase "Szókezdő"> <!ENTITY zotero.item.textTransform.sentencecase "Mondatkezdő"> -<!ENTITY zotero.item.creatorTransform.nameSwap "Swap First/Last Names"> -<!ENTITY zotero.item.viewOnline "View Online"> +<!ENTITY zotero.item.creatorTransform.nameSwap "Keresztnév/Vezetéknév felcserélése"> +<!ENTITY zotero.item.viewOnline "Online megtekintés"> <!ENTITY zotero.item.copyAsURL "Másolás URL-ként"> <!ENTITY zotero.toolbar.newNote "Új jegyzet"> @@ -165,7 +165,7 @@ <!ENTITY zotero.bibliography.title "Bibliográfia létrehozása"> <!ENTITY zotero.bibliography.style.label "Hivatkozási stílus:"> -<!ENTITY zotero.bibliography.locale.label "Language:"> +<!ENTITY zotero.bibliography.locale.label "Nyelv:"> <!ENTITY zotero.bibliography.outputMode "Kimeneti mód:"> <!ENTITY zotero.bibliography.bibliography "Bibliográfia"> <!ENTITY zotero.bibliography.outputMethod "Kimeneti metódus:"> diff --git a/chrome/locale/hu-HU/zotero/zotero.properties b/chrome/locale/hu-HU/zotero/zotero.properties @@ -55,7 +55,7 @@ general.numMore=%S more… general.openPreferences=Beállítások megnyitása general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ -general.dontShowAgain=Don’t Show Again +general.dontShowAgain=Ne mutassa újra general.operationInProgress=A Zotero dolgozik. general.operationInProgress.waitUntilFinished=Kérjük várjon, amíg a művelet befejeződik. @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Nem adhat hozzá fájlokat a jelenleg kiv ingester.saveToZotero=Mentés a Zoteroba ingester.saveToZoteroUsing=Mentés Zotero-ba "%S" használatával -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Mentés weboldalként a Zoteroba (képernyőképpel) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Mentés weboldalként a Zoteroba (képernyőkép nélkül) ingester.scraping=Elem mentése... ingester.scrapingTo=Mentés ingester.scrapeComplete=Elem elmentve. @@ -680,22 +680,22 @@ citation.showEditor=Szerkesztő megjelenítése... citation.hideEditor=Szerkesztő elrejtése... citation.citations=Hivatkozások citation.notes=Jegyzetek -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure -citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line -citation.locator.note=Note -citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section +citation.locator.page=Oldal +citation.locator.book=Könyv +citation.locator.chapter=Fejezet +citation.locator.column=Oszlop +citation.locator.figure=Ábra +citation.locator.folio=Foliáns +citation.locator.issue=Szám (lapszám) +citation.locator.line=Sor +citation.locator.note=Jegyzet +citation.locator.opus=Mű +citation.locator.paragraph=Bekezdés +citation.locator.part=Rész +citation.locator.section=Szakasz citation.locator.subverbo=Sub verbo -citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.volume=Kötet +citation.locator.verse=Versszak report.title.default=Zotero jelentés report.parentItem=Szülő elem: @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username sync.error.enterPassword=Adja meg a jelszót. sync.error.loginManagerInaccessible=A Zotero nem fér hozzá a bejelentkezési adatokhoz. sync.error.checkMasterPassword=Ha mesterjelszót használ a %S-ban, győződjön meg róla, hogy sikeresen belépett-e. -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=A Zotero nem tud csatlakozni a fiókadataival, valószínűleg a hibás %S belépő menedzser adatbázis miatt. -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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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 már írásjogosultsága a Zotero '%S' csoportjához, és a hozzáadott vagy szerkesztett elemek nem szinkronizálhatók a szerverrel. @@ -891,7 +891,7 @@ sync.storage.error.createNow=Létrehozza? 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.enterURL=WebDAV URL megadása. sync.storage.error.webdav.invalidURL=%S nem egy érvényes WebDAV URL. sync.storage.error.webdav.invalidLogin=A WebDAV szerver nem fogadta el a megadott felhasználói nevet és jelszót. sync.storage.error.webdav.permissionDenied=Nincs hozzáférési jogosultsága a WebDAV szerver %S könyvtárához. diff --git a/chrome/locale/id-ID/zotero/csledit.dtd b/chrome/locale/id-ID/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/id-ID/zotero/zotero.properties b/chrome/locale/id-ID/zotero/zotero.properties @@ -801,9 +801,9 @@ 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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero juga mengizinkan untuk Anda menentukan editor dan translator. Anda dapat mengubah penulis menjadi editor atau translator dengan cara memilih dari menu ini. firstRunGuidance.quickFormat=Ketikkan judul atau nama penulis untuk mencari sebuah referensi.\n\nSetelah Anda melakukannya, klik pada gelembung atau tekan Ctrl-\u2193 untuk menambahkan nomor halaman, prefiks, atau sufiks. Anda juga dapat memasukkan nomor halaman bersamaan dengan istilah pencarian untuk menambahkannya secara langsung.\n\nAnda dapat mengedit sitasi secara langsung di dalam dokumn pengolah kata. firstRunGuidance.quickFormatMac=Ketikkan judul atau nama penulis untuk mencari sebuah referensi.\n\nSetelah Anda melakukannya, klik pada gelembung atau tekan Cmd-\u2193 untuk menambahkan nomor halaman, prefiks, atau sufiks. Anda juga dapat memasukkan nomor halaman bersamaan dengan istilah pencarian untuk menambahkannya secara langsung.\n\nAnda dapat mengedit sitasi secara langsung di dalam dokumn pengolah kata. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/is-IS/zotero/csledit.dtd b/chrome/locale/is-IS/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Breyta Zotero útliti"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Staðsetning tilvísunar:"> diff --git a/chrome/locale/is-IS/zotero/cslpreview.dtd b/chrome/locale/is-IS/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Forskoðun á Zotero útliti"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Snið tilvísunar:"> +<!ENTITY styles.preview.citationFormat.all "öll"> +<!ENTITY styles.preview.citationFormat.author "höfundur"> +<!ENTITY styles.preview.citationFormat.authorDate "höfundur-dagsetning"> +<!ENTITY styles.preview.citationFormat.label "merki"> +<!ENTITY styles.preview.citationFormat.note "athugasemd"> +<!ENTITY styles.preview.citationFormat.numeric "tölutákn"> diff --git a/chrome/locale/is-IS/zotero/preferences.dtd b/chrome/locale/is-IS/zotero/preferences.dtd @@ -107,7 +107,7 @@ <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Lén/Slóð"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(t.d. wikipedia.org)"> <!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Útkeyrslusnið"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Tungumál"> <!ENTITY zotero.preferences.quickCopy.dragLimit "Afvirkja Flýtiafrit þegar færðar eru meira en"> <!ENTITY zotero.preferences.prefpane.cite "Tilvísun"> @@ -145,7 +145,7 @@ <!ENTITY zotero.preferences.proxies.desc_after_link "til frekari upplýsinga."> <!ENTITY zotero.preferences.proxies.transparent "Virkja framvísun leppa"> <!ENTITY zotero.preferences.proxies.autoRecognize "Sjálvirk auðkenning á leppagögnum"> -<!ENTITY zotero.preferences.proxies.showRedirectNotification "Show notification when redirecting through a proxy"> +<!ENTITY zotero.preferences.proxies.showRedirectNotification "Tilkynna þegar framsent er gegnum staðgengil (proxy)"> <!ENTITY zotero.preferences.proxies.disableByDomain "Afvirkja framvísun leppa þegar mitt nafn á léni inniheldur"> <!ENTITY zotero.preferences.proxies.configured "Stilltir leppar"> <!ENTITY zotero.preferences.proxies.hostname "Nafn hýsitölvu"> @@ -162,7 +162,7 @@ <!ENTITY zotero.preferences.prefpane.advanced "Ítarlegt"> <!ENTITY zotero.preferences.advanced.filesAndFolders "Skrár og möppur"> -<!ENTITY zotero.preferences.advanced.keys "Shortcuts"> +<!ENTITY zotero.preferences.advanced.keys "Flýtivísanir"> <!ENTITY zotero.preferences.prefpane.locate "Staðsetja"> <!ENTITY zotero.preferences.locate.locateEngineManager "Stýring á greinaleitarvél"> @@ -203,6 +203,6 @@ <!ENTITY zotero.preferences.debugOutputLogging.submitToServer "Senda til Zotero netþjóns"> <!ENTITY zotero.preferences.openAboutConfig "Opna um: stillingar"> -<!ENTITY zotero.preferences.openCSLEdit "Open Style Editor"> -<!ENTITY zotero.preferences.openCSLPreview "Open Style Preview"> +<!ENTITY zotero.preferences.openCSLEdit "Breyta stíl"> +<!ENTITY zotero.preferences.openCSLPreview "Forskoðun stíls"> <!ENTITY zotero.preferences.openAboutMemory "Opna um: minni"> diff --git a/chrome/locale/is-IS/zotero/zotero.dtd b/chrome/locale/is-IS/zotero/zotero.dtd @@ -6,8 +6,8 @@ <!ENTITY zotero.general.delete "Eyða"> <!ENTITY zotero.general.ok "Í lagi"> <!ENTITY zotero.general.cancel "Hætta við"> -<!ENTITY zotero.general.refresh "Refresh"> -<!ENTITY zotero.general.saveAs "Save As…"> +<!ENTITY zotero.general.refresh "Endurnýja"> +<!ENTITY zotero.general.saveAs "Vista sem..."> <!ENTITY zotero.errorReport.title "Zotero villutilkynning"> <!ENTITY zotero.errorReport.unrelatedMessages "Hér gætu einnig verið skilaboð ótengd Zotero."> @@ -84,7 +84,7 @@ <!ENTITY zotero.items.menu.attach "Sækja viðhengi"> <!ENTITY zotero.items.menu.attach.snapshot "Hengja við flýtimynd af síðunni sem nú er opin"> <!ENTITY zotero.items.menu.attach.link "Hengja slóð við síðuna sem nú er opin"> -<!ENTITY zotero.items.menu.attach.link.uri "Hengja við slóð á URL"> +<!ENTITY zotero.items.menu.attach.link.uri "Hengja slóð á URI..."> <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> @@ -125,9 +125,9 @@ <!ENTITY zotero.item.textTransform "Varpa texta"> <!ENTITY zotero.item.textTransform.titlecase "Stafagerð titils"> <!ENTITY zotero.item.textTransform.sentencecase "Stafagerð setninga"> -<!ENTITY zotero.item.creatorTransform.nameSwap "Swap First/Last Names"> -<!ENTITY zotero.item.viewOnline "View Online"> -<!ENTITY zotero.item.copyAsURL "Copy as URL"> +<!ENTITY zotero.item.creatorTransform.nameSwap "Skipta á for-/eftirnafni"> +<!ENTITY zotero.item.viewOnline "Skoða nettengt"> +<!ENTITY zotero.item.copyAsURL "Afrita sem URL"> <!ENTITY zotero.toolbar.newNote "Ný athugasemd"> <!ENTITY zotero.toolbar.note.standalone "Ný sjálfstæð athugasemd"> @@ -165,7 +165,7 @@ <!ENTITY zotero.bibliography.title "Skapa tilvísun/heimildaskrá"> <!ENTITY zotero.bibliography.style.label "Tegund tilvísunar:"> -<!ENTITY zotero.bibliography.locale.label "Language:"> +<!ENTITY zotero.bibliography.locale.label "Tungumál:"> <!ENTITY zotero.bibliography.outputMode "Útskriftarhamur:"> <!ENTITY zotero.bibliography.bibliography "Heimildaskrá"> <!ENTITY zotero.bibliography.outputMethod "Útskriftaraðferð:"> @@ -287,6 +287,6 @@ <!ENTITY zotero.downloadManager.saveToLibrary.description "Ekki er hægt að vista viðhengi í því safni sem nú er valið. Þessi færsla verður vistuð í þínu safni í staðinn."> <!ENTITY zotero.downloadManager.noPDFTools.description "Til að nota þessa aðgerð verður þú fyrst að setja upp PDF verkfæri í leitarrúðunni í Zotero kjörstillingum."> -<!ENTITY zotero.attachLink.title "Attach Link to URI"> -<!ENTITY zotero.attachLink.label.link "Link:"> -<!ENTITY zotero.attachLink.label.title "Title:"> +<!ENTITY zotero.attachLink.title "Hengja slóð á URI"> +<!ENTITY zotero.attachLink.label.link "Slóð:"> +<!ENTITY zotero.attachLink.label.title "Titill:"> diff --git a/chrome/locale/is-IS/zotero/zotero.properties b/chrome/locale/is-IS/zotero/zotero.properties @@ -42,7 +42,7 @@ general.create=Skapa general.delete=Eyða general.moreInformation=Frekari upplýsingar general.seeForMoreInformation=Sjá %S til frekari upplýsinga -general.open=Open %S +general.open=Opna %S general.enable=Virkja general.disable=Lama general.remove=Fjarlægja @@ -55,7 +55,7 @@ general.numMore=%S fleiri... general.openPreferences=Opna kjörstillingar general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ -general.dontShowAgain=Don’t Show Again +general.dontShowAgain=Ekki sýna aftur general.operationInProgress=Zotero aðgerð er í núna í vinnslu. general.operationInProgress.waitUntilFinished=Vinsamlegast bíðið þar til henni er lokið. @@ -197,19 +197,19 @@ tagColorChooser.maxTags=Allt að %S tög í hverju safni geta verið lituð. pane.items.loading=Flyt inn færslur... pane.items.columnChooser.moreColumns=Fleiri dálkar pane.items.columnChooser.secondarySort=Víkjandi röðun (%S) -pane.items.attach.link.uri.unrecognized=Zotero did not recognize the URI you entered. Please check the address and try again. -pane.items.attach.link.uri.file=To attach a link to a file, please use “%S”. +pane.items.attach.link.uri.unrecognized=Zotero kannaðist ekki við URI sem þú valdir. Vinsamlegast athugaðu slóðina og reyndu aftur. +pane.items.attach.link.uri.file=Til að hengja slóð á skrá, notið “%S”. pane.items.trash.title=Færa í ruslið pane.items.trash=Ertu viss um að þú viljir flytja valda færslu í ruslið? pane.items.trash.multiple=Ertu viss um að þú viljir færa valdar færslur í ruslið? pane.items.delete.title=Eyða pane.items.delete=Viltu örugglega eyða valdri færslu? pane.items.delete.multiple=Viltu örugglega eyða völdum færslum? -pane.items.remove.title=Remove from Collection -pane.items.remove=Are you sure you want to remove the selected item from this collection? -pane.items.remove.multiple=Are you sure you want to remove the selected items from this collection? -pane.items.menu.remove=Remove Item from Collection… -pane.items.menu.remove.multiple=Remove Items from Collection… +pane.items.remove.title=Fjarlægja úr safni +pane.items.remove=Ertu viss um að þú viljir fjarlægja valda færslu úr þessu safni? +pane.items.remove.multiple=Ertu viss um að þú viljir fjarlægja valdar færslur úr þessu safni? +pane.items.menu.remove=Fjarlægja færslu úr safni... +pane.items.menu.remove.multiple=Fjarlægja færslur úr safni... pane.items.menu.moveToTrash=Henda færslu í ruslatunnu... pane.items.menu.moveToTrash.multiple=Henda færslum í ruslatunnu... pane.items.menu.export=Flytja út valda færslu... @@ -226,7 +226,7 @@ pane.items.menu.createParent=Búa til móðurfærslu pane.items.menu.createParent.multiple=Búa til móðurfærslur pane.items.menu.renameAttachments=Endurnefna skrá í samræmi við lýsigögn sem fylgja skránni pane.items.menu.renameAttachments.multiple=Endurnefna skrár í samræmi við lýsigögn sem fylgja skránum -pane.items.showItemInLibrary=Show Item in Library +pane.items.showItemInLibrary=Sýna færslu í safni pane.items.letter.oneParticipant=Bréf til %S pane.items.letter.twoParticipants=Bréf til %S og %S @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Þú getur ekki bætt skrám við safnið ingester.saveToZotero=Vista í Zotero ingester.saveToZoteroUsing=Vista í Zotero með "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Vista í Zotero sem vefsíðu (með skjáskoti) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Vista í Zotero sem vefsíðu (án skjáskots) ingester.scraping=Vista færslu... ingester.scrapingTo=Vista á ingester.scrapeComplete=Færsla vistuð @@ -569,15 +569,15 @@ zotero.preferences.export.quickCopy.exportFormats=Flytja út snið zotero.preferences.export.quickCopy.instructions=Hægt er að afrita færslur í minni með því að ýta á %S eða draga þær inn á textasvæði á vefsíðu. zotero.preferences.export.quickCopy.citationInstructions=í stíl heimildaskráa er hægt að afrita tilvísanir eða neðanmálstexta með því að ýta á %S og halda niðri Shift takka á meðan færslur eru dregnar. -zotero.preferences.wordProcessors.installationSuccess=Installation was successful. -zotero.preferences.wordProcessors.installationError=Installation could not be completed because an error occurred. Please ensure that %1$S is closed, and then restart %2$S. -zotero.preferences.wordProcessors.installed=The %S add-in is currently installed. -zotero.preferences.wordProcessors.notInstalled=The %S add-in is not currently installed. -zotero.preferences.wordProcessors.install=Install %S Add-in -zotero.preferences.wordProcessors.reinstall=Reinstall %S Add-in -zotero.preferences.wordProcessors.installing=Installing %S… -zotero.preferences.wordProcessors.incompatibleVersions1=%1$S %2$S is incompatible with versions of %3$S before %4$S. Please remove %3$S, or download the latest version from %5$S. -zotero.preferences.wordProcessors.incompatibleVersions2=%1$S %2$S requires %3$S %4$S or later to run. Please download the latest version of %3$S from %5$S. +zotero.preferences.wordProcessors.installationSuccess=Uppsetning heppnaðist. +zotero.preferences.wordProcessors.installationError=Uppsetningin kláraðist ekki vegna villu. Vinsamlegast fullvissaðu þig um að %1$S er lokað, og endurræstu %2$S. +zotero.preferences.wordProcessors.installed=%S viðbótin er nú þegar uppsett. +zotero.preferences.wordProcessors.notInstalled=%S er ekki uppsett. +zotero.preferences.wordProcessors.install=Setja upp %S viðbót +zotero.preferences.wordProcessors.reinstall=Enduruppsetja %S viðbót +zotero.preferences.wordProcessors.installing=Set upp %S... +zotero.preferences.wordProcessors.incompatibleVersions1=%1$S %2$S samræmist ekki útgáfum %3$S eldri en %4$S. Vinsamlegast fjarlægðu %3$S, eða náðu í nýjustu útgáfuna frá %5$S. +zotero.preferences.wordProcessors.incompatibleVersions2=%1$S %2$S krefst %3$S %4$S eða seinni til að virka. Vinsamlegast náðu í nýjustu útgáfu af %3$S frá %5$S. zotero.preferences.styles.addStyle=Bæta við stíl @@ -680,22 +680,22 @@ citation.showEditor=Show Editor... citation.hideEditor=Hide Editor... citation.citations=Tilvitnanir citation.notes=Athugasemd -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure -citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line -citation.locator.note=Note -citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section -citation.locator.subverbo=Sub verbo -citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.page=Síða +citation.locator.book=Bók +citation.locator.chapter=Kafli +citation.locator.column=Dálkur +citation.locator.figure=Mynd +citation.locator.folio=Tvíblöðungur +citation.locator.issue=Hefti +citation.locator.line=Lína +citation.locator.note=Athugasemd +citation.locator.opus=Tónverk +citation.locator.paragraph=Málsgrein +citation.locator.part=Partur +citation.locator.section=Hluti +citation.locator.subverbo=Undirmál +citation.locator.volume=Bindi +citation.locator.verse=Vers report.title.default=Zotero skýrsla report.parentItem=Móðurfærsla: @@ -757,7 +757,7 @@ integration.missingItem.multiple=Færsla %1$S í upplýstu tilvísuninni er ekki integration.missingItem.description=Ef "Nei" er valið þá eyðast svæðiskóðarnir í tilvitnunum sem innihald þessa færslu og varðveita tilvísunartextann en eyða honum úr heimildaskránni. integration.removeCodesWarning=Þegar svæðiskóðar eru fjarlægðir getur Zotero ekki uppfært tilvísanir og heimildaskrár í þessu skjali. Ertu viss um að þú viljir halda áfram? integration.upgradeWarning=Your document must be permanently upgraded in order to work with Zotero 2.0b7 or later. It is recommended that you make a backup before proceeding. Are you sure you want to continue? -integration.error.newerDocumentVersion=Your document was created with a newer version of Zotero (%1$S) than the currently installed version (%2$S). Please upgrade Zotero before editing this document. +integration.error.newerDocumentVersion=Skjalið þitt var búið til með nýrri útgáfu af Zotero (%1$S) en þeirri sem nú er í notkun (%2$S). Vinsamlegast uppfærðu Zotero áður en þú breytir þessu skjali. integration.corruptField=Zotero svæðiskóðarnir sem svara til þessarar tilvitnunar, sem segja Zotero hvaða færsla í þínu safni á við þessa tilvitnun, hafa skemmst. Viltu endurvelja færsluna? integration.corruptField.description=Ef "Nei" er valið þá eyðast svæðiskóðarnir í tilvitnunum sem innihalda þessa færslu og varðveita tilvitnunartextann en eyðir þeim hugsanlega úr heimildaskránni. integration.corruptBibliography=Zotero svæðiskóðinn í heimildaskrá þinni er skemmdur. Viltu að Zotero eyði þessum svæðiskóða og skapi nýja heimildaskrá? @@ -789,8 +789,8 @@ sync.removeGroupsAndSync=Fjarlægja hópa og samhæfa sync.localObject=Staðbundinn hlutur sync.remoteObject=Fjartengdur hlutur sync.mergedObject=Sameinaður hlutur -sync.merge.resolveAllLocal=Use the local version for all remaining conflicts -sync.merge.resolveAllRemote=Use the remote version for all remaining conflicts +sync.merge.resolveAllLocal=Notaðu staðarútgáfuna til að forðast alla viðbótar árekstra +sync.merge.resolveAllRemote=Notaðu fjartengdu útgáfuna til allra viðbótar árekstra sync.error.usernameNotSet=Notandanafn ekki tilgreint @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zotero samhæfingarþjónninn samþykkti ekki notan sync.error.enterPassword=Vinsamlegast sláðu inn lykilorð sync.error.loginManagerInaccessible=Zotero getur ekki opnað innskráningarupplýsingarnar þínar. sync.error.checkMasterPassword=Ef þú ert að nota móðurlykilorð í %S, gakktu úr skugga um að þú hafir slegið það rétt inn. -sync.error.corruptedLoginManager=Þetta gæti einnig verið vegna skemmd í %1$S innskráningargagnagrunni. Til að kanna það, lokaðu %1$S, fjarlægðu signons.sqlite úr %1$S forstillingar möppunni þinni og skráðu aftur Zotero innskráningarupplýsingarnar þínar í Samhæfingar rúðunni í Zotero kjörstillingum. -sync.error.loginManagerCorrupted1=Zotero getur ekki lesið innskráningarupplýsingar um þig, hugsanlega vegna villu í %S innskráningar gagnagrunni. -sync.error.loginManagerCorrupted2=Lokaðu %1$S, fjarlægðu signons.sqlite úr %2$S forstillingar möppunni þinni og skráðu aftur Zotero innskráningarupplýsingarnar þínar í Samæfingar rúðunni í Zotero kjörstillingum. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Samhæfingaraðgerð er nú þegar í gangi. sync.error.syncInProgress.wait=Wait for the previous sync to complete or restart Firefox. sync.error.writeAccessLost=Þú hefur ekki lengur skrifaðgang að Zotero hóp '%S' og færslur sem þú hefur bætt við eða breytt geta ekki samhæfst þjóni. @@ -965,7 +965,7 @@ file.accessError.message.windows=Athugaðu hvort skráin er núna í notkun, hvo file.accessError.message.other=Athugaðu hvort skráin er núna í notkun og hvort hún hafi skrifheimildir. file.accessError.restart=Endurræsing tölvu eða aftenging öryggisforrita gæti einnig virkað. file.accessError.showParentDir=Sýna móðurmöppu -file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file. +file.error.cannotAddShortcut=Ekki er hægt að bæta flýtiskrám beint við. Vinsamlegast veldu upprunalegu skrána. lookup.failure.title=Leit tókst ekki lookup.failure.description=Zotero gat ekki fundið skrá með tilgreindu auðkenni. Vinsamlegast yfirfarið auðkennið og reynið aftur. @@ -1004,15 +1004,15 @@ connector.loadInProgress=Zotero Standalone var opnað en ekki aðgengilegt. Ef firstRunGuidance.authorMenu=Zotero leyfir þér einnig að tilgreina ritstjóra og þýðendur. Þú getur breytt höfundi í ritstjóra eða þýðanda í þessum valskjá. firstRunGuidance.quickFormat=Sláðu inn titil eða höfund til að leita að heimild.\n\nEftir val þitt, ýttu þá á belginn eða á Ctrl-↓ til að bæta við blaðsíðunúmerum, forskeytum eða viðskeytum. Þú getur einnig tilgreint síðunúmer í leitinni til að bæta því strax við.\n\nÞú getur breytt tilvitnunum þar sem þær standa í ritvinnsluskjalinu. firstRunGuidance.quickFormatMac=Sláðu inn titil eða höfund til að leita að heimild.\n\nEftir val þitt, ýttu þá á belginn eða á Ctrl-↓ til að bæta við blaðsíðunúmerum, forskeytum eða viðskeytum. Þú getur einnig tilgreint síðunúmer í leitinni til að bæta því strax við.\n\nÞú getur breytt tilvitnunum þar sem þær standa í ritvinnsluskjalinu. -firstRunGuidance.toolbarButton.new=Ýttu hér til að opna Zotero, eða notaðu %S flýtitakka. +firstRunGuidance.toolbarButton.new=Ýttu á ‘Z’ takkann til að opna Zotero, eða notaðu %S flýtileið á lyklaborði. firstRunGuidance.toolbarButton.upgrade=Zotero táknið mun nú sjást á Firefox tólaslánni. Ýttu á táknið til að opna Zotero eða notaðu %S flýtitakka. -firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. - -styles.bibliography=Bibliography -styles.editor.save=Save Citation Style -styles.editor.warning.noItems=No items selected in Zotero. -styles.editor.warning.parseError=Error parsing style: -styles.editor.warning.renderError=Error generating citations and bibliography: -styles.editor.output.individualCitations=Individual Citations -styles.editor.output.singleCitation=Single Citation (with position "first") -styles.preview.instructions=Select one or more items in Zotero and click the "Refresh" button to see how these items are rendered by the installed CSL citation styles. +firstRunGuidance.saveButton=Ýttu á þennan takka til að vista hvaða vefsíðu sem er í Zotero safnið þitt. Zotero getur á sumum síðum vistað allar upplýsingar, að meðtöldum höfundi og dagsetningu. + +styles.bibliography=Ritaskrá +styles.editor.save=Vista tilvísunarstíl +styles.editor.warning.noItems=Engar færslar valdar í Zotero +styles.editor.warning.parseError=Villa þáttunarstíll: +styles.editor.warning.renderError=Villa við að útbúa tilvísanir og ritaskrá: +styles.editor.output.individualCitations=Sjálfstæðar tilvísanir +styles.editor.output.singleCitation=Ein tilvísun (staðsett "fremst") +styles.preview.instructions=Veldu eina eða fleiri færslur í Zotero og ýttu á "Endurnýja" takkann til að sjá hvernig þær birtast í uppsettum CSL tilvísunarstílum. diff --git a/chrome/locale/it-IT/zotero/csledit.dtd b/chrome/locale/it-IT/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/it-IT/zotero/zotero.properties b/chrome/locale/it-IT/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Il server di sincronizzazione di Zotero non ha acce 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, 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 non è riuscito a trovare ai tuoi dati di accesso, forse a causa di un errore nel database del login manager di %S. -sync.error.loginManagerCorrupted2=Chiudi %1$S, elimina il file signons.sqlite dalla directory del profilo di %2$S, e inserisci nuovamente i tuoi dati di accesso nel tab Sincronizzazione delle impostazioni di Zotero. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero consente di specificare anche i curatori e i traduttori. È possibile convertire un autore in un curatore o traduttore selezionando da questo menu. firstRunGuidance.quickFormat=Digitare un titolo o un autore per cercare un riferimento bibliografico.\n\nDopo aver effettuato una selezione cliccare la bolla o premere Ctrl-\u2193 per aggiungere i numeri di pagina, prefissi o suffissi. È possibile includere un numero di pagina nei termini di ricerca per aggiungerlo direttamente.\n\nÈ possibile modificare le citazioni direttamente nel documento dell'elaboratore di testi. firstRunGuidance.quickFormatMac=Digitare un titolo o un autore per cercare un riferimento bibliografico.\n\nDopo aver effettuato una selezione cliccare la bolla o premere Cmd-\u2193 per aggiungere i numeri di pagina, prefissi o suffissi. È possibile includere un numero di pagina nei termini di ricerca per aggiungerlo direttamente.\n\nÈ possibile modificare le citazioni direttamente nel documento dell'elaboratore di testi. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/ja-JP/zotero/csledit.dtd b/chrome/locale/ja-JP/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/ja-JP/zotero/zotero.properties b/chrome/locale/ja-JP/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zotero 同期サーバーはあなたのユーザ sync.error.enterPassword=パスワードを入力してください sync.error.loginManagerInaccessible=あなたのログイン情報にアクセスできません。 sync.error.checkMasterPassword=%Sでマスターパスワードを設定している場合、これを正しく入力したか確認してださい。 -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 プロファイル・ディレクトリから、signons.sqlite を取り除き、Zotero 環境設定の「同期」画面で、Zotero ログイン情報を再度入力して下さい。 +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=あなたはもはや Zotero グループ '%S'への書き込み権限がありません。あなたが追加または編集したファイルをサーバ側と同期させることはできません。 diff --git a/chrome/locale/km/zotero/csledit.dtd b/chrome/locale/km/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/km/zotero/zotero.properties b/chrome/locale/km/zotero/zotero.properties @@ -801,9 +801,9 @@ 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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=ហ្ស៊ូតេរ៉ូក៏អាចឲអ្នកធ្វើការកត់សម្គាល់អ្នកកែតម្រូវ និង អ្នកបកប្រែផងដែរ។ អ្នកអាចធ្វើការប្តូរអ្នកនិពន្ធទៅជាអ្នកកែតម្រូវ និង អ្នកបកប្រែតាមរយៈការជ្រើសរើសចេញពីបញ្ជីនេះ។ firstRunGuidance.quickFormat=សូមវាយចំណងជើង ឬ អ្នកនិពន្ធសម្រាប់ស្រាវជ្រាវរកឯកសារយោង។ បន្ទាប់ពីអ្នកបានជ្រើសរើស សូមចុចរូបសញ្ញា ឬ ចុច Ctrl-\u2193 ដើម្បីបន្ថែមលេខទំព័រ បុព្វបទ ឬ បច្ច័យ។ អ្នកក៏អាចបន្ថែមលេខទំព័រដោយផ្ទាល់ទៅនឹងកិច្ចការស្រាវជ្រាវ។ អ្នកអាចកែតម្រូវអគតដ្ឋានបានដោយផ្ទាល់នៅក្នុងឯកសារវើដ។ firstRunGuidance.quickFormatMac=សូមវាយចំណងជើង ឬ អ្នកនិពន្ធសម្រាប់ស្រាវជ្រាវរកឯកសារយោង។ បន្ទាប់ពីអ្នកបានជ្រើសរើស សូមចុចរូបសញ្ញា ឬ ចុច Cmd-\u2193 ដើម្បីបន្ថែមលេខទំព័រ បុព្វបទ ឬ បច្ច័យ។ អ្នកក៏អាចបន្ថែមលេខទំព័រដោយផ្ទាល់ទៅនឹងកិច្ចការស្រាវជ្រាវ។ អ្នកអាចកែតម្រូវអគតដ្ឋានបានដោយផ្ទាល់នៅក្នុងឯកសារវើដ។ -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/ko-KR/zotero/csledit.dtd b/chrome/locale/ko-KR/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/ko-KR/zotero/zotero.properties b/chrome/locale/ko-KR/zotero/zotero.properties @@ -801,9 +801,9 @@ 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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=편집자나 번역자 등을 입력할 수도 있습니다. 작가 탭의 메뉴에서 편집자나 번역가 등을 선택하시면 됩니다. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-\u2193 to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/lt-LT/zotero/csledit.dtd b/chrome/locale/lt-LT/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/lt-LT/zotero/preferences.dtd b/chrome/locale/lt-LT/zotero/preferences.dtd @@ -107,7 +107,7 @@ <!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.siteEditor.locale "Language"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Kalba"> <!ENTITY zotero.preferences.quickCopy.dragLimit "Neleisti greitai kopijuoti, jei tempiama daugiau kaip"> <!ENTITY zotero.preferences.prefpane.cite "Citavimas"> @@ -145,7 +145,7 @@ <!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.showRedirectNotification "Show notification when redirecting through a proxy"> +<!ENTITY zotero.preferences.proxies.showRedirectNotification "Rodyti perspėjimą kai nukreipiama per proxy serverį"> <!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"> diff --git a/chrome/locale/lt-LT/zotero/zotero.dtd b/chrome/locale/lt-LT/zotero/zotero.dtd @@ -126,8 +126,8 @@ <!ENTITY zotero.item.textTransform.titlecase "Antraštės raidžių lygis"> <!ENTITY zotero.item.textTransform.sentencecase "Sakinio pavidalu"> <!ENTITY zotero.item.creatorTransform.nameSwap "Sukeisti vardus ir pavardes"> -<!ENTITY zotero.item.viewOnline "View Online"> -<!ENTITY zotero.item.copyAsURL "Copy as URL"> +<!ENTITY zotero.item.viewOnline "Rodyti Internete"> +<!ENTITY zotero.item.copyAsURL "Kopijuoti URL"> <!ENTITY zotero.toolbar.newNote "Nauja pastaba"> <!ENTITY zotero.toolbar.note.standalone "Nauja nesusieta pastaba"> @@ -165,7 +165,7 @@ <!ENTITY zotero.bibliography.title "Sukurti citavimą/bibliografiją"> <!ENTITY zotero.bibliography.style.label "Citavimo stilius:"> -<!ENTITY zotero.bibliography.locale.label "Language:"> +<!ENTITY zotero.bibliography.locale.label "Kalba:"> <!ENTITY zotero.bibliography.outputMode "Išvedimo veiksena:"> <!ENTITY zotero.bibliography.bibliography "Bibliografija"> <!ENTITY zotero.bibliography.outputMethod "Išvedimo būdas:"> diff --git a/chrome/locale/lt-LT/zotero/zotero.properties b/chrome/locale/lt-LT/zotero/zotero.properties @@ -55,7 +55,7 @@ general.numMore=dar %S... general.openPreferences=Atverti nuostatas general.keys.ctrlShift=Vald+Lyg2+ general.keys.cmdShift=Meta+Lyg2+ -general.dontShowAgain=Don’t Show Again +general.dontShowAgain=Daugiau Nerodyti general.operationInProgress=Šiuo metu Zotero atlieka tam tikrus veiksmus. general.operationInProgress.waitUntilFinished=Palaukite, kol bus baigta. @@ -348,7 +348,7 @@ itemFields.ISBN=ISBN itemFields.publicationTitle=Leidinys itemFields.ISSN=ISSN itemFields.date=Data -itemFields.section=Skyrius +itemFields.section=Skirsnis itemFields.callNumber=Šifras itemFields.archiveLocation=Vieta archyve itemFields.distributor=Platintojas @@ -680,22 +680,22 @@ citation.showEditor=Rodyti rengyklę... citation.hideEditor=Slėpti rengyklę... citation.citations=Citavimai citation.notes=Pastabos -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure -citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line -citation.locator.note=Note +citation.locator.page=Puslapis +citation.locator.book=Knyga +citation.locator.chapter=Skyrius +citation.locator.column=Stulpelis +citation.locator.figure=Iliustracija +citation.locator.folio=Foliantas +citation.locator.issue=Leidimas +citation.locator.line=Eilutė +citation.locator.note=Pastaba citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section +citation.locator.paragraph=Pastraipa +citation.locator.part=Dalis +citation.locator.section=Skirsnis citation.locator.subverbo=Sub verbo -citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.volume=Tomas +citation.locator.verse=Posmas report.title.default=Zotero ataskaita report.parentItem=Viršesnis įrašas: @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zotero sinchronizavimo serveris nepriėmė jūsų n sync.error.enterPassword=Įveskite slaptažodį. sync.error.loginManagerInaccessible=Zotero negali pasiekti jūsų prisijungimo informacijos. sync.error.checkMasterPassword=Jei dirbdami su %S naudojate pagrindinį slaptažodį, patikrinkite, ar jį teisingai įvedėte. -sync.error.corruptedLoginManager=Taip gali nutikti dėl sugadintos %1$S prisijungimų tvarkytuvės duombazės. Norėdami patikrinti, užverkite %1$S, iš savo %1$S profilio pašalinkite signons.sqlite ir Zotero nuostatų sinchronizavimo skydelyje iš naujo įveskite savo Zotero prisijungimo informaciją. -sync.error.loginManagerCorrupted1=Zotero negali pasiekti prisijungimo informacijos greičiausiai dėl to, kad sugadinta %S prisijungimo tvarkytuvės duomenų bazė. -sync.error.loginManagerCorrupted2=Užverkite %1$S, iš %2$S profilio katalogo pašalinkite signons.sqlite ir Zotero nuostatų sinchronizavimo skydelyje iš naujo įveskite savo Zotero prisijungimo informaciją. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Sinchronizacija tęsiasi. sync.error.syncInProgress.wait=Palaukite, kol baigsis ankstesnis sinchronizavimas, arba iš naujo paleiskite %S. sync.error.writeAccessLost=Jūs nebeturite teisės rašyti į Zotero grupę „%S“, o duomenų, kuriuos įkėlėte į serverį arba redagavote, nebegalite sinchronizuoti su serveriu. @@ -965,7 +965,7 @@ file.accessError.message.windows=Patikrinkite, ar failo šiuo metu nenaudoja kit file.accessError.message.other=Patikrinkite, ar failo niekas šiuo metu nenaudoja ir ar turite leidimą rašyti. file.accessError.restart=Dar galite pamėginti iš naujo paleisti kompiuterį arba išjungti išjungti saugumo programas. file.accessError.showParentDir=Parodyti aukštesnio lygio katalogą -file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file. +file.error.cannotAddShortcut=Failų nurodos negali būti įkeltos į Zotero. Prašome tiesiogiai pasirinkti failą į kurį ši nuoroda yra nukreipta. lookup.failure.title=Rasti nepavyko lookup.failure.description=Zotero neranda įrašo su nurodytu identifikatoriumi. Patikrinkite identifikatorių ir bandykite iš naujo. @@ -1006,7 +1006,7 @@ firstRunGuidance.quickFormat=Įveskite ieškomą pavadinimą arba autorių.\n\nP firstRunGuidance.quickFormatMac=Įveskite ieškomą pavadinimą arba autorių.\n\nPasirinkę norimą, paspauskite ties skrituliuku arba nuspauskite Cmd+↓ – tada galėsite nurodyti puslapius, priešdėlius, priesagas. Paieškoje prie ieškomų raktažodžių galite nurodyti puslapius.\n\nCitavimą galite redaguoti tekstų rengyklėje tiesiogiai. firstRunGuidance.toolbarButton.new=Čia spragtelėję arba nuspaudę %S klavišus, atversite Zotero. firstRunGuidance.toolbarButton.upgrade=Nuo šiol „Zotero“ ženkliuką rasite Firefox įrankinėje. „Zotero“ atversite spustelėję ženkliuką arba nuspaudę %S klavišus. -firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. +firstRunGuidance.saveButton=Spauskite šį ženkliuką, kad išsaugoti bet kurį interneto puslapį į savo biblioteką. Kai kuriose svetainėse Zotero gali išsaugoti papildomą informaciją, pvz. autoriaus vardą, leidimo datą, ir t.t. styles.bibliography=Bibliografija styles.editor.save=Įrašyti citavimo stilių diff --git a/chrome/locale/mn-MN/zotero/csledit.dtd b/chrome/locale/mn-MN/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/zotero/zotero.properties @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/nb-NO/zotero/csledit.dtd b/chrome/locale/nb-NO/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/nb-NO/zotero/zotero.properties b/chrome/locale/nb-NO/zotero/zotero.properties @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/nl-NL/zotero/csledit.dtd b/chrome/locale/nl-NL/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/nl-NL/zotero/zotero.properties b/chrome/locale/nl-NL/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=De Zotero-synchronisatieserver accepteerde niet uw sync.error.enterPassword=Voer een wachtwoord in. sync.error.loginManagerInaccessible=Zotero heeft geen toegang tot uw inloginformatie. sync.error.checkMasterPassword=Als u gebruik maakt van een hoofdwachtwoord in %S wees er dan zeker van dat u dit juist heeft ingevuld. -sync.error.corruptedLoginManager=Dit kan ook het gevolg zijn van een beschadigde %1$S login manager database. Om te controleren: sluit %1$S, verwijder signons.sqlite uit uw %2$2 profiel-bestandsmap, en voer opnieuw uw Zotero inlog-informatie in bij het tabblad Synchroniseren van de Zotero-voorkeuren. -sync.error.loginManagerCorrupted1=Zotero kan niet bij uw inloginformatie, mogelijk vanwege een beschadigde %S login manager database. -sync.error.loginManagerCorrupted2=Sluit %1$S, verwijder signons.sqlite uit uw %2$2 profiel-bestandsmap, en voer opnieuw uw Zotero inloginformatie in bij het tabblad Synchroniseren van de Zotero-voorkeuren. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Er wordt al gesynchroniseerd. sync.error.syncInProgress.wait=Wacht totdat de vorige synchronisatie is voltooid of herstart %S. sync.error.writeAccessLost=U heeft geen schrijfrechten meer voor de Zotero groep '%S', en bestanden die u heeft toegevoegd of gewijzigd kunnen niet met de server gesynchroniseerd worden. diff --git a/chrome/locale/nn-NO/zotero/csledit.dtd b/chrome/locale/nn-NO/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/nn-NO/zotero/zotero.properties b/chrome/locale/nn-NO/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=The Zotero sync server did not accept your username sync.error.enterPassword=Skriv inn passord. 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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Ei synkronisering er allereie i gang. sync.error.syncInProgress.wait=Vent til den førre synkroniseringa er ferdig eller start om att %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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/pl-PL/zotero/csledit.dtd b/chrome/locale/pl-PL/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Edytor stylów Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Pozycja cytowania:"> diff --git a/chrome/locale/pl-PL/zotero/cslpreview.dtd b/chrome/locale/pl-PL/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Podgląd stylu Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Format cytowania:"> +<!ENTITY styles.preview.citationFormat.all "wszystkie"> +<!ENTITY styles.preview.citationFormat.author "autor"> +<!ENTITY styles.preview.citationFormat.authorDate "autor-data"> +<!ENTITY styles.preview.citationFormat.label "etykieta"> +<!ENTITY styles.preview.citationFormat.note "notatka"> +<!ENTITY styles.preview.citationFormat.numeric "numeryczny"> diff --git a/chrome/locale/pl-PL/zotero/zotero.properties b/chrome/locale/pl-PL/zotero/zotero.properties @@ -442,7 +442,7 @@ creatorTypes.author=Autor creatorTypes.contributor=Współautor creatorTypes.editor=Redaktor creatorTypes.translator=Tłumacz -creatorTypes.seriesEditor=Redaktor serii wyd. +creatorTypes.seriesEditor=Redaktor serii creatorTypes.interviewee=Wywiad z creatorTypes.interviewer=Prowadzący wywiad creatorTypes.director=Reżyser @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Nie możesz dodać plików do aktualnie wy ingester.saveToZotero=Zapisz w Zotero ingester.saveToZoteroUsing=Zapisz w Zotero używając "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Zapisz w Zotero jako stronę internetową (dołącz zrzut) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Zapisz w Zotero jako stronę internetową (bez zrzutu) ingester.scraping=Zapisywanie elementu... ingester.scrapingTo=Zapisywanie do ingester.scrapeComplete=Element zapisano. @@ -676,8 +676,8 @@ date.tomorrow=jutro citation.multipleSources=Wiele źródeł citation.singleSource=Pojedyncze źródło -citation.showEditor=Wyświetl redaktora -citation.hideEditor=Ukryj redaktora +citation.showEditor=Wyświetl redaktora... +citation.hideEditor=Ukryj redaktora... citation.citations=Cytowania citation.notes=Notatki citation.locator.page=Strona @@ -690,7 +690,7 @@ citation.locator.issue=Issue citation.locator.line=Line citation.locator.note=Notatka citation.locator.opus=Opus -citation.locator.paragraph=Paragraph +citation.locator.paragraph=Akapit citation.locator.part=Część citation.locator.section=Sekcja citation.locator.subverbo=Sub verbo @@ -771,7 +771,7 @@ styles.install.unexpectedError=Podczas instalacji "%1$@" napotkano nieoczekiwany styles.installStyle=Zainstalować styl "%1$S" z %2$S? styles.updateStyle=Czy zastąpić istniejący styl "%1$S" stylem "%2$S" pobranym z %3$S? styles.installed=Styl "%S" został zainstalowany. -styles.installError=%S nie jest poprawnym stylem. +styles.installError=%S nie jest poprawnym plikiem stylu. styles.validationWarning="%S" nie jest poprawnym plikiem stylu CSL 1.0.1 i może nie działać poprawnie w Zotero.\n\nCzy na pewno kontynuować? styles.installSourceError=%1$S w %2$S odsyła do nieprawidłowego lub nieistniejącego pliku CSL jako swojego źródła. styles.deleteStyle=Czy na pewno usunąć styl "%1$S"? @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Serwer synchronizacji Zotero nie zaakceptował twoj sync.error.enterPassword=Proszę podać hasło. sync.error.loginManagerInaccessible=Zotero nie może uzyskać dostępu do twoich danych logowania. sync.error.checkMasterPassword=Jeśli używasz hasła głównego w %S upewnij się, że zostało ono wprowadzone poprawnie. -sync.error.corruptedLoginManager=Może to być także spowodowane uszkodzoną bazą danych haseł %1$S. Aby to sprawdzić, zamknij %1$S, usuń plik signons.sqlite ze swojego katalogu profilu %1$S, a następnie wprowadź ponownie swoje dane logowania Zotero w panelu Synchronizacja w ustawieniach Zotero. -sync.error.loginManagerCorrupted1=Zotero nie może uzyskać dostępu do twoich danych logowania, prawdopodobnie z powodu uszkodzonej bazy danych haseł %S. -sync.error.loginManagerCorrupted2=Zamknij %1$S, usuń plik signons.sqlite z twojego katalogu profilu %2$S, a następnie wprowadź ponownie swoje dane logowania Zotero w panelu Synchronizacja w ustawieniach Zostero. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 nie może uzyskać dostępu do twoich informacji logowania z powodu uszkodzonej bazy danych logowania %S. +sync.error.loginManagerCorrupted2=Zamknij %1$S, usuń pliki cert8.db, key3.db oraz logins.json ze swojego katalogu profilu %2$S, a następnie ponownie wprowadź swoje dane logowania Zotero w zakładce Synchronizacja w ustawieniach Zotero. sync.error.syncInProgress=Synchronizacja jest aktualnie w trakcie. sync.error.syncInProgress.wait=Poczekaj na zakończenie poprzedniej synchronizacji albo uruchom ponownie %S. sync.error.writeAccessLost=Nie masz już uprawnień zapisu do grupy Zotero "%S", a więc dodane lub edytowane elementy nie mogą zostać zsynchronizowane z serwerem. @@ -965,7 +965,7 @@ file.accessError.message.windows=Sprawdź, czy plik nie jest obecnie w użyciu, file.accessError.message.other=Sprawdź, czy plik nie jest aktualnie w użyciu i czy prawa dostępu do niego zezwalają na zapis. file.accessError.restart=Ponowne uruchomienie komputera lub wyłączenie oprogramowania zabezpieczającego (np. antywirusowego) również może pomóc. file.accessError.showParentDir=Wyświetl katalog nadrzędny -file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file. +file.error.cannotAddShortcut=Pliki skrótów nie mogą być bezpośrednio dodane. Wybierz proszę oryginalny plik. lookup.failure.title=Wyszukiwanie nieudane lookup.failure.description=Zotero nie potrafi odnaleźć wpisu dla podanego identyfikatora. Sprawdź proszę identyfikator i spróbuj ponownie. @@ -1004,9 +1004,9 @@ connector.loadInProgress=Samodzielny program Zotero został uruchomiony, ale nie firstRunGuidance.authorMenu=Zotero pozwala także na dodawanie redaktorów i tłumaczy. Można zmienić autora na tłumacza wybierając z tego menu. firstRunGuidance.quickFormat=Wpisz tytuł lub autora aby szukać pozycji w bibliotece.\n\nGdy dokonasz wyboru, kliknij bąbelek lub wciśnij Ctrl-\↓ aby dodać numery stron, przedrostki lub przyrostki. Możesz również wpisać numery stron wraz z wyszukiwanymi frazami, aby dodać je bezpośrednio.\n\nMożesz zmieniać odnośniki bezpośrednio w dokumencie edytora tekstu. firstRunGuidance.quickFormatMac=Wpisz tytuł lub autora aby szukać pozycji w bibliotece.\n\nGdy dokonasz wyboru, kliknij bąbelek lub wciśnij Cmd-\↓ aby dodać numery stron, przedrostki lub przyrostki. Możesz również wpisać numery stron wraz z wyszukiwanymi frazami, aby dodać je bezpośrednio.\n\nMożesz zmieniać odnośniki bezpośrednio w dokumencie edytora tekstu. -firstRunGuidance.toolbarButton.new=Kliknij tutaj, aby otworzyć Zotero lub użyj skrótu klawiaturowego %S. +firstRunGuidance.toolbarButton.new=Kliknij przycisk "Z" aby otworzyć Zotero lub użyj skrótu klawiaturowego %S. firstRunGuidance.toolbarButton.upgrade=Ikonę Zotero znajdziesz teraz w pasku narzędzi Firefoksa. Kliknij ikonę, aby uruchomić Zotero lub użyj skrótu klawiaturowego %S. -firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. +firstRunGuidance.saveButton=Kliknij ten przycisk aby zapisać stronę internetową w swojej bilbliotece Zotero. Dla niektórych stron Zotero będzie w stanie zapisać wszystkie szczegóły, włączając w to autora i datę. styles.bibliography=Bibliografia styles.editor.save=Zapisz styl cytowania diff --git a/chrome/locale/pt-BR/zotero/about.dtd b/chrome/locale/pt-BR/zotero/about.dtd @@ -10,4 +10,4 @@ <!ENTITY zotero.thanks "Agradecimentos especiais:"> <!ENTITY zotero.about.close "Fechar"> <!ENTITY zotero.moreCreditsAndAcknowledgements "Mais créditos e reconhecimentos."> -<!ENTITY zotero.citationProcessing "Citação e processamento da bibliografia"> +<!ENTITY zotero.citationProcessing "Processamento da citação e da bibliografia"> diff --git a/chrome/locale/pt-BR/zotero/csledit.dtd b/chrome/locale/pt-BR/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Editor de estilos do Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Citar Posição:"> diff --git a/chrome/locale/pt-BR/zotero/cslpreview.dtd b/chrome/locale/pt-BR/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Visualização de estilos Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Formato da citação:"> +<!ENTITY styles.preview.citationFormat.all "tudo"> +<!ENTITY styles.preview.citationFormat.author "autor"> +<!ENTITY styles.preview.citationFormat.authorDate "autor-data"> +<!ENTITY styles.preview.citationFormat.label "etiqueta"> +<!ENTITY styles.preview.citationFormat.note "nota"> +<!ENTITY styles.preview.citationFormat.numeric "numérico"> diff --git a/chrome/locale/pt-BR/zotero/preferences.dtd b/chrome/locale/pt-BR/zotero/preferences.dtd @@ -7,8 +7,8 @@ <!ENTITY zotero.preferences.prefpane.general "Geral"> -<!ENTITY zotero.preferences.userInterface "Interface do usuário"> -<!ENTITY zotero.preferences.showIn "Abrir Zotero em:"> +<!ENTITY zotero.preferences.userInterface "Interface de usuário"> +<!ENTITY zotero.preferences.showIn "Abrir o Zotero em:"> <!ENTITY zotero.preferences.showIn.browserPane "Painel do navegador"> <!ENTITY zotero.preferences.showIn.separateTab "Aba separada"> <!ENTITY zotero.preferences.showIn.appTab "Aba de aplicativo"> @@ -26,7 +26,7 @@ <!ENTITY zotero.preferences.zoteroDotOrgVersionHeader "Permitir que zotero.org personalize o conteúdo baseado em sua versão atual do Zotero"> <!ENTITY zotero.preferences.zoteroDotOrgVersionHeader.tooltip "Se marcado, a versão atual do Zotero será adicionada às requisições HTTP feitas a zotero.org."> <!ENTITY zotero.preferences.parseRISRefer "Usar Zotero para arquivos BibTeX/RIS/Refer baixados"> -<!ENTITY zotero.preferences.automaticSnapshots "Gerar imagens automaticamente ao criar itens de página web"> +<!ENTITY zotero.preferences.automaticSnapshots "Salvar instantâneos automaticamente ao criar itens de páginas web"> <!ENTITY zotero.preferences.downloadAssociatedFiles "Associar PDFs e outros arquivos automaticamente ao salvar itens"> <!ENTITY zotero.preferences.automaticTags "Marcar automaticamente itens com palavras-chaves e cabeçalhos de assunto"> <!ENTITY zotero.preferences.trashAutoEmptyDaysPre "Remover automaticamente itens na lixeira deletados há mais de"> @@ -35,18 +35,18 @@ <!ENTITY zotero.preferences.groups "Grupos"> <!ENTITY zotero.preferences.groups.whenCopyingInclude "Ao copiar itens entre bibliotecas, incluir:"> <!ENTITY zotero.preferences.groups.childNotes "notas associadas"> -<!ENTITY zotero.preferences.groups.childFiles "cópias instantâneas e arquivos importados associados"> +<!ENTITY zotero.preferences.groups.childFiles "instantâneos e arquivos importados associados"> <!ENTITY zotero.preferences.groups.childLinks "links associados"> <!ENTITY zotero.preferences.groups.tags "etiquetas"> <!ENTITY zotero.preferences.openurl.caption "Abrir URL"> -<!ENTITY zotero.preferences.openurl.search "Procurar resolvedores"> +<!ENTITY zotero.preferences.openurl.search "Pesquisar por resolvedores"> <!ENTITY zotero.preferences.openurl.custom "Personalizar..."> <!ENTITY zotero.preferences.openurl.server "Resolvedor:"> <!ENTITY zotero.preferences.openurl.version "Versão:"> -<!ENTITY zotero.preferences.prefpane.sync "Sincronizar"> +<!ENTITY zotero.preferences.prefpane.sync "Sincronização"> <!ENTITY zotero.preferences.sync.username "Usuário:"> <!ENTITY zotero.preferences.sync.password "Senha:"> <!ENTITY zotero.preferences.sync.syncServer "Servidor de sincronização Zotero"> @@ -54,7 +54,7 @@ <!ENTITY zotero.preferences.sync.lostPassword "Esqueceu a senha?"> <!ENTITY zotero.preferences.sync.syncAutomatically "Sincronizar automaticamente"> <!ENTITY zotero.preferences.sync.syncFullTextContent "Sincronizar todo o conteúdo do texto"> -<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "O Zotero pode sincronizar todo o conteúdo dos textos dos arquivos em sua biblioteca Zotero com zotero.org e outros dispositivos relacionados, permitindo que você procure facilmente seus arquivos onde quer que esteja. O conteúdo completo dos textos de seus arquivos não será compartilhado publicamente."> +<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "O Zotero pode sincronizar o texto completo dos arquivos em suas bibliotecas Zotero com o zotero.org e outros dispositivos associados, permitindo que você pesquise facilmente seus arquivos onde quer que esteja. O conteúdo dos textos de seus arquivos não será compartilhado publicamente."> <!ENTITY zotero.preferences.sync.about "Sobre a sincronização"> <!ENTITY zotero.preferences.sync.fileSyncing "Sincronização de arquivo"> <!ENTITY zotero.preferences.sync.fileSyncing.url "Endereço:"> @@ -80,7 +80,7 @@ <!ENTITY zotero.preferences.sync.reset.button "Reconfigurar..."> -<!ENTITY zotero.preferences.prefpane.search "Procurar"> +<!ENTITY zotero.preferences.prefpane.search "Pesquisa"> <!ENTITY zotero.preferences.search.fulltextCache "Cache de texto completo"> <!ENTITY zotero.preferences.search.pdfIndexing "Indexação de PDF"> <!ENTITY zotero.preferences.search.indexStats "Estatísticas de indexação"> @@ -93,7 +93,7 @@ <!ENTITY zotero.preferences.fulltext.textMaxLength "Máximo de caracteres a indexar por arquivo:"> <!ENTITY zotero.preferences.fulltext.pdfMaxPages "Máximo de páginas a indexar por arquivo:"> -<!ENTITY zotero.preferences.prefpane.export "Exportar"> +<!ENTITY zotero.preferences.prefpane.export "Exportação"> <!ENTITY zotero.preferences.citationOptions.caption "Opções de citação"> <!ENTITY zotero.preferences.export.citePaperJournalArticleURL "Incluir endereços eletrônicos de artigos impressos na referência"> @@ -107,10 +107,10 @@ <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domínio / Caminho"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(p.ex. wikipedia.org)"> <!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Formato de saída"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Idioma"> <!ENTITY zotero.preferences.quickCopy.dragLimit "Desabilitar cópia rápida ao arrastar mais que"> -<!ENTITY zotero.preferences.prefpane.cite "Citar"> +<!ENTITY zotero.preferences.prefpane.cite "Citação"> <!ENTITY zotero.preferences.cite.styles "Estilos"> <!ENTITY zotero.preferences.cite.wordProcessors "Processadores de texto"> <!ENTITY zotero.preferences.cite.wordProcessors.noWordProcessorPluginsInstalled "Nenhum plug-in de processador de texto está instalado."> @@ -145,7 +145,7 @@ <!ENTITY zotero.preferences.proxies.desc_after_link "para maiores informações."> <!ENTITY zotero.preferences.proxies.transparent "Habilitar redirecionamento de proxy"> <!ENTITY zotero.preferences.proxies.autoRecognize "Reconhecer automaticamente as fontes com proxy"> -<!ENTITY zotero.preferences.proxies.showRedirectNotification "Show notification when redirecting through a proxy"> +<!ENTITY zotero.preferences.proxies.showRedirectNotification "Exibir notificação quando redirecionar através de um proxy"> <!ENTITY zotero.preferences.proxies.disableByDomain "Desabilitar redirecionamento por proxy quando meu nome de domínio conter"> <!ENTITY zotero.preferences.proxies.configured "Proxies configurados"> <!ENTITY zotero.preferences.proxies.hostname "Nome do host"> @@ -165,11 +165,11 @@ <!ENTITY zotero.preferences.advanced.keys "Atalhos"> <!ENTITY zotero.preferences.prefpane.locate "Localizar"> -<!ENTITY zotero.preferences.locate.locateEngineManager "Gerenciador dos mecanismos de pesquisa de artigos"> +<!ENTITY zotero.preferences.locate.locateEngineManager "Gerenciador dos mecanismos de procura de artigos"> <!ENTITY zotero.preferences.locate.description "Descrição"> <!ENTITY zotero.preferences.locate.name "Nome"> -<!ENTITY zotero.preferences.locate.locateEnginedescription "Um mecanismo de busca aumenta a capacidade do menu Localizar do painel de informação. Ativando os mecanismos de busca na lista abaixo, eles serão adicionados ao menu e podem ser utilizados para localizar fontes da sua biblioteca na web."> -<!ENTITY zotero.preferences.locate.addDescription "Para adicionar um Mecanismo de Pesquisa que não esteja na lista, visite o mecanismo de pesquisa desejado no navegador de internet e selecione "Adicionar" do menu Localizar do Zotero."> +<!ENTITY zotero.preferences.locate.locateEnginedescription "Um Mecanismo de Procura amplia as capacidades do menu Localizar do Painel de Informações. Ativando os mecanismos de busca na lista abaixo, eles serão adicionados ao menu e podem ser utilizados para localizar recursos da sua biblioteca na web."> +<!ENTITY zotero.preferences.locate.addDescription "Para adicionar um Mecanismo de Procura que não esteja na lista, visite o mecanismo de pesquisa desejado no seu navegador web e selecione "Adicionar" no menu Localizar do Zotero."> <!ENTITY zotero.preferences.locate.restoreDefaults "Restabelecer padrões"> <!ENTITY zotero.preferences.charset "Codificação de caracteres"> diff --git a/chrome/locale/pt-BR/zotero/searchbox.dtd b/chrome/locale/pt-BR/zotero/searchbox.dtd @@ -1,6 +1,6 @@ <!ENTITY zotero.search.name "Nome:"> -<!ENTITY zotero.search.searchInLibrary "Procurar na biblioteca:"> +<!ENTITY zotero.search.searchInLibrary "Pesquisar na biblioteca:"> <!ENTITY zotero.search.joinMode.prefix "Corresponder a"> <!ENTITY zotero.search.joinMode.any "qualquer"> @@ -8,13 +8,13 @@ <!ENTITY zotero.search.joinMode.suffix "o seguinte:"> <!ENTITY zotero.search.recursive.label "Pesquisar subcoleções"> -<!ENTITY zotero.search.noChildren "Mostrar apenas itens no nível mais alto"> +<!ENTITY zotero.search.noChildren "Exibir apenas itens no nível mais alto"> <!ENTITY zotero.search.includeParentsAndChildren "Incluir itens dos níveis acima e abaixo aos itens correspondentes"> <!ENTITY zotero.search.textModes.phrase "Frase"> <!ENTITY zotero.search.textModes.phraseBinary "Frase (incluindo arquivos binários)"> <!ENTITY zotero.search.textModes.regexp "Expressão regular"> -<!ENTITY zotero.search.textModes.regexpCS "Expressão regular (diferenciando maiúsculas e minúsculas)"> +<!ENTITY zotero.search.textModes.regexpCS "Expressão regular (dif. maiúsculas e minúsculas)"> <!ENTITY zotero.search.date.units.days "dias"> <!ENTITY zotero.search.date.units.months "meses"> diff --git a/chrome/locale/pt-BR/zotero/standalone.dtd b/chrome/locale/pt-BR/zotero/standalone.dtd @@ -3,9 +3,9 @@ <!ENTITY servicesMenuMac.label "Serviços"> <!ENTITY hideThisAppCmdMac.label "Esconder &brandShortName;"> <!ENTITY hideThisAppCmdMac.commandkey "H"> -<!ENTITY hideOtherAppsCmdMac.label "Esconder os outros"> +<!ENTITY hideOtherAppsCmdMac.label "Ocultar os outros"> <!ENTITY hideOtherAppsCmdMac.commandkey "H"> -<!ENTITY showAllAppsCmdMac.label "Mostrar tudo"> +<!ENTITY showAllAppsCmdMac.label "Exibir tudo"> <!ENTITY quitApplicationCmdMac.label "Sair do Zotero"> <!ENTITY quitApplicationCmdMac.key "Q"> diff --git a/chrome/locale/pt-BR/zotero/zotero.dtd b/chrome/locale/pt-BR/zotero/zotero.dtd @@ -1,6 +1,6 @@ <!ENTITY zotero.general.optional "(Opcional)"> <!ENTITY zotero.general.note "Nota:"> -<!ENTITY zotero.general.selectAll "Marcar tudo"> +<!ENTITY zotero.general.selectAll "Selecionar tudo"> <!ENTITY zotero.general.deselectAll "Desmarcar tudo"> <!ENTITY zotero.general.edit "Editar"> <!ENTITY zotero.general.delete "Excluir"> @@ -43,13 +43,13 @@ <!ENTITY zotero.tabs.related.label "Relacionados"> <!ENTITY zotero.notes.separate "Editar em uma janela separada"> -<!ENTITY zotero.toolbar.duplicate.label "Mostrar duplicações"> -<!ENTITY zotero.collections.showUnfiledItems "Mostrar itens sem coleções"> +<!ENTITY zotero.toolbar.duplicate.label "Exibir duplicações"> +<!ENTITY zotero.collections.showUnfiledItems "Exibir itens sem coleções"> <!ENTITY zotero.items.itemType "Tipo do item"> <!ENTITY zotero.items.type_column "Tipo de item"> <!ENTITY zotero.items.title_column "Título"> -<!ENTITY zotero.items.creator_column "Criador"> +<!ENTITY zotero.items.creator_column "Autor"> <!ENTITY zotero.items.date_column "Data"> <!ENTITY zotero.items.year_column "Ano"> <!ENTITY zotero.items.publisher_column "Editor"> @@ -82,7 +82,7 @@ <!ENTITY zotero.items.menu.showInLibrary "Mostrar na biblioteca"> <!ENTITY zotero.items.menu.attach.note "Adicionar nota"> <!ENTITY zotero.items.menu.attach "Adicionar anexo"> -<!ENTITY zotero.items.menu.attach.snapshot "Anexar instantâneo de página atual"> +<!ENTITY zotero.items.menu.attach.snapshot "Anexar instantâneo da página atual"> <!ENTITY zotero.items.menu.attach.link "Anexar link para a página atual"> <!ENTITY zotero.items.menu.attach.link.uri "Anexar endereço para URI..."> <!ENTITY zotero.items.menu.attach.file "Anexar cópia armazenada do arquivo..."> @@ -123,25 +123,25 @@ <!ENTITY zotero.item.add "Adicionar"> <!ENTITY zotero.item.attachment.file.show "Exibir o arquivo"> <!ENTITY zotero.item.textTransform "Transformar o texto"> -<!ENTITY zotero.item.textTransform.titlecase "Iniciais Em Maiúsculo"> -<!ENTITY zotero.item.textTransform.sentencecase "Maiúscula no início da frase"> -<!ENTITY zotero.item.creatorTransform.nameSwap "Inverter Primeiro/Último Nomes"> +<!ENTITY zotero.item.textTransform.titlecase "Iniciais em maiúsculas"> +<!ENTITY zotero.item.textTransform.sentencecase "Início da frase em maiúscula"> +<!ENTITY zotero.item.creatorTransform.nameSwap "Inverter primeiro/último nomes"> <!ENTITY zotero.item.viewOnline "Ver Online"> <!ENTITY zotero.item.copyAsURL "Copiar como URL"> <!ENTITY zotero.toolbar.newNote "Nova nota"> <!ENTITY zotero.toolbar.note.standalone "Nova nota standalone"> <!ENTITY zotero.toolbar.note.child "Adicionar nota filha"> -<!ENTITY zotero.toolbar.lookup "Procurar por identificador..."> +<!ENTITY zotero.toolbar.lookup "Procurar pelo identificador..."> <!ENTITY zotero.toolbar.attachment.linked "Link para arquivo..."> <!ENTITY zotero.toolbar.attachment.add "Armazenar copiar de arquivo..."> <!ENTITY zotero.toolbar.attachment.weblink "Salvar link para página atual"> -<!ENTITY zotero.toolbar.attachment.snapshot "Gerar imagem da página atual"> +<!ENTITY zotero.toolbar.attachment.snapshot "Gerar instantâneo da página atual"> <!ENTITY zotero.tagSelector.noTagsToDisplay "Não mostrar tags"> <!ENTITY zotero.tagSelector.filter "Filtro:"> -<!ENTITY zotero.tagSelector.showAutomatic "Mostrar automaticamente"> -<!ENTITY zotero.tagSelector.displayAllInLibrary "Mostrar todos os rótulos nessa biblioteca"> +<!ENTITY zotero.tagSelector.showAutomatic "Exibir automaticamente"> +<!ENTITY zotero.tagSelector.displayAllInLibrary "Mostrar todas as etiquetas dessa biblioteca"> <!ENTITY zotero.tagSelector.selectVisible "Marcar visíveis"> <!ENTITY zotero.tagSelector.clearVisible "Desmarcar visíveis"> <!ENTITY zotero.tagSelector.clearAll "Desmarcar tudo"> @@ -156,7 +156,7 @@ <!ENTITY zotero.tagColorChooser.removeColor "Remover a cor"> <!ENTITY zotero.lookup.description "Inserir ISBN, DOI, ou PMID para buscar na caixa abaixo"> -<!ENTITY zotero.lookup.button.search "Procurar"> +<!ENTITY zotero.lookup.button.search "Pesquisar"> <!ENTITY zotero.selectitems.title "Selecionar itens"> <!ENTITY zotero.selectitems.intro.label "Selecionar itens que gostaria de adicionar a sua biblioteca"> @@ -165,7 +165,7 @@ <!ENTITY zotero.bibliography.title "Criar Citação/Bibliografia"> <!ENTITY zotero.bibliography.style.label "Estilo de citação:"> -<!ENTITY zotero.bibliography.locale.label "Language:"> +<!ENTITY zotero.bibliography.locale.label "Idioma:"> <!ENTITY zotero.bibliography.outputMode "Modo de saída:"> <!ENTITY zotero.bibliography.bibliography "Bibliografia"> <!ENTITY zotero.bibliography.outputMethod "Método de saída:"> diff --git a/chrome/locale/pt-BR/zotero/zotero.properties b/chrome/locale/pt-BR/zotero/zotero.properties @@ -55,7 +55,7 @@ general.numMore=mais %S... general.openPreferences=Abrir Preferências general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ -general.dontShowAgain=Don’t Show Again +general.dontShowAgain=Não mostrar novamente general.operationInProgress=Uma operação Zotero está atualmente em progresso. general.operationInProgress.waitUntilFinished=Por favor, aguarde até que ela termine. @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Você não pode adicionar arquivos à cole ingester.saveToZotero=Salvar em Zotero ingester.saveToZoteroUsing=Salvar Zotero utilizando "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Salvar para o Zotero como página da web (com instantâneo) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Salvar no Zotero como página web (sem instantâneo) ingester.scraping=Salvando item... ingester.scrapingTo=Salvar para ingester.scrapeComplete=Item salvo. @@ -502,8 +502,8 @@ ingester.importFile.title=Importar arquivo ingester.importFile.text=Você gostaria de importar o arquivo "%S"?\n\nItens serão adicionados a uma nova coleção. ingester.importFile.intoNewCollection=Importar para nova coleção -ingester.lookup.performing=Buscando... -ingester.lookup.error=Um erro ocorreu durante a busca por esse documento. +ingester.lookup.performing=Procurando... +ingester.lookup.error=Ocorreu um erro durante a procura por esse item. db.dbCorrupted=O banco de dados Zotero '%S' parece ter sido corrompido. db.dbCorrupted.restart=Por favor, reinicie o Firefox para tentar uma restauração automática a partir da última cópia de segurança. @@ -611,7 +611,7 @@ fileInterface.noReferencesError=Os itens selecionados não contêm referências. fileInterface.bibliographyGenerationError=Um erro ocorreu ao gerar sua bibliografia. Por favor, tente novamente. fileInterface.exportError=Um erro ocorreu ao tentar exportar o arquivo selecionado. -quickSearch.mode.titleCreatorYear=Título, criador, ano +quickSearch.mode.titleCreatorYear=Título, autor, ano quickSearch.mode.fieldsAndTags=Todos os campos e rótulos quickSearch.mode.everything=Tudo @@ -636,7 +636,7 @@ searchConditions.itemTypeID=Tipo de item searchConditions.tag=Marcador searchConditions.note=Nota searchConditions.childNote=Nota associada -searchConditions.creator=Criador +searchConditions.creator=Autor searchConditions.type=Tipo searchConditions.thesisType=Tipo de tese searchConditions.reportType=Tipo de relatório @@ -680,22 +680,22 @@ citation.showEditor=Mostrar editor... citation.hideEditor=Esconder editor... citation.citations=Citações citation.notes=Notas -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure -citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line -citation.locator.note=Note +citation.locator.page=Página +citation.locator.book=Livro +citation.locator.chapter=Capítulo +citation.locator.column=Coluna +citation.locator.figure=Figura +citation.locator.folio=Fólio +citation.locator.issue=Edição +citation.locator.line=Linha +citation.locator.note=Nota citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section +citation.locator.paragraph=Parágrafo +citation.locator.part=Parte +citation.locator.section=Seção citation.locator.subverbo=Sub verbo citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.verse=Verso report.title.default=Relatório Zotero report.parentItem=Item no nível acima: @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=O servidor de sincronização do Zotero não aceita sync.error.enterPassword=Por favor, digite sua senha. sync.error.loginManagerInaccessible=Zotero não consegue acessar suas informações de login. sync.error.checkMasterPassword=Se você estiver usando uma senha master em %S, certifique-se de que você a inseriu corretamente. -sync.error.corruptedLoginManager=Isso pode ter se dado por um corrompimento no banco de dados do gerenciador de login %1$S. Para conferir, feche %1$S, remova signons.sqlite do diretório do perfil %1$S, e entre novamente com sua informação de login Zotero no painel de Sincronização nas preferências do Zotero. -sync.error.loginManagerCorrupted1=O Zotero não pode acessar suas informações de login, possivelmente por causa de um corrompimento no banco de dados do %S gerenciador de logins. -sync.error.loginManagerCorrupted2=Feche %1$S, remova signons.sqlite do diretório do perfil %2$S, e entre novamente com sua informação de login Zotero no painel de Sincronização nas preferências do Zotero. +sync.error.corruptedLoginManager=O mesmo pode ter ocorrido devido a um %1$S corrompido no banco de dados de login. Para certificar-se, encerre %1$S, remova cert8.db, key3.db, e logins.json de seu %1$S diretório de perfil, e reinsira suas informações de login do Zotero no painel de Sincronização das preferências do Zotero. +sync.error.loginManagerCorrupted1=O Zotero não consegue acessar sua informação de login, provavelmente devido a um %S na base de dados de login que se encontra corrompido. +sync.error.loginManagerCorrupted2=Feche %1$S, remova cert8.db, key3.db, e logins.json de seu %2$S diretório de perfil, e reinsira suas informações de login do Zotero no painel de Sincronização das preferências do Zotero. sync.error.syncInProgress=Uma operação de sincronização já está em progresso. sync.error.syncInProgress.wait=Aguarde o fim da operação de sincronização anterior or reinicie o Firefox. sync.error.writeAccessLost=Você não tem mais privilégios de escrita no grupo Zotero '%S', e os itens que você adicionou ou editou não podem ser sincronizados no servidor. @@ -965,9 +965,9 @@ file.accessError.message.windows=Confira se o arquivo não está sendo utilizado file.accessError.message.other=Certifique-se que o arquivo não está em uso e que tenha permissão para escrever. file.accessError.restart=Reiniciar seu computador ou desativar programa de segurança pode também ajudar. file.accessError.showParentDir=Mostre diretório superior -file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file. +file.error.cannotAddShortcut=Arquivos de atalho não podem ser adicionados diretamente. Por favor selecione o arquivo original. -lookup.failure.title=Erro de busca de verificação +lookup.failure.title=Falha na procura lookup.failure.description=Zotero não pôde encontrar um registro para o identificador especificado. Por favor, verifique o identificador e tente novamente. lookup.failureToID.description=O Zotero não pode encontrar quaisquer identificadores em sua entrada. Por favor, verifique sua entrada e tente novamente. @@ -975,8 +975,8 @@ locate.online.label=Ver online locate.online.tooltip=Ir a este item online locate.pdf.label=Ver PDF locate.pdf.tooltip=Abrir PDF usando o visualizador selecionado -locate.snapshot.label=Visualizar captura -locate.snapshot.tooltip=View snapshot for this item +locate.snapshot.label=Ver instantâneo +locate.snapshot.tooltip=Ver e anotar no instantâneo desse item locate.file.label=Ver arquivo locate.file.tooltip=Abrir o arquivo utilizando o visualizador selecionado locate.externalViewer.label=Abrir em um visualizador externo @@ -985,9 +985,9 @@ locate.internalViewer.label=Abrir no Visualizador Interno locate.internalViewer.tooltip=Abrir arquivo nesse aplicativo locate.showFile.label=Mostrar arquivo locate.showFile.tooltip=Abrir o diretório em que está registrado esse arquivo -locate.libraryLookup.label=Busca na biblioteca +locate.libraryLookup.label=Procurar na biblioteca locate.libraryLookup.tooltip=Procurar esse item usando o resolvedor OpenURL selecionado -locate.manageLocateEngines=Manage Lookup Engines... +locate.manageLocateEngines=Gerenciar mecanismos de procura... standalone.corruptInstallation=Sua instalação do Zotero Standalone parece estar corrompida devido a uma falha na atualização automática. Embora o Zotero cotinue a funcionar, para evitar bugs potenciais, por favor, faça o quanto antes o download da última versão do Zotero Standalone em http://zotero.org/support/standalone. standalone.addonInstallationFailed.title=A instalação da extensão falhou @@ -1004,9 +1004,9 @@ connector.loadInProgress=O Zotero Standalone foi aberto mas não está acessíve firstRunGuidance.authorMenu=O Zotero também permite que você especifique editores e tradutores. Você pode tornar um autor em um editor ou tradutor através desse menu. firstRunGuidance.quickFormat=Digite um título ou autor para procurar por uma referência.\n\nDepois de feita a sua seleção, clique na bolha ou pressione Ctrl-\u2193 para adicionar número de páginas, prefixos ou sufixos. Você também pode incluir um número de página junto aos termos de sua pesquisa para adicioná-lo diretamente.\n\nVocê pode editar citações diretamente no seu processador de texto. firstRunGuidance.quickFormatMac=Digite um título ou autor para procurar por uma referência.\n\nDepois de feita a sua seleção, clique na bolha ou pressione Cmd-\u2193 para adicionar os números de página, prefixos ou sufixo. Você também pode incluir um número de página junto aos seus termos de pesquisa para adicioná-lo diretamente.\n\nVocê pode editar as citações diretamente do processador de texto. -firstRunGuidance.toolbarButton.new=Clique aqui para abrir o Zotero, ou utilize o atalho %S em seu teclado. +firstRunGuidance.toolbarButton.new=Clique no botão 'Z' para abrir o Zotero, ou use o atalho %S em seu teclado. firstRunGuidance.toolbarButton.upgrade=O ícone do Zotero pode agora ser encontrado na barra de ferramentas do Firefox. Clique no ícone para abrir o Zotero, ou utilize o atalho %S em seu teclado. -firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. +firstRunGuidance.saveButton=Clique neste botão para salvar qualquer página da web em sua bilbioteca Zotero. Em algumas páginas, o Zotero será capaz de salvar todos os detalhes, incluindo autor e data. styles.bibliography=Bibliografia styles.editor.save=Salvar o estilo de citação diff --git a/chrome/locale/pt-PT/zotero/csledit.dtd b/chrome/locale/pt-PT/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/pt-PT/zotero/zotero.properties b/chrome/locale/pt-PT/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=O servidor de sincronização Zotero não aceitou o sync.error.enterPassword=Por favor introduza uma palavra-passe. sync.error.loginManagerInaccessible=O Zotero não consegue aceder à sua informação de autenticação. sync.error.checkMasterPassword=Se está a usar uma palavra-passe mestra em %S, assegure-se de que a introduziu com sucesso. -sync.error.corruptedLoginManager=Isto também se pode dever a uma base de dados corrompida do do gestor de autenticação %1$S. Para verificar, feche %1$S, remova o arquivo signons.sqlite da sua pasta de perfil %1$S e volte a introduzir a sua informação de autenticação no separador Sincronização das preferências do Zotero. -sync.error.loginManagerCorrupted1=O zotero não consegue aceder à sua informação de autenticação, possivelmente devido a uma corrupção da base de dados do gestor de autenticação %S. -sync.error.loginManagerCorrupted2=Feche %1$S, remova o arquivo signons.sqlite da sua pasta de perfil %2$S e reintroduza as suas credenciais Zotero no painel Sincronização das preferências do Zotero. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Está em curso uma outra operação de sincronização. sync.error.syncInProgress.wait=Espere pelo fim da operação de sincronização anterior ou reinicie o Firefox. sync.error.writeAccessLost=Deixou de ter acesso para escrita ao grupo Zotero '%S', por isso os itens que adicionou ou editou não podem ser sincronizados com o servidor. diff --git a/chrome/locale/ro-RO/zotero/csledit.dtd b/chrome/locale/ro-RO/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Editorul de stil Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Poziție citare"> diff --git a/chrome/locale/ro-RO/zotero/cslpreview.dtd b/chrome/locale/ro-RO/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Previzualizare stil Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> +<!ENTITY styles.preview.citationFormat "Formatare citare"> +<!ENTITY styles.preview.citationFormat.all "toate"> +<!ENTITY styles.preview.citationFormat.author "autor"> +<!ENTITY styles.preview.citationFormat.authorDate "autor-dată"> +<!ENTITY styles.preview.citationFormat.label "etichetă"> +<!ENTITY styles.preview.citationFormat.note "notă"> <!ENTITY styles.preview.citationFormat.numeric "numeric"> diff --git a/chrome/locale/ro-RO/zotero/preferences.dtd b/chrome/locale/ro-RO/zotero/preferences.dtd @@ -107,7 +107,7 @@ <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domeniu/Cale"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(ex. wikipedia.org)"> <!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Stil de formatare"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Limbă"> <!ENTITY zotero.preferences.quickCopy.dragLimit "Dezactivează Copierea rapidă în timpul tragerii a mai mult de"> <!ENTITY zotero.preferences.prefpane.cite "Citează"> @@ -145,7 +145,7 @@ <!ENTITY zotero.preferences.proxies.desc_after_link "pentru mai multe informații."> <!ENTITY zotero.preferences.proxies.transparent "Reamintește automat resursele proxy"> <!ENTITY zotero.preferences.proxies.autoRecognize "Recunoaște automat resursele proxy"> -<!ENTITY zotero.preferences.proxies.showRedirectNotification "Show notification when redirecting through a proxy"> +<!ENTITY zotero.preferences.proxies.showRedirectNotification "Afișează notificările la redirecționarea printr-un proxy"> <!ENTITY zotero.preferences.proxies.disableByDomain "Dezactivează redirectarea proxy când numele meu de domeniu conține "> <!ENTITY zotero.preferences.proxies.configured "Servere proxy configurate"> <!ENTITY zotero.preferences.proxies.hostname "Nume gazdă"> @@ -162,7 +162,7 @@ <!ENTITY zotero.preferences.prefpane.advanced "Avansate"> <!ENTITY zotero.preferences.advanced.filesAndFolders "Fișiere și dosare"> -<!ENTITY zotero.preferences.advanced.keys "Shortcuts"> +<!ENTITY zotero.preferences.advanced.keys "Scurtături"> <!ENTITY zotero.preferences.prefpane.locate "Localizează"> <!ENTITY zotero.preferences.locate.locateEngineManager "Manager pentru motorul de căutare a articolelor"> @@ -203,6 +203,6 @@ <!ENTITY zotero.preferences.debugOutputLogging.submitToServer "Trimitere către serverul Zotero"> <!ENTITY zotero.preferences.openAboutConfig "Deschide about:config"> -<!ENTITY zotero.preferences.openCSLEdit "Open Style Editor"> -<!ENTITY zotero.preferences.openCSLPreview "Open Style Preview"> +<!ENTITY zotero.preferences.openCSLEdit "Deschide Editorul de stil"> +<!ENTITY zotero.preferences.openCSLPreview "Deschide Previzualizare stil"> <!ENTITY zotero.preferences.openAboutMemory "Deschide about:memory"> diff --git a/chrome/locale/ro-RO/zotero/zotero.dtd b/chrome/locale/ro-RO/zotero/zotero.dtd @@ -6,8 +6,8 @@ <!ENTITY zotero.general.delete "Ștergere"> <!ENTITY zotero.general.ok "OK"> <!ENTITY zotero.general.cancel "Anulare"> -<!ENTITY zotero.general.refresh "Refresh"> -<!ENTITY zotero.general.saveAs "Save As…"> +<!ENTITY zotero.general.refresh "Reîmprospătare"> +<!ENTITY zotero.general.saveAs "Salvare ca..."> <!ENTITY zotero.errorReport.title "Raportul de erori Zotero"> <!ENTITY zotero.errorReport.unrelatedMessages "Aceasta ar putea include mesaje fără legătură cu Zotero."> @@ -125,9 +125,9 @@ <!ENTITY zotero.item.textTransform "Transformă text"> <!ENTITY zotero.item.textTransform.titlecase "Litere de Titlu"> <!ENTITY zotero.item.textTransform.sentencecase "Majusculă ca la propoziție"> -<!ENTITY zotero.item.creatorTransform.nameSwap "Swap First/Last Names"> -<!ENTITY zotero.item.viewOnline "View Online"> -<!ENTITY zotero.item.copyAsURL "Copy as URL"> +<!ENTITY zotero.item.creatorTransform.nameSwap "Schimbă Prenume/Nume"> +<!ENTITY zotero.item.viewOnline "Vezi online"> +<!ENTITY zotero.item.copyAsURL "Copiază ca URL"> <!ENTITY zotero.toolbar.newNote "Notă nouă"> <!ENTITY zotero.toolbar.note.standalone "Notă independentă nouă"> @@ -165,7 +165,7 @@ <!ENTITY zotero.bibliography.title "Creează citare/bibliografie"> <!ENTITY zotero.bibliography.style.label "Stil de citare:"> -<!ENTITY zotero.bibliography.locale.label "Language:"> +<!ENTITY zotero.bibliography.locale.label "Limbă:"> <!ENTITY zotero.bibliography.outputMode "Mod de ieșire:"> <!ENTITY zotero.bibliography.bibliography "Bibliografie"> <!ENTITY zotero.bibliography.outputMethod "Metodă de ieșire:"> @@ -287,6 +287,6 @@ <!ENTITY zotero.downloadManager.saveToLibrary.description "Anexele nu pot fi salvate în biblioteca selectată. Această înregistrare va fi salvată în schimb în biblioteca ta."> <!ENTITY zotero.downloadManager.noPDFTools.description "Pentru a folosi această facilitate, trebuie să instalezi mai întâi uneletele PDF în preferințele Zotero."> -<!ENTITY zotero.attachLink.title "Attach Link to URI"> +<!ENTITY zotero.attachLink.title "Anexează link la URI"> <!ENTITY zotero.attachLink.label.link "Link:"> -<!ENTITY zotero.attachLink.label.title "Title:"> +<!ENTITY zotero.attachLink.label.title "Titlu:"> diff --git a/chrome/locale/ro-RO/zotero/zotero.properties b/chrome/locale/ro-RO/zotero/zotero.properties @@ -42,7 +42,7 @@ general.create=Creează general.delete=Ștergere general.moreInformation=Mai multe informații general.seeForMoreInformation=Vezi %S pentru mai multe informații. -general.open=Open %S +general.open=Deschide %S general.enable=Activare general.disable=Dezactivare general.remove=Șterge @@ -55,7 +55,7 @@ general.numMore=%S mai mult… general.openPreferences=Deschide Preferințe general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ -general.dontShowAgain=Don’t Show Again +general.dontShowAgain=Nu afișa din nou general.operationInProgress=O operațiune Zotero este în momentul de față în desfășurare. general.operationInProgress.waitUntilFinished=Te rog să aștepți până se încheie. @@ -197,19 +197,19 @@ tagColorChooser.maxTags=Până la %S etichete în fiecare bibliotecă pot avea a pane.items.loading=Încarcă lista înregistrărilor... pane.items.columnChooser.moreColumns=Mai multe coloane pane.items.columnChooser.secondarySort=Sortare secundară (%S) -pane.items.attach.link.uri.unrecognized=Zotero did not recognize the URI you entered. Please check the address and try again. -pane.items.attach.link.uri.file=To attach a link to a file, please use “%S”. +pane.items.attach.link.uri.unrecognized=Zotero nu a recunoscut URI introdusă. Te rog să verifici adresa și să încerci din nou. +pane.items.attach.link.uri.file=Pentru a anexa un link la un fișier, te rog să folosești „%S”. pane.items.trash.title=Mută în coșul de gunoi pane.items.trash=Sigur vrei să muți înregistrarea selectată în coșul de gunoi? pane.items.trash.multiple=Sigur vrei să muți înregistrările selectate în coșul de gunoi? pane.items.delete.title=Șterge pane.items.delete=Ești sigur că vrei să ștergi înregistrarea selectată? pane.items.delete.multiple=Ești sigur că vrei să ștergi înregistrările selectate? -pane.items.remove.title=Remove from Collection -pane.items.remove=Are you sure you want to remove the selected item from this collection? -pane.items.remove.multiple=Are you sure you want to remove the selected items from this collection? -pane.items.menu.remove=Remove Item from Collection… -pane.items.menu.remove.multiple=Remove Items from Collection… +pane.items.remove.title=Șterge din colecție +pane.items.remove=Sigur vrei să ștergi înregistrarea selectată din această colecție? +pane.items.remove.multiple=Sigur vrei să ștergi înregistrările selectate din această colecție? +pane.items.menu.remove=Șterge înregistrarea din Colecție... +pane.items.menu.remove.multiple=Șterge înregistrările din Colecție... pane.items.menu.moveToTrash=Mută înregistrările în coșul de gunoi... pane.items.menu.moveToTrash.multiple=Mută înregistrările în coșul de gunoi... pane.items.menu.export=Exportă înregistrarea... @@ -226,7 +226,7 @@ pane.items.menu.createParent=Creează înregistrare părinte pane.items.menu.createParent.multiple=Creează înregistrări părinte pane.items.menu.renameAttachments=Redenumește fișier din metadatele părinte pane.items.menu.renameAttachments.multiple=Redenumește fișiere din metadatele părinte -pane.items.showItemInLibrary=Show Item in Library +pane.items.showItemInLibrary=Afișează înregistrarea în Bibliotecă. pane.items.letter.oneParticipant=Scrisoare către %S pane.items.letter.twoParticipants=Scrisoare către %S și %S @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Nu poți adăuga fișiere în colecția se ingester.saveToZotero=Salvează în Zotero ingester.saveToZoteroUsing=Salvezi în Zotero folosind "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Salvează în Zotero ca pagină web (cu instantaneu) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Salvează în Zotero ca pagină web (fără instantaneu) ingester.scraping=Salvează înregistrarea... ingester.scrapingTo=Salvare în ingester.scrapeComplete=Înregistrare salvată @@ -569,15 +569,15 @@ zotero.preferences.export.quickCopy.exportFormats=Formate de export zotero.preferences.export.quickCopy.instructions=Copierea rapidă îți permite să selectezi referințele în memoria clipboard apăsând scurtătura de la tastatură (%S) sau trăgând înregistrările pe o pagină web, într-o casetă de text. zotero.preferences.export.quickCopy.citationInstructions=Pentru stilurile bibliografice, poți copia citări sau note de subsol apăsând %S sau ținând apăsată tasta Shift înainte de a trage înregistrările. -zotero.preferences.wordProcessors.installationSuccess=Installation was successful. -zotero.preferences.wordProcessors.installationError=Installation could not be completed because an error occurred. Please ensure that %1$S is closed, and then restart %2$S. -zotero.preferences.wordProcessors.installed=The %S add-in is currently installed. -zotero.preferences.wordProcessors.notInstalled=The %S add-in is not currently installed. -zotero.preferences.wordProcessors.install=Install %S Add-in -zotero.preferences.wordProcessors.reinstall=Reinstall %S Add-in -zotero.preferences.wordProcessors.installing=Installing %S… -zotero.preferences.wordProcessors.incompatibleVersions1=%1$S %2$S is incompatible with versions of %3$S before %4$S. Please remove %3$S, or download the latest version from %5$S. -zotero.preferences.wordProcessors.incompatibleVersions2=%1$S %2$S requires %3$S %4$S or later to run. Please download the latest version of %3$S from %5$S. +zotero.preferences.wordProcessors.installationSuccess=Instalarea s-a realizat cu succes. +zotero.preferences.wordProcessors.installationError=Instalarea nu a putut fi completată din cauza unei erori apărute. Te rog asigură-te că %1$S este închis și apoi repornește %2$S. +zotero.preferences.wordProcessors.installed=Suplimentul %S este instalat deja. +zotero.preferences.wordProcessors.notInstalled=Suplimentul %S nu este instalat acum. +zotero.preferences.wordProcessors.install=Instalează suplimentul %S +zotero.preferences.wordProcessors.reinstall=Reinstalează suplimentul %S +zotero.preferences.wordProcessors.installing=Se instalează %S... +zotero.preferences.wordProcessors.incompatibleVersions1=%1$S %2$S este incompatibil cu versiunile %3$S înainte de %4$S. Te rog să ștergi %3$S sau să descarci ultima versiune de la %5$S. +zotero.preferences.wordProcessors.incompatibleVersions2=%1$S %2$S are nevoie de %3$S %4$S sau mai recentă pentru a funcționa. Te rog să descarci ultima versiune de %3$S de la %5$S. zotero.preferences.styles.addStyle=Adaugă stil @@ -680,22 +680,22 @@ citation.showEditor=Afișează editor... citation.hideEditor=Ascunde editor... citation.citations=Citări citation.notes=Note -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure -citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line -citation.locator.note=Note +citation.locator.page=Pagină +citation.locator.book=Carte +citation.locator.chapter=Capitol +citation.locator.column=Coloană +citation.locator.figure=Figură +citation.locator.folio=Filă +citation.locator.issue=Număr +citation.locator.line=Linie +citation.locator.note=Notă citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section +citation.locator.paragraph=Paragraf +citation.locator.part=Parte +citation.locator.section=Secțiune citation.locator.subverbo=Sub verbo -citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.volume=Volum +citation.locator.verse=Verset report.title.default=Raport Zotero report.parentItem=Înregistrare părinte: @@ -757,7 +757,7 @@ integration.missingItem.multiple=Înregistrarea %1$S din această citare nu mai integration.missingItem.description=Dacă se apasă „Nu”, va fi șters câmpul condificat pentru citările care conțin această înregistrare, păstrând textul citării, dar ștergând-o din bibliografia ta. integration.removeCodesWarning=Ștergerea codurilor câmpului va face imposibilă actualizarea de către Zotero a citărilor și bibliografiilor din acest document. Sigur vrei să continui? integration.upgradeWarning=Documentul tău trebuie să fie actualizat definitiv pentru a lucra cu Zotero 2.1 sau mai nou. Se recomandă să faci o copie de siguranță înainte de a proceda la această operațiune. Sigur vrei să continui? -integration.error.newerDocumentVersion=Your document was created with a newer version of Zotero (%1$S) than the currently installed version (%2$S). Please upgrade Zotero before editing this document. +integration.error.newerDocumentVersion=Documentul tău a fost creat cu o versiune de Zotero (%1$S) mai nouă decât versiunea instalată acum (%2$S). Te rog să actualizezi Zotero înainte de a modifica acest document. integration.corruptField=Codul de câmp Zotero corespunzător acestei citări, care îi spune lui Zotero cărei înregistrări din biblioteca ta îi corespunde această citare, a fost corupt. Vrei să reselectezi înregistrarea? integration.corruptField.description=Dacă se apasă „Nu” va fi șters câmpul codificat pentru citările care conțin această înregistrare, păstrând textul citării, dar ștergând-o din bibliografia ta. integration.corruptBibliography=Câmpul codificat din Zotero pentru bibliografia ta este corupt. Ar trebui ca Zotero să golească acest câmp codificat și să genereze o nouă bibliografie? @@ -789,8 +789,8 @@ sync.removeGroupsAndSync=Șterge Grupuri și Sincronizare sync.localObject=Obiect local sync.remoteObject=Obiect la distanță sync.mergedObject=Obiect unificat -sync.merge.resolveAllLocal=Use the local version for all remaining conflicts -sync.merge.resolveAllRemote=Use the remote version for all remaining conflicts +sync.merge.resolveAllLocal=Folosește versiunea locală pentru toate conflictele rămase. +sync.merge.resolveAllRemote=Folosește versiunea la distanță pentru toate conflictele rămase. sync.error.usernameNotSet=Nume de utilizator neconfigurat @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Serverul de sincronizare Zotero nu a acceptat numel sync.error.enterPassword=Te rog să introduci o parolă. sync.error.loginManagerInaccessible=Zotero nu poate accesa informațiile tale de autentificare. sync.error.checkMasterPassword=Dacă folosiți o parolă master în %S, fiți sigur că ați introdus-o cu succes. -sync.error.corruptedLoginManager=Aceasta s-ar putea datora și unei coruperi a %1$S de la managerul de autentificare al bazei de date. Pentru a verifica, închide %1$S, șterge signons.sqlite din directorul tău de profil %1$S și reintrodu informațiile tale de autentificare Zotero în panoul Sincronizare din Preferințe Zotero. -sync.error.loginManagerCorrupted1=Zotero nu poate accesa informațiile tale de autentificare, posibil din cauza unui manager de autentificare %S corupt pentru baza de date. -sync.error.loginManagerCorrupted2=Închide %1$S, șterge signons.sqlite din directorul tău de profil %2$S și reintrodu informațiile tale de autentificare Zotero în panoul din Preferințe Zotero. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=O operație de sincronizare este deja în curs. sync.error.syncInProgress.wait=Așteaptă ca sincronizarea precedentă să se încheie sau repornește %S. sync.error.writeAccessLost=Nu mai ai acces pentru scriere în grupul Zotero '%S', iar înregistrările pe care le-ai adăugat sau editat nu pot fi sincronizate cu serverul. @@ -965,7 +965,7 @@ file.accessError.message.windows=Verifică dacă fișierul nu e folosit în aces file.accessError.message.other=Verifică dacă fișierul nu e curent în uz și dacă permisiunile sale permit accesul de scriere. file.accessError.restart=Repornirea calculatorului sau dezactivarea software-ului de securitate poate de asemenea să ajute. file.accessError.showParentDir=Arată directorul părinte -file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file. +file.error.cannotAddShortcut=Scurtăturile la fișiere nu pot fi adăugate direct. Te rog să selectezi fișierul original. lookup.failure.title=Eroare la căutare lookup.failure.description=Zotero nu a putut găsi o înregistrare pentru identificatorul specificat. Verifică te rog identificatorul și încearcă din nou. @@ -1004,15 +1004,15 @@ connector.loadInProgress=Zotero Standalone a fost lansat dar nu este accesibil. firstRunGuidance.authorMenu=Zotero îți permite, de asemenea, să specifici editorii și traducătorii. Poți să schimbi un autor într-un editor sau traducător făcând o selecție în acest meniu. firstRunGuidance.quickFormat=Tastează un titlu sau un autor pentru a căuta o referință.\n\nDupă ce ai făcut selecția pe care o dorești, apasă bulina sau Ctrl-↓ pentru a adăuga numere de pagină, prefixe sau sufixe. Poți, de asemenea, să incluzi un număr de pagină odată cu căutarea termenilor pentru a-l adăuga direct.\n\nPoți modifica citările direct în documentul din procesorul de texte. firstRunGuidance.quickFormatMac=Tastează un titlu sau un autor pentru a căuta o referință.\n\nDupă ce ai făcut selecția pe care o dorești, apasă bulina sau Cmd-↓ pentru a adăuga numere de pagină, prefixe sau sufixe. Poți, de asemenea, să incluzi numărul de pagină odată cu căutarea termenilor, pentru a-l adăuga direct.\n\nPoți modifica citările direct în documentul din procesorul de texte. -firstRunGuidance.toolbarButton.new=Clic aici pentru a deschide Zotero sau folosește scurtătura de la tastatură %S. +firstRunGuidance.toolbarButton.new=Fă click pe butonul 'Z' pentru a deschide Zotero sau folosește scurtătura de tastatură %S. firstRunGuidance.toolbarButton.upgrade=Iconița Zotero poate fi găsită acum în bara de instrumente Firefox. Clic pe iconiță pentru a deschide Zotero sau folosește scurtătura de la tastatură %S. -firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. - -styles.bibliography=Bibliography -styles.editor.save=Save Citation Style -styles.editor.warning.noItems=No items selected in Zotero. -styles.editor.warning.parseError=Error parsing style: -styles.editor.warning.renderError=Error generating citations and bibliography: -styles.editor.output.individualCitations=Individual Citations -styles.editor.output.singleCitation=Single Citation (with position "first") -styles.preview.instructions=Select one or more items in Zotero and click the "Refresh" button to see how these items are rendered by the installed CSL citation styles. +firstRunGuidance.saveButton=Fă clic pe acest buton pentru a salva orice pagină web în biblioteca ta Zotero. Pe anumite pagini, Zotero va putea să salveze detaliile complete, inclusiv autorul și data. + +styles.bibliography=Bibliografie +styles.editor.save=Salvează stilul de citare +styles.editor.warning.noItems=Nicio înregistrare nu este selectată în Zotero. +styles.editor.warning.parseError=Eroare la analiza stilului: +styles.editor.warning.renderError=Eroare la generarea citărilor și bibliografiei: +styles.editor.output.individualCitations=Citări individuale +styles.editor.output.singleCitation=Sitare unică (cu poziția „prima”) +styles.preview.instructions=Selectează una sau mai multe înregistrări în Zotero, apoi fă clic pe butonul „Reîmprospătare” pentru a vedea cum apar aceste înregistrări în stilurile de citare CSL instalate. diff --git a/chrome/locale/ru-RU/zotero/csledit.dtd b/chrome/locale/ru-RU/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/ru-RU/zotero/zotero.properties b/chrome/locale/ru-RU/zotero/zotero.properties @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Имя пользователя и пароль н sync.error.enterPassword=Пожалуйста, введите пароль. sync.error.loginManagerInaccessible=Приложению Zotero не удается получить доступ к учетным данным пользователя. sync.error.checkMasterPassword=Проверьте правильность ввода мастер-пароля для %S, если используется. -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 не удается получить доступ к учетным данным пользователя. Возможны ошибки БД управления учетными данными %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero также позволяет указывать редакторов и трансляторов. Вы можете превратить автора в редактора или в транслятора, сделав выбор в меню. firstRunGuidance.quickFormat=Введите наименование или автора для поиска по ссылке.\n\nПосле выбора, нажмите на сноску или Ctrl-↓ для добавления номеров страниц, префиксов или суффиксов. Также можно включить номер страницы в условия поиска, чтобы сразу его добавить.\n\n\Цитаты можно редактировать в самом документе, открытом в редакторе. firstRunGuidance.quickFormatMac=Введите наименование или автора для поиска по ссылке.\n\nПосле выбора, нажмите на сноску или Cmd-↓ для добавления номеров страниц, префиксов или суффиксов. Также можно включить номер страницы в условия поиска, чтобы сразу его добавить.\n\n\Цитаты можно редактировать в самом документе, открытом в редакторе. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/sk-SK/zotero/csledit.dtd b/chrome/locale/sk-SK/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Editor štýlov Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Pozícia citovania:"> diff --git a/chrome/locale/sk-SK/zotero/cslpreview.dtd b/chrome/locale/sk-SK/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Ukážka štýlu Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Formát citácie:"> +<!ENTITY styles.preview.citationFormat.all "všetky"> +<!ENTITY styles.preview.citationFormat.author "autor"> +<!ENTITY styles.preview.citationFormat.authorDate "autor-dátum"> +<!ENTITY styles.preview.citationFormat.label "etiketa"> +<!ENTITY styles.preview.citationFormat.note "poznámka"> +<!ENTITY styles.preview.citationFormat.numeric "číselná"> diff --git a/chrome/locale/sk-SK/zotero/zotero.properties b/chrome/locale/sk-SK/zotero/zotero.properties @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Nemôžete pridať súbory do práve vybra ingester.saveToZotero=Uložiť do Zotera ingester.saveToZoteroUsing=Uložiť do Zotera cez "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Uložiť do Zotera ako webstránku (so snímkou) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Uložiť do Zotera ako webstránku (bez snímky) ingester.scraping=Ukladám položku... ingester.scrapingTo=Ukladá sa do ingester.scrapeComplete=Položka bola uložená @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Synchronizačný server Zotero neprijal vaše uží sync.error.enterPassword=Prosím zdajte heslo. sync.error.loginManagerInaccessible=Zotero nemá prístup k vašim prihlasovacím údajom. sync.error.checkMasterPassword=Ak používate hlavné heslo v %S, ubezpečte sa, že ste ho zadali úspešne. -sync.error.corruptedLoginManager=Môže to byť aj kvôli porušenej databáze pre správu prihlasovania %1$S. Pre každý prípad, zatvorte %1$S, odstráňte signons.sqlite z vášho profilového adresára %1$S a opäť zadajte vaše prihlasovacie údaje pre Zotero v paneli Synchronizácie v predvoľbách Zotera. -sync.error.loginManagerCorrupted1=Zotero nemá prístup k vašim prihlasovacím údajom, pravdepodobne kvôli poškodeniu databázy pre správu hesiel v programe %S. -sync.error.loginManagerCorrupted2=Zatvorte %1$S, odstráňte signons.sqlite z vášho profilového adresára %2$S a opäť zadajte prihlasovacie údaje Zotera pod záložkou Synchronizácie v predvoľbách Zotera. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Sychronizácia už prebieha. sync.error.syncInProgress.wait=Počkajte, kým sa predchádzajúca synchronizácia ukončí a reštartujte Firefox. sync.error.writeAccessLost=Do skupiny "%S" už nemáte právo zapisovať. Súbory, ktoré ste pridali alebo upravili nie je možné synchronizovať so serverom. @@ -975,8 +975,8 @@ locate.online.label=Zobraziť online locate.online.tooltip=Prejsť na túto položku na internete locate.pdf.label=Zobraziť PDF locate.pdf.tooltip=Otvoriť PDF vo vybranom zobrazovači -locate.snapshot.label=Zobraziť snímok -locate.snapshot.tooltip=Zobraziť a pripojiť snímok pre túto položku +locate.snapshot.label=Zobraziť snímku +locate.snapshot.tooltip=Zobraziť a pripojiť snímku pre túto položku locate.file.label=Zobraziť súbor locate.file.tooltip=Otvoriť súbor vo vybranom zobrazovači locate.externalViewer.label=Otvoriť externý zobrazovač @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone bolo spustené, ale nie je dostupné. firstRunGuidance.authorMenu=Zotero vám tiež dovoľuje určiť zostavovateľov a prekladateľov. Autora môžete zmeniť na zostavovateľa alebo prekladateľa pomocou výberu z tejto ponuky. firstRunGuidance.quickFormat=Zadaním názvu alebo autora spustíte hľadanie odkazu.\n\nPo uskutočnení výberu, kliknite na bublinu alebo stlačte Ctrl-\u2193 na pridanie čísiel strán, predpôn alebo prípon. Môžete tiež pridať číslo strany spolu s hľadanými pojmamy, a tak ich môžete zadať priamo.\n\nCitácie môžete upravovať priamo v dokumente textového procesora. firstRunGuidance.quickFormatMac=Zadaním názvu alebo autora spustíte hľadanie odkazu.\n\nPo uskutočnení výberu, kliknite na bublinu alebo stlačte Ctrl-\u2193 na pridanie čísiel strán, predpôn alebo prípon. Môžete tiež pridať číslo strany spolu s hľadanými pojmamy, a tak ich môžete zadať priamo.\n\nCitácie môžete upravovať priamo v dokumente textového procesora. -firstRunGuidance.toolbarButton.new=Otvorte Zotero kliknutím sem alebo pomocou klávesovej skratky %S. +firstRunGuidance.toolbarButton.new=Otvorte Zotero kliknutím na ikonu alebo pomocou klávesovej skratky %S. firstRunGuidance.toolbarButton.upgrade=Ikonu Zotera je teraz možné nájsť v nástrojovej lište Firefoxu. Otvorte Zotero kliknutím na ikonu alebo pomocou klávesovej skratky %S. firstRunGuidance.saveButton=Kliknutím na toto tlačidlo uložte ľubovoľnú webstránku do svojej knižnice Zotera. Na niektorých stránkach bude Zotero schopné uložiť všetky podrobnosti, vrátane autora a dátumu. diff --git a/chrome/locale/sl-SI/zotero/csledit.dtd b/chrome/locale/sl-SI/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Urejevalnik sloga Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Položaj citata:"> diff --git a/chrome/locale/sl-SI/zotero/cslpreview.dtd b/chrome/locale/sl-SI/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Predogled sloga Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Oblika navedka:"> +<!ENTITY styles.preview.citationFormat.all "vse"> +<!ENTITY styles.preview.citationFormat.author "avtor"> +<!ENTITY styles.preview.citationFormat.authorDate "avtor-datum"> +<!ENTITY styles.preview.citationFormat.label "oznaka"> +<!ENTITY styles.preview.citationFormat.note "opomba"> +<!ENTITY styles.preview.citationFormat.numeric "številsko"> diff --git a/chrome/locale/sl-SI/zotero/preferences.dtd b/chrome/locale/sl-SI/zotero/preferences.dtd @@ -107,7 +107,7 @@ <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "Domena/pot"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(npr. wikipedia.org)"> <!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "Izhodna oblika"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Jezik"> <!ENTITY zotero.preferences.quickCopy.dragLimit "Onemogoči Hitro kopiranje ob vleki več kot"> <!ENTITY zotero.preferences.prefpane.cite "Citiraj"> @@ -145,7 +145,7 @@ <!ENTITY zotero.preferences.proxies.desc_after_link "kjer najdete več informacij."> <!ENTITY zotero.preferences.proxies.transparent "Omogoči preusmeritev posredovalnih strežnikov"> <!ENTITY zotero.preferences.proxies.autoRecognize "Samodejno prepoznaj posredovane vire"> -<!ENTITY zotero.preferences.proxies.showRedirectNotification "Show notification when redirecting through a proxy"> +<!ENTITY zotero.preferences.proxies.showRedirectNotification "Pokaži obvestilo ob preusmerjanju prek posredniškega strežnika"> <!ENTITY zotero.preferences.proxies.disableByDomain "Onemogoči preusmerjanje s posredovanjem, če ime moje domene vsebuje"> <!ENTITY zotero.preferences.proxies.configured "Nastavljeni posredovalni strežniki"> <!ENTITY zotero.preferences.proxies.hostname "Ime gostitelja"> diff --git a/chrome/locale/sl-SI/zotero/zotero.dtd b/chrome/locale/sl-SI/zotero/zotero.dtd @@ -126,8 +126,8 @@ <!ENTITY zotero.item.textTransform.titlecase "Velike Začetnice"> <!ENTITY zotero.item.textTransform.sentencecase "Kot v stavku"> <!ENTITY zotero.item.creatorTransform.nameSwap "Zamenjaj ime/priimek"> -<!ENTITY zotero.item.viewOnline "View Online"> -<!ENTITY zotero.item.copyAsURL "Copy as URL"> +<!ENTITY zotero.item.viewOnline "Pokaži na spletu"> +<!ENTITY zotero.item.copyAsURL "Kopiraj kot URL"> <!ENTITY zotero.toolbar.newNote "Nova opomba"> <!ENTITY zotero.toolbar.note.standalone "Nova samostojna opomba"> @@ -165,7 +165,7 @@ <!ENTITY zotero.bibliography.title "Ustvari bibliografijo"> <!ENTITY zotero.bibliography.style.label "Slog navajanja:"> -<!ENTITY zotero.bibliography.locale.label "Language:"> +<!ENTITY zotero.bibliography.locale.label "Jezik:"> <!ENTITY zotero.bibliography.outputMode "Izhodni način:"> <!ENTITY zotero.bibliography.bibliography "Bibliografija"> <!ENTITY zotero.bibliography.outputMethod "Izhodna metoda:"> diff --git a/chrome/locale/sl-SI/zotero/zotero.properties b/chrome/locale/sl-SI/zotero/zotero.properties @@ -55,7 +55,7 @@ general.numMore=Še %S ... general.openPreferences=Odpri nastavitve general.keys.ctrlShift=Krmilka+dvigalka+ general.keys.cmdShift=Ukazovalka+dvigalka+ -general.dontShowAgain=Don’t Show Again +general.dontShowAgain=Ne pokaži več general.operationInProgress=Trenutno je v teku opravilo Zotero. general.operationInProgress.waitUntilFinished=Počakajte, da se dokonča. @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Trenutno izbrani zbirki ne morete dodajati ingester.saveToZotero=Shrani v Zotero ingester.saveToZoteroUsing=Shrani v Zotero s pomočjo »%S« -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Shrani v Zotero kot spletno stran (s posnetkom) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Shrani v Zotero kot spletno stran (brez posnetka) ingester.scraping=Shranjevanje vnosa ... ingester.scrapingTo=Shranjevanje v ingester.scrapeComplete=Vnos shranjen @@ -680,22 +680,22 @@ citation.showEditor=Pokaži urejevalnik ... citation.hideEditor=Skrij urejevalnik ... citation.citations=Citati citation.notes=Opombe -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure -citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line -citation.locator.note=Note +citation.locator.page=Stran +citation.locator.book=Knjiga +citation.locator.chapter=Poglavje +citation.locator.column=Stolpec +citation.locator.figure=Slika +citation.locator.folio=Folija +citation.locator.issue=Številka +citation.locator.line=Vrstica +citation.locator.note=Opomba citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section +citation.locator.paragraph=Odstavek +citation.locator.part=Del +citation.locator.section=Odsek citation.locator.subverbo=Sub verbo -citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.volume=Letnik +citation.locator.verse=Verz report.title.default=Poročilo Zotero report.parentItem=Starševski vnos: @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Strežnik za usklajevanje Zotero ni sprejel vašega sync.error.enterPassword=Vnesite geslo. sync.error.loginManagerInaccessible=Zotero ne more dostopati do vaših prijavnih podatkov. sync.error.checkMasterPassword=Če v %S uporabljate glavno geslo, se prepričajte, da ste ga vnesli pravilno. -sync.error.corruptedLoginManager=Vzrok je lahko tudi okvarjena zbirka podatkov upravitelja prijav %1$S. Zaprite %1$S, izbrišite signons.sqlite iz mape svojega profila %1$S, nato ponovno vnesite prijavne podatke Zotero v podoknu Usklajevanje v nastavitvah Zotera. -sync.error.loginManagerCorrupted1=Zotero ne more dostopati do vaših prijavnih podatkov, najverjetneje je zbirka podatkov upravitelja prijav programa %S okvarjena. -sync.error.loginManagerCorrupted2=Zaprite %1$S, izbrišite signons.sqlite iz mape svojega profila %2$S, nato ponovno vnesite prijavne podatke Zotero v podoknu Usklajevanje v nastavitvah Zotera. +sync.error.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json from your %2$S profile directory, and re-enter your Zotero login information in the Sync pane of the Zotero preferences. sync.error.syncInProgress=Usklajevanje je že v teku. sync.error.syncInProgress.wait=Počakajte, da se prejšnje usklajevanje dokonča ali ponovno zaženite %S. sync.error.writeAccessLost=V skupini Zotero '%S' nimate več pravice pisanja in elementov, ki ste jih dodali ali uredili, ni več mogoče usklajevati s strežnikom. @@ -965,7 +965,7 @@ file.accessError.message.windows=Preverite, da datoteka trenutno ni v uporabi, d file.accessError.message.other=Preverite, da datoteka trenutno ni v uporabi in da dovoljuje dostop s pisanjem. file.accessError.restart=Pomaga lahko tudi ponoven zagon vašega sistema ali izklop varnostnega programja. file.accessError.showParentDir=Pokaži nadrejeno mapo -file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file. +file.error.cannotAddShortcut=Datotek z bližnjicami ni mogoče dodati neposredno. Izberite izvorno datoteko. lookup.failure.title=Poizvedba ni uspela lookup.failure.description=Zotero ne more najti zapisa za navedeni identifikator. Preverite identifikator in poskusite znova. @@ -1004,9 +1004,9 @@ connector.loadInProgress=Samostojni Zotero je bil zagnan, a ni dosegljiv. Če st firstRunGuidance.authorMenu=Zotero omogoča tudi določitev urednikov in prevajalcev. Avtorja lahko spremenite v urednika ali prevajalca z ukazom v tem meniju. firstRunGuidance.quickFormat=Za iskanje sklica vnesite naslov ali avtorja.\n\nKo ste opravili izbor, kliknite oblaček ali pritisnite krmilka-↓ za dodajanje številk strani, predpon ali pripon. Z iskanimi nizi lahko neposredno vnesete tudi številko strani.\n\nNavedke lahko uredite neposredno v dokumentu urejevalnika besedil. firstRunGuidance.quickFormatMac=Za iskanje sklica vnesite naslov ali avtorja.\n\nKo ste opravili izbor, kliknite oblaček ali pritisnite Cmd-↓ za dodajanje številk strani, predpon ali pripon. Z iskanimi nizi lahko neposredno vnesete tudi številko strani.\n\nNavedke lahko uredite neposredno v dokumentu urejevalnika besedil. -firstRunGuidance.toolbarButton.new=Kliknite sem, da odprete Zotero, ali uporabite kombinacijo tipk %S. +firstRunGuidance.toolbarButton.new=Kliknite gumb Z, da odprete Zotero, ali uporabite kombinacijo tipk %S. firstRunGuidance.toolbarButton.upgrade=Ikono Zotero zdaj najdete v orodni vrstici Firefox. Kliknite ikono, da odprete Zotero, ali uporabite kombinacijo tipk %S. -firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. +firstRunGuidance.saveButton=Kliknite ta gumb, da shranite poljubno spletno stran v svojo knjižnico Zotero. Na nekaterih straneh Zotero ne more shraniti vseh podrobnosti, vključno z avtorji in datumom. styles.bibliography=Bibliografija styles.editor.save=Shrani slog citiranja diff --git a/chrome/locale/sr-RS/zotero/csledit.dtd b/chrome/locale/sr-RS/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/sr-RS/zotero/zotero.properties b/chrome/locale/sr-RS/zotero/zotero.properties @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/sv-SE/zotero/about.dtd b/chrome/locale/sv-SE/zotero/about.dtd @@ -10,4 +10,4 @@ <!ENTITY zotero.thanks "Särskilt tack:"> <!ENTITY zotero.about.close "Stäng"> <!ENTITY zotero.moreCreditsAndAcknowledgements "Vi vill också tacka..."> -<!ENTITY zotero.citationProcessing "Citering och källförteckningsbearbetning"> +<!ENTITY zotero.citationProcessing "Referens och källförteckningsbearbetning"> diff --git a/chrome/locale/sv-SE/zotero/csledit.dtd b/chrome/locale/sv-SE/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Zotero stilredigerare"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Referensposition:"> diff --git a/chrome/locale/sv-SE/zotero/cslpreview.dtd b/chrome/locale/sv-SE/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Zotoero stilförhandsgranskning"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Referensformat:"> +<!ENTITY styles.preview.citationFormat.all "alla"> +<!ENTITY styles.preview.citationFormat.author "författare"> +<!ENTITY styles.preview.citationFormat.authorDate "författare-datum"> +<!ENTITY styles.preview.citationFormat.label "etikett"> +<!ENTITY styles.preview.citationFormat.note "anteckning"> +<!ENTITY styles.preview.citationFormat.numeric "numerisk"> diff --git a/chrome/locale/sv-SE/zotero/preferences.dtd b/chrome/locale/sv-SE/zotero/preferences.dtd @@ -25,7 +25,7 @@ <!ENTITY zotero.preferences.reportTranslationFailure "Rapportera felaktiga källfångare"> <!ENTITY zotero.preferences.zoteroDotOrgVersionHeader "Tillåt zotero.org att justera innehåll beroende på installerad Zoteroversion"> <!ENTITY zotero.preferences.zoteroDotOrgVersionHeader.tooltip "Visa för zotero.org vilken version av programmet jag använder"> -<!ENTITY zotero.preferences.parseRISRefer "Använd Zotero för att ladda ner BibTeX/RIS/Refer-filer"> +<!ENTITY zotero.preferences.parseRISRefer "Använd Zotero för nedladdade BibTeX/RIS/Refer-filer"> <!ENTITY zotero.preferences.automaticSnapshots "Ta automatiskt lokala kopior när källor skapas av hemsidor"> <!ENTITY zotero.preferences.downloadAssociatedFiles "Bifoga automatiskt associerade PDF:er och andra filer när källor sparas"> <!ENTITY zotero.preferences.automaticTags "Lägg automatiskt till etiketter med nyckelord och ämnesord"> diff --git a/chrome/locale/sv-SE/zotero/standalone.dtd b/chrome/locale/sv-SE/zotero/standalone.dtd @@ -43,7 +43,7 @@ <!ENTITY copyCmd.label "Kopiera"> <!ENTITY copyCmd.key "C"> <!ENTITY copyCmd.accesskey "C"> -<!ENTITY copyCitationCmd.label "Kopiera citering"> +<!ENTITY copyCitationCmd.label "Kopiera referens"> <!ENTITY copyBibliographyCmd.label "Kopiera källförteckning"> <!ENTITY pasteCmd.label "Klistra in"> <!ENTITY pasteCmd.key "V"> diff --git a/chrome/locale/sv-SE/zotero/zotero.dtd b/chrome/locale/sv-SE/zotero/zotero.dtd @@ -163,7 +163,7 @@ <!ENTITY zotero.selectitems.cancel.label "Ångra"> <!ENTITY zotero.selectitems.select.label "Ok"> -<!ENTITY zotero.bibliography.title "Skapa citering/källförteckning"> +<!ENTITY zotero.bibliography.title "Skapa referens/källförteckning"> <!ENTITY zotero.bibliography.style.label "Referensstil"> <!ENTITY zotero.bibliography.locale.label "Språk:"> <!ENTITY zotero.bibliography.outputMode "Utmatningsläge"> @@ -177,7 +177,7 @@ <!ENTITY zotero.integration.docPrefs.title "Dokumentinställningar"> <!ENTITY zotero.integration.addEditCitation.title "Lägg till/redigera källhänvisning"> <!ENTITY zotero.integration.editBibliography.title "Redigera källförteckning"> -<!ENTITY zotero.integration.quickFormatDialog.title "Citering med snabbformat"> +<!ENTITY zotero.integration.quickFormatDialog.title "Referera med snabbformat"> <!ENTITY zotero.progress.title "Förlopp"> @@ -193,7 +193,7 @@ <!ENTITY zotero.citation.suppressAuthor.label "Dölj författare"> <!ENTITY zotero.citation.prefix.label "Prefix:"> <!ENTITY zotero.citation.suffix.label "Suffix:"> -<!ENTITY zotero.citation.editorWarning.label "Varning: Om du redigerar ett citat i redigeraren så kommer det inte längre uppdateras för att spegla förändringar i databasen eller citeringsstilen."> +<!ENTITY zotero.citation.editorWarning.label "Varning: Om du redigerar en referens i redigeraren så kommer den inte längre uppdateras för att spegla förändringar i databasen eller referensstilen."> <!ENTITY zotero.richText.italic.label "Kursiv"> <!ENTITY zotero.richText.bold.label "Fet"> @@ -220,7 +220,7 @@ <!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.caption "MEDLINE-tidskriftsförkortningar genereras automatiskt från tidskriftstitlarna. Tidskriftsförkortningsfältet ignoreras."> <!ENTITY zotero.integration.prefs.storeReferences.label "Lagra referenserna i dokumentet"> -<!ENTITY zotero.integration.prefs.storeReferences.caption "När du lagerar referenserna i dokument ökar filstorleken något, men det ger dig möjligheten att dela dokumentet till andra utan att använda en Zotero-grupp. Zotero 3.0 eller senare krävs för att redigera dokument som skapats med detta tillval."> +<!ENTITY zotero.integration.prefs.storeReferences.caption "När du lagrar referenserna i ett dokument ökar filstorleken något, men det ger dig möjligheten att dela dokumentet med andra utan att använda en Zotero-grupp. Zotero 3.0 eller senare krävs för att redigera dokument som skapats med detta tillval."> <!ENTITY zotero.integration.showEditor.label "Visa redigerare"> <!ENTITY zotero.integration.classicView.label "Klassisk vy"> diff --git a/chrome/locale/sv-SE/zotero/zotero.properties b/chrome/locale/sv-SE/zotero/zotero.properties @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Du kan inte lägga till filer i den valda ingester.saveToZotero=Spara i Zotero ingester.saveToZoteroUsing=Spara i Zotero med "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Spara till Zotero som webbsida (med ögonblicksbild) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Spara till Zotero som webbsida (utan ögonblicksbild) ingester.scraping=Sparar källa... ingester.scrapingTo=Spara till ingester.scrapeComplete=Källa sparad @@ -495,7 +495,7 @@ ingester.scrapeErrorDescription.linkText=Felsök problem med källfångare ingester.scrapeErrorDescription.previousError=Sparandet misslyckades p.g.a. ett tidigare Zotero-fel. ingester.importReferRISDialog.title=Zotero RIS/Refer Import -ingester.importReferRISDialog.text=Vill du importera källor från "%1$S" till Zotero?\n\nDu kan stänga av automatisk RIS/Refer-import under Åtgärder > Inställningar. +ingester.importReferRISDialog.text=Vill du importera källor från "%1$S" till Zotero?\n\nDu kan stänga av automatisk RIS/Refer-import i Zoteros inställningar. ingester.importReferRISDialog.checkMsg=Tillåt alltid för denna sida ingester.importFile.title=Importera fil @@ -567,7 +567,7 @@ zotero.preferences.search.pdf.tryAgainOrViewManualInstructions=Var vänlig pröv zotero.preferences.export.quickCopy.bibStyles=Referensstilar zotero.preferences.export.quickCopy.exportFormats=Exportformat zotero.preferences.export.quickCopy.instructions=Snabbkopiering låter dig kopiera valda referenser till urklipp genom att trycka på en genvägstangent (%S) eller genom att dra källorna till ett textfält på en webbsida. -zotero.preferences.export.quickCopy.citationInstructions=För källförteckningsstilar kan du kopiera citeringar och fotnoter genom att trycka %S eller hålla ner Shift innan du drar källorna. +zotero.preferences.export.quickCopy.citationInstructions=För källförteckningsstilar kan du kopiera referenser och fotnoter genom att trycka %S eller hålla ner Shift innan du drar källorna. zotero.preferences.wordProcessors.installationSuccess=Installationen lyckades. zotero.preferences.wordProcessors.installationError=Installationen blev inte klar eftersom ett fel uppstod. Se till att %1$S är stängt, starta sedan om %2$S. @@ -678,7 +678,7 @@ citation.multipleSources=Flera källor... citation.singleSource=En källa... citation.showEditor=Visa redigeraren... citation.hideEditor=Göm redigeraren... -citation.citations=Citeringar +citation.citations=Refereringar citation.notes=Anteckningar citation.locator.page=Sida citation.locator.book=Bok @@ -711,7 +711,7 @@ annotations.expand.tooltip=Öppna kommentar annotations.oneWindowWarning=Kommentarer till en lokalt sparad webbsida kan bara öppnas i ett webbläsarfönster åt gången. Den här lokalt sparade webbsidan kommer att öppnas utan kommentarer. integration.fields.label=Fält -integration.referenceMarks.label=Referensmärken +integration.referenceMarks.label=ReferenceMarks integration.fields.caption=Det är mindre risk att Microsoft Word-fält ändras oavsiktligt, men de fungerar inte i OpenOffice. integration.fields.fileFormatNotice=Dokumentet måste sparas i formaten .doc eller .docx. integration.referenceMarks.caption=Det är mindre risk att OpenOffice ReferenceMarks ändras oavsiktligt, men de fungerar inte i Microsoft Word. @@ -725,13 +725,13 @@ integration.revertAll.title=Är du säker på att du vill återställa alla änd integration.revertAll.body=Om du fortsätter så kommer alla källor som du refererar till i texten att synas i källförteckningen med sin originaltext, och alla manuellt tillagda källor kommer att tas bort från källförteckningen. integration.revertAll.button=Återställ integration.revert.title=Är du säker på att ångra denna ändring? -integration.revert.body=Om du väljer att fortsätta så kommer valda poster i källförteckningen att uppdateras med vald referensmall. +integration.revert.body=Om du väljer att fortsätta, så kommer texten i källförteckningen för de valda objekten ersättas med omodifierad text i enlighet med den valda referensstilen. integration.revert.button=Återställ integration.removeBibEntry.title=Den valda källan refereras till i ditt dokument. integration.removeBibEntry.body=Är du säker på att du vill utesluta den från källförteckningen? -integration.cited=Citerad -integration.cited.loading=Laddar citeringar... +integration.cited=Refererad +integration.cited.loading=Laddar refererade källor... integration.ibid=ibid integration.emptyCitationWarning.title=Tom källhänvisning integration.emptyCitationWarning.body=Källhänvisningen som du valt kommer att bli tom i den nu valda referensmallen. Är du säker på att du vill lägga till den? @@ -748,7 +748,7 @@ integration.error.cannotInsertHere=Zoterofält kan inte sättas in här. integration.error.notInCitation=Du måste sätta markören i en Zoteroreferens för att ändra den. integration.error.noBibliography=Den nuvarande referensstilen definierar ingen källförteckning. Om du vill lägga till en källförteckning så välj en annan referensstil. integration.error.deletePipe=Förbindelsen som Zotero använder för att kommunicera med ordbehandlaren kunde inte startas. Vill du att Zotero ska försöka rätta till detta fel? Du kommer att tillfrågas om ditt lösenord. -integration.error.invalidStyle=Den referensstil du har valt fungerar inte. Om du har skapat stilen själv, kontrollera att den fungerar enligt instruktionerna på http://zotero.org/support/dev/citation_styles. Annars kan du välja en annan stil. +integration.error.invalidStyle=Den referensstil du har valt fungerar inte. Om du har skapat stilen själv, kontrollera att den fungerar enligt instruktionerna på https://github.com/citation-style-language/styles/wiki/Validation. Annars kan du välja en annan stil. integration.error.fieldTypeMismatch=Zotero kunde inte uppdatera detta dokument eftersom att det skapas i ett annat ordbehandlingsprogram med en inkompatibel fältuppsättning. För att göra ett dokument kompatibelt med både Word och OpenOffice.org/LibreOffice/NeoOffice, öppna dokumentet i den ordbehandlaren det skapades i och byt fälttyp till "Bokmärken" i Zoteros dokumentinställningar. integration.replace=Byt ut detta Zoterofält? @@ -763,7 +763,7 @@ integration.corruptField.description=Klickar du på "Nej" så kommer fältkodern integration.corruptBibliography=Fältkoden för din källförteckning har blivit skadad. Ska Zotero radera denna fältkod och skapa en ny källförteckning? integration.corruptBibliography.description=Alla källor som hänvisats till i texten kommer att hamna i den nya källförteckningen, men ändringar du gjort i "Redigera källförteckning" kommer att försvinna. integration.citationChanged=Du har ändrat den här källhänvisningen sedan den skapades av Zotero. Vill du behålla dina ändringar och förhindra framtida uppdateringar? -integration.citationChanged.description=Om du klickar "Ja" så förhindras Zotero att uppdatera denna citering om du lägger till fler källor, byter referensstil, eller ändrar referensen. Om du klickar "Nej" tas dina tidigare ändringar bort. +integration.citationChanged.description=Om du klickar "Ja" så förhindras Zotero att uppdatera denna referens om du lägger till fler källor, byter referensstil, eller ändrar refereringen. Om du klickar "Nej" tas dina tidigare ändringar bort. integration.citationChanged.edit=Du har ändrat den här källhänvisningen sedan den skapades av Zotero. Om du redigerar den tas dina ändringar bort. Vill du fortsätta? styles.install.title=Installera stil @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zotero sync server godtog inte ditt användarnamn o sync.error.enterPassword=Skriv ett lösenord. sync.error.loginManagerInaccessible=Zotero kan inte nå din inloggningsinformation. sync.error.checkMasterPassword=Om du använder ett huvudlösenord i %S, kontrollera att du har skrivit in rätt lösenord. -sync.error.corruptedLoginManager=Detta kan också bero på en skadad %1$S inloggningsuppgiftsdatabas. Felsök detta genom att stänga %1$S, ta bort signons.sqlite från profilkatalogen %1$S och mata på nytt in dina Zotero-inloggningsuppgifter i synkroniseringsfliken i inställningarna för Zotero. -sync.error.loginManagerCorrupted1=Zotero kan inte komma åt din inloggningsinformation, antagligen på grund av en en trasig %S-loginhanterardatabas. -sync.error.loginManagerCorrupted2=Stäng %1$S, ta bort signons.sqlite från profilkatalogen %2$S, och ange din Zotero inloggningsinformation i Sync filen i inställningarna för Zotero. +sync.error.corruptedLoginManager=Det kan också bero på en trasig %1$S logindatabas. För att kontrollera detta, stäng %1$S, radera cert8.db, key3.db och logins.json från din %1$S profilmapp och skriv på nytt in dina Zotero inloggningsuppgifter i synkroniseringsrutan i Zoteros inställningar. +sync.error.loginManagerCorrupted1=Zotero kan inte komma åt din inloggningsinformation, antagligen på grund av en trasig %S inloggningsdatabas. +sync.error.loginManagerCorrupted2=Stäng %1$S, radera cert8.db, key3.db och logins.json från din %2$S profilmapp och skriv på nytt in dina Zotero inloggningsuppgifter i synkroniseringsrutan i Zoteros inställningar. sync.error.syncInProgress=En synkroniseringsprocess är redan igång. sync.error.syncInProgress.wait=Vänta till den förra synkroniseringen är klar eller starta om %S. sync.error.writeAccessLost=Du har inte längre skrivåtkomst till Zoterogruppen '%S'. De källor som du lagt till eller redigerat kan inte synkroniseras med servern. @@ -1002,9 +1002,9 @@ connector.standaloneOpen=Din databas kan inte nås eftersom Zotero Standalone ä connector.loadInProgress=Zotero Standalone startades men är inte tillgängligt. Om ett fel uppstod när Zotero Standalone startades, starta om Firefox. firstRunGuidance.authorMenu=Zotero låter dig även ange redaktörer och översättare. Du kan göra så att en författare anges som redaktör eller översättare från denna meny. -firstRunGuidance.quickFormat=Skriv in en titel eller författare för att söka bland referenserna.\n\nEfter att du har gjort ditt val, klicka i rutan eller tryck Ctrl-\u2193 för att lägga till sidnummer, prefix eller suffix. Du kan också lägga in ett sidnummer tillsammans med din sökning för att lägga till det direkt.\n\nDu kan redigera citeringen direkt i ordbehandlaren. -firstRunGuidance.quickFormatMac=Skriv in en titel eller författare för att söka bland referenserna.\n\nEfter att du har gjort ditt val, klicka i rutan eller tryck Ctrl-\u2193 för att lägga till sidnummer, prefix eller suffix. Du kan också lägga in ett sidnummer tillsammans med din sökning för att lägga till det direkt.\n\nDu kan redigera citeringen direkt i ordbehandlaren. -firstRunGuidance.toolbarButton.new=Klicka här för att öppna Zotero, eller använd %S kortkommandot. +firstRunGuidance.quickFormat=Skriv in en titel eller författare för att söka bland referenserna.\n\nEfter att du har gjort ditt val, klicka i rutan eller tryck Ctrl-↓ för att lägga till sidnummer, prefix eller suffix. Du kan också lägga in ett sidnummer tillsammans med din sökning för att lägga till det direkt.\n\nDu kan redigera refereringen direkt i ordbehandlaren. +firstRunGuidance.quickFormatMac=Skriv in en titel eller författare för att söka bland referenserna.\n\nSedan du gjort ditt val, klicka i rutan eller tryck Cmd-↓ för att lägga till sidnummer, prefix eller suffix. Du kan också lägga in ett sidnummer tillsammans med din sökning för att lägga till det direkt.\n\nDu kan redigera refereringen direkt i ordbehandlaren. +firstRunGuidance.toolbarButton.new=Klicka på "Z"-knappen för att öppna Zotero, eller använd kortkommandot %S. firstRunGuidance.toolbarButton.upgrade=Zotero-ikonen ligger nu i Firefoxs verktygsrad. Klicka på ikonen för att öppna Zotero, eller använd %S kortkommandot. firstRunGuidance.saveButton=Klicka på denna knapp för att spara en webbsida i ditt Zotero-bibliotek. För vissa sidor kan Zotero spara alla uppgifter, inklusive författare och datum. @@ -1012,7 +1012,7 @@ styles.bibliography=Källförteckning styles.editor.save=Spara referensstil styles.editor.warning.noItems=Inga källor markerade i Zotero. styles.editor.warning.parseError=Fel vid tolkning av stil: -styles.editor.warning.renderError=Fel vid generering av citering och källförteckning. -styles.editor.output.individualCitations=Individuella citeringar -styles.editor.output.singleCitation=Enskild citering (med positionen "först") +styles.editor.warning.renderError=Fel vid generering av referens och källförteckning. +styles.editor.output.individualCitations=Individuella refereringar +styles.editor.output.singleCitation=Enskild referens (med positionen "första") styles.preview.instructions=Markera en eller flera källor i Zotero och klicka på Uppdatera-knappen för att se hur dessa källor framställs i de installerade CSL-stilarna. diff --git a/chrome/locale/th-TH/zotero/csledit.dtd b/chrome/locale/th-TH/zotero/csledit.dtd @@ -1,4 +1,3 @@ <!ENTITY styles.editor "Zotero Style Editor"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> <!ENTITY styles.editor.citePosition "Cite Position:"> diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties @@ -801,9 +801,9 @@ 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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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=You no longer have write access to the Zotero group '%S', and items you've added or edited cannot be synced to the server. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero ให้คุณกำหนดบรรณาธิการและผู้แปลด้วย คุณสามารถเปลี่ยนจากผู้แต่งเป็นบรรณาธิการหรือผู้แปลได้โดยเลือกจากเมนูนี้ firstRunGuidance.quickFormat=พิมพ์ชื่อเรื่องหรือผู้แต่งเพื่อค้นหาเอกสารอ้างอิง\n\nหลังจากเลือกแล้ว ให้คลิกฟองหรือกด Ctrl-\u2193 เพื่อเพิ่มเลขหน้า คำนำหน้าหรือคำตามหลัง คุณสามารถใส่เลขหน้าไปพร้อมกับคำที่ต้องการค้นหาได้โดยตรง\n\nคุณสามารถแก้ไขการอ้างอิงในโปรแกรมประมวลผคำได้โดยตรง firstRunGuidance.quickFormatMac=พิมพ์ชื่อเรื่องหรือผู้แต่งเพื่อค้นหาเอกสารอ้างอิง\n\nหลังจากเลือกแล้ว ให้คลิกฟองหรือกด Cmd-\u2193 เพื่อเพิ่มเลขหน้า คำนำหน้าหรือคำตามหลัง คุณสามารถใส่เลขหน้าไปพร้อมกับคำที่ต้องการค้นหาได้โดยตรง\n\nคุณสามารถแก้ไขการอ้างอิงในโปรแกรมประมวลผลคำได้โดยตรง -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/tr-TR/zotero/csledit.dtd b/chrome/locale/tr-TR/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Zotero Stil Düzenleyicisi"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Gönderme Konumu:"> diff --git a/chrome/locale/tr-TR/zotero/cslpreview.dtd b/chrome/locale/tr-TR/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Zotero Stil Önizleyicisi"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Kaynakça Biçimi:"> +<!ENTITY styles.preview.citationFormat.all "tümü"> +<!ENTITY styles.preview.citationFormat.author "yazar"> +<!ENTITY styles.preview.citationFormat.authorDate "yazar-tarih"> +<!ENTITY styles.preview.citationFormat.label "etiket"> +<!ENTITY styles.preview.citationFormat.note "not"> +<!ENTITY styles.preview.citationFormat.numeric "sayısal"> diff --git a/chrome/locale/tr-TR/zotero/zotero.properties b/chrome/locale/tr-TR/zotero/zotero.properties @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Şu an seçili olan dermeye dosya ekleyeme ingester.saveToZotero=Zotero'ya Kaydet ingester.saveToZoteroUsing=Zotero'ya "%S"yı kullanarak kaydet -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Zotero'ya Web Sitesi Olarak (Anlık Görüntülü) Kaydet +ingester.saveToZoteroAsWebPageWithoutSnapshot=Zotero'ya Web Sitesi Olarak (Anlık Görüntüsüz) Kaydet ingester.scraping=Eser kaydediliyor... ingester.scrapingTo=Buraya kaydediyor: ingester.scrapeComplete=Eser Kaydedildi. @@ -507,7 +507,7 @@ ingester.lookup.error=Bu eser için bir bakma yaparken bir hata oldu. db.dbCorrupted=Zotero veri tabanı '%S' bozulmuş görülüyor. db.dbCorrupted.restart=Son yapılan yedekten otomatik geri yüklemek için lütfen Firefox'u yeniden başlatın. -db.dbCorruptedNoBackup=Zotero veri tabanı bozulmuş görülüyor, ve herhangi bir otomatik yedek mevcut değil.\n\nYeni bir veri tabanı yaratıldı. Bozulmuş dosya sizin Zotero dizininize kaydedildi. +db.dbCorruptedNoBackup=Zotero veri tabanı '%S' bozulmuş görülüyor, ve herhangi bir otomatik yedeği mevcut değil.\n\nYeni bir veri tabanı dosyası yaratıldı. Bozulmuş dosya sizin Zotero dizininize kaydedildi. db.dbRestored=Zotero veri tabanı '%1$S' bozulmuş görülüyor.\n\nVerileriniz otomatik olarak en son %2$S %3$S tarihinde yapılan yedekten geri yüklendi. Bozulmuş dosya sizin Zotero dizininize kaydedildi. db.dbRestoreFailed=Zotero veri tabanı '%S' bozulmuş görülüyor, ve son yapılan otomatik yedekten geri yükleme başarısız oldu.\n\nYeni bir veri tabanı oluşturuldu. Bozulmuş dosya sizin Zotero dizininize kaydedildi. @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zotero eşitleme sunucusu kullanıcı adınızı ve sync.error.enterPassword=Lütfen bir şifre giriniz. sync.error.loginManagerInaccessible=Zotero oturum açma bilgilerinize erişemiyor. sync.error.checkMasterPassword=Eğer %S içinde bir ana parola kullanıyorsanız, bu parolayı başarıyla girdiğinize emin olunuz. -sync.error.corruptedLoginManager=Bu, bozulmuş bir %1$S oturum açma yöneticisi verı tabanından da kaynaklanıyor olabilir. Bunu kontrol etmek için, %1$S'u kapatın, %1$S profilinizden signons.sqlite'ı silin ve Zotero tercihlerinizde Eşitleme bölmesi altındaki Zotero oturum açma bilgilerinizi yeniden girin. -sync.error.loginManagerCorrupted1=Zotero sizin oturum açma bilgilerinize ulaşamıyor. Bu, bozulmuş bir %S erişim açma yöneticisi veritabanından kaynaklanıyor olabilir. -sync.error.loginManagerCorrupted2=%1$S'u kapatın, %2$S profil dizininizden signons.sqlite'ı silin ve Zotero Tercihlerindeki Eşitleme Panelindeki Zotero oturum açma bilgilerinizi tekrar girin. +sync.error.corruptedLoginManager=Bu, bozulmuş bir %1$S oturum açma veritabanından da kaynaklanıyor olabilir. Bunu kontrol etmek için, %1$S'u kapatın, %1$S profil dizininizden cert8.db, key3.db ve logins.json dosyalarını silin ve Zotero oturum açma bilgilerinizi Zotero tercihlerindeki Eşitleme bölmesinde tekrar girin. +sync.error.loginManagerCorrupted1=Zotero oturum açma bilgilerinize ulaşamıyor. Bu, bozulmuş bir %S oturum açma veritabanından kaynaklanıyor olabilir. +sync.error.loginManagerCorrupted2=%1$S'u kapatın, %2$S profil dizininizden cert8.db, key3.db ve logins.json dosyalarını silin ve Zotero oturum açma bilgilerinizi Zotero tercihlerindeki Eşitleme bölmesinde tekrar girin. sync.error.syncInProgress=Bir eşitleme işlemi şu an yürütülüyor. sync.error.syncInProgress.wait=Bir önceki eşitlemenin bitmesini bekleyin ve %S'u tekrar başlatın. sync.error.writeAccessLost=Zotero grubu '%S''ye yazma hakkınız yok. Bu nedenle düzenlediğiniz veya eklediğiniz dertler sunucuyla eşitlenmeyecektir. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Tek Başına Zotero başlatıldı, ama Tek Başına Zot firstRunGuidance.authorMenu=Zotero istediğiniz düzenleyici ve çevirmenleri belirtmenize izin vermektedir. Bu menüden seçerek, bir yazarı düzenleyici veya çevirmene dönüştürebilirsiniz. firstRunGuidance.quickFormat=Bir kaynak aramak için bir başlık ya da yazar adı yazınız.\n\nSeçiminizi yaptıktan sonra, sayfa numaraları, önekler ve sonekler eklemek için kabarcığa tıklayınız veya Ctrl-\u2193'ya basınız. Ayrıca arama terimlerinize sayfa numarasını katarak, onları doğrudan ekleyebilirsiniz.\n\nGöndermelerinizi sözcük işlemcisi belgesinde doğrudan değiştirebilirsiniz. firstRunGuidance.quickFormatMac=Bir kaynak aramak için bir başlık ya da yazar adı yazınız.\n\nSeçiminizi yaptıktan sonra, sayfa numaraları, önekler ve sonekler eklemek için kabarcığa tıklayınız veya Cmd-\u2193'ya basınız. Ayrıca arama terimlerinize sayfa numarasını katarak, onları doğrudan ekleyebilirsiniz.\n\nGöndermelerinizi sözcük işlemcisi belgesinde doğrudan değiştirebilirsiniz. -firstRunGuidance.toolbarButton.new=Zotero'yu başlatmak için buraya tıklayınız, ya da klavye kısayolu olan %S'i kullanınız. +firstRunGuidance.toolbarButton.new=Zotero'yu açmak için 'Z' düğmesine basınız, ya da %S klavye kısayolunu kullanınız. firstRunGuidance.toolbarButton.upgrade=Zotero simgesi, artık Firefox araç çubuğunda buulunabilir. Zotero'yu başlatmak için bu simgeye tıklayınız, ya da klavye kısayolu olan %S'i kullanınız. firstRunGuidance.saveButton=Bu düğmeye basarak herhangi bir web sayfasını Zotero kitaplığınıza ekleyiniz. Zotero, bazı sayfalarda, yazar ve tarih dahil olmak üzere, tüm detayları kaydedebilecektir. diff --git a/chrome/locale/uk-UA/zotero/csledit.dtd b/chrome/locale/uk-UA/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Редактор стилю Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Розташування цитування:"> diff --git a/chrome/locale/uk-UA/zotero/cslpreview.dtd b/chrome/locale/uk-UA/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Попередній перегляд стилю Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Формат цитування:"> +<!ENTITY styles.preview.citationFormat.all "все"> +<!ENTITY styles.preview.citationFormat.author "автор"> +<!ENTITY styles.preview.citationFormat.authorDate "автор-дата"> +<!ENTITY styles.preview.citationFormat.label "позначка"> +<!ENTITY styles.preview.citationFormat.note "примітка"> +<!ENTITY styles.preview.citationFormat.numeric "числовий"> diff --git a/chrome/locale/uk-UA/zotero/zotero.properties b/chrome/locale/uk-UA/zotero/zotero.properties @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=Ви не можете додати фай ingester.saveToZotero=Зберегти в Zotero ingester.saveToZoteroUsing=Зберегти в Zotero використовуючи "%S" -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=Зберегти в Zotero як веб-сторінку (зі знімком) +ingester.saveToZoteroAsWebPageWithoutSnapshot=Зберегти в Zotero як веб-сторінку (без знімку) ingester.scraping=Збереження документу... ingester.scrapingTo=Зберегти в ingester.scrapeComplete=Документ збережено @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Сервер синхронізації Zotero не sync.error.enterPassword=Будь ласка, введіть пароль. sync.error.loginManagerInaccessible=Zotero не може sync.error.checkMasterPassword=Якщо ви використовуєте майстер-пароль у %S, переконайтеся, що ви ввели його успішно. -sync.error.corruptedLoginManager=Це також може бути пов'язано з пошкодженням бази даних менеджера авторизації %1$S. Щоб перевірити, закрийте %1$S, видалить signons.sqlite з вашого каталогу профілю %1$S, і повторно введіть логін та пароль Zotero в панелі синхронізації налаштувань Zotero. -sync.error.loginManagerCorrupted1=Zotero не можете отримати доступ до облікової інформації користувача, можливо, через пошкодження бази даних менеджера авторизації %S. -sync.error.loginManagerCorrupted2=Закрийте %1$S, видалить signons.sqlite з вашого каталогу профілю %2$S, і повторно введіть логін та пароль Zotero в панелі синхронізації налаштувань Zotero. +sync.error.corruptedLoginManager=Це також може бути через пошкоджену базу даних входу %1$S. Щоб перевірити, закрийте %1$S, видалить cert8.db, key3.db і logins.json з вашого %2$S каталогу профілю та введіть заново ваш Zotero логін та пароль в панелі синхронізації налаштувань Zotero. +sync.error.loginManagerCorrupted1=Zotero не може отримати інформацію для входу, можливо, через пошкоджену базу даних %S. +sync.error.loginManagerCorrupted2=Закрийте %1$S, видалить cert8.db, key3.db і logins.json з вашого %2$S каталогу профілю та введіть заново ваш Zotero логін та пароль в панелі синхронізації налаштувань Zotero. sync.error.syncInProgress=Синхронізація вже виконується. sync.error.syncInProgress.wait=Зачекайте завершення попередньої синхронізації або перезапустіть %S. sync.error.writeAccessLost=Вам більше не має прав запису в групи Zotero '%S', а елементи, додані або змінені не можуть бути синхронізовані з сервером. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone був запущений, але н firstRunGuidance.authorMenu=Zotero також дозволяє вказати редакторів і перекладачів. Ви можете перетворити автора в редактора чи перекладача, вибравши з цього меню. firstRunGuidance.quickFormat=Введіть назву або автора для пошуку посилання.\n\nПісля того як ви зробили свій вибір, натисніть виноску або натисніть Ctrl-↓ щоб додати номери сторінок, префікси або суфікси. Ви можете також включити номер сторінки разом з умовами пошуку, щоб додати його безпосередньо. \n \nВи можете редагувати цитати прямо в документі текстового редактора. firstRunGuidance.quickFormatMac=Введіть назву або автора для пошуку посилання. \n\nПісля того як ви зробили свій вибір, натисніть виноску або натисніть Cmd-↓ щоб додати номери сторінок, префікси або суфікси. Ви можете також включити номер сторінки разом з умовами пошуку, щоб додати його безпосередньо. \n\nВи можете редагувати цитати прямо в документі текстового реактора. -firstRunGuidance.toolbarButton.new=Натисніть тут, щоб відкрити Zotero або використайте комбінацію клавіш %S. +firstRunGuidance.toolbarButton.new=Натисніть кнопку ‘Z’, щоб відкрити Zotero або використайте комбінацію клавіш %S. firstRunGuidance.toolbarButton.upgrade=Значок Zotero тепер можна знайти на панелі інструментів Firefox. Клацніть по значку, щоб відкрити Zotero або використовуйте комбінацію клавіш %S. firstRunGuidance.saveButton=Натисніть цю кнопку, щоб зберегти будь-яку веб-сторінку в бібліотеку Zotero. На деяких сторінках, Zotero зможете зберегти повну інформацію, в тому числі автора і дати. diff --git a/chrome/locale/vi-VN/zotero/about.dtd b/chrome/locale/vi-VN/zotero/about.dtd @@ -9,5 +9,5 @@ <!ENTITY zotero.executiveProducer "Chủ nhiệm:"> <!ENTITY zotero.thanks "Xin gửi lời cảm ơn đặc biệt tới:"> <!ENTITY zotero.about.close "Đóng"> -<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits & Acknowledgements"> -<!ENTITY zotero.citationProcessing "Citation & Bibliography Processing"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "Những người tham gia & Lời cảm ơn"> +<!ENTITY zotero.citationProcessing "Xử lý trích dẫn & danh mục tài liệu tham khảo"> diff --git a/chrome/locale/vi-VN/zotero/csledit.dtd b/chrome/locale/vi-VN/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Bộ soạn thảo Kiểu của Zotero"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "Vị trí của trích dẫn:"> diff --git a/chrome/locale/vi-VN/zotero/cslpreview.dtd b/chrome/locale/vi-VN/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Xem trước kiểu trích dẫn của Zotero"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "Định dạng trích dẫn:"> +<!ENTITY styles.preview.citationFormat.all "tất cả"> +<!ENTITY styles.preview.citationFormat.author "tác giả"> +<!ENTITY styles.preview.citationFormat.authorDate "tác giả-ngày"> +<!ENTITY styles.preview.citationFormat.label "nhãn"> +<!ENTITY styles.preview.citationFormat.note "ghi chú"> +<!ENTITY styles.preview.citationFormat.numeric "số"> diff --git a/chrome/locale/vi-VN/zotero/preferences.dtd b/chrome/locale/vi-VN/zotero/preferences.dtd @@ -1,79 +1,79 @@ <!ENTITY zotero.preferences.title "Các tùy chọn của Zotero"> <!ENTITY zotero.preferences.default "Mặc định:"> -<!ENTITY zotero.preferences.items "items"> +<!ENTITY zotero.preferences.items "các mục"> <!ENTITY zotero.preferences.period "."> -<!ENTITY zotero.preferences.settings "Settings"> +<!ENTITY zotero.preferences.settings "Các thiết lập"> <!ENTITY zotero.preferences.prefpane.general "Các tùy chọn chung"> <!ENTITY zotero.preferences.userInterface "Giao diện người dùng"> -<!ENTITY zotero.preferences.showIn "Load Zotero in:"> -<!ENTITY zotero.preferences.showIn.browserPane "Browser pane"> -<!ENTITY zotero.preferences.showIn.separateTab "Separate tab"> -<!ENTITY zotero.preferences.showIn.appTab "App tab"> +<!ENTITY zotero.preferences.showIn "Nạp Zotero vào:"> +<!ENTITY zotero.preferences.showIn.browserPane "Khung trình duyệt"> +<!ENTITY zotero.preferences.showIn.separateTab "Phân cách"> +<!ENTITY zotero.preferences.showIn.appTab "Ứng dụng"> <!ENTITY zotero.preferences.fontSize "Cỡ chữ:"> <!ENTITY zotero.preferences.fontSize.small "Nhỏ"> <!ENTITY zotero.preferences.fontSize.medium "Trung bình"> <!ENTITY zotero.preferences.fontSize.large "Lớn"> -<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> -<!ENTITY zotero.preferences.fontSize.notes "Note font size:"> +<!ENTITY zotero.preferences.fontSize.xlarge "Rất lớn"> +<!ENTITY zotero.preferences.fontSize.notes "Cỡ chữ ghi chú:"> <!ENTITY zotero.preferences.miscellaneous "Các tùy chọn khác"> -<!ENTITY zotero.preferences.autoUpdate "Automatically check for updated translators and styles"> +<!ENTITY zotero.preferences.autoUpdate "Tự động kiểm tra cập nhật Bộ chuyển và Kiểu trích dẫn"> <!ENTITY zotero.preferences.updateNow "Cập nhật ngay bây giờ"> <!ENTITY zotero.preferences.reportTranslationFailure "Báo cáo các bộ biến đổi bị hỏng"> -<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader "Allow zotero.org to customize content based on current Zotero version"> -<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader.tooltip "If enabled, the current Zotero version will be added to HTTP requests to zotero.org."> -<!ENTITY zotero.preferences.parseRISRefer "Use Zotero for downloaded BibTeX/RIS/Refer files"> +<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader "Cho phép zotero.org điều chỉnh nội dung dựa trên phiên bản Zotero hiện tại"> +<!ENTITY zotero.preferences.zoteroDotOrgVersionHeader.tooltip "Nếu cho phép, phiên bản Zotero hiện tại sẽ được gộp vào các yêu cầu HTTP gửi tới zotero.org"> +<!ENTITY zotero.preferences.parseRISRefer "Dùng Zotero để tải xuống các tập tin Bib TeX/RIS/Refer files"> <!ENTITY zotero.preferences.automaticSnapshots "Tự động tạo bản lưu khi tạo biểu ghi từ các trang web"> <!ENTITY zotero.preferences.downloadAssociatedFiles "Tự động đính kèm các tập tin PDF và các tập tin liên đới khác khi lưu dữ các biểu ghi"> <!ENTITY zotero.preferences.automaticTags "Tự động dùng các từ khóa và các tiêu đề, mục đề để gắn thẻ cho các biểu ghi"> -<!ENTITY zotero.preferences.trashAutoEmptyDaysPre "Automatically remove items in the trash deleted more than"> -<!ENTITY zotero.preferences.trashAutoEmptyDaysPost "days ago"> +<!ENTITY zotero.preferences.trashAutoEmptyDaysPre "Tự động loại bỏ các mục trong Thùng rác đã xóa hơn"> +<!ENTITY zotero.preferences.trashAutoEmptyDaysPost "ngày trước đây"> -<!ENTITY zotero.preferences.groups "Groups"> -<!ENTITY zotero.preferences.groups.whenCopyingInclude "When copying items between libraries, include:"> -<!ENTITY zotero.preferences.groups.childNotes "child notes"> -<!ENTITY zotero.preferences.groups.childFiles "child snapshots and imported files"> -<!ENTITY zotero.preferences.groups.childLinks "child links"> -<!ENTITY zotero.preferences.groups.tags "tags"> +<!ENTITY zotero.preferences.groups "Các nhóm"> +<!ENTITY zotero.preferences.groups.whenCopyingInclude "Thông tin của mục được sao chép giữa các thư viện:"> +<!ENTITY zotero.preferences.groups.childNotes "các ghi chú con"> +<!ENTITY zotero.preferences.groups.childFiles "các snapshot và tập tin được nhập khẩu"> +<!ENTITY zotero.preferences.groups.childLinks "các liên kết con"> +<!ENTITY zotero.preferences.groups.tags "các tag"> <!ENTITY zotero.preferences.openurl.caption "OpenURL"> -<!ENTITY zotero.preferences.openurl.search "Tìm kiếm các resolver"> +<!ENTITY zotero.preferences.openurl.search "Tìm kiếm các bộ phân giải"> <!ENTITY zotero.preferences.openurl.custom "Tùy biến..."> -<!ENTITY zotero.preferences.openurl.server "Resolver:"> +<!ENTITY zotero.preferences.openurl.server "Bộ phân giải:"> <!ENTITY zotero.preferences.openurl.version "Phiên bản:"> -<!ENTITY zotero.preferences.prefpane.sync "Sync"> -<!ENTITY zotero.preferences.sync.username "Username:"> -<!ENTITY zotero.preferences.sync.password "Password:"> -<!ENTITY zotero.preferences.sync.syncServer "Zotero Sync Server"> -<!ENTITY zotero.preferences.sync.createAccount "Create Account"> -<!ENTITY zotero.preferences.sync.lostPassword "Lost Password?"> -<!ENTITY zotero.preferences.sync.syncAutomatically "Sync automatically"> -<!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.about "About Syncing"> -<!ENTITY zotero.preferences.sync.fileSyncing "File Syncing"> +<!ENTITY zotero.preferences.prefpane.sync "Đồng bộ"> +<!ENTITY zotero.preferences.sync.username "Tên người dùng:"> +<!ENTITY zotero.preferences.sync.password "Mật khẩu:"> +<!ENTITY zotero.preferences.sync.syncServer "Máy chủ đồng bộ Zotero"> +<!ENTITY zotero.preferences.sync.createAccount "Tạo tài khoản"> +<!ENTITY zotero.preferences.sync.lostPassword "Quên mật khẩu?"> +<!ENTITY zotero.preferences.sync.syncAutomatically "Tự động đồng bộ"> +<!ENTITY zotero.preferences.sync.syncFullTextContent "Đồng bộ nội dung full-text"> +<!ENTITY zotero.preferences.sync.syncFullTextContent.desc "Zotero có thể đồng bộ nội dung full-text của các tập tin trong các thư viện Zotero của bạn với zotero.org và các thiết bị có liên kết khác, cho phép bạn dễ dàng tìm kiếm các tập tin của bạn khi bạn cần. Chỉ riêng bạn thấy được nội dung full-text của các tập tin của bạn."> +<!ENTITY zotero.preferences.sync.about "Về đồng bộ"> +<!ENTITY zotero.preferences.sync.fileSyncing "Đồng bộ tập tin"> <!ENTITY zotero.preferences.sync.fileSyncing.url "URL:"> -<!ENTITY zotero.preferences.sync.fileSyncing.myLibrary "Sync attachment files in My Library using"> -<!ENTITY zotero.preferences.sync.fileSyncing.groups "Sync attachment files in group libraries using Zotero storage"> -<!ENTITY zotero.preferences.sync.fileSyncing.download "Download files"> -<!ENTITY zotero.preferences.sync.fileSyncing.download.atSyncTime "at sync time"> -<!ENTITY zotero.preferences.sync.fileSyncing.download.onDemand "as needed"> -<!ENTITY zotero.preferences.sync.fileSyncing.tos1 "By using Zotero storage, you agree to become bound by its"> -<!ENTITY zotero.preferences.sync.fileSyncing.tos2 "terms and conditions"> -<!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.warning3 " for more information."> -<!ENTITY zotero.preferences.sync.reset.fullSync "Full Sync with Zotero Server"> -<!ENTITY zotero.preferences.sync.reset.fullSync.desc "Merge local Zotero data with data from the sync server, ignoring sync history."> -<!ENTITY zotero.preferences.sync.reset.restoreFromServer "Restore from Zotero Server"> -<!ENTITY zotero.preferences.sync.reset.restoreFromServer.desc "Erase all local Zotero data and restore from the sync server."> -<!ENTITY zotero.preferences.sync.reset.restoreToServer "Restore to Zotero Server"> -<!ENTITY zotero.preferences.sync.reset.restoreToServer.desc "Erase all server data and overwrite with local Zotero data."> +<!ENTITY zotero.preferences.sync.fileSyncing.myLibrary "Đồng bộ các tập tin đính kèm trong Thư viện của tôi bằng"> +<!ENTITY zotero.preferences.sync.fileSyncing.groups "Đồng bộ các tập tin đính kèm trong thư viện nhóm bằng vùng lưu trữ của Zotero"> +<!ENTITY zotero.preferences.sync.fileSyncing.download "Tải các tập tin xuống"> +<!ENTITY zotero.preferences.sync.fileSyncing.download.atSyncTime "vào lúc đồng bộ"> +<!ENTITY zotero.preferences.sync.fileSyncing.download.onDemand "khi cần thiết"> +<!ENTITY zotero.preferences.sync.fileSyncing.tos1 "Bằng cách dùng vùng lưu trữ của Zotero, bạn chấp nhận ràng buộc bởi"> +<!ENTITY zotero.preferences.sync.fileSyncing.tos2 "các điều khoản và điều kiện"> +<!ENTITY zotero.preferences.sync.reset.warning1 "Các hoạt động sau chỉ dùng trong vài tình huống đặc biệt và nói chung không nên thường dùng để khắc phục lỗi. Trong nhiều trường hợp, việc thiết lập lại sẽ sinh thêm các vấn đề khác. Hãy xem"> +<!ENTITY zotero.preferences.sync.reset.warning2 "Các chọn lựa thiết lập lại đồng bộ"> +<!ENTITY zotero.preferences.sync.reset.warning3 "để có thêm thông tin."> +<!ENTITY zotero.preferences.sync.reset.fullSync "Đồng bộ toàn bộ với máy chủ Zotero"> +<!ENTITY zotero.preferences.sync.reset.fullSync.desc "Trộn dữ liệu Zotero cục bộ với dữ liệu từ máy chủ đồng bộ, bỏ qua lịch sử đồng bộ."> +<!ENTITY zotero.preferences.sync.reset.restoreFromServer "Phục hồi từ máy chủ Zotero"> +<!ENTITY zotero.preferences.sync.reset.restoreFromServer.desc "Xóa toàn bộ dữ liệu Zotero cục bộ và phục hồi từ máy chủ đồng bộ."> +<!ENTITY zotero.preferences.sync.reset.restoreToServer "Lưu lên máy chủ Zotero"> +<!ENTITY zotero.preferences.sync.reset.restoreToServer.desc "Xóa toàn bộ dữ liệu trên máy chủ và ghi đè bằng dữ liệu cục bộ."> <!ENTITY zotero.preferences.sync.reset.resetFileSyncHistory "Reset File Sync History"> <!ENTITY zotero.preferences.sync.reset.resetFileSyncHistory.desc "Force checking of the storage server for all local attachment files."> <!ENTITY zotero.preferences.sync.reset "Reset"> diff --git a/chrome/locale/vi-VN/zotero/searchbox.dtd b/chrome/locale/vi-VN/zotero/searchbox.dtd @@ -1,6 +1,6 @@ <!ENTITY zotero.search.name "Tên:"> -<!ENTITY zotero.search.searchInLibrary "Search in library:"> +<!ENTITY zotero.search.searchInLibrary "Tìm trong thư viện:"> <!ENTITY zotero.search.joinMode.prefix "Tìm các biểu ghi thỏa mãn"> <!ENTITY zotero.search.joinMode.any "một trong"> diff --git a/chrome/locale/vi-VN/zotero/zotero.properties b/chrome/locale/vi-VN/zotero/zotero.properties @@ -781,7 +781,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=Đồng bộ sync.cancel=Cancel Sync sync.openSyncPreferences=Open Sync Preferences... sync.resetGroupAndSync=Reset Group and Sync @@ -801,9 +801,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, 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 %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.corruptedLoginManager=This could also be due to a corrupted %1$S logins database. To check, close %1$S, remove cert8.db, key3.db, and logins.json 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 logins database. +sync.error.loginManagerCorrupted2=Close %1$S, remove cert8.db, key3.db, and logins.json 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. @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero Standalone was launched but is not accessible. I firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. firstRunGuidance.quickFormat=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Ctrl-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. firstRunGuidance.quickFormatMac=Type a title or author to search for a reference.\n\nAfter you've made your selection, click the bubble or press Cmd-↓ to add page numbers, prefixes, or suffixes. You can also include a page number along with your search terms to add it directly.\n\nYou can edit citations directly in the word processor document. -firstRunGuidance.toolbarButton.new=Click here to open Zotero, or use the %S keyboard shortcut. +firstRunGuidance.toolbarButton.new=Click the ‘Z’ button to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.toolbarButton.upgrade=The Zotero icon can now be found in the Firefox toolbar. Click the icon to open Zotero, or use the %S keyboard shortcut. firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. diff --git a/chrome/locale/zh-CN/zotero/csledit.dtd b/chrome/locale/zh-CN/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Zotero 样式编辑器"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "引文位置:"> diff --git a/chrome/locale/zh-CN/zotero/cslpreview.dtd b/chrome/locale/zh-CN/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "Zotero 样式预览"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> -<!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat "引文格式:"> +<!ENTITY styles.preview.citationFormat.all "全部"> +<!ENTITY styles.preview.citationFormat.author "作者"> +<!ENTITY styles.preview.citationFormat.authorDate "作者-日期"> +<!ENTITY styles.preview.citationFormat.label "标签"> +<!ENTITY styles.preview.citationFormat.note "笔记"> +<!ENTITY styles.preview.citationFormat.numeric "数值"> diff --git a/chrome/locale/zh-CN/zotero/preferences.dtd b/chrome/locale/zh-CN/zotero/preferences.dtd @@ -107,7 +107,7 @@ <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath "域/路径"> <!ENTITY zotero.preferences.quickCopy.siteEditor.domainPath.example "(例如 wikipedia.org)"> <!ENTITY zotero.preferences.quickCopy.siteEditor.outputFormat "输出格式"> -<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "Language"> +<!ENTITY zotero.preferences.quickCopy.siteEditor.locale "语言"> <!ENTITY zotero.preferences.quickCopy.dragLimit "禁用便捷复制, 当拖动项超过"> <!ENTITY zotero.preferences.prefpane.cite "引用"> @@ -145,7 +145,7 @@ <!ENTITY zotero.preferences.proxies.desc_after_link " 获取更多的信息."> <!ENTITY zotero.preferences.proxies.transparent "启用代理转接"> <!ENTITY zotero.preferences.proxies.autoRecognize "自动识别代理的资源"> -<!ENTITY zotero.preferences.proxies.showRedirectNotification "Show notification when redirecting through a proxy"> +<!ENTITY zotero.preferences.proxies.showRedirectNotification "当通过代理重定向时显示通知"> <!ENTITY zotero.preferences.proxies.disableByDomain "禁用代理转接, 当域名包含"> <!ENTITY zotero.preferences.proxies.configured "已设置的代理"> <!ENTITY zotero.preferences.proxies.hostname "域名"> diff --git a/chrome/locale/zh-CN/zotero/zotero.dtd b/chrome/locale/zh-CN/zotero/zotero.dtd @@ -165,7 +165,7 @@ <!ENTITY zotero.bibliography.title "创建引文目录"> <!ENTITY zotero.bibliography.style.label "引文样式:"> -<!ENTITY zotero.bibliography.locale.label "Language:"> +<!ENTITY zotero.bibliography.locale.label "语言:"> <!ENTITY zotero.bibliography.outputMode "输出模式:"> <!ENTITY zotero.bibliography.bibliography "引文目录"> <!ENTITY zotero.bibliography.outputMethod "输出方法:"> diff --git a/chrome/locale/zh-CN/zotero/zotero.properties b/chrome/locale/zh-CN/zotero/zotero.properties @@ -55,7 +55,7 @@ general.numMore=%S 更多… general.openPreferences=打开首选项 general.keys.ctrlShift=Ctrl+Shift+ general.keys.cmdShift=Cmd+Shift+ -general.dontShowAgain=Don’t Show Again +general.dontShowAgain=不要再显示 general.operationInProgress=另一个 Zotero 操作正在进行. general.operationInProgress.waitUntilFinished=请耐心等待完成. @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=您无法在当前选中的分类中添加 ingester.saveToZotero=保存到Zotero ingester.saveToZoteroUsing=使用"%S"保存到 Zotero -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=以 Web 页格式保存到 Zotero (带快照) +ingester.saveToZoteroAsWebPageWithoutSnapshot=以 Web 页格式保存到 Zotero (不带快照) ingester.scraping=保存条目... ingester.scrapingTo=保存到 ingester.scrapeComplete=条目已保存 @@ -680,22 +680,22 @@ citation.showEditor=显示编辑器... citation.hideEditor=隐藏编辑器... citation.citations=引文 citation.notes=笔记 -citation.locator.page=Page -citation.locator.book=Book -citation.locator.chapter=Chapter -citation.locator.column=Column -citation.locator.figure=Figure -citation.locator.folio=Folio -citation.locator.issue=Issue -citation.locator.line=Line -citation.locator.note=Note -citation.locator.opus=Opus -citation.locator.paragraph=Paragraph -citation.locator.part=Part -citation.locator.section=Section -citation.locator.subverbo=Sub verbo -citation.locator.volume=Volume -citation.locator.verse=Verse +citation.locator.page=页 +citation.locator.book=书籍 +citation.locator.chapter=篇章 +citation.locator.column=栏目 +citation.locator.figure=图形 +citation.locator.folio=对开本 +citation.locator.issue=期号 +citation.locator.line=行 +citation.locator.note=注释 +citation.locator.opus=作品编号 +citation.locator.paragraph=段落 +citation.locator.part=部分 +citation.locator.section=章节 +citation.locator.subverbo=见某词条 +citation.locator.volume=卷 +citation.locator.verse=节 report.title.default=Zotero 报告 report.parentItem=父条目: @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zotero同步服务器拒绝了您的用户名及密 sync.error.enterPassword=请输入密码. sync.error.loginManagerInaccessible=Zotero 无法获取您的登录信息. sync.error.checkMasterPassword=如果您在 %S 中使用了主密码, 请确保您已经设置成功. -sync.error.corruptedLoginManager=这也可能是由于 %1$S 登录管理数据库损坏引起的。要解决这个问题,请关闭 %1$S, 从 %1$S 配置目录中删除 signons.sqlite,之后请在 Zotero 首选项的同步面板里重新键入登录信息。 -sync.error.loginManagerCorrupted1=Zotero 无法获取您的登录信息, 这可能是由于%S 登录管理数据库损坏引起的. -sync.error.loginManagerCorrupted2=关闭 %1$S,从 %2$S 配置目录中删除signons.sqlite,然后在 Zotero 首选项的同步面板中重新输入登录信息。 +sync.error.corruptedLoginManager=这也可能是由于 %1$S 的登录数据库已损坏 。若要检查,请关闭 %1$S,从 %1$S 配置文件目录,删除 cert8.db,key3.db 和 logins.json 并重新输入您的 Zotero 配置同步窗格中 Zotero 的登录信息。 +sync.error.loginManagerCorrupted1=Zotero 无法访问您的登录信息,可能是由于%s 的登录数据库已损坏。 +sync.error.loginManagerCorrupted2=关闭 %1$S,从 %2$S 配置文件目录,删除 cert8.db,key3.db 和 logins.json 并重新输入您的 Zotero 配置同步窗格中 Zotero 的登录信息。 sync.error.syncInProgress=已经启用了一个同步进程. sync.error.syncInProgress.wait=等待上一次的同步完成或重启%S. sync.error.writeAccessLost=你已无权编辑Zotero群组 '%S', 你新增的或编辑过的项目将无法同步到服务器. @@ -965,7 +965,7 @@ file.accessError.message.windows=请确保文件没有被占用, 并且具有写 file.accessError.message.other=确保文件没有被占用, 并且具有写入的权限. file.accessError.restart=重启电脑或禁用安全软件也可能解决问题. file.accessError.showParentDir=显示上一级目录 -file.error.cannotAddShortcut=Shortcut files cannot be added directly. Please select the original file. +file.error.cannotAddShortcut=不能通过文件快捷方式直接添加。请选择原始文件。 lookup.failure.title=检索失败 lookup.failure.description=Zotero 无法找到指定标识符的记录. 请检查标识符, 然后再试. @@ -1004,9 +1004,9 @@ connector.loadInProgress=Zotero 独立版启动后不可用. 如果您在启动Z firstRunGuidance.authorMenu=Zotero 允许您指定编辑及译者. 您可以从该菜单选择变更编辑或译者 firstRunGuidance.quickFormat=键入一个标题或作者搜索特定的参考文献.\n\n一旦选中, 点击气泡或按下 Ctrl-↓ 添加页码, 前缀或后缀. 您也可以将页码直接包含在你的搜索条目中, 然后直接添加.\n\n您可以在文字处理程序中直接编辑引文. firstRunGuidance.quickFormatMac=键入一个标题或作者搜索特定的参考文献.\n\n一旦选中, 点击气泡或按下 Cmd-↓ 添加页码, 前缀或后缀.您也可以将页码直接包含在你的搜索条目中, 然后直接添加.\n\n您可以在文字处理程序中直接编辑引文. -firstRunGuidance.toolbarButton.new=点击这里打开Zotero,或者使用快捷键 %S 。 +firstRunGuidance.toolbarButton.new=单击 'Z' 按钮以打开 Zotero,或使用键盘快捷键 %s。 firstRunGuidance.toolbarButton.upgrade=Zotero图标可以在Firefox工具栏找到。点击图标打开Zotero,或者使用快捷键 %S 。 -firstRunGuidance.saveButton=Click this button to save any web page to your Zotero library. On some pages, Zotero will be able to save full details, including author and date. +firstRunGuidance.saveButton=单击此按钮可将任何 web 页保存到您的 Zotero 图书馆。在一些页上,Zotero 将能够保存完整的详细信息,包括作者和日期。 styles.bibliography=参考书目 styles.editor.save=保存引文样式 diff --git a/chrome/locale/zh-TW/zotero/csledit.dtd b/chrome/locale/zh-TW/zotero/csledit.dtd @@ -1,4 +1,3 @@ -<!ENTITY styles.editor "Zotero Style Editor"> +<!ENTITY styles.editor "Zotero文獻格式編輯器"> -<!ENTITY styles.editor.suppressAuthor "Suppress Author"> -<!ENTITY styles.editor.citePosition "Cite Position:"> +<!ENTITY styles.editor.citePosition "引用來源:"> diff --git a/chrome/locale/zh-TW/zotero/cslpreview.dtd b/chrome/locale/zh-TW/zotero/cslpreview.dtd @@ -1,9 +1,9 @@ -<!ENTITY styles.preview "Zotero Style Preview"> +<!ENTITY styles.preview "預覽Zotero文獻格式"> -<!ENTITY styles.preview.citationFormat "Citation Format:"> -<!ENTITY styles.preview.citationFormat.all "all"> -<!ENTITY styles.preview.citationFormat.author "author"> +<!ENTITY styles.preview.citationFormat "引用文獻格式:"> +<!ENTITY styles.preview.citationFormat.all "全部"> +<!ENTITY styles.preview.citationFormat.author "作者"> <!ENTITY styles.preview.citationFormat.authorDate "author-date"> -<!ENTITY styles.preview.citationFormat.label "label"> -<!ENTITY styles.preview.citationFormat.note "note"> -<!ENTITY styles.preview.citationFormat.numeric "numeric"> +<!ENTITY styles.preview.citationFormat.label "商標"> +<!ENTITY styles.preview.citationFormat.note "筆記"> +<!ENTITY styles.preview.citationFormat.numeric "數字"> diff --git a/chrome/locale/zh-TW/zotero/zotero.properties b/chrome/locale/zh-TW/zotero/zotero.properties @@ -484,8 +484,8 @@ save.error.cannotAddFilesToCollection=您不能將檔案加到目前所選的文 ingester.saveToZotero=儲存到 Zotero ingester.saveToZoteroUsing=用「%S」來存到 Zotero -ingester.saveToZoteroAsWebPageWithSnapshot=Save to Zotero as Web Page (with snapshot) -ingester.saveToZoteroAsWebPageWithoutSnapshot=Save to Zotero as Web Page (without snapshot) +ingester.saveToZoteroAsWebPageWithSnapshot=以網頁形式儲存到 Zotero (含桌面快照) +ingester.saveToZoteroAsWebPageWithoutSnapshot=以網頁形式儲存到 Zotero (不含桌面快照) ingester.scraping=儲存項目中… ingester.scrapingTo=儲存至… ingester.scrapeComplete=項目己儲存 @@ -801,9 +801,9 @@ sync.error.invalidLogin.text=Zotero 同步伺服器不接受您的使用者名 sync.error.enterPassword=請輸入一密碼。 sync.error.loginManagerInaccessible=Zotero 無法存取登入資訊。 sync.error.checkMasterPassword=如果有使用主密碼 (master password) 於 %S,請確認已成功輸入。 -sync.error.corruptedLoginManager=也可能是 %1$S 登入管理資料庫毀損所引起。檢查方法:關閉 %1$S,移除 %1$S profile 目錄中的 signons.sqlite,並於Zotero 偏好設定的同步窗格重新輸入 Zotero 登入資訊。 -sync.error.loginManagerCorrupted1=Zotero 無法存取登入資訊,可能是 %S 登入管理資料庫毀損。 -sync.error.loginManagerCorrupted2=關閉 %1$S,移除 %1$S profile 目錄中的 signons.sqlite,並於Zotero 偏好設定的同步窗格重新輸入 Zotero 登入資訊。 +sync.error.corruptedLoginManager=這可能是由於 %1$S 登入資料庫錯誤,請關閉 %1$S,刪除您 %1$S profile 中的cert8.db、key3.db及 logins.json,並在 Zotero 偏好設定的同步窗格中重新輸入你的 Zotero 登入資訊。 +sync.error.loginManagerCorrupted1=Zotero 無法存取你的登入資訊,可能是由於 %S 登入資料庫壞掉了。 +sync.error.loginManagerCorrupted2=關閉 %1$S,備份並刪除你 %2$S profile 中的cert8.db、key3.db及 logins.json,並在 Zotero 偏好設定的同步窗格中重新輸入你的 Zotero 登入資訊。 sync.error.syncInProgress=同步已在進行。 sync.error.syncInProgress.wait=等候先前的同步作業完成,或重新啟動 %S。 sync.error.writeAccessLost=您不再有寫入 Zotero 群組 '%S' 的權限,所新增或編輯的項目無法被同步到伺服器。 @@ -1004,7 +1004,7 @@ connector.loadInProgress=Zotero 獨立版已啟動,但無法存取。若開啟 firstRunGuidance.authorMenu=Zotero 也讓您指定編者與譯者。您能由此選單選擇將作者轉成編者或譯者。 firstRunGuidance.quickFormat=輸入標題或作者以找出參考文獻條。\n\n選擇後,按橢圓泡或按 Ctrl-↓ 以加入頁碼或前綴或後綴。。可在待找字後加上頁碼,產生無前後綴的引用文獻條。\n\n也可在文書處理器直接編輯引用文獻條。 firstRunGuidance.quickFormatMac=輸入標題或作者以找出參考文獻條。\n\n選擇後,按橢圓泡或按 Ctrl-↓ 以加入頁碼或前綴或後綴。可在待找字後加上頁碼,產生無前後綴的引用文獻條。\n\n也可在文書處理器直接編輯引用文獻條。 -firstRunGuidance.toolbarButton.new=按此以開啟 Zotero,或用 %S 快鍵。 +firstRunGuidance.toolbarButton.new=按「Z」鍵或是使用 %S 快捷鍵來開啟Zotero firstRunGuidance.toolbarButton.upgrade=Firefox 工具列上可看到 Zotero 圖示了。按圖示以開啟 Zotero,或用 %S 快鍵。 firstRunGuidance.saveButton=點擊此鈕可儲存任何網頁至您的Zotero資料庫中,且於某些網頁中Zotero可以儲存所有包含作者及日期的內容 diff --git a/chrome/skin/default/zotero/integration.css b/chrome/skin/default/zotero/integration.css @@ -207,11 +207,6 @@ richlistitem[selected="true"] { margin: 0; } -#zotero-icon .toolbarbutton-menu-dropmarker { - margin-left: 0; - padding-left: 0; -} - #citation-properties #suppress-author { -moz-user-focus: normal; } @@ -239,3 +234,7 @@ richlistitem[selected="true"] { panel button .button-text { margin: 0 !important; } + +#quick-format-dialog { + width: 600px; +} diff --git a/install.rdf b/install.rdf @@ -25,7 +25,7 @@ <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>31.0</em:minVersion> - <em:maxVersion>39.*</em:maxVersion> + <em:maxVersion>41.*</em:maxVersion> </Description> </em:targetApplication> diff --git a/resource/schema/renamed-styles.json b/resource/schema/renamed-styles.json @@ -88,6 +88,7 @@ "f1000-research": "f1000research", "febs-journal": "the-febs-journal", "fems": "federation-of-european-microbiological-societies", + "federation-of-european-microbiological-societies": "oxford-university-press-scimed-author-date", "firstmonday": "first-monday", "frontiers-in-addictive-disorders": "frontiers", "frontiers-in-affective-disorders-and-psychosomatic-research": "frontiers", @@ -365,6 +366,7 @@ "lichenologist": "the-lichenologist", "lncs": "springer-lecture-notes-in-computer-science", "lncs2": "springer-lecture-notes-in-computer-science-alphabetical", + "materials-discovery-today": "materials-discovery", "malaysian-journal-of-pathology": "the-malaysian-journal-of-pathology", "manedsskrift-for-praktk-laegegerning": "manedsskrift-for-almen-praksis", "mcgill-guide-v7": "mcgill-en", diff --git a/resource/schema/repotime.txt b/resource/schema/repotime.txt @@ -1 +1 @@ -2015-07-12 15:40:00 +2015-09-30 16:30:00 diff --git a/resource/tinymce/plugins/autolink/editor_plugin.js b/resource/tinymce/plugins/autolink/editor_plugin.js @@ -1 +1,184 @@ -(function(){tinymce.create("tinymce.plugins.AutolinkPlugin",{init:function(a,b){var c=this;a.onKeyDown.addToTop(function(d,f){if(f.keyCode==13){return c.handleEnter(d)}});if(tinyMCE.isIE){return}a.onKeyPress.add(function(d,f){if(f.which==41){return c.handleEclipse(d)}});a.onKeyUp.add(function(d,f){if(f.keyCode==32){return c.handleSpacebar(d)}})},handleEclipse:function(a){this.parseCurrentLine(a,-1,"(",true)},handleSpacebar:function(a){this.parseCurrentLine(a,0,"",true)},handleEnter:function(a){this.parseCurrentLine(a,-1,"",false)},parseCurrentLine:function(i,d,b,g){var a,f,c,n,k,m,h,e,j;a=i.selection.getRng(true).cloneRange();if(a.startOffset<5){e=a.endContainer.previousSibling;if(e==null){if(a.endContainer.firstChild==null||a.endContainer.firstChild.nextSibling==null){return}e=a.endContainer.firstChild.nextSibling}j=e.length;a.setStart(e,j);a.setEnd(e,j);if(a.endOffset<5){return}f=a.endOffset;n=e}else{n=a.endContainer;if(n.nodeType!=3&&n.firstChild){while(n.nodeType!=3&&n.firstChild){n=n.firstChild}if(n.nodeType==3){a.setStart(n,0);a.setEnd(n,n.nodeValue.length)}}if(a.endOffset==1){f=2}else{f=a.endOffset-1-d}}c=f;do{a.setStart(n,f>=2?f-2:0);a.setEnd(n,f>=1?f-1:0);f-=1}while(a.toString()!=" "&&a.toString()!=""&&a.toString().charCodeAt(0)!=160&&(f-2)>=0&&a.toString()!=b);if(a.toString()==b||a.toString().charCodeAt(0)==160){a.setStart(n,f);a.setEnd(n,c);f+=1}else{if(a.startOffset==0){a.setStart(n,0);a.setEnd(n,c)}else{a.setStart(n,f);a.setEnd(n,c)}}var m=a.toString();if(m.charAt(m.length-1)=="."){a.setEnd(n,c-1)}m=a.toString();h=m.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+-]+@)(.+)$/i);if(h){if(h[1]=="www."){h[1]="http://www."}else{if(/@$/.test(h[1])&&!/^mailto:/.test(h[1])){h[1]="mailto:"+h[1]}}k=i.selection.getBookmark();i.selection.setRng(a);tinyMCE.execCommand("createlink",false,h[1]+h[2]);i.selection.moveToBookmark(k);i.nodeChanged();if(tinyMCE.isWebKit){i.selection.collapse(false);var l=Math.min(n.length,c+1);a.setStart(n,l);a.setEnd(n,l);i.selection.setRng(a)}}},getInfo:function(){return{longname:"Autolink",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autolink",tinymce.plugins.AutolinkPlugin)})(); -\ No newline at end of file +/** + * editor_plugin_src.js + * + * Copyright 2011, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AutolinkPlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + + init : function(ed, url) { + var t = this; + + // Add a key down handler + ed.onKeyDown.addToTop(function(ed, e) { + if (e.keyCode == 13) + return t.handleEnter(ed); + }); + + // Internet Explorer has built-in automatic linking for most cases + if (tinyMCE.isIE) + return; + + ed.onKeyPress.add(function(ed, e) { + if (e.which == 41) + return t.handleEclipse(ed); + }); + + // Add a key up handler + ed.onKeyUp.add(function(ed, e) { + if (e.keyCode == 32) + return t.handleSpacebar(ed); + }); + }, + + handleEclipse : function(ed) { + this.parseCurrentLine(ed, -1, '(', true); + }, + + handleSpacebar : function(ed) { + this.parseCurrentLine(ed, 0, '', true); + }, + + handleEnter : function(ed) { + this.parseCurrentLine(ed, -1, '', false); + }, + + parseCurrentLine : function(ed, end_offset, delimiter, goback) { + var r, end, start, endContainer, bookmark, text, matches, prev, len; + + // We need at least five characters to form a URL, + // hence, at minimum, five characters from the beginning of the line. + r = ed.selection.getRng(true).cloneRange(); + if (r.startOffset < 5) { + // During testing, the caret is placed inbetween two text nodes. + // The previous text node contains the URL. + prev = r.endContainer.previousSibling; + if (prev == null) { + if (r.endContainer.firstChild == null || r.endContainer.firstChild.nextSibling == null) + return; + + prev = r.endContainer.firstChild.nextSibling; + } + len = prev.length; + r.setStart(prev, len); + r.setEnd(prev, len); + + if (r.endOffset < 5) + return; + + end = r.endOffset; + endContainer = prev; + } else { + endContainer = r.endContainer; + + // Get a text node + if (endContainer.nodeType != 3 && endContainer.firstChild) { + while (endContainer.nodeType != 3 && endContainer.firstChild) + endContainer = endContainer.firstChild; + + // Move range to text node + if (endContainer.nodeType == 3) { + r.setStart(endContainer, 0); + r.setEnd(endContainer, endContainer.nodeValue.length); + } + } + + if (r.endOffset == 1) + end = 2; + else + end = r.endOffset - 1 - end_offset; + } + + start = end; + + do + { + // Move the selection one character backwards. + r.setStart(endContainer, end - 2); + r.setEnd(endContainer, end - 1); + end -= 1; + + // Loop until one of the following is found: a blank space, , delimeter, (end-2) >= 0 + } while (r.toString() != ' ' && r.toString() != '' && r.toString().charCodeAt(0) != 160 && (end -2) >= 0 && r.toString() != delimiter); + + if (r.toString() == delimiter || r.toString().charCodeAt(0) == 160) { + r.setStart(endContainer, end); + r.setEnd(endContainer, start); + end += 1; + } else if (r.startOffset == 0) { + r.setStart(endContainer, 0); + r.setEnd(endContainer, start); + } + else { + r.setStart(endContainer, end); + r.setEnd(endContainer, start); + } + + // Exclude last . from word like "www.site.com." + var text = r.toString(); + if (text.charAt(text.length - 1) == '.') { + r.setEnd(endContainer, start - 1); + } + + text = r.toString(); + matches = text.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+-]+@)(.+)$/i); + + if (matches) { + if (matches[1] == 'www.') { + matches[1] = 'http://www.'; + } else if (/@$/.test(matches[1]) && !/^mailto:/.test(matches[1])) { + matches[1] = 'mailto:' + matches[1]; + } + + bookmark = ed.selection.getBookmark(); + + ed.selection.setRng(r); + tinyMCE.execCommand('createlink',false, matches[1] + matches[2]); + ed.selection.moveToBookmark(bookmark); + ed.nodeChanged(); + + // TODO: Determine if this is still needed. + if (tinyMCE.isWebKit) { + // move the caret to its original position + ed.selection.collapse(false); + var max = Math.min(endContainer.length, start + 1); + r.setStart(endContainer, max); + r.setEnd(endContainer, max); + ed.selection.setRng(r); + } + } + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Autolink', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('autolink', tinymce.plugins.AutolinkPlugin); +})(); diff --git a/resource/tinymce/plugins/directionality/editor_plugin.js b/resource/tinymce/plugins/directionality/editor_plugin.js @@ -1 +1,85 @@ -(function(){tinymce.create("tinymce.plugins.Directionality",{init:function(b,c){var d=this;d.editor=b;function a(e){var h=b.dom,g,f=b.selection.getSelectedBlocks();if(f.length){g=h.getAttrib(f[0],"dir");tinymce.each(f,function(i){if(!h.getParent(i.parentNode,"*[dir='"+e+"']",h.getRoot())){if(g!=e){h.setAttrib(i,"dir",e)}else{h.setAttrib(i,"dir",null)}}});b.nodeChanged()}}b.addCommand("mceDirectionLTR",function(){a("ltr")});b.addCommand("mceDirectionRTL",function(){a("rtl")});b.addButton("ltr",{title:"directionality.ltr_desc",cmd:"mceDirectionLTR"});b.addButton("rtl",{title:"directionality.rtl_desc",cmd:"mceDirectionRTL"});b.onNodeChange.add(d._nodeChange,d)},getInfo:function(){return{longname:"Directionality",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,e){var d=b.dom,c;e=d.getParent(e,d.isBlock);if(!e){a.setDisabled("ltr",1);a.setDisabled("rtl",1);return}c=d.getAttrib(e,"dir");a.setActive("ltr",c=="ltr");a.setDisabled("ltr",0);a.setActive("rtl",c=="rtl");a.setDisabled("rtl",0)}});tinymce.PluginManager.add("directionality",tinymce.plugins.Directionality)})(); -\ No newline at end of file +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Directionality', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + function setDir(dir) { + var dom = ed.dom, curDir, blocks = ed.selection.getSelectedBlocks(); + + if (blocks.length) { + curDir = dom.getAttrib(blocks[0], "dir"); + + tinymce.each(blocks, function(block) { + // Add dir to block if the parent block doesn't already have that dir + if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) { + if (curDir != dir) { + dom.setAttrib(block, "dir", dir); + } else { + dom.setAttrib(block, "dir", null); + } + } + }); + + ed.nodeChanged(); + } + } + + ed.addCommand('mceDirectionLTR', function() { + setDir("ltr"); + }); + + ed.addCommand('mceDirectionRTL', function() { + setDir("rtl"); + }); + + ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'}); + ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'}); + + ed.onNodeChange.add(t._nodeChange, t); + }, + + getInfo : function() { + return { + longname : 'Directionality', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var dom = ed.dom, dir; + + n = dom.getParent(n, dom.isBlock); + if (!n) { + cm.setDisabled('ltr', 1); + cm.setDisabled('rtl', 1); + return; + } + + dir = dom.getAttrib(n, 'dir'); + cm.setActive('ltr', dir == "ltr"); + cm.setDisabled('ltr', 0); + cm.setActive('rtl', dir == "rtl"); + cm.setDisabled('rtl', 0); + } + }); + + // Register plugin + tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality); +})(); +\ No newline at end of file diff --git a/resource/tinymce/themes/advanced/editor_template.js b/resource/tinymce/themes/advanced/editor_template.js @@ -1 +1,1490 @@ -(function(h){var i=h.DOM,g=h.dom.Event,c=h.extend,f=h.each,a=h.util.Cookie,e,d=h.explode;function b(p,m){var k,l,o=p.dom,j="",n,r;previewStyles=p.settings.preview_styles;if(previewStyles===false){return""}if(!previewStyles){previewStyles="font-family font-size font-weight text-decoration text-transform color background-color"}function q(s){return s.replace(/%(\w+)/g,"")}k=m.block||m.inline||"span";l=o.create(k);f(m.styles,function(t,s){t=q(t);if(t){o.setStyle(l,s,t)}});f(m.attributes,function(t,s){t=q(t);if(t){o.setAttrib(l,s,t)}});f(m.classes,function(s){s=q(s);if(!o.hasClass(l,s)){o.addClass(l,s)}});o.setStyles(l,{position:"absolute",left:-65535});p.getBody().appendChild(l);n=o.getStyle(p.getBody(),"fontSize",true);n=/px$/.test(n)?parseInt(n,10):0;f(previewStyles.split(" "),function(s){var t=o.getStyle(l,s,true);if(s=="background-color"&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(t)){t=o.getStyle(p.getBody(),s,true);if(o.toHex(t).toLowerCase()=="#ffffff"){return}}if(s=="font-size"){if(/em|%$/.test(t)){if(n===0){return}t=parseFloat(t,10)/(/%$/.test(t)?100:1);t=(t*n)+"px"}}j+=s+":"+t+";"});o.remove(l);return j}h.ThemeManager.requireLangPack("advanced");h.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(k,l){var m=this,n,j,p;m.editor=k;m.url=l;m.onResolveName=new h.util.Dispatcher(this);n=k.settings;k.forcedHighContrastMode=k.settings.detect_highcontrast&&m._isHighContrast();k.settings.skin=k.forcedHighContrastMode?"highcontrast":k.settings.skin;if(!n.theme_advanced_buttons1){n=c({theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap"},n)}m.settings=n=c({theme_advanced_path:true,theme_advanced_toolbar_location:"top",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"left",theme_advanced_statusbar_location:"bottom",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:k.settings.readonly},n);if(!n.font_size_style_values){n.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(h.is(n.theme_advanced_font_sizes,"string")){n.font_size_style_values=h.explode(n.font_size_style_values);n.font_size_classes=h.explode(n.font_size_classes||"");p={};k.settings.theme_advanced_font_sizes=n.theme_advanced_font_sizes;f(k.getParam("theme_advanced_font_sizes","","hash"),function(r,q){var o;if(q==r&&r>=1&&r<=7){q=r+" ("+m.sizes[r-1]+"pt)";o=n.font_size_classes[r-1];r=n.font_size_style_values[r-1]||(m.sizes[r-1]+"pt")}if(/^\s*\./.test(r)){o=r.replace(/\./g,"")}p[q]=o?{"class":o}:{fontSize:r}});n.theme_advanced_font_sizes=p}if((j=n.theme_advanced_path_location)&&j!="none"){n.theme_advanced_statusbar_location=n.theme_advanced_path_location}if(n.theme_advanced_statusbar_location=="none"){n.theme_advanced_statusbar_location=0}if(k.settings.content_css!==false){k.contentCSS.push(k.baseURI.toAbsolute(l+"/skins/"+k.settings.skin+"/content.css"))}k.onInit.add(function(){if(!k.settings.readonly){k.onNodeChange.add(m._nodeChanged,m);k.onKeyUp.add(m._updateUndoStatus,m);k.onMouseUp.add(m._updateUndoStatus,m);k.dom.bind(k.dom.getRoot(),"dragend",function(){m._updateUndoStatus(k)})}});k.onSetProgressState.add(function(r,o,s){var t,u=r.id,q;if(o){m.progressTimer=setTimeout(function(){t=r.getContainer();t=t.insertBefore(i.create("DIV",{style:"position:relative"}),t.firstChild);q=i.get(r.id+"_tbl");i.add(t,"div",{id:u+"_blocker","class":"mceBlocker",style:{width:q.clientWidth+2,height:q.clientHeight+2}});i.add(t,"div",{id:u+"_progress","class":"mceProgress",style:{left:q.clientWidth/2,top:q.clientHeight/2}})},s||0)}else{i.remove(u+"_blocker");i.remove(u+"_progress");clearTimeout(m.progressTimer)}});i.loadCSS(n.editor_css?k.documentBaseURI.toAbsolute(n.editor_css):l+"/skins/"+k.settings.skin+"/ui.css");if(n.skin_variant){i.loadCSS(l+"/skins/"+k.settings.skin+"/ui_"+n.skin_variant+".css")}},_isHighContrast:function(){var j,k=i.add(i.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});j=(i.getStyle(k,"background-color",true)+"").toLowerCase().replace(/ /g,"");i.remove(k);return j!="rgb(171,239,86)"&&j!="#abef56"},createControl:function(m,j){var k,l;if(l=j.createControl(m)){return l}switch(m){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((k=this.controls[m])){return j.createButton(m,{title:"advanced."+k[0],cmd:k[1],ui:k[2],value:k[3]})}},execCommand:function(l,k,m){var j=this["_"+l];if(j){j.call(this,k,m);return true}return false},_importClasses:function(l){var j=this.editor,k=j.controlManager.get("styleselect");if(k.getLength()==0){f(j.dom.getClasses(),function(q,m){var p="style_"+m,n;n={inline:"span",attributes:{"class":q["class"]},selector:"*"};j.formatter.register(p,n);k.add(q["class"],p,{style:function(){return b(j,n)}})})}},_createStyleSelect:function(o){var l=this,j=l.editor,k=j.controlManager,m;m=k.createListBox("styleselect",{title:"advanced.style_select",onselect:function(q){var r,n=[],p;f(m.items,function(s){n.push(s.value)});j.focus();j.undoManager.add();r=j.formatter.matchAll(n);h.each(r,function(s){if(!q||s==q){if(s){j.formatter.remove(s)}p=true}});if(!p){j.formatter.apply(q)}j.undoManager.add();j.nodeChanged();return false}});j.onPreInit.add(function(){var p=0,n=j.getParam("style_formats");if(n){f(n,function(q){var r,s=0;f(q,function(){s++});if(s>1){r=q.name=q.name||"style_"+(p++);j.formatter.register(r,q);m.add(q.title,r,{style:function(){return b(j,q)}})}else{m.add(q.title)}})}else{f(j.getParam("theme_advanced_styles","","hash"),function(t,s){var r,q;if(t){r="style_"+(p++);q={inline:"span",classes:t,selector:"*"};j.formatter.register(r,q);m.add(l.editor.translate(s),r,{style:function(){return b(j,q)}})}})}});if(m.getLength()==0){m.onPostRender.add(function(p,q){if(!m.NativeListBox){g.add(q.id+"_text","focus",l._importClasses,l);g.add(q.id+"_text","mousedown",l._importClasses,l);g.add(q.id+"_open","focus",l._importClasses,l);g.add(q.id+"_open","mousedown",l._importClasses,l)}else{g.add(q.id,"focus",l._importClasses,l)}})}return m},_createFontSelect:function(){var l,k=this,j=k.editor;l=j.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(m){var n=l.items[l.selectedIndex];if(!m&&n){j.execCommand("FontName",false,n.value);return}j.execCommand("FontName",false,m);l.select(function(o){return m==o});if(n&&n.value==m){l.select(null)}return false}});if(l){f(j.getParam("theme_advanced_fonts",k.settings.theme_advanced_fonts,"hash"),function(n,m){l.add(j.translate(m),n,{style:n.indexOf("dings")==-1?"font-family:"+n:""})})}return l},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(o){var p=n.items[n.selectedIndex];if(!o&&p){p=p.value;if(p["class"]){k.formatter.toggle("fontsize_class",{value:p["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,p.fontSize)}return}if(o["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}n.select(function(q){return o==q});if(p&&(p.value.fontSize==o.fontSize||p.value["class"]&&p.value["class"]==o["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(p,o){var q=p.fontSize;if(q>=1&&q<=7){q=m.sizes[parseInt(q)-1]+"pt"}n.add(o,p,{style:"font-size:"+q,"class":"mceFontSize"+(l++)+(" "+(p["class"]||""))})})}return n},_createBlockFormats:function(){var l,j={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},k=this;l=k.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(m){k.editor.execCommand("FormatBlock",false,m);return false}});if(l){f(k.editor.getParam("theme_advanced_blockformats",k.settings.theme_advanced_blockformats,"hash"),function(n,m){l.add(k.editor.translate(m!=n?m:j[n]),n,{"class":"mce_formatPreview mce_"+n,style:function(){return b(k.editor,{block:n})}})})}return l},_createForeColorMenu:function(){var n,k=this,l=k.settings,m={},j;if(l.theme_advanced_more_colors){m.more_colors_func=function(){k._mceColorPicker(0,{color:n.value,func:function(o){n.setColor(o)}})}}if(j=l.theme_advanced_text_colors){m.colors=j}if(l.theme_advanced_default_foreground_color){m.default_color=l.theme_advanced_default_foreground_color}m.title="advanced.forecolor_desc";m.cmd="ForeColor";m.scope=this;n=k.editor.controlManager.createColorSplitButton("forecolor",m);return n},_createBackColorMenu:function(){var n,k=this,l=k.settings,m={},j;if(l.theme_advanced_more_colors){m.more_colors_func=function(){k._mceColorPicker(0,{color:n.value,func:function(o){n.setColor(o)}})}}if(j=l.theme_advanced_background_colors){m.colors=j}if(l.theme_advanced_default_background_color){m.default_color=l.theme_advanced_default_background_color}m.title="advanced.backcolor_desc";m.cmd="HiliteColor";m.scope=this;n=k.editor.controlManager.createColorSplitButton("backcolor",m);return n},renderUI:function(l){var q,m,r,w=this,u=w.editor,x=w.settings,v,k,j;if(u.settings){u.settings.aria_label=x.aria_label+u.getLang("advanced.help_shortcut")}q=k=i.create("span",{role:"application","aria-labelledby":u.id+"_voice",id:u.id+"_parent","class":"mceEditor "+u.settings.skin+"Skin"+(x.skin_variant?" "+u.settings.skin+"Skin"+w._ufirst(x.skin_variant):"")+(u.settings.directionality=="rtl"?" mceRtl":"")});i.add(q,"span",{"class":"mceVoiceLabel",style:"display:none;",id:u.id+"_voice"},x.aria_label);if(!i.boxModel){q=i.add(q,"div",{"class":"mceOldBoxModel"})}q=v=i.add(q,"table",{role:"presentation",id:u.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});q=r=i.add(q,"tbody");switch((x.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":m=w._rowLayout(x,r,l);break;case"customlayout":m=u.execCallback("theme_advanced_custom_layout",x,r,l,k);break;default:m=w._simpleLayout(x,r,l,k)}q=l.targetNode;j=v.rows;i.addClass(j[0],"mceFirst");i.addClass(j[j.length-1],"mceLast");f(i.select("tr",r),function(o){i.addClass(o.firstChild,"mceFirst");i.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(i.get(x.theme_advanced_toolbar_container)){i.get(x.theme_advanced_toolbar_container).appendChild(k)}else{i.insertAfter(k,q)}g.add(u.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){w._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return false}});if(!u.getParam("accessibility_focus")){g.add(i.add(k,"a",{href:"#"},"<!-- IE -->"),"focus",function(){tinyMCE.get(u.id).focus()})}if(x.theme_advanced_toolbar_location=="external"){l.deltaHeight=0}w.deltaHeight=l.deltaHeight;l.targetNode=null;u.onKeyDown.add(function(p,n){var s=121,o=122;if(n.altKey){if(n.keyCode===s){if(h.isWebKit){window.focus()}w.toolbarGroup.focus();return g.cancel(n)}else{if(n.keyCode===o){i.get(p.id+"_path_row").focus();return g.cancel(n)}}}});u.addShortcut("alt+0","","mceShortcuts",w);return{iframeContainer:m,editorContainer:u.id+"_parent",sizeContainer:v,deltaHeight:l.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:h.majorVersion+"."+h.minorVersion}},resizeBy:function(j,k){var l=i.get(this.editor.id+"_ifr");this.resizeTo(l.clientWidth+j,l.clientHeight+k)},resizeTo:function(j,n,l){var k=this.editor,m=this.settings,o=i.get(k.id+"_tbl"),p=i.get(k.id+"_ifr");j=Math.max(m.theme_advanced_resizing_min_width||100,j);n=Math.max(m.theme_advanced_resizing_min_height||100,n);j=Math.min(m.theme_advanced_resizing_max_width||65535,j);n=Math.min(m.theme_advanced_resizing_max_height||65535,n);i.setStyle(o,"height","");i.setStyle(p,"height",n);if(m.theme_advanced_resize_horizontal){i.setStyle(o,"width","");i.setStyle(p,"width",j);if(j<o.clientWidth){j=o.clientWidth;i.setStyle(p,"width",o.clientWidth)}}if(l&&m.theme_advanced_resizing_use_cookie){a.setHash("TinyMCE_"+k.id+"_size",{cw:j,ch:n})}},destroy:function(){var j=this.editor.id;g.clear(j+"_resize");g.clear(j+"_path_row");g.clear(j+"_external_close")},_simpleLayout:function(z,u,l,j){var y=this,v=y.editor,w=z.theme_advanced_toolbar_location,q=z.theme_advanced_statusbar_location,m,k,r,x;if(z.readonly){m=i.add(u,"tr");m=k=i.add(m,"td",{"class":"mceIframeContainer"});return k}if(w=="top"){y._addToolbars(u,l)}if(w=="external"){m=x=i.create("div",{style:"position:relative"});m=i.add(m,"div",{id:v.id+"_external","class":"mceExternalToolbar"});i.add(m,"a",{id:v.id+"_external_close",href:"javascript:;","class":"mceExternalClose"});m=i.add(m,"table",{id:v.id+"_tblext",cellSpacing:0,cellPadding:0});r=i.add(m,"tbody");if(j.firstChild.className=="mceOldBoxModel"){j.firstChild.appendChild(x)}else{j.insertBefore(x,j.firstChild)}y._addToolbars(r,l);v.onMouseUp.add(function(){var o=i.get(v.id+"_external");i.show(o);i.hide(e);var n=g.add(v.id+"_external_close","click",function(){i.hide(v.id+"_external");g.remove(v.id+"_external_close","click",n);return false});i.show(o);i.setStyle(o,"top",0-i.getRect(v.id+"_tblext").h-1);i.hide(o);i.show(o);o.style.filter="";e=v.id+"_external";o=null})}if(q=="top"){y._addStatusBar(u,l)}if(!z.theme_advanced_toolbar_container){m=i.add(u,"tr");m=k=i.add(m,"td",{"class":"mceIframeContainer"})}if(w=="bottom"){y._addToolbars(u,l)}if(q=="bottom"){y._addStatusBar(u,l)}return k},_rowLayout:function(x,p,l){var w=this,q=w.editor,v,y,j=q.controlManager,m,k,u,r;v=x.theme_advanced_containers_default_class||"";y=x.theme_advanced_containers_default_align||"center";f(d(x.theme_advanced_containers||""),function(s,o){var n=x["theme_advanced_container_"+s]||"";switch(s.toLowerCase()){case"mceeditor":m=i.add(p,"tr");m=k=i.add(m,"td",{"class":"mceIframeContainer"});break;case"mceelementpath":w._addStatusBar(p,l);break;default:r=(x["theme_advanced_container_"+s+"_align"]||y).toLowerCase();r="mce"+w._ufirst(r);m=i.add(i.add(p,"tr"),"td",{"class":"mceToolbar "+(x["theme_advanced_container_"+s+"_class"]||v)+" "+r||y});u=j.createToolbar("toolbar"+o);w._addControls(n,u);i.setHTML(m,u.renderHTML());l.deltaHeight-=x.theme_advanced_row_height}});return k},_addControls:function(k,j){var l=this,m=l.settings,n,o=l.editor.controlManager;if(m.theme_advanced_disable&&!l._disabled){n={};f(d(m.theme_advanced_disable),function(p){n[p]=1});l._disabled=n}else{n=l._disabled}f(d(k),function(q){var p;if(n&&n[q]){return}if(q=="tablecontrols"){f(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(r){r=l.createControl(r,o);if(r){j.add(r)}});return}p=l.createControl(q,o);if(p){j.add(p)}})},_addToolbars:function(y,k){var B=this,q,p,u=B.editor,C=B.settings,A,j=u.controlManager,w,l,r=[],z,x,m=false;x=j.createToolbarGroup("toolbargroup",{name:u.getLang("advanced.toolbar"),tab_focus_toolbar:u.getParam("theme_advanced_tab_focus_toolbar")});B.toolbarGroup=x;z=C.theme_advanced_toolbar_align.toLowerCase();z="mce"+B._ufirst(z);l=i.add(i.add(y,"tr",{role:"toolbar"}),"td",{"class":"mceToolbar "+z,role:"toolbar"});for(q=1;(A=C["theme_advanced_buttons"+q]);q++){m=true;p=j.createToolbar("toolbar"+q,{"class":"mceToolbarRow"+q});if(C["theme_advanced_buttons"+q+"_add"]){A+=","+C["theme_advanced_buttons"+q+"_add"]}if(C["theme_advanced_buttons"+q+"_add_before"]){A=C["theme_advanced_buttons"+q+"_add_before"]+","+A}B._addControls(A,p);x.add(p);k.deltaHeight-=C.theme_advanced_row_height}if(!m){k.deltaHeight-=C.theme_advanced_row_height}r.push(x.renderHTML());r.push(i.createHTML("a",{href:"#",accesskey:"z",title:u.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+u.id+"').focus();"},"<!-- IE -->"));i.setHTML(l,r.join(""))},_addStatusBar:function(p,k){var l,w=this,q=w.editor,x=w.settings,j,u,v,m;l=i.add(p,"tr");l=m=i.add(l,"td",{"class":"mceStatusbar"});l=i.add(l,"div",{id:q.id+"_path_row",role:"group","aria-labelledby":q.id+"_path_voice"});if(x.theme_advanced_path){i.add(l,"span",{id:q.id+"_path_voice"},q.translate("advanced.path"));i.add(l,"span",{},": ")}else{i.add(l,"span",{}," ")}if(x.theme_advanced_resizing){i.add(m,"a",{id:q.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize",tabIndex:"-1"});if(x.theme_advanced_resizing_use_cookie){q.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+q.id+"_size"),r=i.get(q.id+"_tbl");if(!n){return}w.resizeTo(n.cw,n.ch)})}q.onPostRender.add(function(){g.add(q.id+"_resize","click",function(n){n.preventDefault()});g.add(q.id+"_resize","mousedown",function(E){var t,r,s,o,D,A,B,G,n,F,y;function z(H){H.preventDefault();n=B+(H.screenX-D);F=G+(H.screenY-A);w.resizeTo(n,F)}function C(H){g.remove(i.doc,"mousemove",t);g.remove(q.getDoc(),"mousemove",r);g.remove(i.doc,"mouseup",s);g.remove(q.getDoc(),"mouseup",o);n=B+(H.screenX-D);F=G+(H.screenY-A);w.resizeTo(n,F,true);q.nodeChanged()}E.preventDefault();D=E.screenX;A=E.screenY;y=i.get(w.editor.id+"_ifr");B=n=y.clientWidth;G=F=y.clientHeight;t=g.add(i.doc,"mousemove",z);r=g.add(q.getDoc(),"mousemove",z);s=g.add(i.doc,"mouseup",C);o=g.add(q.getDoc(),"mouseup",C)})})}k.deltaHeight-=21;l=p=null},_updateUndoStatus:function(k){var j=k.controlManager,l=k.undoManager;j.setDisabled("undo",!l.hasUndo()&&!l.typing);j.setDisabled("redo",!l.hasRedo())},_nodeChanged:function(o,u,E,r,F){var z=this,D,G=0,y,H,A=z.settings,x,l,w,C,m,k,j;h.each(z.stateControls,function(n){u.setActive(n,o.queryCommandState(z.controls[n][1]))});function q(p){var s,n=F.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s<n.length;s++){if(t(n[s])){return n[s]}}}u.setActive("visualaid",o.hasVisual);z._updateUndoStatus(o);u.setDisabled("outdent",!o.queryCommandState("Outdent"));D=q("A");if(H=u.get("link")){H.setDisabled((!D&&r)||(D&&!D.href));H.setActive(!!D&&(!D.name&&!D.id))}if(H=u.get("unlink")){H.setDisabled(!D&&r);H.setActive(!!D&&!D.name&&!D.id)}if(H=u.get("anchor")){H.setActive(!r&&!!D&&(D.name||(D.id&&!D.href)))}D=q("IMG");if(H=u.get("image")){H.setActive(!r&&!!D&&E.className.indexOf("mceItem")==-1)}if(H=u.get("styleselect")){z._importClasses();k=[];f(H.items,function(n){k.push(n.value)});j=o.formatter.matchAll(k);H.select(j[0]);h.each(j,function(p,n){if(n>0){H.mark(p)}})}if(H=u.get("formatselect")){D=q(o.dom.isBlock);if(D){H.select(D.nodeName.toLowerCase())}}q(function(p){if(p.nodeName==="SPAN"){if(!x&&p.className){x=p.className}}if(o.dom.is(p,A.theme_advanced_font_selector)){if(!l&&p.style.fontSize){l=p.style.fontSize}if(!w&&p.style.fontFamily){w=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}if(!C&&p.style.color){C=p.style.color}if(!m&&p.style.backgroundColor){m=p.style.backgroundColor}}return false});if(H=u.get("fontselect")){H.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==w})}if(H=u.get("fontsizeselect")){if(A.theme_advanced_runtime_fontsize&&!l&&!x){l=o.dom.getStyle(E,"fontSize",true)}H.select(function(n){if(n.fontSize&&n.fontSize===l){return true}if(n["class"]&&n["class"]===x){return true}})}if(A.theme_advanced_show_current_color){function B(p,n){if(H=u.get(p)){if(!n){n=H.settings.default_color}if(n!==H.value){H.displayColor(n)}}}B("forecolor",C);B("backcolor",m)}if(A.theme_advanced_show_current_color){function B(p,n){if(H=u.get(p)){if(!n){n=H.settings.default_color}if(n!==H.value){H.displayColor(n)}}}B("forecolor",C);B("backcolor",m)}if(A.theme_advanced_path&&A.theme_advanced_statusbar_location){D=i.get(o.id+"_path")||i.add(o.id+"_path_row","span",{id:o.id+"_path"});if(z.statusKeyboardNavigation){z.statusKeyboardNavigation.destroy();z.statusKeyboardNavigation=null}i.setHTML(D,"");q(function(I){var p=I.nodeName.toLowerCase(),s,v,t="";if(I.nodeType!=1||p==="br"||I.getAttribute("data-mce-bogus")||i.hasClass(I,"mceItemHidden")||i.hasClass(I,"mceItemRemoved")){return}if(h.isIE&&I.scopeName!=="HTML"&&I.scopeName){p=I.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(y=i.getAttrib(I,"src")){t+="src: "+y+" "}break;case"a":if(y=i.getAttrib(I,"name")){t+="name: "+y+" ";p+="#"+y}if(y=i.getAttrib(I,"href")){t+="href: "+y+" "}break;case"font":if(y=i.getAttrib(I,"face")){t+="font: "+y+" "}if(y=i.getAttrib(I,"size")){t+="size: "+y+" "}if(y=i.getAttrib(I,"color")){t+="color: "+y+" "}break;case"span":if(y=i.getAttrib(I,"style")){t+="style: "+y+" "}break}if(y=i.getAttrib(I,"id")){t+="id: "+y+" "}if(y=I.className){y=y.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g,"");if(y){t+="class: "+y+" ";if(o.dom.isBlock(I)||p=="img"||p=="span"){p+="."+y}}}p=p.replace(/(html:)/g,"");p={name:p,node:I,title:t};z.onResolveName.dispatch(z,p);t=p.title;p=p.name;v=i.create("a",{href:"javascript:;",role:"button",onmousedown:"return false;",title:t,"class":"mcePath_"+(G++)},p);if(D.hasChildNodes()){D.insertBefore(i.create("span",{"aria-hidden":"true"},"\u00a0\u00bb "),D.firstChild);D.insertBefore(v,D.firstChild)}else{D.appendChild(v)}},o.getBody());if(i.select("a",D).length>0){z.statusKeyboardNavigation=new h.ui.KeyboardNavigation({root:o.id+"_path_row",items:i.select("a",D),excludeFromTabOrder:true,onCancel:function(){o.focus()}},i)}}},_sel:function(j){this.editor.execCommand("mceSelectNodeDepth",false,j)},_mceInsertAnchor:function(l,k){var j=this.editor;j.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(j.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(j.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var j=this.editor;j.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(j.getLang("advanced.charmap_delta_width",0)),height:265+parseInt(j.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var j=this.editor;j.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceShortcuts:function(){var j=this.editor;j.windowManager.open({url:this.url+"/shortcuts.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(l,k){var j=this.editor;k=k||{};j.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(j.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(j.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:k.color,func:k.func,theme_url:this.url})},_mceCodeEditor:function(k,l){var j=this.editor;j.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(j.getParam("theme_advanced_source_editor_width",720)),height:parseInt(j.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(k,l){var j=this.editor;if(j.dom.getAttrib(j.selection.getNode(),"class","").indexOf("mceItem")!=-1){return}j.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(j.getLang("advanced.image_delta_width",0)),height:275+parseInt(j.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(k,l){var j=this.editor;j.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(j.getLang("advanced.link_delta_width",0)),height:200+parseInt(j.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var j=this.editor;j.windowManager.confirm("advanced.newdocument",function(k){if(k){j.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var j=this;this._mceColorPicker(0,{color:j.fgColor,func:function(k){j.fgColor=k;j.editor.execCommand("ForeColor",false,k)}})},_mceBackColor:function(){var j=this;this._mceColorPicker(0,{color:j.bgColor,func:function(k){j.bgColor=k;j.editor.execCommand("HiliteColor",false,k)}})},_ufirst:function(j){return j.substring(0,1).toUpperCase()+j.substring(1)}});h.ThemeManager.add("advanced",h.themes.AdvancedTheme)}(tinymce)); -\ No newline at end of file +/** + * editor_template_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode; + + // Generates a preview for a format + function getPreviewCss(ed, fmt) { + var name, previewElm, dom = ed.dom, previewCss = '', parentFontSize, previewStylesName; + + previewStyles = ed.settings.preview_styles; + + // No preview forced + if (previewStyles === false) + return ''; + + // Default preview + if (!previewStyles) + previewStyles = 'font-family font-size font-weight text-decoration text-transform color background-color'; + + // Removes any variables since these can't be previewed + function removeVars(val) { + return val.replace(/%(\w+)/g, ''); + }; + + // Create block/inline element to use for preview + name = fmt.block || fmt.inline || 'span'; + previewElm = dom.create(name); + + // Add format styles to preview element + each(fmt.styles, function(value, name) { + value = removeVars(value); + + if (value) + dom.setStyle(previewElm, name, value); + }); + + // Add attributes to preview element + each(fmt.attributes, function(value, name) { + value = removeVars(value); + + if (value) + dom.setAttrib(previewElm, name, value); + }); + + // Add classes to preview element + each(fmt.classes, function(value) { + value = removeVars(value); + + if (!dom.hasClass(previewElm, value)) + dom.addClass(previewElm, value); + }); + + // Add the previewElm outside the visual area + dom.setStyles(previewElm, {position: 'absolute', left: -0xFFFF}); + ed.getBody().appendChild(previewElm); + + // Get parent container font size so we can compute px values out of em/% for older IE:s + parentFontSize = dom.getStyle(ed.getBody(), 'fontSize', true); + parentFontSize = /px$/.test(parentFontSize) ? parseInt(parentFontSize, 10) : 0; + + each(previewStyles.split(' '), function(name) { + var value = dom.getStyle(previewElm, name, true); + + // If background is transparent then check if the body has a background color we can use + if (name == 'background-color' && /transparent|rgba\s*\([^)]+,\s*0\)/.test(value)) { + value = dom.getStyle(ed.getBody(), name, true); + + // Ignore white since it's the default color, not the nicest fix + if (dom.toHex(value).toLowerCase() == '#ffffff') { + return; + } + } + + // Old IE won't calculate the font size so we need to do that manually + if (name == 'font-size') { + if (/em|%$/.test(value)) { + if (parentFontSize === 0) { + return; + } + + // Convert font size from em/% to px + value = parseFloat(value, 10) / (/%$/.test(value) ? 100 : 1); + value = (value * parentFontSize) + 'px'; + } + } + + previewCss += name + ':' + value + ';'; + }); + + dom.remove(previewElm); + + return previewCss; + }; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('advanced'); + + tinymce.create('tinymce.themes.AdvancedTheme', { + sizes : [8, 10, 12, 14, 18, 24, 36], + + // Control name lookup, format: title, command + controls : { + bold : ['bold_desc', 'Bold'], + italic : ['italic_desc', 'Italic'], + underline : ['underline_desc', 'Underline'], + strikethrough : ['striketrough_desc', 'Strikethrough'], + justifyleft : ['justifyleft_desc', 'JustifyLeft'], + justifycenter : ['justifycenter_desc', 'JustifyCenter'], + justifyright : ['justifyright_desc', 'JustifyRight'], + justifyfull : ['justifyfull_desc', 'JustifyFull'], + bullist : ['bullist_desc', 'InsertUnorderedList'], + numlist : ['numlist_desc', 'InsertOrderedList'], + outdent : ['outdent_desc', 'Outdent'], + indent : ['indent_desc', 'Indent'], + cut : ['cut_desc', 'Cut'], + copy : ['copy_desc', 'Copy'], + paste : ['paste_desc', 'Paste'], + undo : ['undo_desc', 'Undo'], + redo : ['redo_desc', 'Redo'], + link : ['link_desc', 'mceLink'], + unlink : ['unlink_desc', 'unlink'], + image : ['image_desc', 'mceImage'], + cleanup : ['cleanup_desc', 'mceCleanup'], + help : ['help_desc', 'mceHelp'], + code : ['code_desc', 'mceCodeEditor'], + hr : ['hr_desc', 'InsertHorizontalRule'], + removeformat : ['removeformat_desc', 'RemoveFormat'], + sub : ['sub_desc', 'subscript'], + sup : ['sup_desc', 'superscript'], + forecolor : ['forecolor_desc', 'ForeColor'], + forecolorpicker : ['forecolor_desc', 'mceForeColor'], + backcolor : ['backcolor_desc', 'HiliteColor'], + backcolorpicker : ['backcolor_desc', 'mceBackColor'], + charmap : ['charmap_desc', 'mceCharMap'], + visualaid : ['visualaid_desc', 'mceToggleVisualAid'], + anchor : ['anchor_desc', 'mceInsertAnchor'], + newdocument : ['newdocument_desc', 'mceNewDocument'], + blockquote : ['blockquote_desc', 'mceBlockQuote'] + }, + + stateControls : ['bold', 'italic', 'underline', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'sub', 'sup', 'blockquote'], + + init : function(ed, url) { + var t = this, s, v, o; + + t.editor = ed; + t.url = url; + t.onResolveName = new tinymce.util.Dispatcher(this); + s = ed.settings; + + ed.forcedHighContrastMode = ed.settings.detect_highcontrast && t._isHighContrast(); + ed.settings.skin = ed.forcedHighContrastMode ? 'highcontrast' : ed.settings.skin; + + // Setup default buttons + if (!s.theme_advanced_buttons1) { + s = extend({ + theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect", + theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code", + theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap" + }, s); + } + + // Default settings + t.settings = s = extend({ + theme_advanced_path : true, + theme_advanced_toolbar_location : 'top', + theme_advanced_blockformats : "p,address,pre,h1,h2,h3,h4,h5,h6", + theme_advanced_toolbar_align : "left", + theme_advanced_statusbar_location : "bottom", + theme_advanced_fonts : "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats", + theme_advanced_more_colors : 1, + theme_advanced_row_height : 23, + theme_advanced_resize_horizontal : 1, + theme_advanced_resizing_use_cookie : 1, + theme_advanced_font_sizes : "1,2,3,4,5,6,7", + theme_advanced_font_selector : "span", + theme_advanced_show_current_color: 0, + readonly : ed.settings.readonly + }, s); + + // Setup default font_size_style_values + if (!s.font_size_style_values) + s.font_size_style_values = "8pt,10pt,12pt,14pt,18pt,24pt,36pt"; + + if (tinymce.is(s.theme_advanced_font_sizes, 'string')) { + s.font_size_style_values = tinymce.explode(s.font_size_style_values); + s.font_size_classes = tinymce.explode(s.font_size_classes || ''); + + // Parse string value + o = {}; + ed.settings.theme_advanced_font_sizes = s.theme_advanced_font_sizes; + each(ed.getParam('theme_advanced_font_sizes', '', 'hash'), function(v, k) { + var cl; + + if (k == v && v >= 1 && v <= 7) { + k = v + ' (' + t.sizes[v - 1] + 'pt)'; + cl = s.font_size_classes[v - 1]; + v = s.font_size_style_values[v - 1] || (t.sizes[v - 1] + 'pt'); + } + + if (/^\s*\./.test(v)) + cl = v.replace(/\./g, ''); + + o[k] = cl ? {'class' : cl} : {fontSize : v}; + }); + + s.theme_advanced_font_sizes = o; + } + + if ((v = s.theme_advanced_path_location) && v != 'none') + s.theme_advanced_statusbar_location = s.theme_advanced_path_location; + + if (s.theme_advanced_statusbar_location == 'none') + s.theme_advanced_statusbar_location = 0; + + if (ed.settings.content_css !== false) + ed.contentCSS.push(ed.baseURI.toAbsolute(url + "/skins/" + ed.settings.skin + "/content.css")); + + // Init editor + ed.onInit.add(function() { + if (!ed.settings.readonly) { + ed.onNodeChange.add(t._nodeChanged, t); + ed.onKeyUp.add(t._updateUndoStatus, t); + ed.onMouseUp.add(t._updateUndoStatus, t); + ed.dom.bind(ed.dom.getRoot(), 'dragend', function() { + t._updateUndoStatus(ed); + }); + } + }); + + ed.onSetProgressState.add(function(ed, b, ti) { + var co, id = ed.id, tb; + + if (b) { + t.progressTimer = setTimeout(function() { + co = ed.getContainer(); + co = co.insertBefore(DOM.create('DIV', {style : 'position:relative'}), co.firstChild); + tb = DOM.get(ed.id + '_tbl'); + + DOM.add(co, 'div', {id : id + '_blocker', 'class' : 'mceBlocker', style : {width : tb.clientWidth + 2, height : tb.clientHeight + 2}}); + DOM.add(co, 'div', {id : id + '_progress', 'class' : 'mceProgress', style : {left : tb.clientWidth / 2, top : tb.clientHeight / 2}}); + }, ti || 0); + } else { + DOM.remove(id + '_blocker'); + DOM.remove(id + '_progress'); + clearTimeout(t.progressTimer); + } + }); + + DOM.loadCSS(s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : url + "/skins/" + ed.settings.skin + "/ui.css"); + + if (s.skin_variant) + DOM.loadCSS(url + "/skins/" + ed.settings.skin + "/ui_" + s.skin_variant + ".css"); + }, + + _isHighContrast : function() { + var actualColor, div = DOM.add(DOM.getRoot(), 'div', {'style': 'background-color: rgb(171,239,86);'}); + + actualColor = (DOM.getStyle(div, 'background-color', true) + '').toLowerCase().replace(/ /g, ''); + DOM.remove(div); + + return actualColor != 'rgb(171,239,86)' && actualColor != '#abef56'; + }, + + createControl : function(n, cf) { + var cd, c; + + if (c = cf.createControl(n)) + return c; + + switch (n) { + case "styleselect": + return this._createStyleSelect(); + + case "formatselect": + return this._createBlockFormats(); + + case "fontselect": + return this._createFontSelect(); + + case "fontsizeselect": + return this._createFontSizeSelect(); + + case "forecolor": + return this._createForeColorMenu(); + + case "backcolor": + return this._createBackColorMenu(); + } + + if ((cd = this.controls[n])) + return cf.createButton(n, {title : "advanced." + cd[0], cmd : cd[1], ui : cd[2], value : cd[3]}); + }, + + execCommand : function(cmd, ui, val) { + var f = this['_' + cmd]; + + if (f) { + f.call(this, ui, val); + return true; + } + + return false; + }, + + _importClasses : function(e) { + var ed = this.editor, ctrl = ed.controlManager.get('styleselect'); + + if (ctrl.getLength() == 0) { + each(ed.dom.getClasses(), function(o, idx) { + var name = 'style_' + idx, fmt; + + fmt = { + inline : 'span', + attributes : {'class' : o['class']}, + selector : '*' + }; + + ed.formatter.register(name, fmt); + + ctrl.add(o['class'], name, { + style: function() { + return getPreviewCss(ed, fmt); + } + }); + }); + } + }, + + _createStyleSelect : function(n) { + var t = this, ed = t.editor, ctrlMan = ed.controlManager, ctrl; + + // Setup style select box + ctrl = ctrlMan.createListBox('styleselect', { + title : 'advanced.style_select', + onselect : function(name) { + var matches, formatNames = [], removedFormat; + + each(ctrl.items, function(item) { + formatNames.push(item.value); + }); + + ed.focus(); + ed.undoManager.add(); + + // Toggle off the current format(s) + matches = ed.formatter.matchAll(formatNames); + tinymce.each(matches, function(match) { + if (!name || match == name) { + if (match) + ed.formatter.remove(match); + + removedFormat = true; + } + }); + + if (!removedFormat) + ed.formatter.apply(name); + + ed.undoManager.add(); + ed.nodeChanged(); + + return false; // No auto select + } + }); + + // Handle specified format + ed.onPreInit.add(function() { + var counter = 0, formats = ed.getParam('style_formats'); + + if (formats) { + each(formats, function(fmt) { + var name, keys = 0; + + each(fmt, function() {keys++;}); + + if (keys > 1) { + name = fmt.name = fmt.name || 'style_' + (counter++); + ed.formatter.register(name, fmt); + ctrl.add(fmt.title, name, { + style: function() { + return getPreviewCss(ed, fmt); + } + }); + } else + ctrl.add(fmt.title); + }); + } else { + each(ed.getParam('theme_advanced_styles', '', 'hash'), function(val, key) { + var name, fmt; + + if (val) { + name = 'style_' + (counter++); + fmt = { + inline : 'span', + classes : val, + selector : '*' + }; + + ed.formatter.register(name, fmt); + ctrl.add(t.editor.translate(key), name, { + style: function() { + return getPreviewCss(ed, fmt); + } + }); + } + }); + } + }); + + // Auto import classes if the ctrl box is empty + if (ctrl.getLength() == 0) { + ctrl.onPostRender.add(function(ed, n) { + if (!ctrl.NativeListBox) { + Event.add(n.id + '_text', 'focus', t._importClasses, t); + Event.add(n.id + '_text', 'mousedown', t._importClasses, t); + Event.add(n.id + '_open', 'focus', t._importClasses, t); + Event.add(n.id + '_open', 'mousedown', t._importClasses, t); + } else + Event.add(n.id, 'focus', t._importClasses, t); + }); + } + + return ctrl; + }, + + _createFontSelect : function() { + var c, t = this, ed = t.editor; + + c = ed.controlManager.createListBox('fontselect', { + title : 'advanced.fontdefault', + onselect : function(v) { + var cur = c.items[c.selectedIndex]; + + if (!v && cur) { + ed.execCommand('FontName', false, cur.value); + return; + } + + ed.execCommand('FontName', false, v); + + // Fake selection, execCommand will fire a nodeChange and update the selection + c.select(function(sv) { + return v == sv; + }); + + if (cur && cur.value == v) { + c.select(null); + } + + return false; // No auto select + } + }); + + if (c) { + each(ed.getParam('theme_advanced_fonts', t.settings.theme_advanced_fonts, 'hash'), function(v, k) { + c.add(ed.translate(k), v, {style : v.indexOf('dings') == -1 ? 'font-family:' + v : ''}); + }); + } + + return c; + }, + + _createFontSizeSelect : function() { + var t = this, ed = t.editor, c, i = 0, cl = []; + + c = ed.controlManager.createListBox('fontsizeselect', {title : 'advanced.font_size', onselect : function(v) { + var cur = c.items[c.selectedIndex]; + + if (!v && cur) { + cur = cur.value; + + if (cur['class']) { + ed.formatter.toggle('fontsize_class', {value : cur['class']}); + ed.undoManager.add(); + ed.nodeChanged(); + } else { + ed.execCommand('FontSize', false, cur.fontSize); + } + + return; + } + + if (v['class']) { + ed.focus(); + ed.undoManager.add(); + ed.formatter.toggle('fontsize_class', {value : v['class']}); + ed.undoManager.add(); + ed.nodeChanged(); + } else + ed.execCommand('FontSize', false, v.fontSize); + + // Fake selection, execCommand will fire a nodeChange and update the selection + c.select(function(sv) { + return v == sv; + }); + + if (cur && (cur.value.fontSize == v.fontSize || cur.value['class'] && cur.value['class'] == v['class'])) { + c.select(null); + } + + return false; // No auto select + }}); + + if (c) { + each(t.settings.theme_advanced_font_sizes, function(v, k) { + var fz = v.fontSize; + + if (fz >= 1 && fz <= 7) + fz = t.sizes[parseInt(fz) - 1] + 'pt'; + + c.add(k, v, {'style' : 'font-size:' + fz, 'class' : 'mceFontSize' + (i++) + (' ' + (v['class'] || ''))}); + }); + } + + return c; + }, + + _createBlockFormats : function() { + var c, fmts = { + p : 'advanced.paragraph', + address : 'advanced.address', + pre : 'advanced.pre', + h1 : 'advanced.h1', + h2 : 'advanced.h2', + h3 : 'advanced.h3', + h4 : 'advanced.h4', + h5 : 'advanced.h5', + h6 : 'advanced.h6', + div : 'advanced.div', + blockquote : 'advanced.blockquote', + code : 'advanced.code', + dt : 'advanced.dt', + dd : 'advanced.dd', + samp : 'advanced.samp' + }, t = this; + + c = t.editor.controlManager.createListBox('formatselect', {title : 'advanced.block', onselect : function(v) { + t.editor.execCommand('FormatBlock', false, v); + return false; + }}); + + if (c) { + each(t.editor.getParam('theme_advanced_blockformats', t.settings.theme_advanced_blockformats, 'hash'), function(v, k) { + c.add(t.editor.translate(k != v ? k : fmts[v]), v, {'class' : 'mce_formatPreview mce_' + v, style: function() { + return getPreviewCss(t.editor, {block: v}); + }}); + }); + } + + return c; + }, + + _createForeColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_text_colors) + o.colors = v; + + if (s.theme_advanced_default_foreground_color) + o.default_color = s.theme_advanced_default_foreground_color; + + o.title = 'advanced.forecolor_desc'; + o.cmd = 'ForeColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('forecolor', o); + + return c; + }, + + _createBackColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_background_colors) + o.colors = v; + + if (s.theme_advanced_default_background_color) + o.default_color = s.theme_advanced_default_background_color; + + o.title = 'advanced.backcolor_desc'; + o.cmd = 'HiliteColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('backcolor', o); + + return c; + }, + + renderUI : function(o) { + var n, ic, tb, t = this, ed = t.editor, s = t.settings, sc, p, nl; + + if (ed.settings) { + ed.settings.aria_label = s.aria_label + ed.getLang('advanced.help_shortcut'); + } + + // TODO: ACC Should have an aria-describedby attribute which is user-configurable to describe what this field is actually for. + // Maybe actually inherit it from the original textara? + n = p = DOM.create('span', {role : 'application', 'aria-labelledby' : ed.id + '_voice', id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '') + (ed.settings.directionality == "rtl" ? ' mceRtl' : '')}); + DOM.add(n, 'span', {'class': 'mceVoiceLabel', 'style': 'display:none;', id: ed.id + '_voice'}, s.aria_label); + + if (!DOM.boxModel) + n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'}); + + n = sc = DOM.add(n, 'table', {role : "presentation", id : ed.id + '_tbl', 'class' : 'mceLayout', cellSpacing : 0, cellPadding : 0}); + n = tb = DOM.add(n, 'tbody'); + + switch ((s.theme_advanced_layout_manager || '').toLowerCase()) { + case "rowlayout": + ic = t._rowLayout(s, tb, o); + break; + + case "customlayout": + ic = ed.execCallback("theme_advanced_custom_layout", s, tb, o, p); + break; + + default: + ic = t._simpleLayout(s, tb, o, p); + } + + n = o.targetNode; + + // Add classes to first and last TRs + nl = sc.rows; + DOM.addClass(nl[0], 'mceFirst'); + DOM.addClass(nl[nl.length - 1], 'mceLast'); + + // Add classes to first and last TDs + each(DOM.select('tr', tb), function(n) { + DOM.addClass(n.firstChild, 'mceFirst'); + DOM.addClass(n.childNodes[n.childNodes.length - 1], 'mceLast'); + }); + + if (DOM.get(s.theme_advanced_toolbar_container)) + DOM.get(s.theme_advanced_toolbar_container).appendChild(p); + else + DOM.insertAfter(p, n); + + Event.add(ed.id + '_path_row', 'click', function(e) { + e = e.target; + + if (e.nodeName == 'A') { + t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/, '$1')); + return false; + } + }); +/* + if (DOM.get(ed.id + '_path_row')) { + Event.add(ed.id + '_tbl', 'mouseover', function(e) { + var re; + + e = e.target; + + if (e.nodeName == 'SPAN' && DOM.hasClass(e.parentNode, 'mceButton')) { + re = DOM.get(ed.id + '_path_row'); + t.lastPath = re.innerHTML; + DOM.setHTML(re, e.parentNode.title); + } + }); + + Event.add(ed.id + '_tbl', 'mouseout', function(e) { + if (t.lastPath) { + DOM.setHTML(ed.id + '_path_row', t.lastPath); + t.lastPath = 0; + } + }); + } +*/ + + if (!ed.getParam('accessibility_focus')) + Event.add(DOM.add(p, 'a', {href : '#'}, '<!-- IE -->'), 'focus', function() {tinyMCE.get(ed.id).focus();}); + + if (s.theme_advanced_toolbar_location == 'external') + o.deltaHeight = 0; + + t.deltaHeight = o.deltaHeight; + o.targetNode = null; + + ed.onKeyDown.add(function(ed, evt) { + var DOM_VK_F10 = 121, DOM_VK_F11 = 122; + + if (evt.altKey) { + if (evt.keyCode === DOM_VK_F10) { + // Make sure focus is given to toolbar in Safari. + // We can't do this in IE as it prevents giving focus to toolbar when editor is in a frame + if (tinymce.isWebKit) { + window.focus(); + } + t.toolbarGroup.focus(); + return Event.cancel(evt); + } else if (evt.keyCode === DOM_VK_F11) { + DOM.get(ed.id + '_path_row').focus(); + return Event.cancel(evt); + } + } + }); + + // alt+0 is the UK recommended shortcut for accessing the list of access controls. + ed.addShortcut('alt+0', '', 'mceShortcuts', t); + + return { + iframeContainer : ic, + editorContainer : ed.id + '_parent', + sizeContainer : sc, + deltaHeight : o.deltaHeight + }; + }, + + getInfo : function() { + return { + longname : 'Advanced theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + }, + + resizeBy : function(dw, dh) { + var e = DOM.get(this.editor.id + '_ifr'); + + this.resizeTo(e.clientWidth + dw, e.clientHeight + dh); + }, + + resizeTo : function(w, h, store) { + var ed = this.editor, s = this.settings, e = DOM.get(ed.id + '_tbl'), ifr = DOM.get(ed.id + '_ifr'); + + // Boundery fix box + w = Math.max(s.theme_advanced_resizing_min_width || 100, w); + h = Math.max(s.theme_advanced_resizing_min_height || 100, h); + w = Math.min(s.theme_advanced_resizing_max_width || 0xFFFF, w); + h = Math.min(s.theme_advanced_resizing_max_height || 0xFFFF, h); + + // Resize iframe and container + DOM.setStyle(e, 'height', ''); + DOM.setStyle(ifr, 'height', h); + + if (s.theme_advanced_resize_horizontal) { + DOM.setStyle(e, 'width', ''); + DOM.setStyle(ifr, 'width', w); + + // Make sure that the size is never smaller than the over all ui + if (w < e.clientWidth) { + w = e.clientWidth; + DOM.setStyle(ifr, 'width', e.clientWidth); + } + } + + // Store away the size + if (store && s.theme_advanced_resizing_use_cookie) { + Cookie.setHash("TinyMCE_" + ed.id + "_size", { + cw : w, + ch : h + }); + } + }, + + destroy : function() { + var id = this.editor.id; + + Event.clear(id + '_resize'); + Event.clear(id + '_path_row'); + Event.clear(id + '_external_close'); + }, + + // Internal functions + + _simpleLayout : function(s, tb, o, p) { + var t = this, ed = t.editor, lo = s.theme_advanced_toolbar_location, sl = s.theme_advanced_statusbar_location, n, ic, etb, c; + + if (s.readonly) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + return ic; + } + + // Create toolbar container at top + if (lo == 'top') + t._addToolbars(tb, o); + + // Create external toolbar + if (lo == 'external') { + n = c = DOM.create('div', {style : 'position:relative'}); + n = DOM.add(n, 'div', {id : ed.id + '_external', 'class' : 'mceExternalToolbar'}); + DOM.add(n, 'a', {id : ed.id + '_external_close', href : 'javascript:;', 'class' : 'mceExternalClose'}); + n = DOM.add(n, 'table', {id : ed.id + '_tblext', cellSpacing : 0, cellPadding : 0}); + etb = DOM.add(n, 'tbody'); + + if (p.firstChild.className == 'mceOldBoxModel') + p.firstChild.appendChild(c); + else + p.insertBefore(c, p.firstChild); + + t._addToolbars(etb, o); + + ed.onMouseUp.add(function() { + var e = DOM.get(ed.id + '_external'); + DOM.show(e); + + DOM.hide(lastExtID); + + var f = Event.add(ed.id + '_external_close', 'click', function() { + DOM.hide(ed.id + '_external'); + Event.remove(ed.id + '_external_close', 'click', f); + return false; + }); + + DOM.show(e); + DOM.setStyle(e, 'top', 0 - DOM.getRect(ed.id + '_tblext').h - 1); + + // Fixes IE rendering bug + DOM.hide(e); + DOM.show(e); + e.style.filter = ''; + + lastExtID = ed.id + '_external'; + + e = null; + }); + } + + if (sl == 'top') + t._addStatusBar(tb, o); + + // Create iframe container + if (!s.theme_advanced_toolbar_container) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + } + + // Create toolbar container at bottom + if (lo == 'bottom') + t._addToolbars(tb, o); + + if (sl == 'bottom') + t._addStatusBar(tb, o); + + return ic; + }, + + _rowLayout : function(s, tb, o) { + var t = this, ed = t.editor, dc, da, cf = ed.controlManager, n, ic, to, a; + + dc = s.theme_advanced_containers_default_class || ''; + da = s.theme_advanced_containers_default_align || 'center'; + + each(explode(s.theme_advanced_containers || ''), function(c, i) { + var v = s['theme_advanced_container_' + c] || ''; + + switch (c.toLowerCase()) { + case 'mceeditor': + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + break; + + case 'mceelementpath': + t._addStatusBar(tb, o); + break; + + default: + a = (s['theme_advanced_container_' + c + '_align'] || da).toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(tb, 'tr'), 'td', { + 'class' : 'mceToolbar ' + (s['theme_advanced_container_' + c + '_class'] || dc) + ' ' + a || da + }); + + to = cf.createToolbar("toolbar" + i); + t._addControls(v, to); + DOM.setHTML(n, to.renderHTML()); + o.deltaHeight -= s.theme_advanced_row_height; + } + }); + + return ic; + }, + + _addControls : function(v, tb) { + var t = this, s = t.settings, di, cf = t.editor.controlManager; + + if (s.theme_advanced_disable && !t._disabled) { + di = {}; + + each(explode(s.theme_advanced_disable), function(v) { + di[v] = 1; + }); + + t._disabled = di; + } else + di = t._disabled; + + each(explode(v), function(n) { + var c; + + if (di && di[n]) + return; + + // Compatiblity with 2.x + if (n == 'tablecontrols') { + each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"], function(n) { + n = t.createControl(n, cf); + + if (n) + tb.add(n); + }); + + return; + } + + c = t.createControl(n, cf); + + if (c) + tb.add(c); + }); + }, + + _addToolbars : function(c, o) { + var t = this, i, tb, ed = t.editor, s = t.settings, v, cf = ed.controlManager, di, n, h = [], a, toolbarGroup, toolbarsExist = false; + + toolbarGroup = cf.createToolbarGroup('toolbargroup', { + 'name': ed.getLang('advanced.toolbar'), + 'tab_focus_toolbar':ed.getParam('theme_advanced_tab_focus_toolbar') + }); + + t.toolbarGroup = toolbarGroup; + + a = s.theme_advanced_toolbar_align.toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(c, 'tr', {role: 'toolbar'}), 'td', {'class' : 'mceToolbar ' + a, "role":"toolbar"}); + + // Create toolbar and add the controls + for (i=1; (v = s['theme_advanced_buttons' + i]); i++) { + toolbarsExist = true; + tb = cf.createToolbar("toolbar" + i, {'class' : 'mceToolbarRow' + i}); + + if (s['theme_advanced_buttons' + i + '_add']) + v += ',' + s['theme_advanced_buttons' + i + '_add']; + + if (s['theme_advanced_buttons' + i + '_add_before']) + v = s['theme_advanced_buttons' + i + '_add_before'] + ',' + v; + + t._addControls(v, tb); + toolbarGroup.add(tb); + + o.deltaHeight -= s.theme_advanced_row_height; + } + // Handle case when there are no toolbar buttons and ensure editor height is adjusted accordingly + if (!toolbarsExist) + o.deltaHeight -= s.theme_advanced_row_height; + h.push(toolbarGroup.renderHTML()); + h.push(DOM.createHTML('a', {href : '#', accesskey : 'z', title : ed.getLang("advanced.toolbar_focus"), onfocus : 'tinyMCE.getInstanceById(\'' + ed.id + '\').focus();'}, '<!-- IE -->')); + DOM.setHTML(n, h.join('')); + }, + + _addStatusBar : function(tb, o) { + var n, t = this, ed = t.editor, s = t.settings, r, mf, me, td; + + n = DOM.add(tb, 'tr'); + n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'}); + n = DOM.add(n, 'div', {id : ed.id + '_path_row', 'role': 'group', 'aria-labelledby': ed.id + '_path_voice'}); + if (s.theme_advanced_path) { + DOM.add(n, 'span', {id: ed.id + '_path_voice'}, ed.translate('advanced.path')); + DOM.add(n, 'span', {}, ': '); + } else { + DOM.add(n, 'span', {}, ' '); + } + + + if (s.theme_advanced_resizing) { + DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize', tabIndex:"-1"}); + + if (s.theme_advanced_resizing_use_cookie) { + ed.onPostRender.add(function() { + var o = Cookie.getHash("TinyMCE_" + ed.id + "_size"), c = DOM.get(ed.id + '_tbl'); + + if (!o) + return; + + t.resizeTo(o.cw, o.ch); + }); + } + + ed.onPostRender.add(function() { + Event.add(ed.id + '_resize', 'click', function(e) { + e.preventDefault(); + }); + + Event.add(ed.id + '_resize', 'mousedown', function(e) { + var mouseMoveHandler1, mouseMoveHandler2, + mouseUpHandler1, mouseUpHandler2, + startX, startY, startWidth, startHeight, width, height, ifrElm; + + function resizeOnMove(e) { + e.preventDefault(); + + width = startWidth + (e.screenX - startX); + height = startHeight + (e.screenY - startY); + + t.resizeTo(width, height); + }; + + function endResize(e) { + // Stop listening + Event.remove(DOM.doc, 'mousemove', mouseMoveHandler1); + Event.remove(ed.getDoc(), 'mousemove', mouseMoveHandler2); + Event.remove(DOM.doc, 'mouseup', mouseUpHandler1); + Event.remove(ed.getDoc(), 'mouseup', mouseUpHandler2); + + width = startWidth + (e.screenX - startX); + height = startHeight + (e.screenY - startY); + t.resizeTo(width, height, true); + + ed.nodeChanged(); + }; + + e.preventDefault(); + + // Get the current rect size + startX = e.screenX; + startY = e.screenY; + ifrElm = DOM.get(t.editor.id + '_ifr'); + startWidth = width = ifrElm.clientWidth; + startHeight = height = ifrElm.clientHeight; + + // Register envent handlers + mouseMoveHandler1 = Event.add(DOM.doc, 'mousemove', resizeOnMove); + mouseMoveHandler2 = Event.add(ed.getDoc(), 'mousemove', resizeOnMove); + mouseUpHandler1 = Event.add(DOM.doc, 'mouseup', endResize); + mouseUpHandler2 = Event.add(ed.getDoc(), 'mouseup', endResize); + }); + }); + } + + o.deltaHeight -= 21; + n = tb = null; + }, + + _updateUndoStatus : function(ed) { + var cm = ed.controlManager, um = ed.undoManager; + + cm.setDisabled('undo', !um.hasUndo() && !um.typing); + cm.setDisabled('redo', !um.hasRedo()); + }, + + _nodeChanged : function(ed, cm, n, co, ob) { + var t = this, p, de = 0, v, c, s = t.settings, cl, fz, fn, fc, bc, formatNames, matches; + + tinymce.each(t.stateControls, function(c) { + cm.setActive(c, ed.queryCommandState(t.controls[c][1])); + }); + + function getParent(name) { + var i, parents = ob.parents, func = name; + + if (typeof(name) == 'string') { + func = function(node) { + return node.nodeName == name; + }; + } + + for (i = 0; i < parents.length; i++) { + if (func(parents[i])) + return parents[i]; + } + }; + + cm.setActive('visualaid', ed.hasVisual); + t._updateUndoStatus(ed); + cm.setDisabled('outdent', !ed.queryCommandState('Outdent')); + + p = getParent('A'); + if (c = cm.get('link')) { + c.setDisabled((!p && co) || (p && !p.href)); + c.setActive(!!p && (!p.name && !p.id)); + } + + if (c = cm.get('unlink')) { + c.setDisabled(!p && co); + c.setActive(!!p && !p.name && !p.id); + } + + if (c = cm.get('anchor')) { + c.setActive(!co && !!p && (p.name || (p.id && !p.href))); + } + + p = getParent('IMG'); + if (c = cm.get('image')) + c.setActive(!co && !!p && n.className.indexOf('mceItem') == -1); + + if (c = cm.get('styleselect')) { + t._importClasses(); + + formatNames = []; + each(c.items, function(item) { + formatNames.push(item.value); + }); + + matches = ed.formatter.matchAll(formatNames); + c.select(matches[0]); + tinymce.each(matches, function(match, index) { + if (index > 0) { + c.mark(match); + } + }); + } + + if (c = cm.get('formatselect')) { + p = getParent(ed.dom.isBlock); + + if (p) + c.select(p.nodeName.toLowerCase()); + } + + // Find out current fontSize, fontFamily and fontClass + getParent(function(n) { + if (n.nodeName === 'SPAN') { + if (!cl && n.className) + cl = n.className; + } + + if (ed.dom.is(n, s.theme_advanced_font_selector)) { + if (!fz && n.style.fontSize) + fz = n.style.fontSize; + + if (!fn && n.style.fontFamily) + fn = n.style.fontFamily.replace(/[\"\']+/g, '').replace(/^([^,]+).*/, '$1').toLowerCase(); + + if (!fc && n.style.color) + fc = n.style.color; + + if (!bc && n.style.backgroundColor) + bc = n.style.backgroundColor; + } + + return false; + }); + + if (c = cm.get('fontselect')) { + c.select(function(v) { + return v.replace(/^([^,]+).*/, '$1').toLowerCase() == fn; + }); + } + + // Select font size + if (c = cm.get('fontsizeselect')) { + // Use computed style + if (s.theme_advanced_runtime_fontsize && !fz && !cl) + fz = ed.dom.getStyle(n, 'fontSize', true); + + c.select(function(v) { + if (v.fontSize && v.fontSize === fz) + return true; + + if (v['class'] && v['class'] === cl) + return true; + }); + } + + if (s.theme_advanced_show_current_color) { + function updateColor(controlId, color) { + if (c = cm.get(controlId)) { + if (!color) + color = c.settings.default_color; + if (color !== c.value) { + c.displayColor(color); + } + } + } + updateColor('forecolor', fc); + updateColor('backcolor', bc); + } + + if (s.theme_advanced_show_current_color) { + function updateColor(controlId, color) { + if (c = cm.get(controlId)) { + if (!color) + color = c.settings.default_color; + if (color !== c.value) { + c.displayColor(color); + } + } + }; + + updateColor('forecolor', fc); + updateColor('backcolor', bc); + } + + if (s.theme_advanced_path && s.theme_advanced_statusbar_location) { + p = DOM.get(ed.id + '_path') || DOM.add(ed.id + '_path_row', 'span', {id : ed.id + '_path'}); + + if (t.statusKeyboardNavigation) { + t.statusKeyboardNavigation.destroy(); + t.statusKeyboardNavigation = null; + } + + DOM.setHTML(p, ''); + + getParent(function(n) { + var na = n.nodeName.toLowerCase(), u, pi, ti = ''; + + // Ignore non element and bogus/hidden elements + if (n.nodeType != 1 || na === 'br' || n.getAttribute('data-mce-bogus') || DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved')) + return; + + // Handle prefix + if (tinymce.isIE && n.scopeName !== 'HTML' && n.scopeName) + na = n.scopeName + ':' + na; + + // Remove internal prefix + na = na.replace(/mce\:/g, ''); + + // Handle node name + switch (na) { + case 'b': + na = 'strong'; + break; + + case 'i': + na = 'em'; + break; + + case 'img': + if (v = DOM.getAttrib(n, 'src')) + ti += 'src: ' + v + ' '; + + break; + + case 'a': + if (v = DOM.getAttrib(n, 'name')) { + ti += 'name: ' + v + ' '; + na += '#' + v; + } + + if (v = DOM.getAttrib(n, 'href')) + ti += 'href: ' + v + ' '; + + break; + + case 'font': + if (v = DOM.getAttrib(n, 'face')) + ti += 'font: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'size')) + ti += 'size: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'color')) + ti += 'color: ' + v + ' '; + + break; + + case 'span': + if (v = DOM.getAttrib(n, 'style')) + ti += 'style: ' + v + ' '; + + break; + } + + if (v = DOM.getAttrib(n, 'id')) + ti += 'id: ' + v + ' '; + + if (v = n.className) { + v = v.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g, ''); + + if (v) { + ti += 'class: ' + v + ' '; + + if (ed.dom.isBlock(n) || na == 'img' || na == 'span') + na += '.' + v; + } + } + + na = na.replace(/(html:)/g, ''); + na = {name : na, node : n, title : ti}; + t.onResolveName.dispatch(t, na); + ti = na.title; + na = na.name; + + //u = "javascript:tinymce.EditorManager.get('" + ed.id + "').theme._sel('" + (de++) + "');"; + pi = DOM.create('a', {'href' : "javascript:;", role: 'button', onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na); + + if (p.hasChildNodes()) { + p.insertBefore(DOM.create('span', {'aria-hidden': 'true'}, '\u00a0\u00bb '), p.firstChild); + p.insertBefore(pi, p.firstChild); + } else + p.appendChild(pi); + }, ed.getBody()); + + if (DOM.select('a', p).length > 0) { + t.statusKeyboardNavigation = new tinymce.ui.KeyboardNavigation({ + root: ed.id + "_path_row", + items: DOM.select('a', p), + excludeFromTabOrder: true, + onCancel: function() { + ed.focus(); + } + }, DOM); + } + } + }, + + // Commands gets called by execCommand + + _sel : function(v) { + this.editor.execCommand('mceSelectNodeDepth', false, v); + }, + + _mceInsertAnchor : function(ui, v) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/anchor.htm', + width : 320 + parseInt(ed.getLang('advanced.anchor_delta_width', 0)), + height : 90 + parseInt(ed.getLang('advanced.anchor_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceCharMap : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/charmap.htm', + width : 550 + parseInt(ed.getLang('advanced.charmap_delta_width', 0)), + height : 265 + parseInt(ed.getLang('advanced.charmap_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceHelp : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/about.htm', + width : 480, + height : 380, + inline : true + }, { + theme_url : this.url + }); + }, + + _mceShortcuts : function() { + var ed = this.editor; + ed.windowManager.open({ + url: this.url + '/shortcuts.htm', + width: 480, + height: 380, + inline: true + }, { + theme_url: this.url + }); + }, + + _mceColorPicker : function(u, v) { + var ed = this.editor; + + v = v || {}; + + ed.windowManager.open({ + url : this.url + '/color_picker.htm', + width : 375 + parseInt(ed.getLang('advanced.colorpicker_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.colorpicker_delta_height', 0)), + close_previous : false, + inline : true + }, { + input_color : v.color, + func : v.func, + theme_url : this.url + }); + }, + + _mceCodeEditor : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/source_editor.htm', + width : parseInt(ed.getParam("theme_advanced_source_editor_width", 720)), + height : parseInt(ed.getParam("theme_advanced_source_editor_height", 580)), + inline : true, + resizable : true, + maximizable : true + }, { + theme_url : this.url + }); + }, + + _mceImage : function(ui, val) { + var ed = this.editor; + + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class', '').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + url : this.url + '/image.htm', + width : 355 + parseInt(ed.getLang('advanced.image_delta_width', 0)), + height : 275 + parseInt(ed.getLang('advanced.image_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceLink : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/link.htm', + width : 310 + parseInt(ed.getLang('advanced.link_delta_width', 0)), + height : 200 + parseInt(ed.getLang('advanced.link_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceNewDocument : function() { + var ed = this.editor; + + ed.windowManager.confirm('advanced.newdocument', function(s) { + if (s) + ed.execCommand('mceSetContent', false, ''); + }); + }, + + _mceForeColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.fgColor, + func : function(co) { + t.fgColor = co; + t.editor.execCommand('ForeColor', false, co); + } + }); + }, + + _mceBackColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.bgColor, + func : function(co) { + t.bgColor = co; + t.editor.execCommand('HiliteColor', false, co); + } + }); + }, + + _ufirst : function(s) { + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + }); + + tinymce.ThemeManager.add('advanced', tinymce.themes.AdvancedTheme); +}(tinymce)); diff --git a/test/tests/data/citeProcJSExport.js b/test/tests/data/citeProcJSExport.js @@ -1347,8 +1347,7 @@ 1, 2 ] - ], - "season": "2000-01-02" + ] }, "title": "Title", "type": "patent" diff --git a/test/tests/utilitiesTest.js b/test/tests/utilitiesTest.js @@ -221,7 +221,7 @@ describe("Zotero.Utilities", function() { yield attachment.saveTx(); - cslJSONAttachment = yield Zotero.Utilities.itemToCSLJSON(attachment); + let cslJSONAttachment = yield Zotero.Utilities.itemToCSLJSON(attachment); assert.equal(cslJSONAttachment.type, 'article', 'attachment is exported as "article"'); assert.equal(cslJSONAttachment.title, 'Empty', 'attachment title is correct'); assert.deepEqual(cslJSONAttachment.accessed, {"date-parts":[["2001",2,3]]}, 'attachment access date is mapped correctly'); @@ -272,5 +272,148 @@ describe("Zotero.Utilities", function() { assert.isUndefined(cslJSON.PMID, 'field labels are case-sensitive'); })); + it("should parse particles in creator names", function() { + let creators = [ + { + // No particles + firstName: 'John', + lastName: 'Smith', + creatorType: 'author', + expect: { + given: 'John', + family: 'Smith' + } + }, + { + // dropping and non-dropping + firstName: 'Jean de', + lastName: 'la Fontaine', + creatorType: 'author', + expect: { + given: 'Jean', + "dropping-particle": 'de', + "non-dropping-particle": 'la', + family: 'Fontaine' + } + }, + { + // only non-dropping + firstName: 'Vincent', + lastName: 'van Gogh', + creatorType: 'author', + expect: { + given: 'Vincent', + "non-dropping-particle": 'van', + family: 'Gogh' + } + }, + { + // only dropping + firstName: 'Alexander von', + lastName: 'Humboldt', + creatorType: 'author', + expect: { + given: 'Alexander', + "dropping-particle": 'von', + family: 'Humboldt' + } + }, + { + // institutional author + lastName: 'Jean de la Fontaine', + creatorType: 'author', + fieldMode: 1, + expect: { + literal: 'Jean de la Fontaine' + } + }, + { + // protected last name + firstName: 'Jean de', + lastName: '"la Fontaine"', + creatorType: 'author', + expect: { + given: 'Jean de', + family: 'la Fontaine' + } + } + ]; + + let data = populateDBWithSampleData({ + item: { + itemType: 'journalArticle', + creators: creators + } + }); + + let item = Zotero.Items.get(data.item.id); + let cslCreators = Zotero.Utilities.itemToCSLJSON(item).author; + + assert.deepEqual(cslCreators[0], creators[0].expect, 'simple name is not parsed'); + assert.deepEqual(cslCreators[1], creators[1].expect, 'name with dropping and non-dropping particles is parsed'); + assert.deepEqual(cslCreators[2], creators[2].expect, 'name with only non-dropping particle is parsed'); + assert.deepEqual(cslCreators[3], creators[3].expect, 'name with only dropping particle is parsed'); + assert.deepEqual(cslCreators[4], creators[4].expect, 'institutional author is not parsed'); + assert.deepEqual(cslCreators[5], creators[5].expect, 'protected last name prevents parsing'); + }); + }); + describe("itemFromCSLJSON", function() { + it("should stably perform itemToCSLJSON -> itemFromCSLJSON -> itemToCSLJSON", function() { + let data = loadSampleData('citeProcJSExport'); + + Zotero.DB.beginTransaction(); + + for (let i in data) { + let item = data[i]; + + let zItem = new Zotero.Item(); + Zotero.Utilities.itemFromCSLJSON(zItem, item); + zItem = Zotero.Items.get(zItem.save()); + + let newItem = Zotero.Utilities.itemToCSLJSON(zItem); + + delete newItem.id; + delete item.id; + + assert.deepEqual(newItem, item, i + ' export -> import -> export is stable'); + } + + Zotero.DB.commitTransaction(); + + }); + it("should import exported standalone note", function() { + let note = new Zotero.Item('note'); + note.setNote('Some note longer than 50 characters, which will become the title.'); + note = Zotero.Items.get(note.save()); + + let jsonNote = Zotero.Utilities.itemToCSLJSON(note); + + let zItem = new Zotero.Item(); + Zotero.Utilities.itemFromCSLJSON(zItem, jsonNote); + zItem = Zotero.Items.get(zItem.save()); + + assert.equal(zItem.getField('title'), jsonNote.title, 'title imported correctly'); + }); + it("should import exported standalone attachment", function() { + let file = getTestDataDirectory(); + file.append("empty.pdf"); + + let attachment = Zotero.Items.get(Zotero.Attachments.importFromFile(file)); + attachment.setField('title', 'Empty'); + attachment.setField('accessDate', '2001-02-03 12:13:14'); + attachment.setField('url', 'http://example.com'); + attachment.setNote('Note'); + + attachment.save(); + + let jsonAttachment = Zotero.Utilities.itemToCSLJSON(attachment); + + let zItem = new Zotero.Item(); + Zotero.Utilities.itemFromCSLJSON(zItem, jsonAttachment); + zItem = Zotero.Items.get(zItem.save()); + + assert.equal(zItem.getField('title'), jsonAttachment.title, 'title imported correctly'); + }); +>>>>>>> 4.0:test/tests/utilities.js }); }); diff --git a/update.rdf b/update.rdf @@ -12,7 +12,7 @@ <RDF:Description> <id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id> <minVersion>31.0</minVersion> - <maxVersion>39.*</maxVersion> + <maxVersion>41.*</maxVersion> <updateLink>http://download.zotero.org/extension/zotero.xpi</updateLink> <updateHash>sha1:</updateHash> </RDF:Description>