www

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

commit eb7b3010732367d90630ba32ee23707d63820d6a
parent d69ffd2ad8236b6082da622a06bc84bec59fb0c5
Author: gracile-fr <gracile@gmx.com>
Date:   Mon,  4 Mar 2013 03:44:14 +0100

Localizes most of the strings marked "todo: localize"

Diffstat:
Mchrome/content/zotero/about.xul | 2+-
Mchrome/content/zotero/bindings/attachmentbox.xml | 18++++++++++--------
Mchrome/content/zotero/bindings/merge.xml | 4++--
Mchrome/content/zotero/bindings/noteeditor.xml | 7++++---
Mchrome/content/zotero/duplicatesMerge.js | 8+++-----
Mchrome/content/zotero/merge.js | 8++++----
Mchrome/content/zotero/merge.xul | 6+++---
Mchrome/content/zotero/xpcom/file.js | 33++++++++++++---------------------
Mchrome/content/zotero/xpcom/storage.js | 16+++++-----------
Mchrome/content/zotero/xpcom/storage/webdav.js | 20+++++++-------------
Mchrome/content/zotero/xpcom/storage/zfs.js | 12+++---------
Mchrome/content/zotero/zoteroPane.js | 17+++++++----------
Mchrome/locale/en-US/zotero/about.dtd | 5+++--
Achrome/locale/en-US/zotero/merge.dtd | 4++++
Mchrome/locale/en-US/zotero/zotero.properties | 45++++++++++++++++++++++++++++++++++++++++++---
15 files changed, 110 insertions(+), 95 deletions(-)

