www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 3ac5a6db09e06798b28ce44e6e3cc2d6480cd8d9
parent 6ec69b0b911569016dad25153565d61ca8894821
Author: Dan Stillman <dstillman@zotero.org>
Date:   Thu, 22 Dec 2011 12:21:32 -0500

Merge branch '3.0'

Diffstat:
Mchrome/content/zotero/integration/quickFormat.js | 190++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
Mchrome/content/zotero/xpcom/cite.js | 29+++++++++++++++++++++++++++++
Mchrome/content/zotero/xpcom/citeproc.js | 1241+++++++++++++++++++++++++++++++++++++++++++++++--------------------------------
Mchrome/content/zotero/xpcom/data/item.js | 14+++++++++++++-
Mchrome/content/zotero/xpcom/integration.js | 403++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------
Mchrome/content/zotero/xpcom/utilities.js | 111++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
Mchrome/content/zotero/xpcom/utilities_translate.js | 25+++++++++++++++++++------
Mchrome/locale/af-ZA/zotero/about.dtd | 2++
Mchrome/locale/af-ZA/zotero/preferences.dtd | 1+
Mchrome/locale/af-ZA/zotero/zotero.dtd | 1+
Mchrome/locale/af-ZA/zotero/zotero.properties | 8++++++++
Mchrome/locale/ar/zotero/about.dtd | 2++
Mchrome/locale/ar/zotero/preferences.dtd | 1+
Mchrome/locale/ar/zotero/zotero.dtd | 1+
Mchrome/locale/ar/zotero/zotero.properties | 8++++++++
Mchrome/locale/bg-BG/zotero/about.dtd | 2++
Mchrome/locale/bg-BG/zotero/preferences.dtd | 1+
Mchrome/locale/bg-BG/zotero/zotero.dtd | 1+
Mchrome/locale/bg-BG/zotero/zotero.properties | 8++++++++
Mchrome/locale/ca-AD/zotero/about.dtd | 2++
Mchrome/locale/ca-AD/zotero/preferences.dtd | 1+
Mchrome/locale/ca-AD/zotero/zotero.dtd | 1+
Mchrome/locale/ca-AD/zotero/zotero.properties | 8++++++++
Mchrome/locale/cs-CZ/zotero/about.dtd | 2++
Mchrome/locale/cs-CZ/zotero/preferences.dtd | 1+
Mchrome/locale/cs-CZ/zotero/zotero.dtd | 1+
Mchrome/locale/cs-CZ/zotero/zotero.properties | 8++++++++
Mchrome/locale/da-DK/zotero/about.dtd | 2++
Mchrome/locale/da-DK/zotero/preferences.dtd | 1+
Mchrome/locale/da-DK/zotero/zotero.dtd | 1+
Mchrome/locale/da-DK/zotero/zotero.properties | 8++++++++
Mchrome/locale/de/zotero/about.dtd | 2++
Mchrome/locale/de/zotero/preferences.dtd | 1+
Mchrome/locale/de/zotero/zotero.dtd | 1+
Mchrome/locale/de/zotero/zotero.properties | 8++++++++
Mchrome/locale/el-GR/zotero/about.dtd | 2++
Mchrome/locale/el-GR/zotero/preferences.dtd | 1+
Mchrome/locale/el-GR/zotero/zotero.dtd | 1+
Mchrome/locale/el-GR/zotero/zotero.properties | 8++++++++
Mchrome/locale/en-US/zotero/zotero.properties | 3+++
Mchrome/locale/es-ES/zotero/about.dtd | 2++
Mchrome/locale/es-ES/zotero/preferences.dtd | 1+
Mchrome/locale/es-ES/zotero/zotero.dtd | 1+
Mchrome/locale/es-ES/zotero/zotero.properties | 8++++++++
Mchrome/locale/et-EE/zotero/about.dtd | 2++
Mchrome/locale/et-EE/zotero/preferences.dtd | 1+
Mchrome/locale/et-EE/zotero/zotero.dtd | 1+
Mchrome/locale/et-EE/zotero/zotero.properties | 8++++++++
Mchrome/locale/eu-ES/zotero/about.dtd | 2++
Mchrome/locale/eu-ES/zotero/preferences.dtd | 1+
Mchrome/locale/eu-ES/zotero/zotero.dtd | 1+
Mchrome/locale/eu-ES/zotero/zotero.properties | 8++++++++
Mchrome/locale/fa/zotero/about.dtd | 2++
Mchrome/locale/fa/zotero/preferences.dtd | 1+
Mchrome/locale/fa/zotero/zotero.dtd | 1+
Mchrome/locale/fa/zotero/zotero.properties | 8++++++++
Mchrome/locale/fi-FI/zotero/about.dtd | 2++
Mchrome/locale/fi-FI/zotero/preferences.dtd | 1+
Mchrome/locale/fi-FI/zotero/zotero.dtd | 1+
Mchrome/locale/fi-FI/zotero/zotero.properties | 8++++++++
Mchrome/locale/fr-FR/zotero/about.dtd | 2++
Mchrome/locale/fr-FR/zotero/preferences.dtd | 1+
Mchrome/locale/fr-FR/zotero/zotero.dtd | 1+
Mchrome/locale/fr-FR/zotero/zotero.properties | 8++++++++
Mchrome/locale/gl-ES/zotero/about.dtd | 2++
Mchrome/locale/gl-ES/zotero/preferences.dtd | 1+
Mchrome/locale/gl-ES/zotero/zotero.dtd | 1+
Mchrome/locale/gl-ES/zotero/zotero.properties | 8++++++++
Mchrome/locale/he-IL/zotero/about.dtd | 2++
Mchrome/locale/he-IL/zotero/preferences.dtd | 1+
Mchrome/locale/he-IL/zotero/zotero.dtd | 1+
Mchrome/locale/he-IL/zotero/zotero.properties | 8++++++++
Mchrome/locale/hr-HR/zotero/about.dtd | 2++
Mchrome/locale/hr-HR/zotero/preferences.dtd | 1+
Mchrome/locale/hr-HR/zotero/zotero.dtd | 1+
Mchrome/locale/hr-HR/zotero/zotero.properties | 8++++++++
Mchrome/locale/hu-HU/zotero/about.dtd | 2++
Mchrome/locale/hu-HU/zotero/preferences.dtd | 1+
Mchrome/locale/hu-HU/zotero/zotero.dtd | 1+
Mchrome/locale/hu-HU/zotero/zotero.properties | 8++++++++
Mchrome/locale/is-IS/zotero/about.dtd | 2++
Mchrome/locale/is-IS/zotero/preferences.dtd | 1+
Mchrome/locale/is-IS/zotero/zotero.dtd | 1+
Mchrome/locale/is-IS/zotero/zotero.properties | 8++++++++
Mchrome/locale/it-IT/zotero/about.dtd | 2++
Mchrome/locale/it-IT/zotero/preferences.dtd | 1+
Mchrome/locale/it-IT/zotero/zotero.dtd | 1+
Mchrome/locale/it-IT/zotero/zotero.properties | 8++++++++
Mchrome/locale/ja-JP/zotero/about.dtd | 2++
Mchrome/locale/ja-JP/zotero/preferences.dtd | 1+
Mchrome/locale/ja-JP/zotero/zotero.dtd | 1+
Mchrome/locale/ja-JP/zotero/zotero.properties | 8++++++++
Mchrome/locale/ko-KR/zotero/about.dtd | 2++
Mchrome/locale/ko-KR/zotero/preferences.dtd | 1+
Mchrome/locale/ko-KR/zotero/zotero.dtd | 1+
Mchrome/locale/ko-KR/zotero/zotero.properties | 8++++++++
Mchrome/locale/mn-MN/zotero/about.dtd | 2++
Mchrome/locale/mn-MN/zotero/preferences.dtd | 1+
Mchrome/locale/mn-MN/zotero/zotero.dtd | 1+
Mchrome/locale/mn-MN/zotero/zotero.properties | 8++++++++
Mchrome/locale/nb-NO/zotero/about.dtd | 2++
Mchrome/locale/nb-NO/zotero/preferences.dtd | 1+
Mchrome/locale/nb-NO/zotero/zotero.dtd | 1+
Mchrome/locale/nb-NO/zotero/zotero.properties | 8++++++++
Mchrome/locale/nl-NL/zotero/about.dtd | 2++
Mchrome/locale/nl-NL/zotero/preferences.dtd | 1+
Mchrome/locale/nl-NL/zotero/zotero.dtd | 1+
Mchrome/locale/nl-NL/zotero/zotero.properties | 8++++++++
Mchrome/locale/nn-NO/zotero/about.dtd | 2++
Mchrome/locale/nn-NO/zotero/preferences.dtd | 1+
Mchrome/locale/nn-NO/zotero/zotero.dtd | 1+
Mchrome/locale/nn-NO/zotero/zotero.properties | 8++++++++
Mchrome/locale/pl-PL/zotero/about.dtd | 2++
Mchrome/locale/pl-PL/zotero/preferences.dtd | 1+
Mchrome/locale/pl-PL/zotero/zotero.dtd | 1+
Mchrome/locale/pl-PL/zotero/zotero.properties | 8++++++++
Mchrome/locale/pt-BR/zotero/about.dtd | 2++
Mchrome/locale/pt-BR/zotero/preferences.dtd | 1+
Mchrome/locale/pt-BR/zotero/zotero.dtd | 1+
Mchrome/locale/pt-BR/zotero/zotero.properties | 8++++++++
Mchrome/locale/pt-PT/zotero/about.dtd | 2++
Mchrome/locale/pt-PT/zotero/preferences.dtd | 1+
Mchrome/locale/pt-PT/zotero/zotero.dtd | 1+
Mchrome/locale/pt-PT/zotero/zotero.properties | 8++++++++
Mchrome/locale/ro-RO/zotero/about.dtd | 2++
Mchrome/locale/ro-RO/zotero/preferences.dtd | 1+
Mchrome/locale/ro-RO/zotero/zotero.dtd | 1+
Mchrome/locale/ro-RO/zotero/zotero.properties | 8++++++++
Mchrome/locale/ru-RU/zotero/about.dtd | 2++
Mchrome/locale/ru-RU/zotero/preferences.dtd | 1+
Mchrome/locale/ru-RU/zotero/zotero.dtd | 1+
Mchrome/locale/ru-RU/zotero/zotero.properties | 8++++++++
Mchrome/locale/sk-SK/zotero/about.dtd | 2++
Mchrome/locale/sk-SK/zotero/preferences.dtd | 1+
Mchrome/locale/sk-SK/zotero/zotero.dtd | 1+
Mchrome/locale/sk-SK/zotero/zotero.properties | 8++++++++
Mchrome/locale/sl-SI/zotero/about.dtd | 2++
Mchrome/locale/sl-SI/zotero/preferences.dtd | 1+
Mchrome/locale/sl-SI/zotero/zotero.dtd | 1+
Mchrome/locale/sl-SI/zotero/zotero.properties | 8++++++++
Mchrome/locale/sr-RS/zotero/about.dtd | 2++
Mchrome/locale/sr-RS/zotero/preferences.dtd | 1+
Mchrome/locale/sr-RS/zotero/zotero.dtd | 1+
Mchrome/locale/sr-RS/zotero/zotero.properties | 8++++++++
Mchrome/locale/sv-SE/zotero/about.dtd | 2++
Mchrome/locale/sv-SE/zotero/preferences.dtd | 1+
Mchrome/locale/sv-SE/zotero/zotero.dtd | 1+
Mchrome/locale/sv-SE/zotero/zotero.properties | 8++++++++
Mchrome/locale/th-TH/zotero/about.dtd | 2++
Mchrome/locale/th-TH/zotero/preferences.dtd | 1+
Mchrome/locale/th-TH/zotero/zotero.dtd | 1+
Mchrome/locale/th-TH/zotero/zotero.properties | 8++++++++
Mchrome/locale/tr-TR/zotero/about.dtd | 2++
Mchrome/locale/tr-TR/zotero/preferences.dtd | 1+
Mchrome/locale/tr-TR/zotero/zotero.dtd | 1+
Mchrome/locale/tr-TR/zotero/zotero.properties | 8++++++++
Mchrome/locale/vi-VN/zotero/about.dtd | 2++
Mchrome/locale/vi-VN/zotero/preferences.dtd | 1+
Mchrome/locale/vi-VN/zotero/zotero.dtd | 1+
Mchrome/locale/vi-VN/zotero/zotero.properties | 8++++++++
Mchrome/locale/zh-CN/zotero/about.dtd | 2++
Mchrome/locale/zh-CN/zotero/preferences.dtd | 1+
Mchrome/locale/zh-CN/zotero/zotero.dtd | 1+
Mchrome/locale/zh-CN/zotero/zotero.properties | 8++++++++
Mchrome/locale/zh-TW/zotero/about.dtd | 2++
Mchrome/locale/zh-TW/zotero/preferences.dtd | 1+
Mchrome/locale/zh-TW/zotero/zotero.dtd | 1+
Mchrome/locale/zh-TW/zotero/zotero.properties | 8++++++++
Minstall.rdf | 2+-
Mupdate.rdf | 2+-
170 files changed, 1782 insertions(+), 718 deletions(-)

diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js @@ -242,36 +242,136 @@ var Zotero_QuickFormat = new function () { } } - var ids = (haveConditions ? s.search() : []); - - // no need to refresh anything if box hasnt changed - if(ids.length === curIDs.length) { - var mismatch = false; - for(var i=0; i<ids.length; i++) { - if(curIDs[i] !== ids[i]) { - mismatch = true; - break; + if(haveConditions) { + var searchResultIDs = (haveConditions ? s.search() : []); + + // No need to refresh anything if box hasn't changed + if(searchResultIDs.length === curIDs.length) { + var mismatch = false; + for(var i=0; i<searchResultIDs.length; i++) { + if(curIDs[i] !== searchResultIDs[i]) { + mismatch = true; + break; + } + } + if(!mismatch) { + _resize(); + return; + } + } + curIDs = searchResultIDs; + + // Check to see which search results match items already in the document + var citedItems, completed = false, isAsync = false; + io.getItems(function(citedItems) { + // Don't do anything if panel is already closed + if(isAsync && referencePanel.state !== "open" && referencePanel.state !== "showing") return; + + completed = true; + + if(str.toLowerCase() === Zotero.getString("integration.ibid").toLowerCase()) { + // If "ibid" is entered, show all cited items + citedItemsMatchingSearch = citedItems; + } else { + Zotero.debug("Searching cited items"); + // Search against items. We do this here because it's possible that some of these + // items are only in the doc, and not in the DB. + var splits = Zotero.Fulltext.semanticSplitter(str), + citedItemsMatchingSearch = []; + 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 = itemStr.concat([item.getField("title"), item.getField("date", true, true).substr(0, 4)]).join(" "); + + // See if words match + for(var j=0, jCount=splits.length; j<jCount; j++) { + var split = splits[j]; + if(itemStr.toLowerCase().indexOf(split) === -1) break; + } + + // If matched, add to citedItemsMatchingSearch + if(j === jCount) citedItemsMatchingSearch.push(item); + } + Zotero.debug("Searched cited items"); } + + _updateItemList(citedItemsMatchingSearch, searchResultIDs, isAsync); + }); + + if(!completed) { + // We are going to have to wait until items have been retrieved from the document. + // Until then, show item list without cited items. + _updateItemList(false, searchResultIDs); + isAsync = true; } - if(!mismatch) return; + } else { + // No search conditions, so just clear the box + _updateItemList([], []); + } + } + + /** + * Sorts items + */ + function _itemSort(a, b) { + // Sort by library ID + var libA = a.libraryID, libB = b.libraryID; + if(libA !== libB) { + return libA - libB; + } + + // Sort by last name of first author + var creatorsA = a.getCreators(), creatorsB = b.getCreators(), + caExists = creatorsA.length ? 1 : 0, cbExists = creatorsB.length ? 1 : 0; + if(caExists !== cbExists) { + return cbExists-caExists; + } else if(caExists) { + return creatorsA[0].ref.lastName.localeCompare(creatorsB[0].ref.lastName); + } + + // Sort by date + var yearA = a.getField("date", true, true).substr(0, 4), + yearB = b.getField("date", true, true).substr(0, 4); + return yearA - yearB; + } + + /** + * Updates the item list + */ + function _updateItemList(citedItems, searchResultIDs, preserveSelection) { + var selectedIndex = 1, previousItemID; + + // Do this so we can preserve the selected item after cited items have been loaded + if(preserveSelection && referenceBox.selectedIndex !== 2) { + previousItemID = parseInt(referenceBox.selectedItem.getAttribute("zotero-item"), 10); } - curIDs = ids; while(referenceBox.hasChildNodes()) referenceBox.removeChild(referenceBox.firstChild); - var firstSelectableIndex = 0; + if(!citedItems) { + // We don't know whether or not we have cited items, because we are waiting for document + // data + referenceBox.appendChild(_buildListSeparator(Zotero.getString("integration.cited.loading"))); + selectedIndex = 2; + } else if(citedItems.length) { + // We have cited items + referenceBox.appendChild(_buildListSeparator(Zotero.getString("integration.cited"))); + for(var i=0, n=citedItems.length; i<n; i++) { + referenceBox.appendChild(_buildListItem(citedItems[i])); + } + } - if(ids.length) { - if(ids.length > 50) ids = ids.slice(0, 50); - var items = Zotero.Items.get(ids); - - firstSelectableIndex = 1; + if(searchResultIDs.length && (!citedItems || citedItems.length < 50)) { + // Don't handle more than 50 results + if(searchResultIDs.length > 50-citedItems.length) { + searchResultIDs = searchResultIDs.slice(0, 50-citedItems.length); + } - //TODO: sort the currently used items in before any other items - items.sort(function(a, b) {return a.libraryID > b.libraryID}) + var items = Zotero.Items.get(searchResultIDs); + items.sort(_itemSort); var previousLibrary = -1; - for(var i=0, n=items.length; i<n; i++) { var item = items[i], libraryID = item.libraryID; @@ -281,19 +381,21 @@ var Zotero_QuickFormat = new function () { referenceBox.appendChild(_buildListSeparator(libraryName)); } - referenceBox.appendChild(_buildListItem(item),false); - + referenceBox.appendChild(_buildListItem(item)); previousLibrary = libraryID; - + + if(preserveSelection && (item.cslItemID ? item.cslItemID : item.id) === previousItemID) { + selectedIndex = referenceBox.childNodes.length-1; + } } } _resize(); - - referenceBox.selectedIndex = firstSelectableIndex; - referenceBox.ensureIndexIsVisible(firstSelectableIndex); + if((citedItems && citedItems.length) || searchResultIDs.length) { + referenceBox.selectedIndex = selectedIndex; + referenceBox.ensureIndexIsVisible(selectedIndex); + } } - /** * Builds a string describing an item. We avoid CSL here for speed. @@ -383,7 +485,7 @@ var Zotero_QuickFormat = new function () { rll.setAttribute("orient", "vertical"); rll.setAttribute("flex", "1"); rll.setAttribute("class", "quick-format-item"); - rll.setAttribute("zotero-item", item.id); + rll.setAttribute("zotero-item", item.cslItemID ? item.cslItemID : item.id); rll.appendChild(titleNode); rll.appendChild(infoNode); rll.addEventListener("click", _bubbleizeSelected, false); @@ -391,7 +493,10 @@ var Zotero_QuickFormat = new function () { return rll; } - function _buildListSeparator(labelText) { + /** + * Creates a list separator to be added to the item list + */ + function _buildListSeparator(labelText, loading) { var titleNode = document.createElement("label"); titleNode.setAttribute("class", "quick-format-separator-title"); titleNode.setAttribute("flex", "1"); @@ -403,7 +508,7 @@ var Zotero_QuickFormat = new function () { rll.setAttribute("orient", "vertical"); rll.setAttribute("flex", "1"); rll.setAttribute("disabled", true); - rll.setAttribute("class", "quick-format-separator"); + rll.setAttribute("class", loading ? "quick-format-loading" : "quick-format-separator"); rll.appendChild(titleNode); rll.addEventListener("mousedown", _ignoreClick, true); rll.addEventListener("click", _ignoreClick, true); @@ -415,7 +520,7 @@ var Zotero_QuickFormat = new function () { * Builds the string to go inside a bubble */ function _buildBubbleString(citationItem) { - var item = Zotero.Items.get(citationItem.id); + var item = Zotero.Cite.getItem(citationItem.id); // create text for bubble var title, delimiter; var str = item.getField("firstCreator"); @@ -477,6 +582,11 @@ var Zotero_QuickFormat = new function () { if(!referenceBox.hasChildNodes() || !referenceBox.selectedItem) return false; var citationItem = {"id":referenceBox.selectedItem.getAttribute("zotero-item")}; + if(typeof citationItem.id === "string" && citationItem.id.indexOf("/") !== -1) { + var item = Zotero.Cite.getItem(citationItem.id); + citationItem.uris = item.cslURIs; + citationItem.itemData = item.cslItemData; + } if(curLocator) { citationItem["locator"] = curLocator; if(curLocatorLabel) { @@ -510,12 +620,16 @@ var Zotero_QuickFormat = new function () { var childNodes = referenceBox.childNodes, numReferences = 0, numSeparators = 0, + firstReference, + firstSeparator, height; - for(var i=0, n=childNodes.length; i<n; i++) { + for(var i=0, n=childNodes.length; i<n && numReferences < SHOWN_REFERENCES; i++) { if(childNodes[i].className === "quick-format-item") { numReferences++; + firstReference = childNodes[i]; } else if(childNodes[i].className === "quick-format-separator") { numSeparators++; + firstSeparator = childNodes[i]; } } @@ -540,8 +654,7 @@ var Zotero_QuickFormat = new function () { if(numReferences) { var height = referenceHeight ? - Math.min(numReferences*referenceHeight+1+numSeparators*separatorHeight, - SHOWN_REFERENCES*referenceHeight+1+separatorHeight) : 39; + Math.min(numReferences*referenceHeight+1+numSeparators*separatorHeight) : 39; if(panelShowing && height !== referencePanel.clientHeight) { referencePanel.sizeTo((window.outerWidth-30), height); @@ -554,10 +667,9 @@ var Zotero_QuickFormat = new function () { false, false, null); if(!referenceHeight) { - separatorHeight = referenceBox.firstChild.scrollHeight; - referenceHeight = referenceBox.childNodes[1].scrollHeight; - height = Math.min(numReferences*referenceHeight+1+numSeparators*separatorHeight, - SHOWN_REFERENCES*referenceHeight+1+separatorHeight); + separatorHeight = firstSeparator.scrollHeight; + referenceHeight = firstReference.scrollHeight; + height = Math.min(numReferences*referenceHeight+1+numSeparators*separatorHeight); referencePanel.sizeTo((window.outerWidth-30), height); } } @@ -679,7 +791,7 @@ var Zotero_QuickFormat = new function () { locator.value = target.citationItem["locator"] ? target.citationItem["locator"] : ""; suppressAuthor.checked = !!target.citationItem["suppress-author"]; - var item = Zotero.Items.get(target.citationItem.id); + var item = Zotero.Cite.getItem(target.citationItem.id); document.getElementById("citation-properties-title").textContent = item.getDisplayTitle(); while(info.hasChildNodes()) info.removeChild(info.firstChild); _buildItemDescription(item, info); diff --git a/chrome/content/zotero/xpcom/cite.js b/chrome/content/zotero/xpcom/cite.js @@ -390,6 +390,35 @@ Zotero.Cite.makeFormattedBibliography = function(cslEngine, format) { } } +/** + * Get an item by ID, either by retrieving it from the library or looking for the document it + * belongs to. + * @param {String|Number|Array} id + */ +Zotero.Cite.getItem = function(id) { + var slashIndex; + + if(id instanceof Array) { + return [Zotero.Cite.getItem(anId) for each(anId in id)]; + } else if(typeof id === "string" && (slashIndex = id.indexOf("/")) !== -1) { + var sessionID = id.substr(0, slashIndex), + session = Zotero.Integration.sessions[sessionID], + item; + if(session) { + item = session.embeddedZoteroItems[id.substr(slashIndex+1)]; + } + + if(!item) { + item = new Zotero.Item("document"); + item.setField("title", "Missing Item"); + Zotero.log("CSL item "+id+" not found"); + } + return item; + } else { + return Zotero.Items.get(id); + } +} + Zotero.Cite.labels = ["page", "book", "chapter", "column", "figure", "folio", "issue", "line", "note", "opus", "paragraph", "part", "section", "sub verbo", "volume", "verse"]; \ No newline at end of file diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js @@ -1,5 +1,6 @@ /* - * Copyright (c) 2009-2011 Frank G. Bennett, Jr. All Rights Reserved. + * Copyright (c) 2009, 2010 and 2011 Frank G. Bennett, Jr. All Rights + * Reserved. * * The contents of this file are subject to the Common Public * Attribution License Version 1.0 (the “License”); you may not use @@ -30,7 +31,7 @@ * * The Initial Developer of the Original Code is Frank G. Bennett, * Jr. All portions of the code written by Frank G. Bennett, Jr. are - * Copyright (c) 2009 and 2010 Frank G. Bennett, Jr. All Rights Reserved. + * Copyright (c) 2009, 2010 and 2011 Frank G. Bennett, Jr. All Rights Reserved. * * Alternatively, the contents of this file may be used under the * terms of the GNU Affero General Public License (the [AGPLv3] @@ -56,6 +57,16 @@ if (!Array.indexOf) { }; } var CSL = { + LangPrefsMap: { + "title":"titles", + "title-short":"titles", + "container-title":"titles", + "collection-title":"titles", + "publisher":"publishers", + "authority":"publishers", + "publisher-place": "places", + "event-place": "places" + }, AbbreviationSegments: function () { this["container-title"] = {}; this["collection-title"] = {}; @@ -94,12 +105,13 @@ var CSL = { FINISH: 1, POSITION_FIRST: 0, POSITION_SUBSEQUENT: 1, - POSITION_IBID: 2, - POSITION_IBID_WITH_LOCATOR: 3, + POSITION_SUBSEQUENT_PARALLEL: 2, + POSITION_IBID: 3, + POSITION_IBID_WITH_LOCATOR: 4, MARK_TRAILING_NAMES: true, POSITION_TEST_VARS: ["position", "first-reference-note-number", "near-note"], AREAS: ["citation", "citation_sort", "bibliography", "bibliography_sort"], - MULTI_FIELDS: ["publisher", "publisher-place", "event-place", "title", "container-title", "collection-title", "institution", "authority","edition","genre","title-short"], + MULTI_FIELDS: ["publisher", "publisher-place", "event-place", "title", "container-title", "collection-title", "authority","edition","genre","title-short"], CITE_FIELDS: ["first-reference-note-number", "locator", "locator-revision"], MINIMAL_NAME_FIELDS: ["literal", "family"], SWAPPING_PUNCTUATION: [".", "!", "?", ":",","], @@ -1504,6 +1516,9 @@ CSL.expandMacro = function (macro_key_token) { navi = new this.getNavi(this, macro_nodes); CSL.buildStyle.call(this, navi); end_of_macro = new CSL.Token("group", CSL.END); + if (macro_key_token.decorations) { + end_of_macro.decorations = macro_key_token.decorations.slice(); + } if (hasDate) { func = function (state, Item) { if (state.tmp.extension) { @@ -1927,13 +1942,16 @@ CSL.DateParser = function () { }; CSL.Engine = function (sys, style, lang, forceLang) { var attrs, langspec, localexml, locale; - this.processor_version = "1.0.236"; + this.processor_version = "1.0.250"; this.csl_version = "1.0"; this.sys = sys; this.sys.xml = new CSL.System.Xml.Parsing(); if ("string" !== typeof style) { style = ""; } + if (CSL.getAbbreviation) { + this.sys.getAbbreviation = CSL.getAbbreviation; + } this.parallel = new CSL.Parallel(this); this.transform = new CSL.Transform(this); this.setParseNames = function (val) { @@ -2404,38 +2422,40 @@ CSL.Engine.prototype.setLangTagsForCslSort = function (tags) { }; CSL.Engine.prototype.setLangTagsForCslTransliteration = function (tags) { var i, ilen; - this.opt['locale-pri'] = []; + this.opt['locale-translit'] = []; for (i = 0, ilen = tags.length; i < ilen; i += 1) { - this.opt['locale-pri'].push(tags[i]); + this.opt['locale-translit'].push(tags[i]); } }; CSL.Engine.prototype.setLangTagsForCslTranslation = function (tags) { var i, ilen; - this.opt['locale-sec'] = []; + this.opt['locale-translat'] = []; for (i = 0, ilen = tags.length; i < ilen; i += 1) { - this.opt['locale-sec'].push(tags[i]); - } -}; -CSL.Engine.prototype.setOriginalCreatorNameFormsOption = function (arg) { - if (arg) { - this.opt["locale-show-original-names"] = true; - } else { - this.opt["locale-show-original-names"] = false; + this.opt['locale-translat'].push(tags[i]); } }; -CSL.Engine.prototype.setOriginalCreatorNameFormatOption = function (arg) { - if (arg) { - this.opt["locale-use-original-name-format"] = true; - } else { - this.opt["locale-use-original-name-format"] = false; - } -}; -CSL.Engine.prototype.setSuppressTitleTransliterationOption = function (arg) { - if (arg) { - this.opt["locale-suppress-title-transliteration"] = true; - } else { - this.opt["locale-suppress-title-transliteration"] = false; - } +CSL.Engine.prototype.setLangPrefsForCites = function (params) { + var opt = this.opt['cite-lang-prefs']; + for (var segment in params) { + var supplements = []; + while (params[segment].length > 1) { + supplements.push(params[segment].pop()); + } + var sortval = {orig:1,translit:2,translat:3}; + if (supplements.length === 2 && sortval[supplements[0]] < sortval[supplements[1]]) { + supplements.reverse(); + } + while (supplements.length) { + params[segment].push(supplements.pop()); + } + var lst = opt[segment]; + while (lst.length) { + lst.pop(); + } + for (var i = 0, ilen = params[segment].length; i < ilen; i += 1) { + lst.push(params[segment][i]); + } + } }; CSL.Engine.prototype.setAutoVietnameseNamesOption = function (arg) { if (arg) { @@ -2454,10 +2474,9 @@ CSL.Engine.Opt = function () { this.mode = "html"; this.dates = {}; this["locale-sort"] = []; - this["locale-pri"] = []; - this["locale-sec"] = []; + this["locale-translit"] = []; + this["locale-translat"] = []; this["default-locale"] = []; - this["locale-use-original-name-format"] = false; this["noun-genders"] = {}; this.update_mode = CSL.NONE; this.bib_mode = CSL.NONE; @@ -2479,6 +2498,13 @@ CSL.Engine.Opt = function () { this.development_extensions.raw_date_parsing = true; this.development_extensions.clean_up_csl_flaws = true; this.gender = {}; + this['cite-lang-prefs'] = { + persons:['orig'], + institutions:['orig'], + titles:['orig','translat'], + publishers:['orig'], + places:['orig'] + } }; CSL.Engine.Tmp = function () { this.names_max = new CSL.Stack(); @@ -2734,7 +2760,8 @@ CSL.Engine.prototype.getCitationLabel = function (Item) { if (j === config.authors.length) { break; } - var name = this.transform.name(this, names[j], this.opt["locale-pri"]); + var res = this.nameOutput.getName(names[j], "locale-translit", true); + var name = res.name; if (name && name.family) { myname = name.family; myname = myname.replace(/^([ \'\u2019a-z]+\s+)/, ""); @@ -3287,7 +3314,11 @@ CSL.Engine.prototype.processCitationCluster = function (citation, citationsPre, } } if (suprame) { - item[1].position = CSL.POSITION_SUBSEQUENT; + if (this.registry.registry[item[1].id].parallel) { + item[1].position = CSL.POSITION_SUBSEQUENT_PARALLEL; + } else { + item[1].position = CSL.POSITION_SUBSEQUENT; + } if (first_ref[item[1].id] != onecitation.properties.noteIndex) { item[1]["first-reference-note-number"] = first_ref[item[1].id]; } @@ -4331,11 +4362,11 @@ CSL.Node.group = { state.build.substitute_level.replace((state.build.substitute_level.value() + 1)); } func = function (state, Item) { - state.tmp.group_context.push([false, false, false, false], CSL.LITERAL); - }; - this.execs.push(func); - func = function (state, Item) { state.output.startTag("group", this); + if (state.tmp.group_context.mystack.length) { + state.output.current.value().parent = state.tmp.group_context.value()[4]; + } + state.tmp.group_context.push([false, false, false, false, state.output.current.value()], CSL.LITERAL); if (this.strings.oops) { state.tmp.group_context.value()[3] = this.strings.oops; } @@ -4455,40 +4486,55 @@ CSL.Node.info = { CSL.Node.institution = { build: function (state, target) { if ([CSL.SINGLETON, CSL.START].indexOf(this.tokentype) > -1) { - if ("string" === typeof state.build.name_delimiter) { + if ("string" === typeof state.build.name_delimiter && !this.strings.delimiter) { this.strings.delimiter = state.build.name_delimiter; } - var func = function (state, Item) { - var myand, and_default_prefix, and_suffix; - if ("text" === this.strings.and) { - myand = state.getTerm("and", "long", 0); - } else if ("symbol" === this.strings.and) { - myand = "&"; - } - if (state.nameOutput.name.and_term) { - myand = state.getTerm("and", "long", 0); - } - if (CSL.STARTSWITH_ROMANESQUE_REGEXP.test(myand)) { - and_default_prefix = " "; - and_suffix = " "; - } else { - and_default_prefix = ""; - and_suffix = ""; + var myand, and_default_prefix, and_suffix; + if ("text" === this.strings.and) { + this.and_term = state.getTerm("and", "long", 0); + } else if ("symbol" === this.strings.and) { + this.and_term = "&"; + } + if ("undefined" === typeof this.and_term && state.build.and_term) { + this.and_term = state.getTerm("and", "long", 0); + } + if (CSL.STARTSWITH_ROMANESQUE_REGEXP.test(this.and_term)) { + this.and_prefix_single = " "; + this.and_prefix_multiple = ", "; + if ("string" === typeof this.strings.delimiter) { + this.and_prefix_multiple = this.strings.delimiter; } + this.and_suffix = " "; + } else { + this.and_prefix_single = ""; + this.and_prefix_multiple = ""; + this.and_suffix = ""; + } + if (this.strings["delimiter-precedes-last"] === "always") { + this.and_prefix_single = this.strings.delimiter; + } else if (this.strings["delimiter-precedes-last"] === "never") { + if (this.and_prefix_multiple) { + this.and_prefix_multiple = " "; + } + } + func = function (state, Item) { this.and = {}; - this.and.single = new CSL.Blob(myand); - this.and.single.strings.suffix = and_suffix; - this.and.multiple = new CSL.Blob(myand); - this.and.multiple.strings.suffix = and_suffix; - if (this.strings["delimiter-precedes-last"] === "always") { - this.and.single.strings.prefix = this.strings.delimiter; - this.and.multiple.strings.prefix = this.strings.delimiter; - } else if (this.strings["delimiter-precedes-last"] === "contextual") { - this.and.single.strings.prefix = and_default_prefix; - this.and.multiple.strings.prefix = this.strings.delimiter; - } else { - this.and.single.strings.prefix = and_default_prefix; - this.and.multiple.strings.prefix = and_default_prefix; + if ("undefined" !== typeof this.and_term) { + state.output.append(this.and_term, "empty", true); + this.and.single = state.output.pop(); + this.and.single.strings.prefix = this.and_prefix_single; + this.and.single.strings.suffix = this.and_suffix; + state.output.append(this.and_term, "empty", true); + this.and.multiple = state.output.pop(); + this.and.multiple.strings.prefix = this.and_prefix_multiple; + this.and.multiple.strings.suffix = this.and_suffix; + } else if ("undefined" !== this.strings.delimiter) { + this.and.single = new CSL.Blob(this.strings.delimiter); + this.and.single.strings.prefix = ""; + this.and.single.strings.suffix = ""; + this.and.multiple = new CSL.Blob(this.strings.delimiter); + this.and.multiple.strings.prefix = ""; + this.and.multiple.strings.suffix = ""; } state.nameOutput.institution = this; }; @@ -4620,7 +4666,6 @@ CSL.Node.key = { single_text.variables = this.variables; } else if ("title" === variable) { state.transform.init("empty", "title"); - state.transform.setTransformLocale("locale-sort"); state.transform.setTransformFallback(true); func = state.transform.getOutputFunction(this.variables); } else { @@ -4843,9 +4888,6 @@ CSL.NameOutput.prototype.init = function (names) { this.nameset_offset = 0; this.names = names; this.variables = names.variables; - if (this.nameset_base === 0 && !this._first_creator_variable) { - this._first_creator_variable = this.variables[0]; - } this.state.tmp.value = []; for (var i = 0, ilen = this.variables.length; i < ilen; i += 1) { if (this.Item[this.variables[i]] && this.Item[this.variables[i]].length) { @@ -4882,6 +4924,14 @@ CSL.NameOutput.prototype.reinit = function (names) { CSL.NameOutput.prototype.outputNames = function () { var i, ilen; var variables = this.variables; + if (this.institution.and) { + if (!this.institution.and.single.blobs && !this.institution.and.single.blobs.length) { + this.institution.and.single.blobs = this.name.and.single.blobs; + } + if (!this.institution.and.single.blobs && !this.institution.and.multiple.blobs.length) { + this.institution.and.multiple.blobs = this.name.and.multiple.blobs; + } + } this.variable_offset = {}; if (this.family) { this.family_decor = CSL.Util.cloneToken(this.family); @@ -4980,7 +5030,8 @@ CSL.NameOutput.prototype.outputNames = function () { this.state.tmp.done_vars.push("title"); this.state.output.append(this.state.transform.abbrevs["default"].classic[author_title], "empty", true); blob = this.state.output.pop(); - this.state.tmp.name_node.top.blobs = [blob]; + this.state.tmp.name_node.top.blobs.pop(); + this.state.tmp.name_node.top.blobs.push(blob); } } } @@ -5059,6 +5110,9 @@ CSL.NameOutput.prototype._buildLabel = function (term, plural, position) { }; CSL.NameOutput.prototype._collapseAuthor = function () { var myqueue, mystr, oldchars; + if (this.nameset_base === 0 && this.Item[this.variables[0]] && !this._first_creator_variable) { + this._first_creator_variable = this.variables[0]; + } if ((this.item && this.item["suppress-author"] && this._first_creator_variable == this.variables[0]) || (this.state[this.state.tmp.area].opt.collapse && this.state[this.state.tmp.area].opt.collapse.length)) { @@ -5182,15 +5236,6 @@ CSL.NameOutput.prototype.truncatePersonalNameLists = function () { } } } - for (v in this.freeters) { - this._transformNameset(this.freeters[v]); - } - for (v in this.persons) { - for (i = 0, ilen = this.persons[v].length; i < ilen; i += 1) { - this._transformNameset(this.persons[v][i]); - } - this._transformNameset(this.institutions[v]); - } for (i = 0, ilen = this.variables.length; i < ilen; i += 1) { if (this.institutions[v].length) { this.nameset_offset += 1; @@ -5199,23 +5244,6 @@ CSL.NameOutput.prototype.truncatePersonalNameLists = function () { if (this.persons[v][i].length) { this.nameset_offset += 1; } - this.institutions[v][i] = this._splitInstitution(this.institutions[v][i], v, i); - } - } - for (v in this.institutions) { - for (i = 0, ilen = this.institutions[v].length; i < ilen; i += 1) { - var long_form = this.institutions[v][i]["long"]; - var short_form = long_form.slice(); - if (this.state.sys.getAbbreviation) { - var jurisdiction = this.Item.jurisdiction; - for (var j = 0, jlen = long_form.length; j < jlen; j += 1) { - var jurisdiction = this.state.transform.loadAbbreviation(jurisdiction, "institution-part", long_form[j]); - if (this.state.transform.abbrevs[jurisdiction]["institution-part"][long_form[j]]) { - short_form[j] = this.state.transform.abbrevs[jurisdiction]["institution-part"][long_form[j]]; - } - } - } - this.institutions[v][i]["short"] = short_form; } } }; @@ -5233,81 +5261,6 @@ CSL.NameOutput.prototype._truncateNameList = function (container, variable, inde } return lst; }; -CSL.NameOutput.prototype._splitInstitution = function (value, v, i) { - var ret = {}; - var splitInstitution = value.literal.replace(/\s*\|\s*/g, "|"); - splitInstitution = splitInstitution.split("|"); - if (this.institution.strings.form === "short" && this.state.sys.getAbbreviation) { - var jurisdiction = this.Item.jurisdiction; - for (var j = splitInstitution.length; j > 1; j += -1) { - var str = splitInstitution.slice(0, j).join("|"); - var jurisdiction = this.state.transform.loadAbbreviation(jurisdiction, "institution-entire", str); - if (this.state.transform.abbrevs[jurisdiction]["institution-entire"][str]) { - str = this.state.transform.abbrevs[jurisdiction]["institution-entire"][str]; - splitInstitution = [str].concat(splitInstitution.slice(j)); - } - } - } - splitInstitution.reverse(); - ret["long"] = this._trimInstitution(splitInstitution, v, i); - if (splitInstitution.length) { - ret["short"] = ret["long"].slice(); - } else { - ret["short"] = false; - } - return ret; -}; -CSL.NameOutput.prototype._trimInstitution = function (subunits, v, i) { - var s; - var use_first = false; - var append_last = false; - if (this.institution) { - if ("undefined" !== typeof this.institution.strings["use-first"]) { - use_first = this.institution.strings["use-first"]; - } - stop_last = this.institution.strings["stop-last"]; - if (stop_last) { - append_last = stop_last; - } else { - if ("undefined" !== typeof this.institution.strings["use-last"]) { - append_last = this.institution.strings["use-last"]; - } - } - } - if (false === use_first) { - if (this.persons[v][i].length === 0) { - use_first = this.institution.strings["substitute-use-first"]; - } - if (!use_first) { - use_first = 0; - } - } - if (false === append_last) { - if (!use_first) { - append_last = subunits.length; - } else { - append_last = 0; - } - } - if (use_first > subunits.length - append_last) { - use_first = subunits.length - append_last; - } - if (stop_last) { - append_last = 0; - } - s = subunits.slice(); - subunits = subunits.slice(0, use_first); - s = s.slice(use_first); - if (append_last) { - if (append_last > s.length) { - append_last = s.length; - } - if (append_last) { - subunits = subunits.concat(s.slice((s.length - append_last))); - } - } - return subunits; -}; CSL.NameOutput.prototype.divideAndTransliterateNames = function () { var i, ilen, j, jlen; var Item = this.Item; @@ -5408,8 +5361,10 @@ CSL.NameOutput.prototype.joinPersons = function (blobs, pos) { ret = this._joinEtAl(blobs, "name"); } else if (this.etal_spec[pos] === 2) { ret = this._joinEllipsis(blobs, "name"); - } else { + } else if (!this.state.tmp.sort_key_flag) { ret = this._joinAnd(blobs, "name"); + } else { + ret = this._join(blobs, " "); } return ret; }; @@ -5760,39 +5715,120 @@ CSL.NameOutput.prototype.renderInstitutionNames = function () { var v = this.variables[i]; for (var j = 0, jlen = this.institutions[v].length; j < jlen; j += 1) { var institution, institution_short, institution_long, short_style, long_style; + var name = this.institutions[v][j]; + var j, ret, optLangTag, jlen, key, localesets; + if (this.state.tmp.extension) { + localesets = ["sort"]; + } else if (name.isInstitution) { + localesets = this.state.opt['cite-lang-prefs'].institutions; + } else { + localesets = this.state.opt['cite-lang-prefs'].persons; + } + slot = {primary:false,secondary:false,tertiary:false}; + if (localesets) { + var slotnames = ["primary", "secondary", "tertiary"]; + for (var k = 0, klen = slotnames.length; k < klen; k += 1) { + if (localesets.length - 1 < j) { + break; + } + if (localesets[k]) { + slot[slotnames[k]] = 'locale-' + localesets[k]; + } + } + } else { + slot.primary = 'locale-translat'; + } + if (this.state.tmp.area !== "bibliography" + && !(this.state.tmp.area === "citation" + && this.state.opt.xclass === "note" + && this.item && !this.item.position)) { + slot.secondary = false; + slot.tertiary = false; + } + var res; + res = this.getName(name, slot.primary, true); + var primary = res.name; + var usedOrig = res.usedOrig; + if (primary) { + primary = this.fixupInstitution(primary, v, j); + } + secondary = false; + if (slot.secondary) { + res = this.getName(name, slot.secondary, false, usedOrig); + secondary = res.name; + usedOrig = res.usedOrig; + if (secondary) { + secondary = this.fixupInstitution(secondary, v, j); + } + } + tertiary = false; + if (slot.tertiary) { + res = this.getName(name, slot.tertiary, false, usedOrig); + tertiary = res.name; + if (tertiary) { + tertiary = this.fixupInstitution(tertiary, v, j); + } + } switch (this.institution.strings["institution-parts"]) { case "short": - if (this.institutions[v][j]["short"].length) { + if (primary["short"].length) { short_style = this._getShortStyle(); - institution = [this._renderOneInstitutionPart(this.institutions[v][j]["short"], short_style)]; + institution = [this._renderOneInstitutionPart(primary["short"], short_style)]; } else { - long_style = this._getLongStyle(v, j); - institution = [this._renderOneInstitutionPart(this.institutions[v][j]["long"], long_style)]; + long_style = this._getLongStyle(primary, v, j); + institution = [this._renderOneInstitutionPart(primary["long"], long_style)]; } break; case "short-long": - long_style = this._getLongStyle(v, j); + long_style = this._getLongStyle(primary, v, j); short_style = this._getShortStyle(); - institution_short = this._renderOneInstitutionPart(this.institutions[v][j]["short"], short_style); - institution_long = this._renderOneInstitutionPart(this.institutions[v][j]["long"], long_style); + institution_short = this._renderOneInstitutionPart(primary["short"], short_style); + institution_long = this._composeOneInstitutionPart([primary, secondary, tertiary], long_style); institution = [institution_short, institution_long]; break; case "long-short": - long_style = this._getLongStyle(v, j); + long_style = this._getLongStyle(primary, v, j); short_style = this._getShortStyle(); - institution_short = this._renderOneInstitutionPart(this.institutions[v][j]["short"], short_style); - institution_long = this._renderOneInstitutionPart(this.institutions[v][j]["long"], long_style); + institution_short = this._renderOneInstitutionPart(primary["short"], short_style); + institution_long = this._composeOneInstitutionPart([primary, secondary, tertiary], long_style, true); institution = [institution_long, institution_short]; break; default: - long_style = this._getLongStyle(v, j); - institution = [this._renderOneInstitutionPart(this.institutions[v][j]["long"], long_style)]; + long_style = this._getLongStyle(primary, v, j); + institution = [this._composeOneInstitutionPart([primary, secondary, tertiary], long_style)]; break; } this.institutions[v][j] = this._join(institution, ""); } } }; +CSL.NameOutput.prototype._composeOneInstitutionPart = function (names, style) { + var primary = false, secondary = false, tertiary = false; + if (names[0]) { + primary = this._renderOneInstitutionPart(names[0]["long"], style); + } + if (names[1]) { + secondary = this._renderOneInstitutionPart(names[1]["long"], style); + } + if (names[2]) { + tertiary = this._renderOneInstitutionPart(names[2]["long"], style); + } + var institutionblob; + if (secondary || tertiary) { + var multiblob = this._join([secondary, tertiary], ", "); + var group_tok = new CSL.Token(); + group_tok.strings.prefix = " ["; + group_tok.strings.suffix = "]"; + this.state.output.openLevel(group_tok); + this.state.output.append(multiblob); + this.state.output.closeLevel(); + multiblob = this.state.output.pop(); + institutionblob = this._join([primary, multiblob], ""); + } else { + institutionblob = primary; + } + return institutionblob; +} CSL.NameOutput.prototype._renderOneInstitutionPart = function (blobs, style) { for (var i = 0, ilen = blobs.length; i < ilen; i += 1) { if (blobs[i]) { @@ -5813,15 +5849,75 @@ CSL.NameOutput.prototype._renderOneInstitutionPart = function (blobs, style) { blobs[i] = this.state.output.pop(); } } - return this._join(blobs, this.name.strings.delimiter); + if ("undefined" === typeof this.institution.strings["part-separator"]) { + this.institution.strings["part-separator"] = this.name.strings.delimiter; + } + return this._join(blobs, this.institution.strings["part-separator"]); }; CSL.NameOutput.prototype._renderPersonalNames = function (values, pos) { var ret = false; if (values.length) { var names = []; for (var i = 0, ilen = values.length; i < ilen; i += 1) { - var val = values[i]; - names.push(this._renderOnePersonalName(val, pos, i)); + var name = values[i]; + var j, ret, optLangTag, jlen, key, localesets; + if (this.state.tmp.extension) { + localesets = ["sort"]; + } else if (name.isInstitution) { + localesets = this.state.opt['cite-lang-prefs'].institutions; + } else { + localesets = this.state.opt['cite-lang-prefs'].persons; + } + slot = {primary:false,secondary:false,tertiary:false}; + if (localesets) { + var slotnames = ["primary", "secondary", "tertiary"]; + for (var j = 0, jlen = slotnames.length; j < jlen; j += 1) { + if (localesets.length - 1 < j) { + break; + } + slot[slotnames[j]] = 'locale-' + localesets[j]; + } + } else { + slot.primary = 'locale-translat'; + } + if (this.state.tmp.sort_key_flag || (this.state.tmp.area !== "bibliography" + && !(this.state.tmp.area === "citation" + && this.state.opt.xclass === "note" + && this.item && !this.item.position))) { + slot.secondary = false; + slot.tertiary = false; + } + var res = this.getName(name, slot.primary, true); + var primary = this._renderOnePersonalName(res.name, pos, i); + secondary = false; + if (slot.secondary) { + res = this.getName(name, slot.secondary, false, res.usedOrig); + if (res.name) { + secondary = this._renderOnePersonalName(res.name, pos, i); + } + } + tertiary = false; + if (slot.tertiary) { + res = this.getName(name, slot.tertiary, false, res.usedOrig); + if (res.name) { + tertiary = this._renderOnePersonalName(res.name, pos, i); + } + } + var personblob; + if (secondary || tertiary) { + var multiblob = this._join([secondary, tertiary], ", "); + var group_tok = new CSL.Token(); + group_tok.strings.prefix = " ["; + group_tok.strings.suffix = "]"; + this.state.output.openLevel(group_tok); + this.state.output.append(multiblob); + this.state.output.closeLevel(); + multiblob = this.state.output.pop(); + personblob = this._join([primary, multiblob], ""); + } else { + personblob = primary; + } + names.push(personblob); } ret = this.joinPersons(names, pos); } @@ -5858,12 +5954,12 @@ CSL.NameOutput.prototype._renderOnePersonalName = function (value, pos, i) { } else if (this.state.tmp.sort_key_flag) { if (this.state.opt["demote-non-dropping-particle"] === "never") { first = this._join([non_dropping_particle, family, dropping_particle], " "); - merged = this._join([first, given], sort_sep); - blob = this._join([merged, suffix], suffix_sep); + merged = this._join([first, given], " "); + blob = this._join([merged, suffix], " "); } else { second = this._join([given, dropping_particle, non_dropping_particle], " "); - merged = this._join([family, second], sort_sep); - blob = this._join([merged, suffix], suffix_sep); + merged = this._join([family, second], " "); + blob = this._join([merged, suffix], " "); } } else if (this.name.strings["name-as-sort-order"] === "all" || (this.name.strings["name-as-sort-order"] === "first" && i === 0)) { if (["Lord", "Lady"].indexOf(name.given) > -1) { @@ -5943,17 +6039,12 @@ CSL.NameOutput.prototype._normalizeNameInput = function (value) { "static-ordering":value["static-ordering"], "parse-names":value["parse-names"], "comma-dropping-particle": "", - block_initialize:value.block_initialize + block_initialize:value.block_initialize, + multi:value.multi }; this._parseName(name); return name; }; -CSL.NameOutput.prototype._transformNameset = function (nameset) { - for (var i = 0, ilen = nameset.length; i < ilen; i += 1) { - nameset[i] = this.state.transform.name(this.state, nameset[i], this.state.opt["locale-pri"]); - nameset[i] = this._normalizeNameInput(nameset[i]); - } -}; CSL.NameOutput.prototype._stripPeriods = function (tokname, str) { var decor_tok = this[tokname + "_decor"]; if (str) { @@ -6029,9 +6120,9 @@ CSL.NameOutput.prototype._nameSuffix = function (name) { } return false; }; -CSL.NameOutput.prototype._getLongStyle = function (v, i) { +CSL.NameOutput.prototype._getLongStyle = function (name, v, i) { var long_style, short_style; - if (this.institutions[v][i]["short"].length) { + if (name["short"].length) { if (this.institutionpart["long-with-short"]) { long_style = this.institutionpart["long-with-short"]; } else { @@ -6107,6 +6198,194 @@ CSL.NameOutput.prototype._parseName = function (name) { } } }; +CSL.NameOutput.prototype.getName = function (name, slotLocaleset, fallback, stopOrig) { + if (stopOrig && slotLocaleset === 'locale-orig') { + return {name:false,usedOrig:stopOrig}; + } + if (!name.family) { + name.family = ""; + } + if (!name.given) { + name.given = ""; + } + var static_ordering_freshcheck = false; + var block_initialize = false; + var transliterated = false; + var static_ordering_val = this.getStaticOrder(name); + var foundTag = true; + if (slotLocaleset !== 'locale-orig') { + foundTag = false; + if (name.multi) { + var langTags = this.state.opt[slotLocaleset] + for (i = 0, ilen = langTags.length; i < ilen; i += 1) { + langTag = langTags[i]; + if (name.multi._key[langTag]) { + foundTag = true; + name = name.multi._key[langTag]; + transliterated = true; + if (!this.state.opt['locale-use-original-name-format'] && false) { + static_ordering_freshcheck = true; + } else { + if ((name.family.replace('"','','g') + name.given).match(CSL.ROMANESQUE_REGEXP)) { + block_initialize = true; + } + } + break; + } + } + } + } + if (!fallback && !foundTag) { + return {name:false,usedOrig:stopOrig}; + } + if (!name.family) { + name.family = ""; + } + if (!name.given) { + name.given = ""; + } + name = { + family:name.family, + given:name.given, + "non-dropping-particle":name["non-dropping-particle"], + "dropping-particle":name["dropping-particle"], + suffix:name.suffix, + "static-ordering":static_ordering_val, + "parse-names":name["parse-names"], + "comma-suffix":name["comma-suffix"], + "comma-dropping-particle":name["comma-dropping-particle"], + transliterated:transliterated, + block_initialize:block_initialize, + literal:name.literal, + isInstitution:name.isInstitution, + }; + if (static_ordering_freshcheck && + !this.getStaticOrder(name, true)) { + name["static-ordering"] = false; + } + if (!name.literal && (!name.given && name.family && name.isInstitution)) { + name.literal = name.family; + } + if (name.literal) { + delete name.family; + delete name.given; + } + name = this._normalizeNameInput(name); + var usedOrig; + if (stopOrig) { + usedOrig = stopOrig; + } else { + usedOrig = !foundTag; + } + return {name:name,usedOrig:usedOrig}; +} +CSL.NameOutput.prototype.fixupInstitution = function (name, varname, listpos) { + name = this._splitInstitution(name, varname, listpos); + if (this.institution.strings["reverse-order"]) { + name["long"].reverse(); + } + var long_form = name["long"]; + var short_form = long_form.slice(); + if (this.state.sys.getAbbreviation) { + var jurisdiction = this.Item.jurisdiction; + for (var j = 0, jlen = long_form.length; j < jlen; j += 1) { + var jurisdiction = this.state.transform.loadAbbreviation(jurisdiction, "institution-part", long_form[j]); + if (this.state.transform.abbrevs[jurisdiction]["institution-part"][long_form[j]]) { + short_form[j] = this.state.transform.abbrevs[jurisdiction]["institution-part"][long_form[j]]; + } + } + } + name["short"] = short_form; + return name; +} +CSL.NameOutput.prototype.getStaticOrder = function (name, refresh) { + var static_ordering_val = false; + if (!refresh && name["static-ordering"]) { + static_ordering_val = true; + } else if (!(name.family.replace('"', '', 'g') + name.given).match(CSL.ROMANESQUE_REGEXP)) { + static_ordering_val = true; + } else if (name.multi && name.multi.main && name.multi.main.slice(0,2) == 'vn') { + static_ordering_val = true; + } else { + if (this.state.opt['auto-vietnamese-names'] + && (CSL.VIETNAMESE_NAMES.exec(name.family + " " + name.given) + && CSL.VIETNAMESE_SPECIALS.exec(name.family + name.given))) { + static_ordering_val = true; + } + } + return static_ordering_val; +} +CSL.NameOutput.prototype._splitInstitution = function (value, v, i) { + var ret = {}; + var splitInstitution = value.literal.replace(/\s*\|\s*/g, "|"); + splitInstitution = splitInstitution.split("|"); + if (this.institution.strings.form === "short" && this.state.sys.getAbbreviation) { + var jurisdiction = this.Item.jurisdiction; + for (var j = splitInstitution.length; j > 1; j += -1) { + var str = splitInstitution.slice(0, j).join("|"); + var jurisdiction = this.state.transform.loadAbbreviation(jurisdiction, "institution-entire", str); + if (this.state.transform.abbrevs[jurisdiction]["institution-entire"][str]) { + var splitLst = this.state.transform.abbrevs[jurisdiction]["institution-entire"][str]; + var splitLst = splitLst.replace(/\s*\|\s*/g, "|"); + var splitLst = splitLst.split("|"); + splitInstitution = splitLst.concat(splitInstitution.slice(j)); + } + } + } + splitInstitution.reverse(); + ret["long"] = this._trimInstitution(splitInstitution, v, i); + return ret; +}; +CSL.NameOutput.prototype._trimInstitution = function (subunits, v, i) { + var use_first = false; + var append_last = false; + var stop_last = false; + var s = subunits.slice(); + if (this.institution) { + if ("undefined" !== typeof this.institution.strings["use-first"]) { + use_first = this.institution.strings["use-first"]; + } + if ("undefined" !== typeof this.institution.strings["stop-last"]) { + s = s.slice(0, this.institution.strings["stop-last"]); + subunits = subunits.slice(0, this.institution.strings["stop-last"]); + } + if ("undefined" !== typeof this.institution.strings["use-last"]) { + append_last = this.institution.strings["use-last"]; + } + } + if (false === use_first) { + if (this.persons[v].length === 0) { + use_first = this.institution.strings["substitute-use-first"]; + } + if (!use_first) { + use_first = 0; + } + } + if (false === append_last) { + if (!use_first) { + append_last = subunits.length; + } else { + append_last = 0; + } + } + if (use_first > subunits.length - append_last) { + use_first = subunits.length - append_last; + } + if (stop_last) { + append_last = 0; + } + subunits = subunits.slice(0, use_first); + s = s.slice(use_first); + if (append_last) { + if (append_last > s.length) { + append_last = s.length; + } + if (append_last) { + subunits = subunits.concat(s.slice((s.length - append_last))); + } + } + return subunits; +}; CSL.NameOutput.prototype.setEtAlParameters = function () { var i, ilen, j, jlen; if (!this.etal_spec) { @@ -6410,6 +6689,7 @@ CSL.Node.name = { } else if ("symbol" === this.strings.and) { this.and_term = "&"; } + state.build.and_term = this.and_term; if (CSL.STARTSWITH_ROMANESQUE_REGEXP.test(this.and_term)) { this.and_prefix_single = " "; this.and_prefix_multiple = ", "; @@ -6436,13 +6716,6 @@ CSL.Node.name = { this.ellipsis_prefix_multiple = this.strings.delimiter; this.ellipsis_suffix = " "; } - if (this.strings["delimiter-precedes-et-al"] === "always") { - this.and_prefix_single = this.strings.delimiter; - } else if (this.strings["delimiter-precedes-last"] === "never") { - if (this.and_prefix_multiple) { - this.and_prefix_multiple = " "; - } - } func = function (state, Item) { this.and = {}; if (this.strings.and) { @@ -6817,7 +7090,7 @@ CSL.Node.text = { } } else { if (this.strings.term) { - func = function (state, Item) { + func = function (state, Item, item) { var gender = state.opt.gender[Item.type]; var term = this.strings.term; term = state.getTerm(term, form, plural, gender); @@ -6830,7 +7103,16 @@ CSL.Node.text = { if (!state.tmp.term_predecessor) { myterm = CSL.Output.Formatters["capitalize-first"](state, term); } else { - myterm = term; + if (item && item.prefix) { + var prefix = item.prefix.replace(/\s+$/, ""); + if (CSL.TERMINAL_PUNCTUATION.slice(0,-1).indexOf(prefix.slice(-1)) > -1) { + myterm = CSL.Output.Formatters["capitalize-first"](state, term); + } else { + myterm = term; + } + } else { + myterm = term; + } } if (state.tmp.strip_periods) { myterm = myterm.replace(/\./g, ""); @@ -6861,42 +7143,23 @@ CSL.Node.text = { if (CSL.MULTI_FIELDS.indexOf(this.variables_real[0]) > -1) { if (form === "short") { state.transform.init(this, this.variables_real[0], this.variables_real[0]); - } else { - state.transform.init(this, this.variables_real[0]); - } - if (state.build.extension) { - state.transform.init(this, this.variables_real[0], this.variables_real[0]); - state.transform.setTransformLocale("locale-sort"); - state.transform.setTransformFallback(true); - func = state.transform.getOutputFunction(this.variables); - } else if (form === "short") { - if (["title", "container-title", "collection-title"].indexOf(this.variables_real[0]) > -1) { - state.transform.setTransformLocale("locale-sec"); - } else { - state.transform.setTransformLocale("locale-pri"); - } - state.transform.setTransformFallback(true); - state.transform.setAbbreviationFallback(true); if (this.variables_real[0] === "container-title") { state.transform.setAlternativeVariableName("journalAbbreviation"); } else if (this.variables_real[0] === "title") { state.transform.setAlternativeVariableName("shortTitle"); - } else if (["publisher", "publisher-place", "event-place", "edition"].indexOf(this.variables_real[0]) > -1) { - state.transform.setTransformLocale("default-locale"); } - func = state.transform.getOutputFunction(this.variables); - } else if (["title-short","title", "container-title", "collection-title"].indexOf(this.variables_real[0]) > -1) { - state.transform.setTransformLocale("locale-sec"); + } else { + state.transform.init(this, this.variables_real[0]); + } + if (state.build.extension) { + state.transform.init(this, this.variables_real[0], this.variables_real[0]); state.transform.setTransformFallback(true); func = state.transform.getOutputFunction(this.variables); } else { - state.transform.setTransformLocale("locale-pri"); state.transform.setTransformFallback(true); - if (["publisher", "publisher-place", "edition"].indexOf(this.variables_real[0]) > -1) { - state.transform.setTransformLocale("default-locale"); - } + state.transform.setAbbreviationFallback(true); func = state.transform.getOutputFunction(this.variables); - } + } if (this.variables_real[0] === "container-title") { var xfunc = function (state, Item, item) { if (Item['container-title'] && state.tmp.citeblob.has_volume) { @@ -6988,6 +7251,9 @@ CSL.Node.text = { } }; CSL.Attributes = {}; +CSL.Attributes["@part-separator"] = function (state, arg) { + this.strings["part-separator"] = arg; +} CSL.Attributes["@context"] = function (state, arg) { var func = function (state, Item) { var area = state.tmp.area.slice(0, arg.length); @@ -7299,20 +7565,29 @@ CSL.Attributes["@match"] = function (state, arg) { CSL.Attributes["@jurisdiction"] = function (state, arg) { var lex = arg.split(/\s+/); var func = function (state, Item) { - var ret = false; var mylex = false; + var ret = false; if (Item.jurisdiction) { mylex = Item.jurisdiction; } else if (Item.language) { - var m = Item.language.match(/^.*-x-lex-([.a-zA-Z]+).*$/); + var m = Item.language.match(/^.*-x-lex-([.;a-zA-Z]+).*$/); if (m) { mylex = m[1]; } } - for (var i = 0, ilen = lex.length; i < ilen; i += 1) { - if (mylex === lex[i]) { - ret = true; - break; + if (mylex) { + var mylexlst = mylex.split(";"); + outerLoop: for (var i = 0, ilen = lex.length; i < ilen; i += 1) { + if (!lex[i]) { + continue; + } + var lexlst = lex[i].split(";"); + innerLoop: for (var j = 0, jlen = lexlst.length; j < jlen; j += 1) { + if (mylexlst[j] && mylexlst[j] === lexlst[j] && j === lexlst.length - 1) { + ret = true; + break outerLoop; + } + } } } return ret; @@ -7437,50 +7712,53 @@ CSL.Attributes["@newdate"] = function (state, arg) { CSL.Attributes["@position"] = function (state, arg) { var tryposition; state.opt.update_mode = CSL.POSITION; - var factory = function (tryposition) { - return function (state, Item, item) { - if (state.tmp.area === "bibliography") { - return false; - } - if (item && "undefined" === typeof item.position) { - item.position = 0; - } - if (item && typeof item.position === "number") { - if (item.position === 0 && tryposition === 0) { - return true; - } else if (tryposition > 0 && item.position >= tryposition) { - return true; - } - } else if (tryposition === 0) { + if ("near-note" === arg) { + var near_note_func = function (state, Item, item) { + if (item && item["near-note"]) { return true; } return false; }; - }; - var near_note_func = function (state, Item, item) { - if (item && item["near-note"]) { - return true; - } - return false; - }; - var lst = arg.split(/\s+/); - for (var i = 0, ilen = lst.length; i < ilen; i += 1) { - if (lst[i] === "first") { - tryposition = CSL.POSITION_FIRST; - } else if (lst[i] === "subsequent") { - tryposition = CSL.POSITION_SUBSEQUENT; - } else if (lst[i] === "ibid") { - tryposition = CSL.POSITION_IBID; - } else if (lst[i] === "ibid-with-locator") { - tryposition = CSL.POSITION_IBID_WITH_LOCATOR; - } - var func = factory(tryposition); - this.tests.push(func); - if (lst[i] === "near-note") { - this.tests.push(near_note_func); + this.tests.push(near_note_func); + } else { + var factory = function (tryposition) { + return function (state, Item, item) { + if (state.tmp.area === "bibliography") { + return false; + } + if (item && "undefined" === typeof item.position) { + item.position = 0; + } + if (item && typeof item.position === "number") { + if (item.position === 0 && tryposition === 0) { + return true; + } else if (tryposition > 0 && item.position >= tryposition) { + return true; + } + } else if (tryposition === 0) { + return true; + } + return false; + }; + }; + var lst = arg.split(/\s+/); + for (var i = 0, ilen = lst.length; i < ilen; i += 1) { + if (lst[i] === "first") { + tryposition = CSL.POSITION_FIRST; + } else if (lst[i] === "subsequent-parallel") { + tryposition = CSL.POSITION_SUBSEQUENT_PARALLEL; + } else if (lst[i] === "subsequent") { + tryposition = CSL.POSITION_SUBSEQUENT; + } else if (lst[i] === "ibid") { + tryposition = CSL.POSITION_IBID; + } else if (lst[i] === "ibid-with-locator") { + tryposition = CSL.POSITION_IBID_WITH_LOCATOR; + } + var func = factory(tryposition); + this.tests.push(func); } } -}; +} CSL.Attributes["@disambiguate"] = function (state, arg) { if (this.tokentype === CSL.START && ["if", "else-if"].indexOf(this.name) > -1) { if (arg === "true") { @@ -7656,13 +7934,13 @@ CSL.Attributes["@page-range-format"] = function (state, arg) { }; CSL.Attributes["@default-locale"] = function (state, arg) { var lst, len, pos, m, ret; - m = arg.match(/-x-(sort|pri|sec|name)-/g); + m = arg.match(/-x-(sort|translit|translat)-/g); if (m) { for (pos = 0, len = m.length; pos < len; pos += 1) { m[pos] = m[pos].replace(/^-x-/, "").replace(/-$/, ""); } } - lst = arg.split(/-x-(?:sort|pri|sec|name)-/); + lst = arg.split(/-x-(?:sort|translit|translat)-/); ret = [lst[0]]; for (pos = 1, len = lst.length; pos < len; pos += 1) { ret.push(m[pos - 1]); @@ -7702,7 +7980,7 @@ CSL.Attributes["@use-first"] = function (state, arg) { this.strings["use-first"] = parseInt(arg, 10); }; CSL.Attributes["@stop-last"] = function (state, arg) { - this.strings["stop-last"] = parseInt(arg, 10); + this.strings["stop-last"] = parseInt(arg, 10) * -1; } CSL.Attributes["@oops"] = function (state, arg) { this.strings.oops = arg; @@ -7851,54 +8129,43 @@ CSL.Util.Match = function () { }; }; CSL.Transform = function (state) { - var debug = false, abbreviations, token, fieldname, subsection, opt; + var debug = false, abbreviations, token, fieldname, abbrev_family, opt; this.abbrevs = {}; - this.abbrevs["default"] = {}; - this.abbrevs["default"]["container-title"] = {}; - this.abbrevs["default"]["collection-title"] = {}; - this.abbrevs["default"]["institution-entire"] = {}; - this.abbrevs["default"]["institution-part"] = {}; - this.abbrevs["default"].nickname = {}; - this.abbrevs["default"].number = {}; - this.abbrevs["default"].place = {}; - this.abbrevs["default"].title = {}; - this.abbrevs["default"].hereinafter = {}; - this.abbrevs["default"].classic = {}; - function init(t, f, x) { - token = t; - fieldname = f; - subsection = x; + this.abbrevs["default"] = new CSL.AbbreviationSegments(); + function init(mytoken, myfieldname, myabbrev_family) { + token = mytoken; + fieldname = myfieldname; + abbrev_family = myabbrev_family; opt = { abbreviation_fallback: false, alternative_varname: false, - transform_locale: false, transform_fallback: false }; } this.init = init; - function abbreviate(state, Item, altvar, basevalue, mysubsection, use_field) { + function abbreviate(state, Item, altvar, basevalue, myabbrev_family, use_field) { var value; - if (!mysubsection) { + if (!myabbrev_family) { return basevalue; } - if (["publisher-place", "event-place"].indexOf(mysubsection) > -1) { - mysubsection = "place"; + if (["publisher-place", "event-place"].indexOf(myabbrev_family) > -1) { + myabbrev_family = "place"; } - if (["publisher", "authority"].indexOf(mysubsection) > -1) { - mysubsection = "institution-part"; + if (["publisher", "authority"].indexOf(myabbrev_family) > -1) { + myabbrev_family = "institution-part"; } - if (["genre"].indexOf(mysubsection) > -1) { - mysubsection = "title"; + if (["genre"].indexOf(myabbrev_family) > -1) { + myabbrev_family = "title"; } - if (["title-short"].indexOf(mysubsection) > -1) { - mysubsection = "title"; + if (["title-short"].indexOf(myabbrev_family) > -1) { + myabbrev_family = "title"; } value = ""; if (state.sys.getAbbreviation) { - var jurisdiction = state.transform.loadAbbreviation(Item.jurisdiction, mysubsection, basevalue); - if (state.transform.abbrevs[jurisdiction][mysubsection] && basevalue && state.sys.getAbbreviation) { - if (state.transform.abbrevs[jurisdiction][mysubsection][basevalue]) { - value = state.transform.abbrevs[jurisdiction][mysubsection][basevalue]; + var jurisdiction = state.transform.loadAbbreviation(Item.jurisdiction, myabbrev_family, basevalue); + if (state.transform.abbrevs[jurisdiction][myabbrev_family] && basevalue && state.sys.getAbbreviation) { + if (state.transform.abbrevs[jurisdiction][myabbrev_family][basevalue]) { + value = state.transform.abbrevs[jurisdiction][myabbrev_family][basevalue]; } } } @@ -7910,29 +8177,37 @@ CSL.Transform = function (state) { } return value; } - function getTextSubField(Item, field, locale_type, use_default) { + function getTextSubField(Item, field, locale_type, use_default, stopOrig) { var m, lst, opt, o, oo, pos, key, ret, len, myret, opts; + var usedOrig = stopOrig; if (!Item[field]) { - return ""; + return {name:"", usedOrig:stopOrig}; } - ret = ""; + ret = {name:"", usedOrig:stopOrig}; opts = state.opt[locale_type]; - if ("undefined" === typeof opts) { - opts = state.opt["default-locale"]; + if (locale_type === 'locale-orig') { + if (stopOrig) { + ret = {name:"", usedOrig:stopOrig}; + } else { + ret = {name:Item[field], usedOrig:false}; + } + return ret; + } else if (use_default && ("undefined" === typeof opts || opts.length === 0)) { + return {name:Item[field], usedOrig:true}; } 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 = Item.multi._keys[field][opt]; + ret.name = Item.multi._keys[field][opt]; break; } else if (o && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][o]) { - ret = Item.multi._keys[field][o]; + ret.name = Item.multi._keys[field][o]; break; } } - if (!ret && use_default) { - ret = Item[field]; + if (!ret.name && use_default) { + ret = {name:Item[field], usedOrig:true}; } return ret; } @@ -7944,10 +8219,6 @@ CSL.Transform = function (state) { opt.alternative_varname = s; } this.setAlternativeVariableName = setAlternativeVariableName; - function setTransformLocale(s) { - opt.transform_locale = s; - } - this.setTransformLocale = setTransformLocale; function setTransformFallback(b) { opt.transform_fallback = b; } @@ -7957,15 +8228,21 @@ CSL.Transform = function (state) { if (!jurisdiction) { jurisdiction = "default"; } - if (state.sys.getAbbreviation - && (!this.abbrevs[jurisdiction] - || !this.abbrevs[jurisdiction][category][orig])) { - jurisdiction = state.sys.getAbbreviation(this.abbrevs, jurisdiction, category, orig); + if (!orig) { + return jurisdiction; + } + if (state.sys.getAbbreviation) { + if (!this.abbrevs[jurisdiction]) { + this.abbrevs[jurisdiction] = new CSL.AbbreviationSegments(); + } + if (!this.abbrevs[jurisdiction][category][orig]) { + state.sys.getAbbreviation(state.opt.styleID, this.abbrevs, jurisdiction, category, orig); + } } return jurisdiction; } this.loadAbbreviation = loadAbbreviation; - function publisherCheck (tok, Item, primary) { + function publisherCheck (tok, Item, primary, myabbrev_family) { var varname = tok.variables[0]; if (state.publisherOutput && primary) { if (["publisher","publisher-place"].indexOf(varname) === -1) { @@ -7978,7 +8255,7 @@ CSL.Transform = function (state) { state.publisherOutput[varname + "-list"] = lst; } for (var i = 0, ilen = lst.length; i < ilen; i += 1) { - lst[i] = abbreviate(state, Item, false, lst[i], "institution-part", true); + lst[i] = abbreviate(state, Item, false, lst[i], myabbrev_family, true); } state.tmp[varname + "-token"] = tok; return true; @@ -7987,164 +8264,106 @@ CSL.Transform = function (state) { return false; } function getOutputFunction(variables) { - var mytoken, mysubsection, myfieldname, abbreviation_fallback, alternative_varname, transform_locale, transform_fallback, getTextSubfield; - mytoken = CSL.Util.cloneToken(token); // the token isn't needed, is it? - mysubsection = subsection; + var myabbrev_family, myfieldname, abbreviation_fallback, alternative_varname, transform_locale, transform_fallback, getTextSubfield; + myabbrev_family = abbrev_family; myfieldname = fieldname; abbreviation_fallback = opt.abbreviation_fallback; alternative_varname = opt.alternative_varname; - transform_locale = opt.transform_locale; transform_fallback = opt.transform_fallback; - if (transform_locale === "locale-sec") { - return function (state, Item) { - var primary, secondary, primary_tok, secondary_tok, key; - if (!variables[0]) { - return null; - } - if (state.tmp["publisher-list"]) { - if (variables[0] === "publisher") { - state.tmp["publisher-token"] = this; - } else if (variables[0] === "publisher-place") { - state.tmp["publisher-place-token"] = this; - } - return null; - } - if (state.opt["locale-suppress-title-transliteration"] - || !((state.tmp.area === 'bibliography' - || (state.opt.xclass === "note" && - state.tmp.area === "citation")) - ) - ) { - primary = Item[myfieldname]; - } else { - primary = getTextSubField(Item, myfieldname, "locale-pri", transform_fallback); - } - if (mysubsection) { - primary = abbreviate(state, Item, alternative_varname, primary, mysubsection, true); - } - secondary = getTextSubField(Item, myfieldname, "locale-sec"); - if ("demote" === this["leading-noise-words"]) { - primary = CSL.demoteNoiseWords(state, primary); - secondary = CSL.demoteNoiseWords(state, secondary); - } - if (secondary && ((state.tmp.area === 'bibliography' || (state.opt.xclass === "note" && state.tmp.area === "citation")))) { - if (mysubsection) { - secondary = abbreviate(state, Item, alternative_varname, secondary, mysubsection, true); - } - primary_tok = CSL.Util.cloneToken(this); - primary_tok.strings.suffix = ""; - secondary_tok = new CSL.Token("text", CSL.SINGLETON); - secondary_tok.strings.suffix = "]" + this.strings.suffix; - secondary_tok.strings.prefix = " ["; - state.output.append(primary, primary_tok); - state.output.append(secondary, secondary_tok); - } else { - state.output.append(primary, this); - } - return null; - }; + var localesets; + var langPrefs = CSL.LangPrefsMap[myfieldname]; + if (!langPrefs) { + localesets = false; } else { - return function (state, Item) { - var primary; - if (!variables[0]) { - return null; - } - primary = getTextSubField(Item, myfieldname, transform_locale, transform_fallback); - if (publisherCheck(this, Item, primary)) { - return null; - } else { - if ("demote" === this["leading-noise-words"]) { - primary = CSL.demoteNoiseWords(state, primary); - } - primary = abbreviate(state, Item, alternative_varname, primary, mysubsection, true); - state.output.append(primary, this); - } - return null; - }; + localesets = state.opt['cite-lang-prefs'][langPrefs]; } - } - this.getOutputFunction = getOutputFunction; - function getStaticOrder (name, refresh) { - var static_ordering_val = false; - if (!refresh && name["static-ordering"]) { - static_ordering_val = true; - } else if (!(name.family.replace('"', '', 'g') + name.given).match(CSL.ROMANESQUE_REGEXP)) { - static_ordering_val = true; - } else if (name.multi && name.multi.main && name.multi.main.slice(0,2) == 'vn') { - static_ordering_val = true; - } else { - if (state.opt['auto-vietnamese-names'] - && (CSL.VIETNAMESE_NAMES.exec(name.family + " " + name.given) - && CSL.VIETNAMESE_SPECIALS.exec(name.family + name.given))) { - static_ordering_val = true; + return function (state, Item, item, usedOrig) { + var primary, secondary, tertiary, primary_tok, group_tok, key; + if (!variables[0]) { + return null; } - } - return static_ordering_val; - } - function getName (state, name, langTags) { - var i, ret, optLangTag, ilen, key, langTag; - if (state.tmp.extension) { - langTags = state.opt["locale-sort"]; - } - if ("string" === typeof langTags) { - langTags = [langTags]; - } - if (!name.family) { - name.family = ""; - } - if (!name.given) { - name.given = ""; - } - var static_ordering_freshcheck = false; - var block_initialize = false; - var transliterated = false; - var static_ordering_val = getStaticOrder(name); - if (langTags && name.multi) { - for (i = 0, ilen = langTags.length; i < ilen; i += 1) { - langTag = langTags[i]; - if (name.multi._key[langTag]) { - name = name.multi._key[langTag]; - transliterated = true; - if (!state.opt['locale-use-original-name-format']) { - static_ordering_freshcheck = true; - } else { - if ((name.family.replace('"','','g') + name.given).match(CSL.ROMANESQUE_REGEXP)) { - block_initialize = true; + var slot = {primary:false, secondary:false, tertiary:false}; + if (state.tmp.area.slice(-5) === "_sort") { + slot.primary = 'locale-sort'; + } else { + if (localesets) { + var slotnames = ["primary", "secondary", "tertiary"]; + for (var i = 0, ilen = slotnames.length; i < ilen; i += 1) { + if (localesets.length - 1 < i) { + break; + } + if (localesets[i]) { + slot[slotnames[i]] = 'locale-' + localesets[i]; } - } - break; + } + } else { + slot.primary = 'locale-translat'; + } + } + if ((state.tmp.area !== "bibliography" + && !(state.tmp.area === "citation" + && state.opt.xclass === "note" + && item && !item.position)) + || myabbrev_family) { + slot.secondary = false; + slot.tertiary = false; + } + if (state.tmp["publisher-list"]) { + if (variables[0] === "publisher") { + state.tmp["publisher-token"] = this; + } else if (variables[0] === "publisher-place") { + state.tmp["publisher-place-token"] = this; } + return null; } - } - name = { - family:name.family, - given:name.given, - "non-dropping-particle":name["non-dropping-particle"], - "dropping-particle":name["dropping-particle"], - suffix:name.suffix, - "static-ordering":static_ordering_val, - "parse-names":name["parse-names"], - "comma-suffix":name["comma-suffix"], - "comma-dropping-particle":name["comma-dropping-particle"], - transliterated:transliterated, - block_initialize:block_initialize, - literal:name.literal, - isInstitution:name.isInstitution + var res = getTextSubField(Item, myfieldname, slot.primary, true); + primary = res.name; + if (publisherCheck(this, Item, primary, myabbrev_family)) { + return null; + } + secondary = false; + tertiary = false; + if (slot.secondary) { + res = getTextSubField(Item, myfieldname, slot.secondary, false, res.usedOrig); + secondary = res.name; + } + if (slot.tertiary) { + res = getTextSubField(Item, myfieldname, slot.tertiary, false, res.usedOrig); + tertiary = res.name; + } + if (myabbrev_family) { + primary = abbreviate(state, Item, alternative_varname, primary, myabbrev_family, true); + secondary = abbreviate(state, Item, false, secondary, myabbrev_family, true); + tertiary = abbreviate(state, Item, false, tertiary, myabbrev_family, true); + } + if ("demote" === this["leading-noise-words"]) { + primary = CSL.demoteNoiseWords(state, primary); + secondary = CSL.demoteNoiseWords(state, secondary); + tertiary = CSL.demoteNoiseWords(state, tertiary); + } + if (secondary || tertiary) { + primary_tok = CSL.Util.cloneToken(this); + primary_tok.strings.suffix = ""; + state.output.append(primary, primary_tok); + group_tok = new CSL.Token(); + group_tok.strings.prefix = " ["; + group_tok.strings.delimiter = ", "; + group_tok.strings.suffix = "]" + this.strings.suffix; + state.output.openLevel(group_tok); + if (secondary) { + state.output.append(secondary); + } + if (tertiary) { + state.output.append(tertiary); + } + state.output.closeLevel(); + } else { + state.output.append(primary, this); + } + return null; }; - if (static_ordering_freshcheck && - !getStaticOrder(name, true)) { - name["static-ordering"] = false; - } - if (!name.literal && (!name.given && name.family && name.isInstitution)) { - name.literal = name.family; - } - if (name.literal) { - delete name.family; - delete name.given; - } - return name; } - this.name = getName; + this.getOutputFunction = getOutputFunction; function getHereinafter (Item) { var hereinafter_author_title = []; if (state.tmp.first_name_string) { @@ -8526,6 +8745,10 @@ CSL.Parallel.prototype.purgeVariableBlobs = function (cite, varnames) { for (ppos = llen; ppos > -1; ppos += -1) { b = cite[varname].blobs[ppos]; b[0].blobs = b[0].blobs.slice(0, b[1]).concat(b[0].blobs.slice((b[1] + 1))); + if (b[0] && b[0].strings && "string" == typeof b[0].strings.oops + && b[0].parent && b[0].parent) { + b[0].parent.parent.strings.delimiter = b[0].strings.oops; + } } } } @@ -10357,29 +10580,28 @@ CSL.Registry.prototype.doinserts = function (mylist) { } } if (this.state.sys.getAbbreviation) { - for (var jurisdiction in this.state.transform.abbrevs) { - for (var field in this.state.transform.abbrevs[jurisdiction]) { - switch (field) { - case "place": - if (Item["publisher-place"]) { - this.state.sys.getAbbreviation(this.state.transform.abbrevs, jurisdiction, field, Item["publisher-place"]); - } else if (Item["event-place"]) { - this.state.sys.getAbbreviation(this.state.transform.abbrevs, jurisdiction, field, Item["event-place"]); - } - break; - case "institution-part": - for (var creatorVar in CSL.CREATORS) { - for (var creatorList in Item[creatorVar]) { - for (j = 0, jlen = creatorList.length; j < jlen; j += 1) { - if (creatorList[j].isInstitution) { - var subOrganizations = creatorList[j].literal; - if (!subOrganizations) { - subOrganizations = creatorList[j].family; - } - if (subOrganizations) { - subOrganizations = subOrganizations.split(/\s*|\s*/); - for (k = 0, klen = subOrganizations.length; k < klen; k += 1) { - this.state.sys.getAbbreviation(this.state.transform.abbrevs, jurisdiction, field, subOrganizations[k]); + for (var field in this.state.transform.abbrevs["default"]) { + switch (field) { + case "place": + if (Item["publisher-place"]) { + this.state.transform.loadAbbreviation(Item.jurisdiction, "place", Item["publisher-place"]); + } else if (Item["event-place"]) { + this.state.transform.loadAbbreviation(Item.jurisdiction, "place", Item["event-place"]); + } + break; + case "institution-part": + for (var creatorVar in CSL.CREATORS) { + for (var creatorList in Item[creatorVar]) { + for (j = 0, jlen = creatorList.length; j < jlen; j += 1) { + if (creatorList[j].isInstitution) { + var subOrganizations = creatorList[j].literal; + if (!subOrganizations) { + subOrganizations = creatorList[j].family; + } + if (subOrganizations) { + subOrganizations = subOrganizations.split(/\s*|\s*/); + for (k = 0, klen = subOrganizations.length; k < klen; k += 1) { + this.state.transform.loadAbbreviation(Item.jurisdiction, "institution-part", subOrganizations[k]); } } } @@ -10389,12 +10611,11 @@ CSL.Registry.prototype.doinserts = function (mylist) { break; default: if (Item[field]) { - this.state.sys.getAbbreviation(this.state.transform.abbrevs, jurisdiction, field, Item[field]); + this.state.transform.loadAbbreviation(Item.jurisdiction, field, Item[field]); } break; } } - } } akey = CSL.getAmbiguousCite.call(this.state, Item); this.akeys[akey] = true; @@ -10629,7 +10850,8 @@ CSL.Registry.NameReg = function (state) { if (state.tmp.area === "bibliography" && !form && "string" !== typeof initials) { return 2; } - nameobj = state.transform.name(state, nameobj, state.opt["locale-pri"]); + var res = state.nameOutput.getName(nameobj, "locale-translit", true); + nameobj = res.name; set_keys(this.state, "" + item_id, nameobj); param = 2; dagopt = state.opt["disambiguate-add-givenname"]; @@ -10815,7 +11037,8 @@ CSL.Registry.NameReg = function (state) { return ret; }; addname = function (item_id, nameobj, pos) { - nameobj = state.transform.name(state, nameobj, state.opt["locale-pri"]); + var res = state.nameOutput.getName(nameobj, "locale-translit", true); + nameobj = res.name; if (state.opt["givenname-disambiguation-rule"] && state.opt["givenname-disambiguation-rule"].slice(0, 8) === "primary-" && pos !== 0) { diff --git a/chrome/content/zotero/xpcom/data/item.js b/chrome/content/zotero/xpcom/data/item.js @@ -190,7 +190,19 @@ Zotero.Item.prototype.getField = function(field, unformatted, includeBaseMapped) this.loadPrimaryData(true); } - if (field == 'id' || Zotero.Items.isPrimaryField(field)) { + if (field === 'firstCreator' && !this.id) { + // Hack to get a firstCreator for an unsaved item + var creators = this.getCreators(); + if(creators.length === 0) { + return ""; + } else if(creators.length === 1) { + return creators[0].ref.lastName; + } else if(creators.length === 2) { + return creators[0].ref.lastName+" "+Zotero.getString('general.and')+" "+creators[1].ref.lastName; + } else if(creators.length > 3) { + return creators[0].ref.lastName+" et al." + } + } else if (field === 'id' || Zotero.Items.isPrimaryField(field)) { var privField = '_' + field; //Zotero.debug('Returning ' + (this[privField] ? this[privField] : '') + ' (typeof ' + typeof this[privField] + ')'); return this[privField]; diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js @@ -897,7 +897,7 @@ Zotero.Integration.Fields.prototype._retrieveFields = function() { var me = this; this._doc.getFieldsAsync(this._session.data.prefs['fieldType'], {"observe":function(subject, topic, data) { if(topic === "fields-available") { - if(me._progressCallback) me._progressCallback(75); + if(me.progressCallback) me.progressCallback(75); // Add fields to fields array var fieldsEnumerator = subject.QueryInterface(Components.interfaces.nsISimpleEnumerator); @@ -921,8 +921,8 @@ Zotero.Integration.Fields.prototype._retrieveFields = function() { } catch(e) { Zotero.Integration.handleError(e, me._doc); } - } else if(topic === "fields-progress" && me._progressCallback) { - me._progressCallback((data ? parseInt(data, 10)*(3/4) : null)); + } else if(topic === "fields-progress" && me.progressCallback) { + me.progressCallback((data ? parseInt(data, 10)*(3/4) : null)); } else if(topic === "fields-error") { Zotero.logError(data); Zotero.Integration.handleError(data, me._doc); @@ -1127,7 +1127,7 @@ Zotero.Integration.Fields.prototype._updateDocument = function(forceCitations, f var deleteCitations = this._session.updateCitations(); this._deleteFields = this._deleteFields.concat([i for(i in deleteCitations)]); - if(this._progressCallback) { + if(this.progressCallback) { var nFieldUpdates = [i for(i in this._session.updateIndices)].length; if(this._session.bibliographyHasChanged || forceBibliography) { nFieldUpdates += this._bibliographyFields.length*5; @@ -1136,8 +1136,8 @@ Zotero.Integration.Fields.prototype._updateDocument = function(forceCitations, f var nUpdated=0; for(var i in this._session.updateIndices) { - if(this._progressCallback && nUpdated % 10 == 0) { - this._progressCallback(75+(nUpdated/nFieldUpdates)*25); + if(this.progressCallback && nUpdated % 10 == 0) { + this.progressCallback(75+(nUpdated/nFieldUpdates)*25); yield true; } @@ -1238,8 +1238,8 @@ Zotero.Integration.Fields.prototype._updateDocument = function(forceCitations, f // set bibliography text for each(var field in bibliographyFields) { - if(this._progressCallback) { - this._progressCallback(75+(nUpdated/nFieldUpdates)*25); + if(this.progressCallback) { + this.progressCallback(75+(nUpdated/nFieldUpdates)*25); yield true; } @@ -1274,10 +1274,7 @@ Zotero.Integration.Fields.prototype._updateDocument = function(forceCitations, f * Brings up the addCitationDialog, prepopulated if a citation is provided */ Zotero.Integration.Fields.prototype.addEditCitation = function(field, callback) { - var newField, citation, fieldIndex - session = this._session, - me = this, - io = new function() { this.wrappedJSObject = this; } + var newField, citation, fieldIndex, session = this._session, me = this, loadFirst; // if there's already a citation, make sure we have item IDs in addition to keys if(field) { @@ -1287,19 +1284,14 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field, callback) throw new Zotero.Integration.DisplayException("notInCitation"); } - citation = io.citation = session.unserializeCitation(content); - - var zoteroItem; - for each(var citationItem in citation.citationItems) { - var item = false; - if(!citationItem.id) { - zoteroItem = false; - if(citationItem.uris) { - [zoteroItem, ] = session.uriMap.getZoteroItemForURIs(citationItem.uris); - } else if(citationItem.key) { - zoteroItem = Zotero.Items.getByKey(citationItem.key); - } - if(zoteroItem) citationItem.id = zoteroItem.id; + citation = session.unserializeCitation(content); + try { + session.lookupItems(citation); + } catch(e) { + if(e instanceof MissingItemException) { + citation.citationItems = []; + } else { + throw e; } } @@ -1320,103 +1312,183 @@ Zotero.Integration.Fields.prototype.addEditCitation = function(field, callback) var field = this.addField(true); field.setCode("TEMP"); - citation = io.citation = {"citationItems":{}, "properties":{}}; + citation = {"citationItems":{}, "properties":{}}; } - var sessionUpdated = false; - var previewing = false; + var io = new Zotero.Integration.CitationEditInterface(citation, field, this, session, newField, callback); - // assign preview function - var previewCallbackQueue; - function doPreview() { - // fieldIndex will already be set by the time we get here - citation.properties.zoteroIndex = fieldIndex; - citation.properties.noteIndex = field.getNoteIndex(); - returnVal = me._session.previewCitation(citation); - - for(var i=0, n=previewCallbackQueue.length; i<n; i++) previewCallbackQueue[i](returnVal); - previewCallbackQueue = undefined; - } - io.preview = function(callback) { - if(!previewCallbackQueue) previewCallbackQueue = []; - previewCallbackQueue.push(callback); - - var returnVal; - me.get(function() { - if(sessionUpdated) { - doPreview(); - } else { - me.updateSession(function() { - sessionUpdated = true; - doPreview(); - }); - } - }); + if(Zotero.Prefs.get("integration.useClassicAddCitationDialog")) { + session.displayDialog('chrome://zotero/content/integration/addCitationDialog.xul', 'alwaysRaised,resizable', io, true); + } else { + var mode = (!Zotero.isMac && Zotero.Prefs.get('integration.keepAddCitationDialogRaised') + ? 'popup' : 'alwaysRaised') + session.displayDialog('chrome://zotero/content/integration/quickFormat.xul', mode, io, true); } +} + +/** + * Citation editing functions and propertiesaccessible to quickFormat.js and addCitationDialog.js + */ +Zotero.Integration.CitationEditInterface = function(citation, field, fields, session, deleteOnCancel, doneCallback) { + this.citation = citation; + this._field = field; + this._fields = fields; + this._session = session; + this._deleteOnCancel = deleteOnCancel; + this._doneCallback = doneCallback; - // assign sort function - io.sort = function() { - me._session.previewCitation(io.citation); - } + this._sessionUpdated = false; + this._sessionCallbackQueue = false; - // assign accept function - function doAccept() { - session.addCitation(fieldIndex, field.getNoteIndex(), io.citation); - session.updateIndices[fieldIndex] = true; - - if(!session.bibliographyHasChanged) { - for(var i=0, n=citation.citationItems.length; i<n; i++) { - if(session.citationsByItemID[citation.citationItems[i].itemID] && - session.citationsByItemID[citation.citationItems[i].itemID].length == 1) { - session.bibliographyHasChanged = true; - break; - } - } - } - - me.updateDocument(false, false, false, callback); - } - io.accept = function(progressCallback) { - me._progressCallback = progressCallback; - - if(io.citation.citationItems.length) { - // Citation added - me.get(function() { - if(sessionUpdated) { - doAccept(); - } else { - me.updateSession(doAccept); - } - }); - } else if(newField) { - // New citation was cancelled - field.delete(); - callback(); - } - } + // Needed to make this work across boundaries + this.wrappedJSObject = this; - // determine whether citation is sortable in current style - io.sortable = session.style.opt.sort_citations; + // Determine whether citation is sortable in current style + this.sortable = session.style.opt.sort_citations; - // citeproc-js style object for use of third-party extension - io.style = session.style; + // Citeproc-js style object for use of third-party extension + this.style = session.style; - // Start finding this citation this citation - this.get(function(fields) { + // Start getting citation data + var me = this; + fields.get(function(fields) { for(var i=0, n=fields.length; i<n; i++) { if(fields[i].equals(field)) { - fieldIndex = i; + me._fieldIndex = i; return; } } }); +} + +Zotero.Integration.CitationEditInterface.prototype = { + /** + * Run a function when the session information has been updated + * @param {Function} sessionUpdatedCallback + */ + "_runWhenSessionUpdated":function runWhenSessionUpdated(sessionUpdatedCallback) { + if(this._sessionUpdated) { + // session has been updated; run callback + sessionUpdatedCallback(); + } else if(this._sessionCallbackQueue) { + // session is being updated; add to queue + this._sessionCallbackQueue.push(sessionUpdatedCallback); + } else { + // session is not yet updated; start update + this._sessionCallbackQueue = [sessionUpdatedCallback]; + var me = this; + me._fields.updateSession(function() { + for(var i=0, n=me._sessionCallbackQueue.length; i<n; i++) { + me._sessionCallbackQueue[i](); + } + me._sessionUpdated = true; + delete me._sessionCallbackQueue; + }); + } + }, - if(Zotero.Prefs.get("integration.useClassicAddCitationDialog")) { - session.displayDialog('chrome://zotero/content/integration/addCitationDialog.xul', 'alwaysRaised,resizable', io, true); - } else { - var mode = (!Zotero.isMac && Zotero.Prefs.get('integration.keepAddCitationDialogRaised') - ? 'popup' : 'alwaysRaised') - session.displayDialog('chrome://zotero/content/integration/quickFormat.xul', mode, io, true); + /** + * Execute a callback with a preview of the given citation + * @param {Function} previewCallback + */ + "preview":function preview(previewCallback) { + var me = this; + this._runWhenSessionUpdated(function() { + me.citation.properties.zoteroIndex = me._fieldIndex; + me.citation.properties.noteIndex = me._field.getNoteIndex(); + previewCallback(me._session.previewCitation(me.citation)); + }); + }, + + /** + * Sort the citation + */ + "sort":function() { + // Unlike above, we can do the previewing here without waiting for all the fields to load, + // since they won't change the sorting (I don't think) + this._session.previewCitation(this.citation); + }, + + /** + * Accept changes to the citation + * @param {Function} [progressCallback] A callback to be run when progress has changed. + * Receives a number from 0 to 100 indicating current status. + */ + "accept":function(progressCallback) { + this._fields.progressCallback = progressCallback; + + if(this.citation.citationItems.length) { + // Citation added + var me = this; + this._runWhenSessionUpdated(function() { + me._session.addCitation(me._fieldIndex, me._field.getNoteIndex(), me.citation); + me._session.updateIndices[me._fieldIndex] = true; + + if(!me._session.bibliographyHasChanged) { + var citationItems = me.citation.citationItems; + for(var i=0, n=citationItems.length; i<n; i++) { + if(me._session.citationsByItemID[citationItems[i].itemID] && + me._session.citationsByItemID[citationItems[i].itemID].length == 1) { + me._session.bibliographyHasChanged = true; + break; + } + } + } + + me._fields.updateDocument(false, false, false, me._doneCallback); + }); + } else { + if(this._deleteOnCancel) this._field.delete(); + if(this._doneCallback) this._doneCallback(); + } + }, + + /** + * Get a list of items used in the current document + * @param {Function} [itemsCallback] A callback to be run with item objects when items have been + * retrieved. + */ + "getItems":function(itemsCallback) { + if(this._fieldIndex || Zotero.Utilities.isEmpty(this._session.citationsByItemID)) { + // Either we already have field data for this run or we have no item data at all. + // Update session before continuing. + var me = this; + this._runWhenSessionUpdated(function() { me._getItems(itemsCallback); }); + } else { + // We have item data left over from a previous run with this document, so we don't need + // to wait. + this._getItems(itemsCallback); + } + }, + + /** + * Helper function for getItems. Does the same thing, but this can assume that the session data + * has already been updated if it should be. + */ + "_getItems":function(itemsCallback) { + var citationsByItemID = this._session.citationsByItemID; + var ids = [itemID for(itemID in citationsByItemID) + if(citationsByItemID[itemID] && citationsByItemID[itemID].length + // Exclude this item + && (citationsByItemID[itemID].length > 1 + || citationsByItemID[itemID][0].properties.zoteroIndex !== this._fieldIndex))]; + + // Sort all previously cited items at top, and all items cited later at bottom + var fieldIndex = this._fieldIndex; + ids.sort(function(a, b) { + var indexA = citationsByItemID[a][0].properties.zoteroIndex, + indexB = citationsByItemID[b][0].properties.zoteroIndex; + + if(indexA >= fieldIndex){ + if(indexB < fieldIndex) return 1; + return indexA - indexB; + } + + if(indexB > fieldIndex) return -1; + return indexB - indexA; + }); + + itemsCallback(Zotero.Cite.getItem(ids)); } } @@ -1428,6 +1500,7 @@ Zotero.Integration.Session = function(doc) { this.uncitedItems = {}; this.omittedItems = {}; this.embeddedItems = {}; + this.embeddedZoteroItems = {}; this.embeddedItemsByURI = {}; this.customBibliographyText = {}; this.reselectedItems = {}; @@ -1701,14 +1774,60 @@ Zotero.Integration.Session.prototype.addCitation = function(index, noteIndex, ar } // get items + this.lookupItems(citation, index); + + citation.properties.added = true; + citation.properties.zoteroIndex = index; + citation.properties.noteIndex = noteIndex; + this.citationsByIndex[index] = citation; + + // add to citationsByItemID and citationsByIndex + for(var i=0; i<citation.citationItems.length; i++) { + var citationItem = citation.citationItems[i]; + if(!this.citationsByItemID[citationItem.id]) { + this.citationsByItemID[citationItem.id] = [citation]; + this.bibliographyHasChanged = true; + } else { + var byItemID = this.citationsByItemID[citationItem.id]; + if(byItemID[byItemID.length-1].properties.zoteroIndex < index) { + // if index is greater than the last index, add to end + byItemID.push(citation); + } else { + // otherwise, splice in at appropriate location + for(var j=0; byItemID[j].properties.zoteroIndex < index && j<byItemID.length-1; j++) {} + byItemID.splice(j++, 0, citation); + } + } + } + + var needNewID = !citation.citationID || this.citationIDs[citation.citationID]; + if(needNewID || !this.oldCitationIDs[citation.citationID]) { + if(needNewID) { + Zotero.debug("Integration: "+citation.citationID+" ("+index+") needs new citationID"); + citation.citationID = Zotero.randomString(); + } + this.newIndices[index] = true; + this.updateIndices[index] = true; + } + Zotero.debug("Integration: Adding citationID "+citation.citationID); + this.citationIDs[citation.citationID] = true; +} + +/** + * Looks up item IDs to correspond with keys or generates embedded items for given citation object. + * Throws a MissingItemException if item was not found. + */ +Zotero.Integration.Session.prototype.lookupItems = function(citation, index) { for(var i=0, n=citation.citationItems.length; i<n; i++) { var citationItem = citation.citationItems[i]; // get Zotero item var zoteroItem = false; - if(citationItem.uris) { + if(citationItem.cslItemID) { + + } else if(citationItem.uris) { [zoteroItem, needUpdate] = this.uriMap.getZoteroItemForURIs(citationItem.uris); - if(needUpdate) this.updateIndices[index] = true; + if(needUpdate && index) this.updateIndices[index] = true; } else { if(citationItem.key) { zoteroItem = Zotero.Items.getByKey(citationItem.key); @@ -1717,7 +1836,7 @@ Zotero.Integration.Session.prototype.addCitation = function(index, noteIndex, ar } else if(citationItem.id) { zoteroItem = Zotero.Items.get(citationItem.id); } - if(zoteroItem) this.updateIndices[index] = true; + if(zoteroItem && index) this.updateIndices[index] = true; } // if no item, check if it was already reselected and otherwise handle as a missing item @@ -1741,7 +1860,7 @@ Zotero.Integration.Session.prototype.addCitation = function(index, noteIndex, ar if(this.reselectedItems[reselectKey]) { zoteroItem = Zotero.Items.get(this.reselectedItems[reselectKey]); citationItem.id = zoteroItem.id; - this.updateIndices[index] = true; + if(index) this.updateIndices[index] = true; break; } } @@ -1753,7 +1872,7 @@ Zotero.Integration.Session.prototype.addCitation = function(index, noteIndex, ar for(var j=0, m=citationItem.uris.length; j<m; j++) { var embeddedItem = this.embeddedItemsByURI[citationItem.uris[j]]; if(embeddedItem) { - citationItem.id = this.data.sessionID+"/"+embeddedItem.id; + citationItem.id = embeddedItem.id; success = true; break; } @@ -1769,9 +1888,15 @@ Zotero.Integration.Session.prototype.addCitation = function(index, noteIndex, ar } // assign a random string as an item ID - var anonymousID = itemData.id = Zotero.randomString(); + var anonymousID = Zotero.randomString(); + var globalID = itemData.id = citationItem.id = this.data.sessionID+"/"+anonymousID; this.embeddedItems[anonymousID] = itemData; - citationItem.id = this.data.sessionID+"/"+anonymousID; + + var surrogateItem = this.embeddedZoteroItems[anonymousID] = new Zotero.Item(); + Zotero.Utilities.itemFromCSLJSON(surrogateItem, itemData); + surrogateItem.cslItemID = globalID; + surrogateItem.cslURIs = citationItem.uris; + surrogateItem.cslItemData = itemData; } else { // if not already reselected, throw a MissingItemException throw(new Zotero.Integration.MissingItemException( @@ -1784,42 +1909,6 @@ Zotero.Integration.Session.prototype.addCitation = function(index, noteIndex, ar citationItem.id = zoteroItem.id; } } - - citation.properties.added = true; - citation.properties.zoteroIndex = index; - citation.properties.noteIndex = noteIndex; - this.citationsByIndex[index] = citation; - - // add to citationsByItemID and citationsByIndex - for(var i=0; i<citation.citationItems.length; i++) { - var citationItem = citation.citationItems[i]; - if(!this.citationsByItemID[citationItem.id]) { - this.citationsByItemID[citationItem.id] = [citation]; - this.bibliographyHasChanged = true; - } else { - var byItemID = this.citationsByItemID[citationItem.id]; - if(byItemID[byItemID.length-1].properties.zoteroIndex < index) { - // if index is greater than the last index, add to end - byItemID.push(citation); - } else { - // otherwise, splice in at appropriate location - for(var j=0; byItemID[j].properties.zoteroIndex < index && j<byItemID.length-1; j++) {} - byItemID.splice(j++, 0, citation); - } - } - } - - var needNewID = !citation.citationID || this.citationIDs[citation.citationID]; - if(needNewID || !this.oldCitationIDs[citation.citationID]) { - if(needNewID) { - Zotero.debug("Integration: "+citation.citationID+" ("+index+") needs new citationID"); - citation.citationID = Zotero.randomString(); - } - this.newIndices[index] = true; - this.updateIndices[index] = true; - } - Zotero.debug("Integration: Adding citationID "+citation.citationID); - this.citationIDs[citation.citationID] = true; } /** @@ -2542,17 +2631,6 @@ Zotero.Integration.URIMap.prototype.getURIsForItemID = function(id) { if(!this.itemIDURIs[id]) { this.itemIDURIs[id] = [Zotero.URI.getItemURI(Zotero.Items.get(id))]; } - - // Make sure that group relations are included - var uris = this.itemIDURIs[id]; - for(var i=0; i<uris.length; i++) { - var relations = Zotero.Relations.getByURIs(uris[i], Zotero.Item.linkedItemPredicate); - for(var j=0, n=relations.length; j<n; j++) { - var newUri = relations[j].object; - if(uris.indexOf(newUri) === -1) uris.push(newUri); - } - } - return this.itemIDURIs[id]; } @@ -2628,3 +2706,7 @@ Zotero.Integration.URIMap.prototype.getZoteroItemForURIs = function(uris) { return [zoteroItem, needUpdate]; } + +/** + * + */ +\ No newline at end of file diff --git a/chrome/content/zotero/xpcom/utilities.js b/chrome/content/zotero/xpcom/utilities.js @@ -33,9 +33,9 @@ */ const CSL_NAMES_MAPPINGS = { "author":"author", + "editor":"editor", "bookAuthor":"container-author", "composer":"composer", - "editor":"editor", "interviewer":"interviewer", "recipient":"recipient", "seriesEditor":"collection-editor", @@ -1194,6 +1194,8 @@ Zotero.Utilities = { /** * Converts an item from toArray() format to citeproc-js JSON + * @param {Zotero.Item} item + * @return {Object} The CSL item */ "itemToCSLJSON":function(item) { if(item instanceof Zotero.Item) { @@ -1298,5 +1300,112 @@ Zotero.Utilities = { //this._cache[item.id] = cslItem; return cslItem; + }, + + /** + * Converts an item in CSL JSON format to a Zotero tiem + * @param {Zotero.Item} item + * @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[zoteroType] == item.type) { + zoteroType = type; + break; + } + } + if(!zoteroType) zoteroType = "document"; + + var itemTypeID = Zotero.ItemTypes.getID(zoteroType); + if(isZoteroItem) { + item.setType(itemTypeID); + } else { + item.itemID = cslItem.id; + item.itemType = zoteroType; + } + + // map text fields + for(var variable in CSL_TEXT_MAPPINGS) { + if(variable in cslItem) { + for each(var field in CSL_TEXT_MAPPINGS[variable]) { + var fieldID = Zotero.ItemFields.getID(field); + if(Zotero.ItemFields.isBaseField(fieldID)) { + var newFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID); + if(newFieldID) fieldID = newFieldID; + } + + if(Zotero.ItemFields.isValidForType(fieldID, itemTypeID)) { + if(isZoteroItem) { + item.setField(fieldID, cslItem[variable], true); + } else { + item[field] = cslItem[variable]; + } + } + } + } + } + + // separate name variables + for(var field in CSL_NAMES_MAPPINGS) { + if(CSL_NAMES_MAPPINGS[field] in cslItem) { + var creatorTypeID = Zotero.CreatorTypes.getID(field); + if(!Zotero.CreatorTypes.isValidForItemType(creatorTypeID, itemTypeID)) { + creatorTypeID = Zotero.CreatorTypes.getPrimaryIDForType(itemTypeID); + } + + for each(var cslAuthor in cslItem[CSL_NAMES_MAPPINGS[field]]) { + var creator = isZoteroItem ? new Zotero.Creator() : {}; + if(cslAuthor.family || cslAuthor.given) { + if(cslAuthor.family) creator.lastName = cslAuthor.family; + if(cslAuthor.given) creator.firstName = cslAuthor.given; + } else if(cslAuthor.literal) { + creator.lastName = cslAuthor.literal; + creator.fieldMode = 1; + } else { + continue; + } + + if(isZoteroItem) { + item.setCreator(item.getCreators().length, creator, creatorTypeID); + } else { + creator.creatorType = Zotero.CreatorTypes.getName(creatorTypeID); + item.creators.push(creator); + } + } + } + } + + // get date variables + for(var variable in CSL_DATE_MAPPINGS) { + if(variable in cslItem) { + var field = CSL_DATE_MAPPINGS[variable], + fieldID = Zotero.ItemFields.getID(field), + cslDate = cslItem[variable]; + var fieldID = Zotero.ItemFields.getID(field); + if(Zotero.ItemFields.isBaseField(fieldID)) { + var newFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID); + if(newFieldID) fieldID = newFieldID; + } + + if(Zotero.ItemFields.isValidForType(fieldID, itemTypeID)) { + var date = ""; + if(cslDate.literal) { + date = cslDate.literal; + } else if(cslDate.year) { + if(cslDate.month) cslDate.month--; + date = Zotero.Date.formatDate(cslDate); + if(cslDate.season) date = cslDate.season+date; + } + + if(isZoteroItem) { + item.setField(fieldID, date); + } else { + item[field] = date; + } + } + } + } } } diff --git a/chrome/content/zotero/xpcom/utilities_translate.js b/chrome/content/zotero/xpcom/utilities_translate.js @@ -226,14 +226,27 @@ Zotero.Utilities.Translate.prototype.processDocuments = function(urls, processor } } - var translate = this._translate; - var loc = translate.document.location; + if(Zotero.isFx) { + var translate = this._translate; + if(translate.document) { + var protocol = translate.document.location.protocol, + host = translate.document.location.host; + } else { + var url = Components.classes["@mozilla.org/network/io-service;1"] + .getService(Components.interfaces.nsIIOService) + .newURI(typeof translate._sandboxLocation === "object" ? + translate._sandboxLocation.location : translate._sandboxLocation, null, null), + protocol = url.scheme+":", + host = url.host; + } + } + translate.incrementAsyncProcesses("Zotero.Utilities.Translate#processDocuments"); var hiddenBrowser = Zotero.HTTP.processDocuments(urls, function(doc) { if(!processor) return; var newLoc = doc.location; - if(Zotero.isFx && (loc.protocol !== newLoc.protocol || loc.host !== newLoc.host)) { + if(Zotero.isFx && (protocol != newLoc.protocol || host != newLoc.host)) { // Cross-site; need to wrap processor(Zotero.Translate.SandboxManager.Fx5DOMWrapper(doc), newLoc.toString()); } else { @@ -274,7 +287,7 @@ Zotero.Utilities.Translate.prototype.retrieveDocument = function(url) { } var hiddenBrowser = Zotero.Browser.createHiddenBrowser(); - if(translate.cookieSandbox) translate.cookieSandbox.attachToBrowser(hiddenBrowser); + if(this._translate.cookieSandbox) this._translate.cookieSandbox.attachToBrowser(hiddenBrowser); hiddenBrowser.addEventListener("pageshow", listener, true); hiddenBrowser.loadURI(url); @@ -327,9 +340,9 @@ Zotero.Utilities.Translate.prototype.retrieveSource = function(url, body, header var listener = function() { finished = true }; if(body) { - var xmlhttp = Zotero.HTTP.doPost(url, body, listener, headers, responseCharset, translate.cookieSandbox); + var xmlhttp = Zotero.HTTP.doPost(url, body, listener, headers, responseCharset, this._translate.cookieSandbox); } else { - var xmlhttp = Zotero.HTTP.doGet(url, listener, responseCharset, translate.cookieSandbox); + var xmlhttp = Zotero.HTTP.doGet(url, listener, responseCharset, this._translate.cookieSandbox); } while(!finished) mainThread.processNextEvent(true); diff --git a/chrome/locale/af-ZA/zotero/about.dtd b/chrome/locale/af-ZA/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "weergawe"> <!ENTITY zotero.createdby "Geskep deur:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Direkteure:"> <!ENTITY zotero.developers "Ontwikkelaars:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Uitvoerende vervaardiger:"> <!ENTITY zotero.thanks "Spesiale dank:"> <!ENTITY zotero.about.close "Sluit"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/af-ZA/zotero/preferences.dtd b/chrome/locale/af-ZA/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Klein"> <!ENTITY zotero.preferences.fontSize.medium "Medium"> <!ENTITY zotero.preferences.fontSize.large "Groot"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Diverse"> diff --git a/chrome/locale/af-ZA/zotero/zotero.dtd b/chrome/locale/af-ZA/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "New Item"> diff --git a/chrome/locale/af-ZA/zotero/zotero.properties b/chrome/locale/af-ZA/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/ar/zotero/about.dtd b/chrome/locale/ar/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "الإصدار"> <!ENTITY zotero.createdby "تم انشاؤه بواسطة:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "المديرين:"> <!ENTITY zotero.developers "المطورين:"> <!ENTITY zotero.alumni "الخريجين:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "المنتج التنفيذي:"> <!ENTITY zotero.thanks "شكر خاص:"> <!ENTITY zotero.about.close "إغلاق"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/ar/zotero/preferences.dtd b/chrome/locale/ar/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "صغير"> <!ENTITY zotero.preferences.fontSize.medium "متوسط"> <!ENTITY zotero.preferences.fontSize.large "كبير"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "حجم خط الملاحظات:"> <!ENTITY zotero.preferences.miscellaneous "أخرى"> diff --git a/chrome/locale/ar/zotero/zotero.dtd b/chrome/locale/ar/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "إرفاق نسخة من ملف مخزن..."> <!ENTITY zotero.items.menu.attach.fileLink "إرفاق ارتباط لملف..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "تكرار العنصر المحدد"> <!ENTITY zotero.toolbar.newItem.label "عنصر جديد"> diff --git a/chrome/locale/ar/zotero/zotero.properties b/chrome/locale/ar/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=التراجع integration.removeBibEntry.title=المراجع المحددة مستشهد بها في المستند. integration.removeBibEntry.body=هل ترغب في حذفه من قائمة المراجع؟ +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=استشهاد فارغ integration.emptyCitationWarning.body=الاقتباس الذي قمت بتحديده سيكون فارغ في النمط المحدد حاليا. هل ترغب في إضافته؟ @@ -611,6 +614,7 @@ integration.corruptBibliography=يوجد عطب في رمز حقل زوتيرو integration.corruptBibliography.description=ستظهر جميع العناصر المستشهد بها في النص في قائمة المراجع الجديدة، ولكن سوف تفقد التعديلات التي أجريتها في نافذة "تحرير الببليوجرافية". integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=هل تريد تنصيب النمط "%1$S" من %2$S؟ styles.updateStyle=هل تريد تحديث النمط الموجود"%1$S" مع "%2$S" من %3$S؟ @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=فشلت عملية رفع المل sync.storage.error.webdav.sslCertificateError=خطأ في شهادة SSL عند الاتصال بـ %S. sync.storage.error.webdav.sslConnectionError=خطأ في اتصال SSL عند الاتصال بـ to %S. sync.storage.error.webdav.loadURLForMoreInfo=لمزيد من المعلومات قم بزيارة موقع WebDAV. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=لقد بلغت الحد الاقصى من حصتك في السعة التخزينية للملفات. لن يتم رفع بعض الملفات. ولكن سيتم مواصلة تزامن البيانات الاخرى لزوتيرو الى الخادم. sync.storage.error.zfs.personalQuotaReached2=للحصول على مساحة تخزين إضافية اطلع على إعدادات حسابك في موقع zotero.org. sync.storage.error.zfs.groupQuotaReached1=لقد بلغت مجموعة المشاركة لزوتيرو '%S' الحد الاقصى من حصتك في السعة التخزينية للملفات. لن يتم رفع بعض الملفات. ولكن سيتم مواصلة تزامن البيانات الاخرى لزوتيرو الى الخادم. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/bg-BG/zotero/about.dtd b/chrome/locale/bg-BG/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "версия"> <!ENTITY zotero.createdby "Създаден от:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Директори:"> <!ENTITY zotero.developers "Разработчици:"> <!ENTITY zotero.alumni "Възпитаници:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Изпълнителен продуцент:"> <!ENTITY zotero.thanks "Специални благодарности:"> <!ENTITY zotero.about.close "Затваряне"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/bg-BG/zotero/preferences.dtd b/chrome/locale/bg-BG/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Малък"> <!ENTITY zotero.preferences.fontSize.medium "Среден"> <!ENTITY zotero.preferences.fontSize.large "Голям"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Размер на шрифта в бележките:"> <!ENTITY zotero.preferences.miscellaneous "Разни"> diff --git a/chrome/locale/bg-BG/zotero/zotero.dtd b/chrome/locale/bg-BG/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Прилага съхранено копие на файл..."> <!ENTITY zotero.items.menu.attach.fileLink "Прилага връзка към файл"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Дуплицира избраните записи"> <!ENTITY zotero.toolbar.newItem.label "Нов запис"> diff --git a/chrome/locale/bg-BG/zotero/zotero.properties b/chrome/locale/bg-BG/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Празен цитат integration.emptyCitationWarning.body=Цитатът който сте избрали ще бъден празен, след като се форматира според настоящият стил. Сигурни ли сте, че искате да го добавите? @@ -611,6 +614,7 @@ integration.corruptBibliography=Кода на полето на Зотеро з integration.corruptBibliography.description=Всички записи цитирани в текста ще се появят в новата библиография, с изключение на промените които сте направили в диалога за редактиран на библиографията. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Да бъде ли инсталиран стила "%1$S" от %2$S? styles.updateStyle=Да бъде ли осъвременен съществуващия стил "%1$S" с "%2$S" от %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=файлът не беше каче sync.storage.error.webdav.sslCertificateError=Грешка в SSL сертификата по време на свързването с %S. sync.storage.error.webdav.sslConnectionError=Грешка в SSL връзката по време на свързването с %S. sync.storage.error.webdav.loadURLForMoreInfo=Заредете WebDAV адреса в браузера за повече информация. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Вие достигнахте лимита на квотата за съхранение на файлове. Част от файловете не бяха качени. Останалите дани на Зотеро ще бъдат синхронизирани със сървъра. sync.storage.error.zfs.personalQuotaReached2=Вижте параметрите на вашият zotero.org акаунт за допълнителни опции за съхранение. sync.storage.error.zfs.groupQuotaReached1=Групата %S достигна лимита на квотата си за съхранение на файлове. Част от файловете не бяха качени. Останалите дани на Зотеро ще бъдат синхронизирани със сървъра. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/ca-AD/zotero/about.dtd b/chrome/locale/ca-AD/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versió"> <!ENTITY zotero.createdby "Creat per:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directors:"> <!ENTITY zotero.developers "Desenvolupadors:"> <!ENTITY zotero.alumni "Alumnes:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Productor executiu:"> <!ENTITY zotero.thanks "Agraïments especials:"> <!ENTITY zotero.about.close "Tanca"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/ca-AD/zotero/preferences.dtd b/chrome/locale/ca-AD/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Petita"> <!ENTITY zotero.preferences.fontSize.medium "Mitjana"> <!ENTITY zotero.preferences.fontSize.large "Gran"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Miscel·lania"> diff --git a/chrome/locale/ca-AD/zotero/zotero.dtd b/chrome/locale/ca-AD/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplica l&apos;element seleccionat"> <!ENTITY zotero.toolbar.newItem.label "Nou element"> diff --git a/chrome/locale/ca-AD/zotero/zotero.properties b/chrome/locale/ca-AD/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Instal·la estil "%1$S" des de %2$S? styles.updateStyle=Actualitza l'estil existent "%1$S" amb "%2$S" des de %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/cs-CZ/zotero/about.dtd b/chrome/locale/cs-CZ/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "verze"> <!ENTITY zotero.createdby "Vytvořili:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Vedoucí:"> <!ENTITY zotero.developers "Vývojáři:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Výkonný producent:"> <!ENTITY zotero.thanks "Zvláštní poděkování:"> <!ENTITY zotero.about.close "Zavřít"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/cs-CZ/zotero/preferences.dtd b/chrome/locale/cs-CZ/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Malá"> <!ENTITY zotero.preferences.fontSize.medium "Střední"> <!ENTITY zotero.preferences.fontSize.large "Velká"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Velikost písma poznámek:"> <!ENTITY zotero.preferences.miscellaneous "Různé"> diff --git a/chrome/locale/cs-CZ/zotero/zotero.dtd b/chrome/locale/cs-CZ/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Přiložit uloženou kopii souboru..."> <!ENTITY zotero.items.menu.attach.fileLink "Přiložit odkaz na soubor..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplikovat vybranou položku"> <!ENTITY zotero.toolbar.newItem.label "Nová položka"> diff --git a/chrome/locale/cs-CZ/zotero/zotero.properties b/chrome/locale/cs-CZ/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Prázdná citace integration.emptyCitationWarning.body=Citace, kterou jste specifikovali, by byla podle aktuálně zvoleného stylu prázdná. Jste si jisti, že ji chcete přidat? @@ -611,6 +614,7 @@ integration.corruptBibliography=Kód pole Zotera pro vaší bibliografii byl po integration.corruptBibliography.description=Všechny položky v textu se objeví v nové bibliografii, ale změny provedené v dialogu "Editovat bibliografii" budou ztraceny. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Instalovat styl "%1$S" z %2$S? styles.updateStyle=Aktualizovat existující styl "%1$S" stylem "%2$S" z %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Nahrání souboru selhalo z důvodu sync.storage.error.webdav.sslCertificateError=Chyba SSL certifikátu při připojování k %S. sync.storage.error.webdav.sslConnectionError=Chyba SSL spojení při připojování k %S. sync.storage.error.webdav.loadURLForMoreInfo=Nahrajte vaší WebDAV URL do prohlížeče pro více informací. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Dosáhli jste vaší kvóty v Zotero úložišti souborů. Některé soubory nebudou nahrány. Ostatní data Zotera se budou i nadále synchronizovat se serverem. sync.storage.error.zfs.personalQuotaReached2=Pro zobrazení dalších možností ukládání použijte nastavení účtu na zotero.org. sync.storage.error.zfs.groupQuotaReached1=Skupina '%S' dosáhla její kvóty v Zotero úložišti souborů. Některé soubory nebyly nahrány. Ostatní data Zotera se budou i nadále synchronizovat se serverem. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/da-DK/zotero/about.dtd b/chrome/locale/da-DK/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "version"> <!ENTITY zotero.createdby "Created By:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directors:"> <!ENTITY zotero.developers "Developers:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Executive Producer:"> <!ENTITY zotero.thanks "Special Thanks:"> <!ENTITY zotero.about.close "Close"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/da-DK/zotero/preferences.dtd b/chrome/locale/da-DK/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Small"> <!ENTITY zotero.preferences.fontSize.medium "Medium"> <!ENTITY zotero.preferences.fontSize.large "Large"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Miscellaneous"> diff --git a/chrome/locale/da-DK/zotero/zotero.dtd b/chrome/locale/da-DK/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "New Item"> diff --git a/chrome/locale/da-DK/zotero/zotero.properties b/chrome/locale/da-DK/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/de/zotero/about.dtd b/chrome/locale/de/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "Version"> <!ENTITY zotero.createdby "Erstellt von:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Direktoren:"> <!ENTITY zotero.developers "Entwickler:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Produktionsleiter:"> <!ENTITY zotero.thanks "Besonderer Dank gebührt:"> <!ENTITY zotero.about.close "Schließen"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/de/zotero/preferences.dtd b/chrome/locale/de/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Klein"> <!ENTITY zotero.preferences.fontSize.medium "Mittel"> <!ENTITY zotero.preferences.fontSize.large "Groß"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Schriftgröße Notizen:"> <!ENTITY zotero.preferences.miscellaneous "Verschiedenes"> diff --git a/chrome/locale/de/zotero/zotero.dtd b/chrome/locale/de/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Gespeicherte Kopie der Datei anhängen..."> <!ENTITY zotero.items.menu.attach.fileLink "Link auf Datei anhängen..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Ausgewählten Eintrag duplizieren"> <!ENTITY zotero.toolbar.newItem.label "Neuer Eintrag"> diff --git a/chrome/locale/de/zotero/zotero.properties b/chrome/locale/de/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Leere Zitation integration.emptyCitationWarning.body=Die ausgewählte Zitation wäre im aktuell ausgewählten Stil leer. Sind Sie sicher, dass Sie sie hinzufügen wollen? @@ -611,6 +614,7 @@ integration.corruptBibliography=Der Zotero-Feld-Code für Ihr Literaturverzeichn integration.corruptBibliography.description=Alle im Text zitierten Einträge werden im neuen Literaturverzeichnis auftauchen, aber Veränderungen, die Sie im "Literaturverzeichnis bearbeiten"-Dialog vorgenommen haben, werden verloren gehen. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Stil "%1$S" von %2$S? installieren. styles.updateStyle=Bestehenden Stil "%1$S" mit "%2$S" von %3$S updaten? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Ein Datei-Upload ist aufgrund unzure sync.storage.error.webdav.sslCertificateError=SSL-Zertifikat-Fehler beim Verbinden mit %S. sync.storage.error.webdav.sslConnectionError=SSL-Verbindungsfehler beim Verbinden mit %S. sync.storage.error.webdav.loadURLForMoreInfo=Laden Sie Ihre WebDAV-URL im Browser für weitere Informationen. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Sie haben Ihr Zotero-Dateispeicherungskontingent ausgeschöpft. Einige Dateien wurden nicht hochgeladen. Andere Zotero-Daten werden weiterhin zum Server synchronisiert. sync.storage.error.zfs.personalQuotaReached2=Gehen Sie zur Ihren zotero.org Accounteinstellungen für weitere Speicheroptionen. sync.storage.error.zfs.groupQuotaReached1=Die Gruppe '%S' hat ihr Zotero-Dateispeicherungskontingent ausgeschöpft. Einige Dateien wurden nicht hochgeladen. Anderen Zotero-Daten werden weiterhin zum Server synchronisiert. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/el-GR/zotero/about.dtd b/chrome/locale/el-GR/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "έκδοση"> <!ENTITY zotero.createdby "Δημιουργήθηκε Από:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Διευθυντές:"> <!ENTITY zotero.developers "Προγραμματιστές:"> <!ENTITY zotero.alumni "Απόφοιτοι:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Εκτελεστικός Παραγωγός:"> <!ENTITY zotero.thanks "Ειδικές Ευχαριστίες:"> <!ENTITY zotero.about.close "Κλείσιμο"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/el-GR/zotero/preferences.dtd b/chrome/locale/el-GR/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Small"> <!ENTITY zotero.preferences.fontSize.medium "Medium"> <!ENTITY zotero.preferences.fontSize.large "Large"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Miscellaneous"> diff --git a/chrome/locale/el-GR/zotero/zotero.dtd b/chrome/locale/el-GR/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "New Item"> diff --git a/chrome/locale/el-GR/zotero/zotero.properties b/chrome/locale/el-GR/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button = Revert integration.removeBibEntry.title = The selected references is cited within your document. integration.removeBibEntry.body = Are you sure you want to omit it from your bibliography? +integration.cited = Cited +integration.cited.loading = Loading Cited Items… +integration.ibid = ibid integration.emptyCitationWarning.title = Blank Citation integration.emptyCitationWarning.body = The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? diff --git a/chrome/locale/es-ES/zotero/about.dtd b/chrome/locale/es-ES/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versión"> <!ENTITY zotero.createdby "Una creación de:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directores:"> <!ENTITY zotero.developers "Desarrolladores:"> <!ENTITY zotero.alumni "Eméritos:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Productor ejecutivo:"> <!ENTITY zotero.thanks "Agradecimientos especiales:"> <!ENTITY zotero.about.close "Cerrar"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/es-ES/zotero/preferences.dtd b/chrome/locale/es-ES/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Pequeña"> <!ENTITY zotero.preferences.fontSize.medium "Mediana"> <!ENTITY zotero.preferences.fontSize.large "Grande"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Tamaño de letra en las notas:"> <!ENTITY zotero.preferences.miscellaneous "Miscelánea"> diff --git a/chrome/locale/es-ES/zotero/zotero.dtd b/chrome/locale/es-ES/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Añadir copia guardada del fichero..."> <!ENTITY zotero.items.menu.attach.fileLink "Añadir enlace al fichero..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicar el ítem seleccionado"> <!ENTITY zotero.toolbar.newItem.label "Nuevo ítem"> diff --git a/chrome/locale/es-ES/zotero/zotero.properties b/chrome/locale/es-ES/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=¿Instalar el estilo "%1$S" desde %2$S? styles.updateStyle=¿Actualizar el estilo existente "%1$S" con "%2$S" desde %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Falló una subida de fichero por fal sync.storage.error.webdav.sslCertificateError=Error de certificado SSL al conectar con %S sync.storage.error.webdav.sslConnectionError=Error de conexión SSL al conectar con %S sync.storage.error.webdav.loadURLForMoreInfo=Carga tu URL WebDAV en el navegador para más información. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/et-EE/zotero/about.dtd b/chrome/locale/et-EE/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versioon"> <!ENTITY zotero.createdby "Loodud:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Juhatajad:"> <!ENTITY zotero.developers "Arendajad:"> <!ENTITY zotero.alumni "Kaastöötajad:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Vastutav produtsent:"> <!ENTITY zotero.thanks "Tänud:"> <!ENTITY zotero.about.close "Sulge"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/et-EE/zotero/preferences.dtd b/chrome/locale/et-EE/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Väike"> <!ENTITY zotero.preferences.fontSize.medium "Keskmine"> <!ENTITY zotero.preferences.fontSize.large "Suur"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Märkuse fondisuurus"> <!ENTITY zotero.preferences.miscellaneous "Mitmesugust"> diff --git a/chrome/locale/et-EE/zotero/zotero.dtd b/chrome/locale/et-EE/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Lisada fail kirje manusena"> <!ENTITY zotero.items.menu.attach.fileLink "Lisada link failile"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Valitud kirje duplitseerimine"> <!ENTITY zotero.toolbar.newItem.label "Uus kirje"> diff --git a/chrome/locale/et-EE/zotero/zotero.properties b/chrome/locale/et-EE/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Tühi viide. integration.emptyCitationWarning.body=Viide, mille valisite, oleks praeguse viitestiili järgi tühi. Olete kindel, et soovite seda lisada? @@ -611,6 +614,7 @@ integration.corruptBibliography=Zotero väljakood, mis vastab sellele bibliograa integration.corruptBibliography.description=Kõik kirjed tekstis ilmuvad uude bibliograafiasse, kuid muudatused, mida tegite "Toimeta bibliograafiat" all, lähevad kaotsi. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Paigaldada stiil "%1$S" asukohast %2$S? styles.updateStyle=uuendada olemasolevat stiili "%1$S" stiiliks "%2$S" asukohast %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Faili üleslaadimine ebaõnnestus, s sync.storage.error.webdav.sslCertificateError=%S ühendumisel tekkis SSL sertifikaadi viga. sync.storage.error.webdav.sslConnectionError=%S ühendumisel tekkis SSL ühenduse viga. sync.storage.error.webdav.loadURLForMoreInfo=Edasiseks infoks laadige WebDAV URL brauseris. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Zotero serveris teile eraldatud laoruum on täis saanud. Mõningaid faile ei laaditud üles, ülejäänud zotero andmeid aga sünkroonitakse endiselt. sync.storage.error.zfs.personalQuotaReached2=Suurema laoruumi saamiseks vaadake enda zotero.org kontot. sync.storage.error.zfs.groupQuotaReached1=Grupp '%S' on ära kasutanud serveris eraldatud laoruumi. Mõningaid faile ei laaditud üles, ülejäänud zotero andmeid aga sünkroonitakse endiselt. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/eu-ES/zotero/about.dtd b/chrome/locale/eu-ES/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "bertsioa"> <!ENTITY zotero.createdby "Egileak:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Zuzendariak:"> <!ENTITY zotero.developers "Garatzaileak:"> <!ENTITY zotero.alumni "Ikasleak:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Executive Producer:"> <!ENTITY zotero.thanks "Mila esker:"> <!ENTITY zotero.about.close "Gora askatasuna"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/eu-ES/zotero/preferences.dtd b/chrome/locale/eu-ES/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "txikia"> <!ENTITY zotero.preferences.fontSize.medium "erdia"> <!ENTITY zotero.preferences.fontSize.large "handia"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "font neurria oharretan:"> <!ENTITY zotero.preferences.miscellaneous "Bestelakoak"> diff --git a/chrome/locale/eu-ES/zotero/zotero.dtd b/chrome/locale/eu-ES/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Gordetako dokumentu baten kopia erantsi"> <!ENTITY zotero.items.menu.attach.fileLink "Fitxategi baten helbidea erantsi"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Hautatutako itema bikoiztu"> <!ENTITY zotero.toolbar.newItem.label "Item berria"> diff --git a/chrome/locale/eu-ES/zotero/zotero.properties b/chrome/locale/eu-ES/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Aipamen hutsa integration.emptyCitationWarning.body=Zuk zehaztu duzun erreferentzia hutsik geratuko litzateke oraingo estiloaren arabera. Benetan gehitu? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Instalatu "%1$S" estilo %2$S-tik? styles.updateStyle=Eguneratu dagoen "%1$S" estilo "%2$S" %3$S-tik erabiliz? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Errorea: A file upload failed due to sync.storage.error.webdav.sslCertificateError=Errorea: SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=Errorea: SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Zuretzat gordetzen den lekua Zotero zerbitzarian gainezka dago. Zenbait fitxategi ez dira hara bidali. Besteak sinkronizatzen jarraituko dira. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/fa/zotero/about.dtd b/chrome/locale/fa/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "نگارش"> <!ENTITY zotero.createdby "محصولی از:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "مدیران:"> <!ENTITY zotero.developers "توسعه‌دهندگان:"> <!ENTITY zotero.alumni "فارغ‌التحصیلان:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "مدیر اجرایی:"> <!ENTITY zotero.thanks "تشکر ویژه از:"> <!ENTITY zotero.about.close "بستن"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/fa/zotero/preferences.dtd b/chrome/locale/fa/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "کوچک"> <!ENTITY zotero.preferences.fontSize.medium "متوسط"> <!ENTITY zotero.preferences.fontSize.large "بزرگ"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "اندازه قلم یادداشت:"> <!ENTITY zotero.preferences.miscellaneous "متفرقه"> diff --git a/chrome/locale/fa/zotero/zotero.dtd b/chrome/locale/fa/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "پیوست کردن رونوشت پرونده..."> <!ENTITY zotero.items.menu.attach.fileLink "پیوست کردن پیوند به پرونده..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "ساخت رونوشت از این آیتم"> <!ENTITY zotero.toolbar.newItem.label "آیتم‌ جدید"> diff --git a/chrome/locale/fa/zotero/zotero.properties b/chrome/locale/fa/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=برگرداندن integration.removeBibEntry.title=مرجع انتخاب شده در سند شما مورد استناد قرار گرفته است. integration.removeBibEntry.body=آیا واقعا می‌خواهید آن را از کتابنامه حذف کنید؟ +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=یادکرد خالی integration.emptyCitationWarning.body=یادکرد تعیین شده در شیوه فعلی خالی خواهد بود. آیا واقعا می‌خواهید آن را بیفزایید؟ @@ -611,6 +614,7 @@ integration.corruptBibliography=فیلد مربوط به کتابنامه خرا integration.corruptBibliography.description=همه آیتم‌های مورد استناد در متن در کتابنامه جدید ظاهر خواهند شد، اما تغییراتی که در پنجره گفتگوی "ویرایش کتابنامه" انجام داده‌اید از بین خواهند رفت. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=شیوه‌نامه "%1$S" از %2$S نصب شود؟ styles.updateStyle=شیوه‌نامه "%1$S" با "%2$S" از %3$S روزآمد شود؟ @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=بارگذاری یک پرونده sync.storage.error.webdav.sslCertificateError=خطای گواهی SSL در زمان اتصال به %S. sync.storage.error.webdav.sslConnectionError=خطای اتصال SSL در زمان وصل شدن به %S. sync.storage.error.webdav.loadURLForMoreInfo=برای اطلاعات بیشتر WebDAV URL خود را در مرورگر وارد کنید. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=سهمیه «ذخیره پرونده‌های زوترو»ی شما پر شده است. برخی پرونده‌ها، بارگذاری نشدند. همزمان‌سازی سایر داده‌های زوترو با کارگزار همچنان انجام خواهد شد. sync.storage.error.zfs.personalQuotaReached2=تنظیمات حساب کاربری خود در zotero.org را برای گزینه‌های ذخیره بیشتر ببینید. sync.storage.error.zfs.groupQuotaReached1=سهمیه «ذخیره پرونده‌های زوترو» گروه '%S' پر شده است. برخی پرونده‌ها باگذاری نشدند. همزمان‌سازی سایر داده‌های زوترو با کارگزار، همچنان انجام خواهد شد. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/fi-FI/zotero/about.dtd b/chrome/locale/fi-FI/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "version"> <!ENTITY zotero.createdby "Created By:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directors:"> <!ENTITY zotero.developers "Developers:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Executive Producer:"> <!ENTITY zotero.thanks "Special Thanks:"> <!ENTITY zotero.about.close "Close"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/fi-FI/zotero/preferences.dtd b/chrome/locale/fi-FI/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Small"> <!ENTITY zotero.preferences.fontSize.medium "Medium"> <!ENTITY zotero.preferences.fontSize.large "Large"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Miscellaneous"> diff --git a/chrome/locale/fi-FI/zotero/zotero.dtd b/chrome/locale/fi-FI/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "New Item"> diff --git a/chrome/locale/fi-FI/zotero/zotero.properties b/chrome/locale/fi-FI/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/fr-FR/zotero/about.dtd b/chrome/locale/fr-FR/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "version"> <!ENTITY zotero.createdby "Créée par :"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directeurs :"> <!ENTITY zotero.developers "Développeurs :"> <!ENTITY zotero.alumni "Anciens collaborateurs :"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Producteur délégué :"> <!ENTITY zotero.thanks "Remerciements particuliers :"> <!ENTITY zotero.about.close "Fermer"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/fr-FR/zotero/preferences.dtd b/chrome/locale/fr-FR/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Petite"> <!ENTITY zotero.preferences.fontSize.medium "Moyenne"> <!ENTITY zotero.preferences.fontSize.large "Grande"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Taille des caractères des notes :"> <!ENTITY zotero.preferences.miscellaneous "Divers"> diff --git a/chrome/locale/fr-FR/zotero/zotero.dtd b/chrome/locale/fr-FR/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Joindre une copie enregistrée du fichier…"> <!ENTITY zotero.items.menu.attach.fileLink "Joindre un lien vers le fichier…"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Dupliquer le document sélectionné"> <!ENTITY zotero.toolbar.newItem.label "Nouveau document"> diff --git a/chrome/locale/fr-FR/zotero/zotero.properties b/chrome/locale/fr-FR/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Annuler la modification integration.removeBibEntry.title=La référence sélectionnée est citée dans votre document. integration.removeBibEntry.body=Voulez-vous vraiment l'omettre de votre bibliographie ? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Citation vierge integration.emptyCitationWarning.body=La citation indiquée serait vide dans le style actuellement sélectionné. Voulez-vous vraiment l'ajouter ? @@ -611,6 +614,7 @@ integration.corruptBibliography=Le code de champ Zotero pour votre bibliographie integration.corruptBibliography.description=Tous les documents cités dans le texte figureront dans la nouvelle bibliographie mais les modifications réalisées avec la boîte de dialogue "Éditer la bibliographie" serons perdues. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Installer le style "%1$S" à partir de %2$S ? styles.updateStyle=Actualiser le style "%1$S" existant avec "%2$S" à partir de %3$S ? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Une mise en ligne de fichier a écho sync.storage.error.webdav.sslCertificateError=Une erreur de certificat SSL s'est produite en se connectant à %S. sync.storage.error.webdav.sslConnectionError=Une erreur de connexion SSL s'est produite en se connectant à %S. sync.storage.error.webdav.loadURLForMoreInfo=Entrez votre URL WebDAV dans votre navigateur pour plus d'information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Vous avez atteint votre quota de stockage de fichiers Zotero. Certains fichiers n'ont pas été mis en ligne. D'autres données Zotero continueront d'être synchronisées avec le serveur. sync.storage.error.zfs.personalQuotaReached2=Consultez les paramètres de votre compte zotero.org pour plus d'options de stockage. sync.storage.error.zfs.groupQuotaReached1=Le groupe '%S' a atteint son quota de stockage de fichiers Zotero. Certains fichiers n'ont pas été mis en ligne. D'autres données Zotero continueront d'être synchronisées avec le serveur. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/gl-ES/zotero/about.dtd b/chrome/locale/gl-ES/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versión"> <!ENTITY zotero.createdby "Creado por:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directores:"> <!ENTITY zotero.developers "Desenvolvedores"> <!ENTITY zotero.alumni "Antigos Alumnos:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Produtor Executivo:"> <!ENTITY zotero.thanks "Agradecementos Especiais:"> <!ENTITY zotero.about.close "Pechar"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/gl-ES/zotero/preferences.dtd b/chrome/locale/gl-ES/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Pequena"> <!ENTITY zotero.preferences.fontSize.medium "Mediana"> <!ENTITY zotero.preferences.fontSize.large "Grande"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Tamaño da fonte das Notas:"> <!ENTITY zotero.preferences.miscellaneous "Miscelanea"> diff --git a/chrome/locale/gl-ES/zotero/zotero.dtd b/chrome/locale/gl-ES/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Anexar Copia Almacenada do Arquivo..."> <!ENTITY zotero.items.menu.attach.fileLink "Anexar Ligazón ao Arquivo..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicar Elementos Seleccionados"> <!ENTITY zotero.toolbar.newItem.label "Novo Elemento"> diff --git a/chrome/locale/gl-ES/zotero/zotero.properties b/chrome/locale/gl-ES/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Cita en Branco integration.emptyCitationWarning.body=A cita que indicou estaría baleira no estilo seleccionado actualmente. Está seguro que desexa engadila? @@ -611,6 +614,7 @@ integration.corruptBibliography=O código de campo Zotero da súa bibliografía integration.corruptBibliography.description=Todos os artigos citados no texto aparecerán na nova bibliografía, mais se perderán as modificacións feitas no diálogo "Editar Bibliografía". integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Instalar o estilo "%1$S" desde %2$S? styles.updateStyle=Actualizar o estilo"%1$S" con "%2$S" desde %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Fallou unha carga de arquivos debido sync.storage.error.webdav.sslCertificateError=Erro de certificado SSL na conexión con %S. sync.storage.error.webdav.sslConnectionError=Erro de conexión SSL ao conectar con %S. sync.storage.error.webdav.loadURLForMoreInfo=Cargue a súa URL WebDAV no navegador para máis información. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Vostede alcanzou a súa cota de Almacenamento de Arquivos de Zotero. Algúns arquivos non foron enviados. Outros datos Zotero continuarán a sincronización co servidor. sync.storage.error.zfs.personalQuotaReached2=Vexa a configuración da súa conta zotero.org para as opcións de almacenamento adicional. sync.storage.error.zfs.groupQuotaReached1=O grupo '%S' alcanzou a cota de Almacenamento de Arquivos de Zotero . Algúns arquivos non foron enviados. Outros datos de Zotero continuarán a sincronización co servidor. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/he-IL/zotero/about.dtd b/chrome/locale/he-IL/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "גירסה"> <!ENTITY zotero.createdby ":נוצר על ידי"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors ":במאים"> <!ENTITY zotero.developers ":מפתחים"> <!ENTITY zotero.alumni ":בוגרים"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer ":מפיק בפועל"> <!ENTITY zotero.thanks ":תודות מיוחדות"> <!ENTITY zotero.about.close "סגור"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/he-IL/zotero/preferences.dtd b/chrome/locale/he-IL/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "קטן"> <!ENTITY zotero.preferences.fontSize.medium "בינוני"> <!ENTITY zotero.preferences.fontSize.large "גדול"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "שונות"> diff --git a/chrome/locale/he-IL/zotero/zotero.dtd b/chrome/locale/he-IL/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "פריט חדש"> diff --git a/chrome/locale/he-IL/zotero/zotero.properties b/chrome/locale/he-IL/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/hr-HR/zotero/about.dtd b/chrome/locale/hr-HR/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "inačica"> <!ENTITY zotero.createdby "Izradili:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Ravnatelji:"> <!ENTITY zotero.developers "Razvojni tim:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Izvršni producent:"> <!ENTITY zotero.thanks "Posebna zahvala:"> <!ENTITY zotero.about.close "Zatvori"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/hr-HR/zotero/preferences.dtd b/chrome/locale/hr-HR/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Small"> <!ENTITY zotero.preferences.fontSize.medium "Medium"> <!ENTITY zotero.preferences.fontSize.large "Large"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Miscellaneous"> diff --git a/chrome/locale/hr-HR/zotero/zotero.dtd b/chrome/locale/hr-HR/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "New Item"> diff --git a/chrome/locale/hr-HR/zotero/zotero.properties b/chrome/locale/hr-HR/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/hu-HU/zotero/about.dtd b/chrome/locale/hu-HU/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "verzió"> <!ENTITY zotero.createdby "Létrehozta:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Igazgatók:"> <!ENTITY zotero.developers "Fejlesztők:"> <!ENTITY zotero.alumni "Korábbi munkatársak:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Producer:"> <!ENTITY zotero.thanks "Külön köszönet:"> <!ENTITY zotero.about.close "Bezárás"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/hu-HU/zotero/preferences.dtd b/chrome/locale/hu-HU/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Kicsi"> <!ENTITY zotero.preferences.fontSize.medium "Közepes"> <!ENTITY zotero.preferences.fontSize.large "Nagy"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Jegyzet betűmérete:"> <!ENTITY zotero.preferences.miscellaneous "Egyéb"> diff --git a/chrome/locale/hu-HU/zotero/zotero.dtd b/chrome/locale/hu-HU/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Helyben tárolt példány csatolása"> <!ENTITY zotero.items.menu.attach.fileLink "Fájlra mutató hivatkozás csatolása"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Kiválasztott elem duplikálása"> <!ENTITY zotero.toolbar.newItem.label "Új elem"> diff --git a/chrome/locale/hu-HU/zotero/zotero.properties b/chrome/locale/hu-HU/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=A "%1$S" stílus importálása a %2$S-ból? styles.updateStyle=A "%1$S" stílus lecserélése %2$S-re a %3$S-ból? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A fájl feltöltése helyhiány miat sync.storage.error.webdav.sslCertificateError=Hiba az SSL tanúsítvánnyal az %S szerverhez való kapcsolódás közben. sync.storage.error.webdav.sslConnectionError=SSL kapcsolódási hiba az %S szerverhez való kapcsolódás közben. sync.storage.error.webdav.loadURLForMoreInfo=További informáációkért töltse be a WebDAV URL-t a böngészőben. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Betelt a kvóta, ezért néhány fájl nem lett felöltve. A többi Zotero adat szinkronizálása folytatódik. sync.storage.error.zfs.personalQuotaReached2=További információk a zotero.org fiók beállítások pontja alatt. sync.storage.error.zfs.groupQuotaReached1=Az '%S' csoport kvótája betelt, ezért néhány fájl nem lett felöltve. A többi Zotero adat szinkronizálása folytatódik. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/is-IS/zotero/about.dtd b/chrome/locale/is-IS/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "útgáfa"> <!ENTITY zotero.createdby "Höfundar:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Stjórnendur"> <!ENTITY zotero.developers "Þróunaraðilar"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Framkvæmdastjóri:"> <!ENTITY zotero.thanks "Sérstakar þakkir:"> <!ENTITY zotero.about.close "Loka"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/is-IS/zotero/preferences.dtd b/chrome/locale/is-IS/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Small"> <!ENTITY zotero.preferences.fontSize.medium "Medium"> <!ENTITY zotero.preferences.fontSize.large "Large"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Miscellaneous"> diff --git a/chrome/locale/is-IS/zotero/zotero.dtd b/chrome/locale/is-IS/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "New Item"> diff --git a/chrome/locale/is-IS/zotero/zotero.properties b/chrome/locale/is-IS/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/it-IT/zotero/about.dtd b/chrome/locale/it-IT/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "Versione"> <!ENTITY zotero.createdby "Creata da:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Direttori:"> <!ENTITY zotero.developers "Sviluppatori:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Produttore esecutivo:"> <!ENTITY zotero.thanks "Ringraziamenti speciali:"> <!ENTITY zotero.about.close "Chiudi"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/it-IT/zotero/preferences.dtd b/chrome/locale/it-IT/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "piccolo"> <!ENTITY zotero.preferences.fontSize.medium "medio"> <!ENTITY zotero.preferences.fontSize.large "grande"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Varie"> diff --git a/chrome/locale/it-IT/zotero/zotero.dtd b/chrome/locale/it-IT/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplica elemento selezionato"> <!ENTITY zotero.toolbar.newItem.label "Nuovo elemento"> diff --git a/chrome/locale/it-IT/zotero/zotero.properties b/chrome/locale/it-IT/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Installare stile "%1$S" da %2$S? styles.updateStyle=Aggiornare lo stile esistente "%1$S" con "%2$S" da %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/ja-JP/zotero/about.dtd b/chrome/locale/ja-JP/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "バージョン"> <!ENTITY zotero.createdby "作成者:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "指導者:"> <!ENTITY zotero.developers "開発者:"> <!ENTITY zotero.alumni "同窓会員:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "製作責任者:"> <!ENTITY zotero.thanks "次のコミュニティメンバーに謝辞を表します:"> <!ENTITY zotero.about.close "閉じる"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/ja-JP/zotero/preferences.dtd b/chrome/locale/ja-JP/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "小"> <!ENTITY zotero.preferences.fontSize.medium "中"> <!ENTITY zotero.preferences.fontSize.large "大"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "ノートのフォントサイズ"> <!ENTITY zotero.preferences.miscellaneous "色々"> diff --git a/chrome/locale/ja-JP/zotero/zotero.dtd b/chrome/locale/ja-JP/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "ファイルの保存されたコピーを添付する"> <!ENTITY zotero.items.menu.attach.fileLink "リンクをファイルに添付する"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "選択されたアイテムを複製"> <!ENTITY zotero.toolbar.newItem.label "新規アイテム"> diff --git a/chrome/locale/ja-JP/zotero/zotero.properties b/chrome/locale/ja-JP/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=空白引用 integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=スタイル"%1$S"を%2$Sからインストールしますか? styles.updateStyle=既存のスタイル"%1$S"を%3$Sからの"%2$S"でアップデートしますか? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/ko-KR/zotero/about.dtd b/chrome/locale/ko-KR/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "버전"> <!ENTITY zotero.createdby "제작자:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "감독:"> <!ENTITY zotero.developers "개발자:"> <!ENTITY zotero.alumni "졸업생:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "행정 감독:"> <!ENTITY zotero.thanks "감사드릴 분들:"> <!ENTITY zotero.about.close "닫기"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/ko-KR/zotero/preferences.dtd b/chrome/locale/ko-KR/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "작게"> <!ENTITY zotero.preferences.fontSize.medium "중간"> <!ENTITY zotero.preferences.fontSize.large "크게"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "노트 글꼴 크기:"> <!ENTITY zotero.preferences.miscellaneous "기타"> diff --git a/chrome/locale/ko-KR/zotero/zotero.dtd b/chrome/locale/ko-KR/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "파일에 링크 첨부..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "선택된 항목 복제"> <!ENTITY zotero.toolbar.newItem.label "새 항목"> diff --git a/chrome/locale/ko-KR/zotero/zotero.properties b/chrome/locale/ko-KR/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=빈 인용 integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=%2$S로 부터 %1$S(을)를 내보내시겠습니까? styles.updateStyle=%3$S(으)로 부터 기존 스타일 "%1$S"(을)를 "%2$S"(으)로 갱신합니다. @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=%S에 연결중 SSL 인증 오류. sync.storage.error.webdav.sslConnectionError=%S에 연결중 SSL 접속 오류. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=추가 저장소 선택사항을 위해 당신의 zotero.org 계정 설정을 표시합니다. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/mn-MN/zotero/about.dtd b/chrome/locale/mn-MN/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "хувилбар"> <!ENTITY zotero.createdby "Зохион бүтээгч"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Захиралууд"> <!ENTITY zotero.developers "Хөгжүүлэгчид"> <!ENTITY zotero.alumni "Жил"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Гүйцэтгэх найруулагч"> <!ENTITY zotero.thanks "Тусгайлан баярлалаа."> <!ENTITY zotero.about.close "Хаах"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/mn-MN/zotero/preferences.dtd b/chrome/locale/mn-MN/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Бага"> <!ENTITY zotero.preferences.fontSize.medium "Дунд"> <!ENTITY zotero.preferences.fontSize.large "Том"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Miscellaneous"> diff --git a/chrome/locale/mn-MN/zotero/zotero.dtd b/chrome/locale/mn-MN/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "Шинэ бүтээл"> diff --git a/chrome/locale/mn-MN/zotero/zotero.properties b/chrome/locale/mn-MN/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/nb-NO/zotero/about.dtd b/chrome/locale/nb-NO/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versjon"> <!ENTITY zotero.createdby "Utviklet av:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Direksjonsmedlemmer:"> <!ENTITY zotero.developers "Utviklere:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Ledende produsent:"> <!ENTITY zotero.thanks "Spesiell takk til:"> <!ENTITY zotero.about.close "Lukk"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/nb-NO/zotero/preferences.dtd b/chrome/locale/nb-NO/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Liten"> <!ENTITY zotero.preferences.fontSize.medium "Medium"> <!ENTITY zotero.preferences.fontSize.large "Stor"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Diverse"> diff --git a/chrome/locale/nb-NO/zotero/zotero.dtd b/chrome/locale/nb-NO/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Dupliser det valgte elementet"> <!ENTITY zotero.toolbar.newItem.label "Nytt element"> diff --git a/chrome/locale/nb-NO/zotero/zotero.properties b/chrome/locale/nb-NO/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Installere stilen "%1$S" fra %2$S? styles.updateStyle=Oppdatere den eksisterende stilen "%1$S" til "%2$S" fra %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/nl-NL/zotero/about.dtd b/chrome/locale/nl-NL/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versie"> <!ENTITY zotero.createdby "Gemaakt door:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directeuren:"> <!ENTITY zotero.developers "Ontwikkelaars:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Uitvoerend producent:"> <!ENTITY zotero.thanks "Met speciale dank aan:"> <!ENTITY zotero.about.close "Sluiten"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/nl-NL/zotero/preferences.dtd b/chrome/locale/nl-NL/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Klein"> <!ENTITY zotero.preferences.fontSize.medium "Middelgroot"> <!ENTITY zotero.preferences.fontSize.large "Groot"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Tekengrootte aantekeningen:"> <!ENTITY zotero.preferences.miscellaneous "Diversen"> diff --git a/chrome/locale/nl-NL/zotero/zotero.dtd b/chrome/locale/nl-NL/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Kopie van bestand toevoegen..."> <!ENTITY zotero.items.menu.attach.fileLink "Koppeling naar bestand toevoegen..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Kopie maken van geselecteerd object"> <!ENTITY zotero.toolbar.newItem.label "Nieuw object"> diff --git a/chrome/locale/nl-NL/zotero/zotero.properties b/chrome/locale/nl-NL/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Lege verwijzing integration.emptyCitationWarning.body=De opgegeven verwijzing zou leeg zijn met de geselecteerde stijl. Wilt u de verwijzing toch toevoegen? @@ -611,6 +614,7 @@ integration.corruptBibliography=De Zotero-veldcode van de bibliografie is bescha integration.corruptBibliography.description=Alle objecten die in de tekst geciteerd worden verschijnen in de nieuwe bibliografie, maar wijzingingen die u via het "Wijzig Bibliografie"-venster heeft gemaakt zullen verloren gaan. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Stijl "%1$S" vanuit %2$S installeren? styles.updateStyle=Bestaande stijl "%1$S" bijwerken met "%2$S" vanuit %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Het uploaden van een bestand is misl sync.storage.error.webdav.sslCertificateError=SSL certificaatfout bij het leggen van een verbinding naar %S. sync.storage.error.webdav.sslConnectionError=SSL verbindingsfout bij het leggen van een verbinding naar %S. sync.storage.error.webdav.loadURLForMoreInfo=Laad uw WebDAV URL in uw browser voor meer informatie. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=U heeft het quotum van de Zotero File Storage bereikt. Sommige bestanden zijn niet geüpload. De overige Zotero-gegevens worden wel gesynchroniseerd. sync.storage.error.zfs.personalQuotaReached2=Bekijk de zotero.org account instellingen voor de mogelijkheden om meer opslagcapaciteit te krijgen. sync.storage.error.zfs.groupQuotaReached1=De groep '%S' heeft het quotum van de Zotero File Storage bereikt. Sommige bestanden zijn niet geüpload. De overige Zotero-gegevens worden wel gesynchroniseerd. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/nn-NO/zotero/about.dtd b/chrome/locale/nn-NO/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versjon"> <!ENTITY zotero.createdby "Laga av:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Regissørar:"> <!ENTITY zotero.developers "Utviklarar:"> <!ENTITY zotero.alumni "Brukarstøtte:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Leiande produsent:"> <!ENTITY zotero.thanks "Spesiell takk til:"> <!ENTITY zotero.about.close "Lukk"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/nn-NO/zotero/preferences.dtd b/chrome/locale/nn-NO/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Liten"> <!ENTITY zotero.preferences.fontSize.medium "Medium"> <!ENTITY zotero.preferences.fontSize.large "Stor"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "Diverse"> diff --git a/chrome/locale/nn-NO/zotero/zotero.dtd b/chrome/locale/nn-NO/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of Fila..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to Fila..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Dupliser det valde elementet"> <!ENTITY zotero.toolbar.newItem.label "Nytt element"> diff --git a/chrome/locale/nn-NO/zotero/zotero.properties b/chrome/locale/nn-NO/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Installera stilen "%1$S" frå %2$S? styles.updateStyle=Oppdatera den eksisterande stilen "%1$S" til "%2$S" frå %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A fila upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero Fila Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/pl-PL/zotero/about.dtd b/chrome/locale/pl-PL/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "wersja"> <!ENTITY zotero.createdby "Stworzone przez:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Szefowie projektu:"> <!ENTITY zotero.developers "Twórcy:"> <!ENTITY zotero.alumni "Współtwórcy:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Producent wykonawczy:"> <!ENTITY zotero.thanks "Podziękowania:"> <!ENTITY zotero.about.close "Zamknij"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/pl-PL/zotero/preferences.dtd b/chrome/locale/pl-PL/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "mała"> <!ENTITY zotero.preferences.fontSize.medium "średnia"> <!ENTITY zotero.preferences.fontSize.large "duża"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Wielkość czcionki notatek:"> <!ENTITY zotero.preferences.miscellaneous "Różne"> diff --git a/chrome/locale/pl-PL/zotero/zotero.dtd b/chrome/locale/pl-PL/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Dołącz zachowaną kopię pliku..."> <!ENTITY zotero.items.menu.attach.fileLink "Dołącz odsyłacz do pliku..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplikuj zaznaczony element"> <!ENTITY zotero.toolbar.newItem.label "Nowy element"> diff --git a/chrome/locale/pl-PL/zotero/zotero.properties b/chrome/locale/pl-PL/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Puste cytowanie integration.emptyCitationWarning.body=Wybrane cytowanie będzie puste w aktualnie wybranym stylu. Czy na pewno je dodać? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? 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? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=Błąd certyfikatu SSL podczas łączenia z %S. sync.storage.error.webdav.sslConnectionError=Błąd połączenia SSL podczas łączenia z %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/pt-BR/zotero/about.dtd b/chrome/locale/pt-BR/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versão"> <!ENTITY zotero.createdby "Criado por:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Diretores:"> <!ENTITY zotero.developers "Desenvolvedores:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Produtor Executivo:"> <!ENTITY zotero.thanks "Agradecimentos especiais:"> <!ENTITY zotero.about.close "Fechar"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/pt-BR/zotero/preferences.dtd b/chrome/locale/pt-BR/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Pequena"> <!ENTITY zotero.preferences.fontSize.medium "Média"> <!ENTITY zotero.preferences.fontSize.large "Grande"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Tamanho da fonte das notas:"> <!ENTITY zotero.preferences.miscellaneous "Outras preferências"> diff --git a/chrome/locale/pt-BR/zotero/zotero.dtd b/chrome/locale/pt-BR/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Anexar cópia armazenada de arquivo..."> <!ENTITY zotero.items.menu.attach.fileLink "Anexar link para arquivo..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "Novo item"> diff --git a/chrome/locale/pt-BR/zotero/zotero.properties b/chrome/locale/pt-BR/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Citação em branco integration.emptyCitationWarning.body=A citação que você especificou firaria em branco no estilo atualmente selecionado. Tem certeza de que deseja adicioná-la? @@ -611,6 +614,7 @@ integration.corruptBibliography=O código de campo Zotero para sua bibliografia integration.corruptBibliography.description=Todos os itens citados no texto aparecerão na nova bibliografia, mas as modificações feitas na caixa de diálogo "Editar Bibliografia" serão perdidas. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Instalar estilo "%1$S" de %2$S? styles.updateStyle=Atualizar o estilo existente "%1$S" com "%2$S" de %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Um envio de arquivo falhou devido à sync.storage.error.webdav.sslCertificateError=Erro de certificado SSL ao conectar a %S. sync.storage.error.webdav.sslConnectionError=Erro de conexão SSL ao conectar a %S. sync.storage.error.webdav.loadURLForMoreInfo=Abra seu endereço WebDAV em seu navegador para mais informações. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Você excedeu sua cota do Armazenamento de Arquivos Zotero. Alguns arquivos não foram enviados. Outros dados Zotero continuarão a ser sincronizados com o servidor. sync.storage.error.zfs.personalQuotaReached2=Veja as configurações de sua conta zotero.org para opções adicionais de armazenamento. sync.storage.error.zfs.groupQuotaReached1=O grupo '%S' excedeu sua cota do Armazenamento de Arquivos Zotero. Alguns arquivos não foram enviados. Outros dados Zotero continuarão a ser sincronizados com o servidor. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/pt-PT/zotero/about.dtd b/chrome/locale/pt-PT/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "Versão"> <!ENTITY zotero.createdby "Criado por:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directores:"> <!ENTITY zotero.developers "Programadores:"> <!ENTITY zotero.alumni "Antigos Colaboradores:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Produtor Executivo:"> <!ENTITY zotero.thanks "Agradecimentos Especiais:"> <!ENTITY zotero.about.close "Fechar"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/pt-PT/zotero/preferences.dtd b/chrome/locale/pt-PT/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Pequena"> <!ENTITY zotero.preferences.fontSize.medium "Média"> <!ENTITY zotero.preferences.fontSize.large "Grande"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Tamanho da fonte tipográfica das notas:"> <!ENTITY zotero.preferences.miscellaneous "Variadas"> diff --git a/chrome/locale/pt-PT/zotero/zotero.dtd b/chrome/locale/pt-PT/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Anexar Cópia Armazenada de Arquivo..."> <!ENTITY zotero.items.menu.attach.fileLink "Anexar Ligação a Arquivo..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicar o Item Seleccionado"> <!ENTITY zotero.toolbar.newItem.label "Novo Item"> diff --git a/chrome/locale/pt-PT/zotero/zotero.properties b/chrome/locale/pt-PT/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Citação em Branco integration.emptyCitationWarning.body=A citação que especificou ficaria vazia no estilo actualmente seleccionado. Tem a certeza de que a quer adicionar? @@ -611,6 +614,7 @@ integration.corruptBibliography=O código de campo Zotero da sua bibliografia es integration.corruptBibliography.description=Todos os itens citados no texto aparecerão na nova bibliografia, mas modificações que tenha feito usando a caixa de diálogo "Editar Bibliografia" perder-se-ão. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Instalar o estilo "%1$S" de %2$S? styles.updateStyle=Actualizar o estilo "%1$S" existente com "%2$S" de %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Falhou um carregamento de arquivo de sync.storage.error.webdav.sslCertificateError=Erro de certificado SSL ao ligar a %S. sync.storage.error.webdav.sslConnectionError=Erro de ligação SSL ao ligar a %S. sync.storage.error.webdav.loadURLForMoreInfo=Carregue o seu URL de WebDAV no navegador para obter mais informação. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Atingiu o limite da sua quota de Armazenamento de Arquivos Zotero. Alguns arquivos não foram carregados. Outros dados do Zotero continuarão a ser sincronizados com o servidor. sync.storage.error.zfs.personalQuotaReached2=Veja as opções da sua conta zotero.org para mais possibilidades de armazenamento. sync.storage.error.zfs.groupQuotaReached1=O grupo '%S' atingiu o limite da sua quota de Armazenamento de Arquivos Zotero. Alguns arquivos não foram carregados. Outros dados do Zotero continuarão a ser sincronizados com o servidor. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/ro-RO/zotero/about.dtd b/chrome/locale/ro-RO/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "versiune"> <!ENTITY zotero.createdby "Creat de:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Directori:"> <!ENTITY zotero.developers "Dezvoltatori:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Producător executiv:"> <!ENTITY zotero.thanks "Mulțumiri speciale:"> <!ENTITY zotero.about.close "Închide"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/ro-RO/zotero/preferences.dtd b/chrome/locale/ro-RO/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Mici"> <!ENTITY zotero.preferences.fontSize.medium "Medii"> <!ENTITY zotero.preferences.fontSize.large "Mari"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Mărimea fontului pentru notă:"> <!ENTITY zotero.preferences.miscellaneous "Diverse"> diff --git a/chrome/locale/ro-RO/zotero/zotero.dtd b/chrome/locale/ro-RO/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Anexează copia salvată a fișierului..."> <!ENTITY zotero.items.menu.attach.fileLink "Anexează o legătură la fișier..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Fă un duplicat înregistrării selectate"> <!ENTITY zotero.toolbar.newItem.label "Înregistrare nouă"> diff --git a/chrome/locale/ro-RO/zotero/zotero.properties b/chrome/locale/ro-RO/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revenire la starea precedentă integration.removeBibEntry.title=Referințele selectate sunt citate în documentul tău. integration.removeBibEntry.body=Ești sigur că vrei să omiți această intrare din bibliografia ta? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Citare goală integration.emptyCitationWarning.body=Citarea pe care ai specificat-o este goală în stilul curent selectat. Ești sigur că vrei să o adaugi? @@ -611,6 +614,7 @@ integration.corruptBibliography=Câmpul codificat din Zotero pentru bibliografia integration.corruptBibliography.description=Toate înregistrările citate în text vor apărea în noua bibliografie, dar modificările făcute în caseta de dialog „Editare bibliografie” vor fi pierdute. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Să instalez stilul "%1$S" de la %2$S? styles.updateStyle=Să actualizez stilul "%1$S" cu "%2$S" de la %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Încărcarea unui fișier a eșuat d sync.storage.error.webdav.sslCertificateError=Eroare de certificare SSL la conectarea cu %S. sync.storage.error.webdav.sslConnectionError=Eroare de conectare SSL la conectarea cu %S. sync.storage.error.webdav.loadURLForMoreInfo=Încarcă-ți URL-ul WebDAV în browser pentru mai multe informații. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Ai atins limita ta maximă de stocare a fișierelor în Zotero. Unele fișiere nu au fost încărcate. Alte date Zotero vor continua să se sincronizeze cu serverul. sync.storage.error.zfs.personalQuotaReached2=Vezi configurările contului tău zotero.org pentru opțiuni de stocare adiționale. sync.storage.error.zfs.groupQuotaReached1=Grupul '%S' a atins limita sa maximă de stocare a fișierelor în Zotero. Unele fișiere nu au fost încărcate. Alte date Zotero vor continua să se sincronizeze cu serverul. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/ru-RU/zotero/about.dtd b/chrome/locale/ru-RU/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "версия"> <!ENTITY zotero.createdby "Авторы:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Руководители:"> <!ENTITY zotero.developers "Разработчики:"> <!ENTITY zotero.alumni "Бывшие разработчики:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Глава разработки:"> <!ENTITY zotero.thanks "Особая благодарность:"> <!ENTITY zotero.about.close "Закрыть"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/ru-RU/zotero/preferences.dtd b/chrome/locale/ru-RU/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Маленький"> <!ENTITY zotero.preferences.fontSize.medium "Средний"> <!ENTITY zotero.preferences.fontSize.large "Большой"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Размер шрифта заметок:"> <!ENTITY zotero.preferences.miscellaneous "Разное"> diff --git a/chrome/locale/ru-RU/zotero/zotero.dtd b/chrome/locale/ru-RU/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Прикрепить копию файла…"> <!ENTITY zotero.items.menu.attach.fileLink "Прикрепить ссылку на файл…"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Сделать дубликат выбранного документа"> <!ENTITY zotero.toolbar.newItem.label "Новый документ"> diff --git a/chrome/locale/ru-RU/zotero/zotero.properties b/chrome/locale/ru-RU/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Отменить integration.removeBibEntry.title=Выбранная ссылка цитируется в вашем документе. integration.removeBibEntry.body=Вы уверены, что хотите исключить её из библиографии? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Пустая цитата integration.emptyCitationWarning.body=Выбранная цитата будет пуста при текущем стиле. Вы уверены, что хотите её добавить. @@ -611,6 +614,7 @@ integration.corruptBibliography=Код поля Zotero для вашей биб integration.corruptBibliography.description=Все документы, цитированные в тексте, появятся в новой библиографии, но изменения, сделанные в диалоге "Редактировать библиографию", будут утеряны. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Установить стиль "%1$S" из %2$S? styles.updateStyle=Обновить существующий стиль "%1$S" стилем "%2$S" из %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Загрузка файла не у sync.storage.error.webdav.sslCertificateError=Ошибка сертификата SSL при соединении к %S. sync.storage.error.webdav.sslConnectionError=Ошибка соединения SSL при соединении к %S. sync.storage.error.webdav.loadURLForMoreInfo=Загрузите URL для WebDAV в браузере для дополнительной информации. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Вы достигли своей квоты на хранение файлов на сервере Zotero. Некоторые файлы не были загружены на сервер. Остальные данные Zotero продолжат синхронизацию с сервером. sync.storage.error.zfs.personalQuotaReached2=Посмотрите настройки вашей учетной записи на zotero.org для дополнительных возможностей хранения. sync.storage.error.zfs.groupQuotaReached1=Группа '%S' достигла своей квоты на хранение файлов на сервере Zotero. Некоторые файлы не были загружены на сервер. Остальные данные Zotero продолжат синхронизацию с сервером. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Ошибка соединения Zotero connector.standaloneOpen=Ваша база данных недоступна, поскольку открыто Автономное Zotero. Пожалуйста, посмотрите ваши документы в Автономном Zotero. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/sk-SK/zotero/about.dtd b/chrome/locale/sk-SK/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "verzia"> <!ENTITY zotero.createdby "Vytvorili:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Pod vedením:"> <!ENTITY zotero.developers "Vývojári:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Výkonný producent:"> <!ENTITY zotero.thanks "Špeciálne poďakovanie:"> <!ENTITY zotero.about.close "Zatvoriť"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/sk-SK/zotero/preferences.dtd b/chrome/locale/sk-SK/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "malé"> <!ENTITY zotero.preferences.fontSize.medium "stredné"> <!ENTITY zotero.preferences.fontSize.large "veľké"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Veľkosť písma v poznámkach"> <!ENTITY zotero.preferences.miscellaneous "Rôzne"> diff --git a/chrome/locale/sk-SK/zotero/zotero.dtd b/chrome/locale/sk-SK/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Vložiť kópiu miestneho súboru"> <!ENTITY zotero.items.menu.attach.fileLink "Vložiť odkaz na súbor"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplikovať vybranú položku"> <!ENTITY zotero.toolbar.newItem.label "Nová položka"> diff --git a/chrome/locale/sk-SK/zotero/zotero.properties b/chrome/locale/sk-SK/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Prázdna citácia integration.emptyCitationWarning.body=Vybraná citácia zostane v aktuálne zvolenom štýle prázdna. Naozaj ju chcete vložiť? @@ -611,6 +614,7 @@ integration.corruptBibliography=Kód poľa pre túto bibliografiu je poškodený integration.corruptBibliography.description=Všetky položky citované v texte sa zobrazia v novej bibliografiu, ale úpravy, ktoré ste urobili prostredníctvom funkcie "Upraviť bibliografiu" sa nezachovajú. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Nainštalovať štýl "%1$S" z %2$S? styles.updateStyle=Aktualizovať existujúci štýl "%1$S" s "%2$S" z %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Nahrávanie súboru zlyhalo pre nedo sync.storage.error.webdav.sslCertificateError=Chyba bezpečnostného certifikátu SSL pri pripájaní sa na %S. sync.storage.error.webdav.sslConnectionError=Chyba zabezpečeného SSL pripojenia k %S. sync.storage.error.webdav.loadURLForMoreInfo=Pre viac informácií otvorte URL WebDAV servera vo vašom internetovom prehliadači. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Prekročili ste vašu kvótu na Úložisku Zotero a preto niektoré zo súborov neboli nahraté. Ostatné dáta (okrem súborov) budú so serverom aj naďalej synchronizované. sync.storage.error.zfs.personalQuotaReached2=Pozrite si nastavenia vášho účtu na zotero.org pre možnosti, ako je možné získať viac priestoru pre vaše dáta. sync.storage.error.zfs.groupQuotaReached1=Skupina "%S" prekročila svoju kvótu na Úložisku Zotero a preto niektoré zo súborov neboli nahraté. Ostatné dáta (okrem súborov) budú so serverom aj naďalej synchronizované. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/sl-SI/zotero/about.dtd b/chrome/locale/sl-SI/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "različica"> <!ENTITY zotero.createdby "Avtor:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Vodje:"> <!ENTITY zotero.developers "Razvijalci:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Izvršni producent:"> <!ENTITY zotero.thanks "Posebna zahvala:"> <!ENTITY zotero.about.close "Zapri"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/sl-SI/zotero/preferences.dtd b/chrome/locale/sl-SI/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "majhna"> <!ENTITY zotero.preferences.fontSize.medium "srednja"> <!ENTITY zotero.preferences.fontSize.large "velika"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Velikost pisave opomb:"> <!ENTITY zotero.preferences.miscellaneous "Razno"> diff --git a/chrome/locale/sl-SI/zotero/zotero.dtd b/chrome/locale/sl-SI/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Pripni shranjeno kopijo datoteke ..."> <!ENTITY zotero.items.menu.attach.fileLink "Pripni povezavo do datoteke ..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Podvoji izbrani vnos"> <!ENTITY zotero.toolbar.newItem.label "Nov vnos"> diff --git a/chrome/locale/sl-SI/zotero/zotero.properties b/chrome/locale/sl-SI/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Prazen citat integration.emptyCitationWarning.body=Citat, ki ste ga navedli, bi bil prazen v trenutno izbranem slogu. Ste prepričani, da ga želite dodati? @@ -611,6 +614,7 @@ integration.corruptBibliography=Koda polja Zotero za bibliografijo je okvarjena. integration.corruptBibliography.description=Vsa polja, citirana v besedilu, se bodo pojavila v novi bibliografiji, opravljene spremembe v pogovornem oknu "Uredi bibliografijo" pa bodo izgubljene. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Želite namestiti slog "%1$S" iz %2$S? styles.updateStyle=Želite posodobiti obstoječi slog "%1$S" z "%2$S" iz %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Prenos na strežnik ni uspel zaradi sync.storage.error.webdav.sslCertificateError=Napaka potrdila SSL pri povezovanju s %S. sync.storage.error.webdav.sslConnectionError=Napaka povezave SSL pri povezovanju s %S. sync.storage.error.webdav.loadURLForMoreInfo=Naložite URL svojega WebDAV v brskalniku, če želite več informacij. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Dosegli ste mejno kvoto hrambe datotek Zotero. Nekatere datoteke niso bile prenesene na strežnik. Drugi podatki Zotero se bodo še naprej usklajevali s strežnikom. sync.storage.error.zfs.personalQuotaReached2=Oglejte si nastavitve svojega računa zotero.org, kjer najdete dodatne možnosti hrambe. sync.storage.error.zfs.groupQuotaReached1=Skupina '%S' je dosegla svojo mejno kvoto hrambe datotek Zotero. Nekatere datoteke niso bile prenesene na strežnik. Drugi podatki Zotero se bodo še naprej usklajevali s strežnikom. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/sr-RS/zotero/about.dtd b/chrome/locale/sr-RS/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "верзија"> <!ENTITY zotero.createdby "Направљена од стране:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Директори:"> <!ENTITY zotero.developers "Програмери:"> <!ENTITY zotero.alumni "Предходни:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Извршни продуцент:"> <!ENTITY zotero.thanks "Посебне захвалнице:"> <!ENTITY zotero.about.close "Затвори"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/sr-RS/zotero/preferences.dtd b/chrome/locale/sr-RS/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Мали"> <!ENTITY zotero.preferences.fontSize.medium "Средњи"> <!ENTITY zotero.preferences.fontSize.large "Велики"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Величина фонта:"> <!ENTITY zotero.preferences.miscellaneous "Разне поставке"> diff --git a/chrome/locale/sr-RS/zotero/zotero.dtd b/chrome/locale/sr-RS/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Додај сачувану копију датотеке..."> <!ENTITY zotero.items.menu.attach.fileLink "Приложи везу датотеци..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Умножи изабрану ставку"> <!ENTITY zotero.toolbar.newItem.label "Нова ставка"> diff --git a/chrome/locale/sr-RS/zotero/zotero.properties b/chrome/locale/sr-RS/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Инсталирати стил „%1$S“ из %2$S? styles.updateStyle=Ажурирати постојећи стил „%1$S“ са „%2$S“ из %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/sv-SE/zotero/about.dtd b/chrome/locale/sv-SE/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "Version"> <!ENTITY zotero.createdby "Skapad av:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Ledare:"> <!ENTITY zotero.developers "Utvecklare:"> <!ENTITY zotero.alumni "Alumni:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Produktionsledare:"> <!ENTITY zotero.thanks "Särskilt tack:"> <!ENTITY zotero.about.close "Stäng"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/sv-SE/zotero/preferences.dtd b/chrome/locale/sv-SE/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Liten"> <!ENTITY zotero.preferences.fontSize.medium "Mellan"> <!ENTITY zotero.preferences.fontSize.large "Stor"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Storlek på anteckningar"> <!ENTITY zotero.preferences.miscellaneous "Blandat"> diff --git a/chrome/locale/sv-SE/zotero/zotero.dtd b/chrome/locale/sv-SE/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Bifoga sparad kopia av filen..."> <!ENTITY zotero.items.menu.attach.fileLink "Bifoga länk till fil..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicera vald post"> <!ENTITY zotero.toolbar.newItem.label "Ny post"> diff --git a/chrome/locale/sv-SE/zotero/zotero.properties b/chrome/locale/sv-SE/zotero/zotero.properties @@ -581,6 +581,9 @@ 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 ta bort den från källförteckningen? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +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? @@ -611,6 +614,7 @@ integration.corruptBibliography=Fältkoden för din källförteckning har blivit 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=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Installera stil "%1$S" från %2$S? styles.updateStyle=Uppdatera existerande stil "%1$S" med "%2$S" från %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=Uppladdningen misslyckades, utrymmet sync.storage.error.webdav.sslCertificateError=Fel i SSL-certifikatet när %S kontaktades. sync.storage.error.webdav.sslConnectionError=Fel i SSL-förbindelsen när %S kontaktades. sync.storage.error.webdav.loadURLForMoreInfo=Surfa till din WebDAV-adress för mer information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Du har uppnått din tillåtna sparkvot på Zotero File Storage. Några filer laddades inte upp. Övrig Zoterodata kommer att fortsätta synkroniseras med servern. sync.storage.error.zfs.personalQuotaReached2=Kolla dina kontoinställningar på zotero.org för andra sparval. sync.storage.error.zfs.groupQuotaReached1=Gruppen '%S' har uppnått sin tillåtna sparkvot på Zotero File Storage. Några filer laddades inte upp. Övrig Zoterodata kommer att fortsätta synkroniseras med servern. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/th-TH/zotero/about.dtd b/chrome/locale/th-TH/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "รุ่น"> <!ENTITY zotero.createdby "สร้างโดย:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "ผู้ควบคุม:"> <!ENTITY zotero.developers "ผู้พัฒนา:"> <!ENTITY zotero.alumni "ศิษย์เก่า:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "ผู้อำนวยการสร้างฝ่ายบริหาร:"> <!ENTITY zotero.thanks "ขอบคุณเป็นพิเศษ:"> <!ENTITY zotero.about.close "ปิด"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/th-TH/zotero/preferences.dtd b/chrome/locale/th-TH/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "เล็ก"> <!ENTITY zotero.preferences.fontSize.medium "กลาง"> <!ENTITY zotero.preferences.fontSize.large "ใหญ่"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "อื่น ๆ"> diff --git a/chrome/locale/th-TH/zotero/zotero.dtd b/chrome/locale/th-TH/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Duplicate Selected Item"> <!ENTITY zotero.toolbar.newItem.label "ไอเทมใหม่"> diff --git a/chrome/locale/th-TH/zotero/zotero.properties b/chrome/locale/th-TH/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=ติดตั้งสไตล์ "%1$S" จาก %S$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/tr-TR/zotero/about.dtd b/chrome/locale/tr-TR/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "sürüm"> <!ENTITY zotero.createdby "Yaratan:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Yöneticiler:"> <!ENTITY zotero.developers "Geliştiriciler:"> <!ENTITY zotero.alumni "Mezun:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "Uygulayıcı Yapımcı:"> <!ENTITY zotero.thanks "Özel teşekkürler:"> <!ENTITY zotero.about.close "Kapat"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/tr-TR/zotero/preferences.dtd b/chrome/locale/tr-TR/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "Küçük"> <!ENTITY zotero.preferences.fontSize.medium "Orta"> <!ENTITY zotero.preferences.fontSize.large "Büyük"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Not yazıtipi boyutu:"> <!ENTITY zotero.preferences.miscellaneous "Çeşitli"> diff --git a/chrome/locale/tr-TR/zotero/zotero.dtd b/chrome/locale/tr-TR/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Dosyanın Kaydedilen Kopyasını Ekle"> <!ENTITY zotero.items.menu.attach.fileLink "Dosyaya Bağlantı Ekle..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Seçili Eseri Çoğalt"> <!ENTITY zotero.toolbar.newItem.label "Yeni Eser"> diff --git a/chrome/locale/tr-TR/zotero/zotero.properties b/chrome/locale/tr-TR/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Boş Alıntı integration.emptyCitationWarning.body=Mevcut seçili biçiminiz belirttiğiniz alıntı için boş olacaktır. Bunu eklemek istediğinize emin misiniz? @@ -611,6 +614,7 @@ integration.corruptBibliography=Zotere alan kodu, kaynakçanız için bozulmuşt integration.corruptBibliography.description=Metinde alıntı yapılan tüm eserler yeni kaynakçada görülecektir, fakat "Kaynakçayı Düzenle" penceresinde yaptığınız değişiklikler kaybolacaktır. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Sitil "%1$S" %2$S'den kurulsunmu? styles.updateStyle=Geçerli sitili "%1$S" %3$S den "%2$S" e güncellensinmi? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=WeDAV sunucusunda yetersiz yer sebeb sync.storage.error.webdav.sslCertificateError=%S bağlanırken SSL sertifika hatası. sync.storage.error.webdav.sslConnectionError=%S bağlanırken SSL bağlantı hatası. sync.storage.error.webdav.loadURLForMoreInfo=Daha fazla bilgi için WebDAV URL'nizi tarayıcıya yükleyin. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=Zotero Dosya Depolama limitinizi ulaştı. Bazı dosyalar yüklenmeyecek. Diğer Zoter verisi ise eşlenmeye devam edecek. sync.storage.error.zfs.personalQuotaReached2=Daha fazla depolama seçenekleri için zotero.org hesap ayarlarınıza bakınız. sync.storage.error.zfs.groupQuotaReached1='%S' grubu zotero Dosya Saklama limitine ulaştı. Bazı dosyalar yüklenmeyecek. Diğer Zotero verileri eşlenmeye devam edecek. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/vi-VN/zotero/about.dtd b/chrome/locale/vi-VN/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "phiên bản"> <!ENTITY zotero.createdby "Một sản phẩm của:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "Giám đốc điều hành:"> <!ENTITY zotero.developers "Phát triển phần mềm:"> <!ENTITY zotero.alumni "Cựu thành viên:"> @@ -8,3 +9,4 @@ <!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 &amp; Acknowledgements"> diff --git a/chrome/locale/vi-VN/zotero/preferences.dtd b/chrome/locale/vi-VN/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!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.miscellaneous "Các tùy chọn khác"> diff --git a/chrome/locale/vi-VN/zotero/zotero.dtd b/chrome/locale/vi-VN/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "Sao chép Biểu ghi vừa chọn"> <!ENTITY zotero.toolbar.newItem.label "Biểu ghi mới"> diff --git a/chrome/locale/vi-VN/zotero/zotero.properties b/chrome/locale/vi-VN/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Cài đặt style "%1$S" từ %2$S? styles.updateStyle=Cập nhật style "%1$S" với "%2$S" từ %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/zh-CN/zotero/about.dtd b/chrome/locale/zh-CN/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "版本"> <!ENTITY zotero.createdby "创建者:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "指导者:"> <!ENTITY zotero.developers "开发者:"> <!ENTITY zotero.alumni "校友:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "执行制作人:"> <!ENTITY zotero.thanks "特别感谢:"> <!ENTITY zotero.about.close "关闭"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/zh-CN/zotero/preferences.dtd b/chrome/locale/zh-CN/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "小"> <!ENTITY zotero.preferences.fontSize.medium "中"> <!ENTITY zotero.preferences.fontSize.large "大"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "Note font size:"> <!ENTITY zotero.preferences.miscellaneous "杂项"> diff --git a/chrome/locale/zh-CN/zotero/zotero.dtd b/chrome/locale/zh-CN/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "Attach Stored Copy of File..."> <!ENTITY zotero.items.menu.attach.fileLink "Attach Link to File..."> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "生成所选条目复件"> <!ENTITY zotero.toolbar.newItem.label "新建条目"> diff --git a/chrome/locale/zh-CN/zotero/zotero.properties b/chrome/locale/zh-CN/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=Blank Citation integration.emptyCitationWarning.body=The citation you have specified would be empty in the currently selected style. Are you sure you want to add it? @@ -611,6 +614,7 @@ integration.corruptBibliography=The Zotero field code for your bibliography is c integration.corruptBibliography.description=All items cited in the text will appear in the new bibliography, but modifications you made in the "Edit Bibliography" dialog will be lost. integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=Install style "%1$S" from %2$S? styles.updateStyle=Update existing style "%1$S" with "%2$S" from %3$S? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=A file upload failed due to insuffic sync.storage.error.webdav.sslCertificateError=SSL certificate error connecting to %S. sync.storage.error.webdav.sslConnectionError=SSL connection error connecting to %S. sync.storage.error.webdav.loadURLForMoreInfo=Load your WebDAV URL in the browser for more information. +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=You have reached your Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. sync.storage.error.zfs.personalQuotaReached2=See your zotero.org account settings for additional storage options. sync.storage.error.zfs.groupQuotaReached1=The group '%S' has reached its Zotero File Storage quota. Some files were not uploaded. Other Zotero data will continue to sync to the server. @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/chrome/locale/zh-TW/zotero/about.dtd b/chrome/locale/zh-TW/zotero/about.dtd @@ -1,5 +1,6 @@ <!ENTITY zotero.version "版本"> <!ENTITY zotero.createdby "創造者:"> +<!ENTITY zotero.director "Director:"> <!ENTITY zotero.directors "指導人:"> <!ENTITY zotero.developers "開發者:"> <!ENTITY zotero.alumni "前成員:"> @@ -8,3 +9,4 @@ <!ENTITY zotero.executiveProducer "執行製作人:"> <!ENTITY zotero.thanks "特別感謝:"> <!ENTITY zotero.about.close "關閉"> +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> diff --git a/chrome/locale/zh-TW/zotero/preferences.dtd b/chrome/locale/zh-TW/zotero/preferences.dtd @@ -17,6 +17,7 @@ <!ENTITY zotero.preferences.fontSize.small "小"> <!ENTITY zotero.preferences.fontSize.medium "中"> <!ENTITY zotero.preferences.fontSize.large "大"> +<!ENTITY zotero.preferences.fontSize.xlarge "X-Large"> <!ENTITY zotero.preferences.fontSize.notes "筆記字型大小:"> <!ENTITY zotero.preferences.miscellaneous "雜項"> diff --git a/chrome/locale/zh-TW/zotero/zotero.dtd b/chrome/locale/zh-TW/zotero/zotero.dtd @@ -66,6 +66,7 @@ <!ENTITY zotero.items.menu.attach.file "附加已儲存的檔案拷貝……"> <!ENTITY zotero.items.menu.attach.fileLink "附加鏈結到檔案……"> +<!ENTITY zotero.items.menu.restoreToLibrary "Restore to Library"> <!ENTITY zotero.items.menu.duplicateItem "為選取的項目建立副本"> <!ENTITY zotero.toolbar.newItem.label "新增項目"> diff --git a/chrome/locale/zh-TW/zotero/zotero.properties b/chrome/locale/zh-TW/zotero/zotero.properties @@ -581,6 +581,9 @@ integration.revert.button=Revert integration.removeBibEntry.title=The selected references is cited within your document. integration.removeBibEntry.body=Are you sure you want to omit it from your bibliography? +integration.cited=Cited +integration.cited.loading=Loading Cited Items… +integration.ibid=ibid integration.emptyCitationWarning.title=引用文獻空白 integration.emptyCitationWarning.body=你所給定的引用文獻用在目前所選用的式樣中會是空白的。你確定要把它加入嗎? @@ -611,6 +614,7 @@ integration.corruptBibliography=你的參考書目的 Zotero 欄位碼已損毀 integration.corruptBibliography.description=在文字中所引用的項目都會出現在新的參考書目中,但是你會失去在『編輯參考書目』對話中所作的修改。 integration.citationChanged=You have modified this citation since Zotero generated it. Do you want to keep your modifications and prevent future updates? integration.citationChanged.description=Clicking "Yes" will prevent Zotero from updating this citation if you add additional citations, switch styles, or modify the reference to which it refers. Clicking "No" will erase your changes. +integration.citationChanged.edit=You have modified this citation since Zotero generated it. Editing will clear your modifications. Do you want to continue? styles.installStyle=從 %2$S 安裝樣式 "%1$S"? styles.updateStyle=從 %3$S 用 "%2$S" 更新現有的樣式 "%1$S"? @@ -680,6 +684,7 @@ sync.storage.error.webdav.insufficientSpace=因為 WebDAV 伺服器的空間不 sync.storage.error.webdav.sslCertificateError=連接到 %S 時產生了 SSL 證書錯誤。 sync.storage.error.webdav.sslConnectionError=連接到 %S 時產生了 SSL 連接錯誤。 sync.storage.error.webdav.loadURLForMoreInfo=用瀏覽器載入你的 WebDAV 網址來取得更多資訊。 +sync.storage.error.webdav.loadURL=Load WebDAV URL sync.storage.error.zfs.personalQuotaReached1=你已經到達 Zotero 檔案儲存的限額。有些檔案沒有上傳。其他的 Zotero 資料會繼續同步化到伺服器。 sync.storage.error.zfs.personalQuotaReached2=你在 zotero.org 的帳號設定有更多的儲存選項。 sync.storage.error.zfs.groupQuotaReached1='%S' 群組已經到達 Zotero 檔案儲存的限額。有些檔案沒有上傳。其他的 Zotero 資料會繼續同步化到伺服器。 @@ -747,3 +752,6 @@ standalone.addonInstallationFailed.body=The add-on "%S" could not be installed. connector.error.title=Zotero Connector Error connector.standaloneOpen=Your database cannot be accessed because Zotero Standalone is currently open. Please view your items in Zotero Standalone. + +firstRunGuidance.saveIcon=Zotero can recognize a reference on this page. Click this icon in the address bar to save this reference to your Zotero library. +firstRunGuidance.authorMenu=Zotero lets you specify editors and translators, too. You can turn an author into an editor or translator by selecting from this menu. diff --git a/install.rdf b/install.rdf @@ -26,7 +26,7 @@ <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>3.6</em:minVersion> - <em:maxVersion>8.*</em:maxVersion> + <em:maxVersion>10.*</em:maxVersion> </Description> </em:targetApplication> diff --git a/update.rdf b/update.rdf @@ -12,7 +12,7 @@ <RDF:Description> <id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id> <minVersion>3.6</minVersion> - <maxVersion>8.*</maxVersion> + <maxVersion>10.*</maxVersion> <updateLink>http://www.zotero.org/download/zotero.xpi</updateLink> <updateHash>sha1:</updateHash> </RDF:Description>