diff --git a/chrome/content/zotero/about.xul b/chrome/content/zotero/about.xul @@ -51,7 +51,7 @@ <label class="zotero-text-link" href="http://www.zotero.org/support/credits_and_acknowledgments" value="&zotero.moreCreditsAndAcknowledgements;"/> </vbox> <vbox id="column2"> - <label class="subhead" value="Citation &amp; Bibliography Processing"/> + <label class="subhead" value="&zotero.citationProcessing;"/> <vbox class="subcontent"> <label class="zotero-text-link" href="http://citationstyles.org/" value="Citation Style Language"/> <label class="zotero-text-link" href="http://bitbucket.org/fbennett/citeproc-js/" value="citeproc-js (Frank Bennett)"/> diff --git a/chrome/content/zotero/bindings/attachmentbox.xml b/chrome/content/zotero/bindings/attachmentbox.xml @@ -214,7 +214,8 @@ // Access date if (this.displayAccessed) { - this._id("accessed-label").value = Zotero.getString('itemFields.accessDate')+":"; + this._id("accessed-label").value = Zotero.getString('itemFields.accessDate') + + Zotero.getString('punctuation.colon'); this._id("accessed").value = Zotero.Date.sqlToDate( this.item.getField('accessDate'), true ).toLocaleString(); @@ -233,12 +234,11 @@ if (this.item.attachmentLinkMode != Zotero.Attachments.LINK_MODE_LINKED_URL && this.displayFileName) { - // TODO: localize var fileName = this.item.getFilename(); if (fileName) { - // TODO: localize - this._id("fileName-label").value = "Filename:"; + this._id("fileName-label").value = Zotero.getString('pane.item.attachments.filename') + + Zotero.getString('punctuation.colon'); this._id("fileName").value = fileName; fileNameRow.hidden = false; } @@ -255,8 +255,8 @@ var pages = Zotero.Fulltext.getPages(this.item.id); var pages = pages ? pages.total : null; if (pages) { - // TODO: localize colon - this._id("pages-label").value = Zotero.getString('itemFields.pages') + ':'; + this._id("pages-label").value = Zotero.getString('itemFields.pages') + + Zotero.getString('punctuation.colon'); this._id("pages").value = pages; pagesRow.hidden = false; } @@ -269,7 +269,8 @@ } if (this.displayDateModified) { - this._id("dateModified-label").value = Zotero.getString('itemFields.dateModified')+':'; + this._id("dateModified-label").value = Zotero.getString('itemFields.dateModified') + + Zotero.getString('punctuation.colon'); var mtime = this.item.attachmentModificationTime; if (mtime) { this._id("dateModified").value = new Date(mtime).toLocaleString(); @@ -476,7 +477,8 @@ str = 'general.yes'; break; } - this._id("index-status-label").value = Zotero.getString('fulltext.indexState.indexed') + ':'; + this._id("index-status-label").value = Zotero.getString('fulltext.indexState.indexed') + + Zotero.getString('punctuation.colon'); indexStatus.value = Zotero.getString(str); // Reindex button tooltip (string stored in zotero.properties) diff --git a/chrome/content/zotero/bindings/merge.xml b/chrome/content/zotero/bindings/merge.xml @@ -358,7 +358,7 @@ case 'attachment': case 'note': case 'storagefile': - objbox.buttonCaption = 'Choose this version'; + objbox.buttonCaption = Zotero.getString('sync.conflict.chooseThisVersion'); break; } @@ -478,7 +478,7 @@ <xul:box id="object-placeholder"/> <xul:hbox id="delete-box" hidden="true" flex="1" onclick="document.getBindingParent(this).chooseObj(this)"> - <xul:label value="Deleted"/> <!-- TODO: localize --> + <xul:label value="zotero.merge.deleted"/> </xul:hbox> </xul:groupbox> </content> diff --git a/chrome/content/zotero/bindings/noteeditor.xml b/chrome/content/zotero/bindings/noteeditor.xml @@ -410,14 +410,14 @@ <method name="updateTagsSummary"> <body> <![CDATA[ - // TODO: localize var v = this.id('tags').summary; if (!v || v == "") { v = "[" + Zotero.getString('pane.item.noteEditor.clickHere') + "]"; } - this.id('tagsLabel').value = Zotero.getString('pane.item.tags'); + this.id('tagsLabel').value = Zotero.getString('itemFields.tags') + + Zotero.getString('punctuation.colon'); this.id('tagsClick').value = v; ]]> </body> @@ -446,7 +446,8 @@ v = "[" + Zotero.getString('pane.item.noteEditor.clickHere') + "]"; } - this.id('seeAlsoLabel').value = Zotero.getString('pane.item.related'); + this.id('seeAlsoLabel').value = Zotero.getString('itemFields.related') + + Zotero.getString('punctuation.colon'); this.id('seeAlsoClick').value = v; ]]> </body> diff --git a/chrome/content/zotero/duplicatesMerge.js b/chrome/content/zotero/duplicatesMerge.js @@ -44,8 +44,7 @@ var Zotero_Duplicates_Pane = new function () { } if (!item.isRegularItem() || [1,14].indexOf(item.itemTypeID) != -1) { - // TODO: localize - var msg = "Only top-level full items can be merged."; + var msg = Zotero.getString('pane.item.duplicates.onlyTopLevel'); ZoteroPane_Local.setItemPaneMessage(msg); return false; } @@ -57,8 +56,7 @@ var Zotero_Duplicates_Pane = new function () { var msg = Zotero.getString('pane.item.selected.multiple', items.length); } else { - // TODO: localize - var msg = "Merged items must all be of the same item type."; + var msg = Zotero.getString('pane.item.duplicates.onlySameItemType'); } ZoteroPane_Local.setItemPaneMessage(msg); return false; @@ -112,7 +110,7 @@ var Zotero_Duplicates_Pane = new function () { }, 0); } - button.label = "Merge " + (otherItems.length + 1) + " items"; + button.label = Zotero.getString('pane.item.duplicates.mergeItems', (otherItems.length + 1)); itembox.hiddenFields = diff ? [] : ['dateAdded', 'dateModified']; fieldSelect.hidden = !diff; diff --git a/chrome/content/zotero/merge.js b/chrome/content/zotero/merge.js @@ -266,15 +266,15 @@ var Zotero_Merge_Window = new function () { function _setInstructionsString(buttonName) { switch (_mergeGroup.type) { case 'storagefile': - var msg = "The following file has been changed in multiple locations."; + var msg = Zotero.getString('sync.conflict.fileChanged'); break; default: - // TODO: localize and maybe not always call it 'item' - var msg = "The following item has been changed in multiple locations."; + // TODO: cf. localization: maybe not always call it 'item' + var msg = Zotero.getString('sync.conflict.itemChanged'); } - msg += " Choose the version you would like to keep, and then click " + buttonName + "."; + msg += Zotero.getString('sync.conflict.chooseVersionToKeep', buttonName); document.getElementById('zotero-merge-instructions').value = msg; } diff --git a/chrome/content/zotero/merge.xul b/chrome/content/zotero/merge.xul @@ -28,7 +28,7 @@ <?xml-stylesheet href="chrome://zotero/skin/zotero.css" type="text/css"?> <?xml-stylesheet href="chrome://zotero/skin/merge.css" type="text/css"?> -<!-- <!DOCTYPE window SYSTEM "chrome://zotero/locale/merge.dtd"> --> +<!DOCTYPE window SYSTEM "chrome://zotero/locale/merge.dtd"> <wizard id="zotero-merge-window" @@ -44,13 +44,13 @@ <wizardpage onpageshow="Zotero_Merge_Window.init()" onpagerewound="Zotero_Merge_Window.onBack(); return false" onpageadvanced="return Zotero_Merge_Window.onNext()" - label="Conflict Resolution"> + label="&zotero.merge.title;"> <description id="zotero-merge-instructions"/> <zoteromergegroup flex="1"/> <separator class="thin"/> <hbox id="zotero-step-count"> <label id="zotero-merge-num-objects"/> - <label value="of"/> + <label value="&zotero.merge.of;"/> <label id="zotero-merge-total-objects"/> </hbox> </wizardpage> diff --git a/chrome/content/zotero/xpcom/file.js b/chrome/content/zotero/xpcom/file.js @@ -441,58 +441,49 @@ Zotero.File = new function(){ } - // TODO: localize this.checkFileAccessError = function (e, file, operation) { if (file) { - var str = "The file '" + file.path + "' "; + var str = Zotero.getString('file.accessError.theFile', file.path); } else { - var str = "A file "; + var str = Zotero.getString('file.accessError.aFile'); } switch (operation) { case 'create': - var opWord = "created"; + var opWord = Zotero.getString('file.accessError.created'); break; case 'update': - var opWord = "updated"; + var opWord = Zotero.getString('file.accessError.updated'); break; case 'delete': - var opWord = "deleted"; + var opWord = Zotero.getString('file.accessError.deleted'); break; default: - var opWord = "updated"; + var opWord = Zotero.getString('file.accessError.updated'); } if (e.name == 'NS_ERROR_FILE_ACCESS_DENIED' || e.name == 'NS_ERROR_FILE_IS_LOCKED' // Shows up on some Windows systems || e.name == 'NS_ERROR_FAILURE') { Zotero.debug(e); - // TODO: localize - str = str + "cannot be " + opWord + "."; - var checkFileWindows = "Check that the file is not currently " - + "in use and that it is not marked as read-only. To check " - + "all files in your Zotero data directory, right-click on " - + "the 'zotero' directory, click Properties, clear " - + "the Read-Only checkbox, and apply the change to all folders " - + "and files in the directory."; - var checkFileOther = "Check that the file is not currently " - + "in use and that its permissions allow write access."; + str = str + Zotero.getString('file.accessError.cannotBe') + opWord + "."; + var checkFileWindows = Zotero.getString('file.accessError.message.windows'); + var checkFileOther = Zotero.getString('file.accessError.message.other'); var msg = str + " " + (Zotero.isWin ? checkFileWindows : checkFileOther) + "\n\n" - + "Restarting your computer or disabling security " - + "software may also help."; + + Zotero.getString('file.accessError.restart'); if (operation == 'create') { var e = new Zotero.Error( msg, 0, { - dialogButtonText: "Show Parent Directory", + dialogButtonText: Zotero.getString('file.accessError.showParentDir'), dialogButtonCallback: function () { try { file.parent.QueryInterface(Components.interfaces.nsILocalFile).reveal(); @@ -510,7 +501,7 @@ Zotero.File = new function(){ msg, 0, { - dialogButtonText: "Show File", + dialogButtonText: Zotero.getString('locate.showFile.label'), dialogButtonCallback: function () { try { file.QueryInterface(Components.interfaces.nsILocalFile); diff --git a/chrome/content/zotero/xpcom/storage.js b/chrome/content/zotero/xpcom/storage.js @@ -53,9 +53,8 @@ Zotero.Sync.Storage = new function () { this.ERROR_FILE_MISSING_AFTER_UPLOAD = -16; // TEMP - // TODO: localize - this.__defineGetter__("defaultError", function () "A file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, restart " + Zotero.appName + " and/or your computer and try again. If you continue to receive the message, submit an error report and post the Report ID to a new thread in the Zotero Forums."); - this.__defineGetter__("defaultErrorRestart", function () "A file sync error occurred. Please restart " + Zotero.appName + " and/or your computer and try syncing again.\n\nIf you receive this message repeatedly, submit an error report and post the Report ID to a new thread in the Zotero Forums."); + this.__defineGetter__("defaultError", function () Zotero.getString('sync.storage.error.default', Zotero.appName)); + this.__defineGetter__("defaultErrorRestart", function () Zotero.getString('sync.storage.error.defaultRestart', Zotero.appName)); // // Public properties @@ -1189,8 +1188,7 @@ Zotero.Sync.Storage = new function () { // but log a warning and skip the file else if (e.name == "NS_ERROR_FAILURE" && Zotero.isLinux && destFile.leafName.length > 130) { Zotero.debug(e); - var msg = "Error creating file '" + destFile.leafName + "'\n\n" - + "See http://www.zotero.org/support/kb/encrypted_filenames for more information."; + var msg = Zotero.getString('sync.storage.error.encryptedFilenames', destFile.leafName); Components.utils.reportError(msg); return; } @@ -1394,9 +1392,7 @@ Zotero.Sync.Storage = new function () { // can result in a lower limit -- not much we can do about this, // but log a warning and skip the file else if (e.name == "NS_ERROR_FAILURE" && Zotero.isLinux && destFile.leafName.length > 130) { - // TODO: localize - var msg = "Error creating file '" + destFile.leafName + "'. " - + "See http://www.zotero.org/support/kb/encrypted_filenames for more information."; + var msg = Zotero.getString('sync.storage.error.encryptedFilenames', destFile.leafName); Components.utils.reportError(msg); continue; } @@ -1460,9 +1456,7 @@ Zotero.Sync.Storage = new function () { // See above if (e.name == "NS_ERROR_FAILURE" && Zotero.isLinux && destFile.leafName.length > 130) { Zotero.debug(e); - // TODO: localize - var msg = "Error creating file '" + destFile.leafName + "'. " - + "See http://www.zotero.org/support/kb/encrypted_filenames for more information."; + var msg = Zotero.getString('sync.storage.error.encryptedFilenames', destFile.leafName); Components.utils.reportError(msg); continue; } diff --git a/chrome/content/zotero/xpcom/storage/webdav.js b/chrome/content/zotero/xpcom/storage/webdav.js @@ -26,7 +26,9 @@ Zotero.Sync.Storage.WebDAV = (function () { // TEMP - // TODO: localize + //This doesn't work (Localized string not available for sync.storage...): + //var _defaultError = Zotero.getString('sync.storage.error.webdav.default'); + //var _defaultErrorRestart = Zotero.getString('sync.storage.error.webdav.defaultRestart', Zotero.appName); var _defaultError = "A WebDAV file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences."; var _defaultErrorRestart = "A WebDAV file sync error occurred. Please restart " + Zotero.appName + " and try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences."; @@ -1409,23 +1411,15 @@ Zotero.Sync.Storage.WebDAV = (function () { return false; case Zotero.Sync.Storage.ERROR_FILE_MISSING_AFTER_UPLOAD: - // TODO: localize var errorTitle = Zotero.getString("general.warning"); - var errorMessage = "A potential problem was found with your WebDAV server.\n\n" - + "An uploaded file was not immediately available for download. There may be a " - + "short delay between when you upload files and when they become available, " - + "particularly if you are using a cloud storage service.\n\n" - + "If Zotero file syncing appears to work normally, " - + "you can ignore this message. " - + "If you have trouble, please post to the Zotero Forums."; + var errorMessage = Zotero.getString('sync.storage.error.webdav.fileMissingAfterUpload'); Zotero.Prefs.set("sync.storage.verified", true); break; case Zotero.Sync.Storage.ERROR_SERVER_ERROR: - // TODO: localize - var errorTitle = "WebDAV Server Configuration Error"; - var errorMessage = "Your WebDAV server returned an internal error." - + "\n\n" + Zotero.getString('sync.storage.error.checkFileSyncSettings'); + var errorTitle = Zotero.getString('sync.storage.error.webdav.serverConfig.title'); + var errorMessage = Zotero.getString('sync.storage.error.webdav.serverConfig') + + Zotero.getString('sync.storage.error.checkFileSyncSettings'); break; case Zotero.Sync.Storage.ERROR_UNKNOWN: diff --git a/chrome/content/zotero/xpcom/storage/zfs.js b/chrome/content/zotero/xpcom/storage/zfs.js @@ -58,10 +58,7 @@ Zotero.Sync.Storage.ZFS = (function () { catch (e) { Zotero.debug("Response headers unavailable"); } - // TODO: localize? - var msg = "A file sync error occurred. Please restart " + Zotero.appName + " and/or your computer and try syncing again.\n\n" - + "If the error persists, there may be a problem with either your computer or your network: security software, proxy server, VPN, etc. " - + "Try disabling any security/firewall software you're using or, if this is a laptop, try from a different network."; + var msg = Zotero.getString('sync.storage.error.zfs.restart', Zotero.appName); throw msg; } info.filename = req.getResponseHeader('X-Zotero-Filename'); @@ -268,10 +265,8 @@ Zotero.Sync.Storage.ZFS = (function () { var retry = e.xmlhttp.getResponseHeader('Retry-After'); if (retry) { var minutes = Math.round(retry / 60); - // TODO: localize var e = new Zotero.Error( - "You have too many queued uploads. " - + "Please try again in " + minutes + " minutes.", + Zotero.getString('sync.storage.error.zfs.tooManyQueuedUploads', minutes), "ZFS_UPLOAD_QUEUE_LIMIT" ); throw e; @@ -301,11 +296,10 @@ Zotero.Sync.Storage.ZFS = (function () { } } - // TODO: localize text += "\n\n" + filename + " (" + Math.round(file.fileSize / 1024) + "KB)"; var e = new Zotero.Error( - "The file '" + filename + "' would exceed your Zotero File Storage quota", + Zotero.getString('sync.storage.error.zfs.fileWouldExceedQuota', filename), "ZFS_OVER_QUOTA", { dialogText: text, diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js @@ -1275,8 +1275,7 @@ var ZoteroPane = new function() if (itemGroup.isDuplicates()) { if (!itemGroup.editable) { if (count) { - // TODO: localize - var msg = "Library write access is required to merge items."; + var msg = Zotero.getString('pane.item.duplicates.writeAccessRequired'); } else { var msg = Zotero.getString('pane.item.selected.zero'); @@ -1302,7 +1301,7 @@ var ZoteroPane = new function() Zotero_Duplicates_Pane.setItems(this.getSelectedItems(), displayNumItemsOnTypeError); } else { - var msg = Zotero.getString('pane.item.selectToMerge'); + var msg = Zotero.getString('pane.item.duplicates.selectToMerge'); this.setItemPaneMessage(msg); } } @@ -1415,12 +1414,10 @@ var ZoteroPane = new function() + (ps.BUTTON_POS_1) * (ps.BUTTON_TITLE_CANCEL); var index = ps.confirmEx( null, - // TODO: localize - "PDF Tools Not Installed", - "To use this feature, you must first install the PDF tools in " - + "the Zotero preferences.", + Zotero.getString('pane.item.attachments.PDF.installTools.title'), + Zotero.getString('pane.item.attachments.PDF.installTools.text'), buttonFlags, - "Open Preferences", + Zotero.getString('general.openPreferences'), null, null, null, {} ); if (index == 0) { @@ -2938,9 +2935,9 @@ var ZoteroPane = new function() var input = {}; var check = {value : false}; - // TODO: Localize // TODO: Allow title to be specified? - var result = ps.prompt(null, "Attach Link to URI", "Enter a URI:", input, "", {}); + var result = ps.prompt(null, Zotero.getString('pane.items.attach.link.uri.title'), + Zotero.getString('pane.items.attach.link.uri'), input, "", {}); if (!result || !input.value) return false; // Create a new attachment diff --git a/chrome/locale/en-US/zotero/about.dtd b/chrome/locale/en-US/zotero/about.dtd @@ -9,4 +9,5 @@ <!ENTITY zotero.executiveProducer "Executive Producer:"> <!ENTITY zotero.thanks "Special Thanks:"> <!ENTITY zotero.about.close "Close"> -<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> -\ No newline at end of file +<!ENTITY zotero.moreCreditsAndAcknowledgements "More Credits &amp; Acknowledgements"> +<!ENTITY zotero.citationProcessing "Citation &amp; Bibliography Processing"> +\ No newline at end of file diff --git a/chrome/locale/en-US/zotero/merge.dtd b/chrome/locale/en-US/zotero/merge.dtd @@ -0,0 +1,3 @@ +<!ENTITY zotero.merge.title "Conflict Resolution"> +<!ENTITY zotero.merge.of "of"> +<!ENTITY zotero.merge.deleted "Deleted"> +\ No newline at end of file diff --git a/chrome/locale/en-US/zotero/zotero.properties b/chrome/locale/en-US/zotero/zotero.properties @@ -43,6 +43,7 @@ general.quit = Quit general.useDefault = Use Default general.openDocumentation = Open Documentation general.numMore = %S more… +general.openPreferences = Open Preferences general.operationInProgress = A Zotero operation is currently in progress. general.operationInProgress.waitUntilFinished = Please wait until it has finished. @@ -167,6 +168,8 @@ pane.tagSelector.numSelected.singular = %S tag selected pane.tagSelector.numSelected.plural = %S tags selected pane.items.loading = Loading items list… +pane.items.attach.link.uri.title = Attach Link to URI +pane.items.attach.link.uri = Enter a URI: pane.items.trash.title = Move to Trash pane.items.trash = Are you sure you want to move the selected item to the Trash? pane.items.trash.multiple = Are you sure you want to move the selected items to the Trash? @@ -206,7 +209,12 @@ pane.item.selected.multiple = %S items selected pane.item.unselected.zero = No items in this view pane.item.unselected.singular = %S item in this view pane.item.unselected.plural = %S items in this view -pane.item.selectToMerge = Select items to merge + +pane.item.duplicates.selectToMerge = Select items to merge +pane.item.duplicates.mergeItems = Merge %S items +pane.item.duplicates.writeAccessRequired = Library write access is required to merge items. +pane.item.duplicates.onlyTopLevel = Only top-level full items can be merged. +pane.item.duplicates.onlySameItemType = Merged items must all be of the same item type. pane.item.changeType.title = Change Item Type pane.item.changeType.text = Are you sure you want to change the item type?\n\nThe following fields will be lost: @@ -232,14 +240,15 @@ pane.item.attachments.count.zero = %S attachments: pane.item.attachments.count.singular = %S attachment: pane.item.attachments.count.plural = %S attachments: pane.item.attachments.select = Select a File +pane.item.attachments.PDF.installTools.title = PDF Tools Not Installed +pane.item.attachments.PDF.installTools.text = To use this feature, you must first install the PDF tools in the Zotero preferences. +pane.item.attachments.filename = Filename pane.item.noteEditor.clickHere = click here -pane.item.tags = Tags: pane.item.tags.count.zero = %S tags: pane.item.tags.count.singular = %S tag: pane.item.tags.count.plural = %S tags: pane.item.tags.icon.user = User-added tag pane.item.tags.icon.automatic = Automatically added tag -pane.item.related = Related: pane.item.related.count.zero = %S related: pane.item.related.count.singular = %S related: pane.item.related.count.plural = %S related: @@ -765,6 +774,11 @@ sync.conflict.tagItemMerge.log = The Zotero tag '%S' has been added to and/or sync.conflict.tag.addedToRemote = It has been added to the following remote items: sync.conflict.tag.addedToLocal = It has been added to the following local items: +sync.conflict.fileChanged = The following file has been changed in multiple locations. +sync.conflict.itemChanged = The following item has been changed in multiple locations. +sync.conflict.chooseVersionToKeep = \u0020Choose the version you would like to keep, and then click %S. +sync.conflict.chooseThisVersion = Choose this version + sync.status.notYetSynced = Not yet synced sync.status.lastSync = Last sync: sync.status.loggingIn = Logging in to sync server @@ -787,17 +801,23 @@ sync.storage.serverConfigurationVerified = Server configuration verified sync.storage.fileSyncSetUp = File sync is successfully set up. sync.storage.openAccountSettings = Open Account Settings +sync.storage.error.default = A file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, restart %S and/or your computer and try again. If you continue to receive the message, submit an error report and post the Report ID to a new thread in the Zotero Forums. +sync.storage.error.defaultRestart = A file sync error occurred. Please restart %S and/or your computer and try syncing again.\n\nIf you receive this message repeatedly, submit an error report and post the Report ID to a new thread in the Zotero Forums. sync.storage.error.serverCouldNotBeReached = The server %S could not be reached. sync.storage.error.permissionDeniedAtAddress = You do not have permission to create a Zotero directory at the following address: sync.storage.error.checkFileSyncSettings = Please check your file sync settings or contact your server administrator. sync.storage.error.verificationFailed = %S verification failed. Verify your file sync settings in the Sync pane of the Zotero preferences. sync.storage.error.fileNotCreated = The file '%S' could not be created in the Zotero 'storage' directory. +sync.storage.error.encryptedFilenames = Error creating file '%S'.\n\nSee http://www.zotero.org/support/kb/encrypted_filenames for more information. sync.storage.error.fileEditingAccessLost = You no longer have file editing access to the Zotero group '%S', and files you've added or edited cannot be synced to the server. sync.storage.error.copyChangedItems = If you would like a chance to copy changed items and files elsewhere, cancel the sync now. sync.storage.error.fileUploadFailed = File upload failed. sync.storage.error.directoryNotFound = Directory not found sync.storage.error.doesNotExist = %S does not exist. sync.storage.error.createNow = Do you want to create it now? + +sync.storage.error.webdav.default = A WebDAV file sync error occurred. Please try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences. +sync.storage.error.webdav.defaultRestart = A WebDAV file sync error occurred. Please restart %S and try syncing again.\n\nIf you receive this message repeatedly, check your WebDAV server settings in the Sync pane of the Zotero preferences. sync.storage.error.webdav.enterURL = Please enter a WebDAV URL. sync.storage.error.webdav.invalidURL = %S is not a valid WebDAV URL. sync.storage.error.webdav.invalidLogin = The WebDAV server did not accept the username and password you entered. @@ -808,10 +828,17 @@ sync.storage.error.webdav.sslConnectionError = SSL connection error connecting t sync.storage.error.webdav.loadURLForMoreInfo = Load your WebDAV URL in the browser for more information. sync.storage.error.webdav.seeCertOverrideDocumentation = See the certificate override documentation for more information. sync.storage.error.webdav.loadURL = Load WebDAV URL +sync.storage.error.webdav.fileMissingAfterUpload = A potential problem was found with your WebDAV server.\n\nAn uploaded file was not immediately available for download. There may be a short delay between when you upload files and when they become available, particularly if you are using a cloud storage service.\n\nIf Zotero file syncing appears to work normally, you can ignore this message. If you have trouble, please post to the Zotero Forums. +sync.storage.error.webdav.serverConfig.title = WebDAV Server Configuration Error +sync.storage.error.webdav.serverConfig = Your WebDAV server returned an internal error.\n\n + +sync.storage.error.zfs.restart = A file sync error occurred. Please restart %S and/or your computer and try syncing again.\n\nIf the error persists, there may be a problem with either your computer or your network: security software, proxy server, VPN, etc. Try disabling any security/firewall software you're using or, if this is a laptop, try from a different network. +sync.storage.error.zfs.tooManyQueuedUploads = You have too many queued uploads. Please try again in %S minutes. sync.storage.error.zfs.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. sync.storage.error.zfs.groupQuotaReached2 = The group owner can increase the group's storage capacity from the storage settings section on zotero.org. +sync.storage.error.zfs.fileWouldExceedQuota = The file '%S' would exceed your Zotero File Storage quota sync.longTagFixer.saveTag = Save Tag sync.longTagFixer.saveTags = Save Tags @@ -849,6 +876,18 @@ rtfScan.rtf = Rich Text Format (.rtf) rtfScan.saveTitle = Select a location in which to save the formatted file rtfScan.scannedFileSuffix = (Scanned) + +file.accessError.theFile = The file '%S' +file.accessError.aFile = A file +file.accessError.cannotBe = \u0020cannot be\u0020 +file.accessError.created = created +file.accessError.updated = updated +file.accessError.deleted = deleted +file.accessError.message.windows = Check that the file is not currently in use and that it is not marked as read-only. To check all files in your Zotero data directory, right-click on the 'zotero' directory, click Properties, clear the Read-Only checkbox, and apply the change to all folders and files in the directory. +file.accessError.message.other = Check that the file is not currently in use and that its permissions allow write access. +file.accessError.restart = Restarting your computer or disabling security software may also help. +file.accessError.showParentDir = Show Parent Directory + lookup.failure.title = Lookup Failed lookup.failure.description = Zotero could not find a record for the specified identifier. Please verify the identifier and try again.