mirror of
https://github.com/zotero/zotero.git
synced 2026-08-28 05:25:31 +00:00
Compare commits
23 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb712a0250 | ||
|
|
28d5fa3d20 | ||
|
|
8236ed8361 | ||
|
|
1e810b2a36 | ||
|
|
6325ec1247 | ||
|
|
d3b3ec5b46 | ||
|
|
a6aa02e1ab | ||
|
|
fe33482ab9 | ||
|
|
1485dc25eb | ||
|
|
10c74d33c9 | ||
|
|
5110a15e58 | ||
|
|
9c7dff4961 | ||
|
|
1205349330 | ||
|
|
6d5007a078 | ||
|
|
24a87ad8a2 | ||
|
|
66bc7b70f3 | ||
|
|
6f60f860a0 | ||
|
|
9a1bac563e | ||
|
|
d31fafea98 | ||
|
|
5aa1c700cc | ||
|
|
4174955345 | ||
|
|
2d4ef19f41 | ||
|
|
dc54d82712 |
139 changed files with 1160 additions and 448 deletions
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
|
@ -67,7 +67,7 @@ jobs:
|
|||
env.ACT != 'true'
|
||||
&& github.repository == 'zotero/zotero'
|
||||
&& github.event_name == 'push'
|
||||
&& (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/fx128' || endsWith(github.ref, '-hotfix'))
|
||||
&& (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/8.0' || endsWith(github.ref, '-hotfix'))
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ ROOT_DIR="$(dirname "$(dirname "$SCRIPT_DIR")")"
|
|||
. "$APP_ROOT_DIR/config.sh"
|
||||
|
||||
CHANNEL="release"
|
||||
BRANCH="main"
|
||||
BRANCH="8.0"
|
||||
if [ "`uname`" = "Darwin" ]; then
|
||||
export SAFARI_APPEX="$ROOT_DIR/../safari-app-extension-builds/release/ZoteroSafariExtension.appex"
|
||||
fi
|
||||
|
|
@ -126,12 +126,26 @@ done
|
|||
# Upload builds to S3
|
||||
"$SCRIPT_DIR/upload_builds" $CHANNEL $VERSION
|
||||
|
||||
# Upload file lists for each platform
|
||||
# Upload file lists and build info for each platform
|
||||
channel_deploy_path="$DEPLOY_PATH/$CHANNEL"
|
||||
mkdir "$TEMP_DIR/version_info"
|
||||
chmod g+ws "$TEMP_DIR/version_info"
|
||||
cp "$DIST_DIR"/files-* "$TEMP_DIR/version_info"
|
||||
chmod g+w "$TEMP_DIR"/version_info/files-*
|
||||
# Generate build-{os}.json for each platform
|
||||
SHORT_VERSION="${VERSION:0:3}"
|
||||
DETAILS_URL="https://www.zotero.org/support/${SHORT_VERSION}_changelog"
|
||||
for i in `seq 0 1 $((${#PLATFORMS}-1))`
|
||||
do
|
||||
case ${PLATFORMS:i:1} in
|
||||
m) os_name="mac" ;;
|
||||
w) os_name="win" ;;
|
||||
l) os_name="linux" ;;
|
||||
esac
|
||||
printf '{\n "buildID": "%s",\n "detailsURL": "%s"\n}\n' "$BUILD_ID" "$DETAILS_URL" \
|
||||
> "$TEMP_DIR/version_info/build-${os_name}.json"
|
||||
chmod g+w "$TEMP_DIR/version_info/build-${os_name}.json"
|
||||
done
|
||||
rsync -rv "$TEMP_DIR/version_info/" $DEPLOY_HOST:"$channel_deploy_path/$VERSION/"
|
||||
|
||||
# Download updates JSON for each platform, update it, and reupload it
|
||||
|
|
|
|||
|
|
@ -393,6 +393,13 @@ function modify_omni {
|
|||
'<label target="_blank" class="text-link" dir="ltr"><\/label>' \
|
||||
chrome/toolkit/content/mozapps/extensions/aboutaddons.html
|
||||
|
||||
# Add zotero.ftl to the addons page for our own localized strings
|
||||
replace_line 'href="toolkit\/about\/aboutAddons.ftl"' 'href="toolkit\/about\/aboutAddons.ftl" \/>\n <link rel="localization" href="zotero.ftl"' \
|
||||
chrome/toolkit/content/mozapps/extensions/aboutaddons.html
|
||||
# Use our own localized string for blocked plugin notification
|
||||
file="chrome/toolkit/content/mozapps/extensions/aboutaddons.js"
|
||||
replace_line 'details-notification-hard-blocked-\$\{typeSuffix\}' 'plugins-blocked-plugin' $file
|
||||
|
||||
# TODO: Use our own strings, but for now fix the bundled English ones
|
||||
replace_line 'Manage Your Extensions' 'Manage Your Plugins' localization/en-US/toolkit/about/aboutAddons.ftl
|
||||
replace_line '= Extensions' '= Plugins' localization/en-US/toolkit/about/aboutAddons.ftl
|
||||
|
|
|
|||
|
|
@ -290,6 +290,8 @@ var Scaffold = new function () {
|
|||
let translatorID = document.getElementById('textbox-translatorID').value;
|
||||
let modifiedTime = Scaffold_Translators.getModifiedTime(translatorID);
|
||||
if (modifiedTime && modifiedTime > _lastModifiedTime) {
|
||||
_lastModifiedTime = modifiedTime;
|
||||
|
||||
let ps = Services.prompt;
|
||||
let buttonFlags = ps.BUTTON_POS_0 * ps.BUTTON_TITLE_IS_STRING
|
||||
+ ps.BUTTON_POS_1 * ps.BUTTON_TITLE_IS_STRING;
|
||||
|
|
@ -304,9 +306,6 @@ var Scaffold = new function () {
|
|||
if (index == 1) {
|
||||
await this.load(translatorID);
|
||||
}
|
||||
else {
|
||||
_lastModifiedTime = modifiedTime;
|
||||
}
|
||||
}
|
||||
|
||||
_updateTitle();
|
||||
|
|
|
|||
|
|
@ -70,6 +70,10 @@
|
|||
}
|
||||
}
|
||||
|
||||
get value() {
|
||||
return super.value;
|
||||
}
|
||||
|
||||
set value(value) {
|
||||
if (!this.itemCount) {
|
||||
this._preconnectedValue = value;
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@
|
|||
event.preventDefault();
|
||||
}
|
||||
let delimiters = [',', ';'];
|
||||
let interceptRegex = new RegExp(`\\w+\\s*(${delimiters.join('|')})\\s*\\w+`, 'i');
|
||||
let interceptRegex = new RegExp(`[\\p{L}\\p{N}]+\\s*(${delimiters.join('|')})\\s*[\\p{L}\\p{N}]+`, 'iu');
|
||||
let match = str.match(interceptRegex);
|
||||
if (match) {
|
||||
event.preventDefault();
|
||||
|
|
|
|||
|
|
@ -161,6 +161,10 @@ var ItemTree = class ItemTree extends LibraryTree {
|
|||
this._rowCache = {};
|
||||
this.tree.invalidate();
|
||||
}),
|
||||
Zotero.Prefs.registerObserver('hideContextAnnotationRows', async () => {
|
||||
await this.refresh();
|
||||
this.tree.invalidate();
|
||||
})
|
||||
];
|
||||
|
||||
this._itemsPaneMessage = null;
|
||||
|
|
@ -391,6 +395,10 @@ var ItemTree = class ItemTree extends LibraryTree {
|
|||
// a sorted list of items for a given column configuration and restore items from that.
|
||||
await this.sort([...addedItemIDs]);
|
||||
|
||||
// Update search results before collapse/expand of containers so that
|
||||
// if hideContextAnnotationRows pref is true, child rows appear/disappear properly
|
||||
this._searchItemIDs = newSearchItemIDs; // items matching the search
|
||||
this._searchMode = newSearchMode;
|
||||
// Toggle all open containers closed and open to refresh child items
|
||||
//
|
||||
// This could be avoided by making sure that items in notify() that aren't present are always
|
||||
|
|
@ -406,8 +414,6 @@ var ItemTree = class ItemTree extends LibraryTree {
|
|||
|
||||
this._refreshRowMap();
|
||||
|
||||
this._searchMode = newSearchMode;
|
||||
this._searchItemIDs = newSearchItemIDs; // items matching the search
|
||||
this._rowCache = {};
|
||||
|
||||
if (!this.collectionTreeRow.isPublications()) {
|
||||
|
|
@ -1742,6 +1748,10 @@ var ItemTree = class ItemTree extends LibraryTree {
|
|||
if (item.isFileAttachment()) {
|
||||
annotations = item.getAnnotations();
|
||||
}
|
||||
// Optionally, only keep annotation rows that match the search query
|
||||
if (Zotero.Prefs.get("hideContextAnnotationRows") && this._searchMode) {
|
||||
annotations = annotations.filter(annotation => this._searchItemIDs.has(annotation.id));
|
||||
}
|
||||
var newRows = [];
|
||||
if (attachments.length && notes.length) {
|
||||
newRows = notes.concat(attachments);
|
||||
|
|
@ -2117,6 +2127,10 @@ var ItemTree = class ItemTree extends LibraryTree {
|
|||
|
||||
var item = this.getRow(index).ref;
|
||||
if (item.isFileAttachment()) {
|
||||
// Consider attachments with non-matching annotation rows as empty when pref is set
|
||||
if (Zotero.Prefs.get("hideContextAnnotationRows") && this._searchMode) {
|
||||
return !item.getAnnotations().some(annotation => this._searchItemIDs.has(annotation.id));
|
||||
}
|
||||
return item.numAnnotations() == 0;
|
||||
}
|
||||
if (!item.isRegularItem()) {
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 99724467e5e435b71249eaa079bed49915ee278e
|
||||
Subproject commit cc53ee1fb4bc425898329b112b34aff250f43321
|
||||
|
|
@ -517,6 +517,12 @@ const ZoteroStandalone = new function () {
|
|||
Zotero.Prefs.get('recursiveCollections')
|
||||
);
|
||||
|
||||
// Hide context rows
|
||||
this.updateMenuItemCheckmark(
|
||||
'view-menuitem-hide-context-annotation-rows',
|
||||
Zotero.Prefs.get('hideContextAnnotationRows')
|
||||
);
|
||||
|
||||
this.onUpdateCustomMenus(event, 'view');
|
||||
};
|
||||
|
||||
|
|
@ -651,6 +657,10 @@ const ZoteroStandalone = new function () {
|
|||
case 'recursive-collections':
|
||||
this.toggleBooleanPref('recursiveCollections');
|
||||
break;
|
||||
|
||||
case 'hide-context-annotation-rows':
|
||||
this.toggleBooleanPref('hideContextAnnotationRows');
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -532,7 +532,7 @@ Zotero.HTTP = new function () {
|
|||
if(success) {
|
||||
Zotero.debug("HTTP " + method + " " + dispURL
|
||||
+ " succeeded with " + status);
|
||||
if (options.debug) {
|
||||
if (options.debug && (xmlhttp.responseType == '' || xmlhttp.responseType == 'text')) {
|
||||
Zotero.debug(xmlhttp.responseText);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3033,6 +3033,45 @@ Zotero.Integration.CitationField = class extends Zotero.Integration.Field {
|
|||
}
|
||||
}
|
||||
|
||||
// Fix for Mac Word "All Caps" formatting corrupting field codes.
|
||||
// All text including JSON keys and string values gets uppercased,
|
||||
// but numbers/booleans are unaffected. We recover items via their
|
||||
// integer ID and discard corrupted URIs/itemData.
|
||||
// Distinct from old Zotero 2.x uppercase which only affected CITATIONITEMS.
|
||||
if (citation.CITATIONID) {
|
||||
Zotero.debug("Integration: Recovering citation field corrupted by All Caps formatting");
|
||||
citation.citationID = citation.CITATIONID;
|
||||
delete citation.CITATIONID;
|
||||
|
||||
if (citation.PROPERTIES) {
|
||||
if (!citation.properties) {
|
||||
citation.properties = {};
|
||||
}
|
||||
// Preserve non-string values (unaffected by All Caps).
|
||||
// Don't preserve dontUpdate -- we need to update since the
|
||||
// presentation is corrupted.
|
||||
if ('NOTEINDEX' in citation.PROPERTIES) {
|
||||
citation.properties.noteIndex = citation.PROPERTIES.NOTEINDEX;
|
||||
}
|
||||
if ('UNSORTED' in citation.PROPERTIES) {
|
||||
citation.properties.unsorted = citation.PROPERTIES.UNSORTED;
|
||||
}
|
||||
delete citation.PROPERTIES;
|
||||
}
|
||||
|
||||
// Delete corrupted URIs and itemData from citation items.
|
||||
// loadItemData() will fall through to Zotero.Items.get(citationItem.id)
|
||||
// for resolution, or handleMissingItem() if the item isn't found.
|
||||
for (let citationItem of citation.citationItems) {
|
||||
delete citationItem.uris;
|
||||
// Existing CITATIONITEMS handling lowercases ITEMDATA to 'itemdata'
|
||||
delete citationItem.itemdata;
|
||||
delete citationItem.itemData;
|
||||
}
|
||||
|
||||
delete citation.SCHEMA;
|
||||
}
|
||||
|
||||
if(!citation.properties) citation.properties = {};
|
||||
|
||||
for (let citationItem of citation.citationItems) {
|
||||
|
|
|
|||
|
|
@ -563,6 +563,12 @@ Zotero.Plugins = new function () {
|
|||
|
||||
// TODO: Get blocking list from server
|
||||
const BLOCKED_PLUGINS = {
|
||||
"better-bibtex@iris-advies.com": {
|
||||
versionRanges: [{
|
||||
maxVersion: "8.999"
|
||||
}],
|
||||
reason: "Versions of this plugin prior to version 9.0 prevent Zotero from closing properly and cannot be automatically updated.",
|
||||
},
|
||||
"zoterostyle@polygon.org": {
|
||||
versionRanges: [{
|
||||
maxVersion: "4.5.99"
|
||||
|
|
|
|||
|
|
@ -53,15 +53,154 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
},
|
||||
|
||||
_parentURI: null,
|
||||
_rootURI: null,
|
||||
_channelAuthorization: null,
|
||||
|
||||
_getAuthorizationHeaders() {
|
||||
if (!this._channelAuthorization) {
|
||||
Zotero.debug("Authorization header not cached");
|
||||
return {};
|
||||
_rootURI: null,
|
||||
_basicAuthHeader: null,
|
||||
_digestParams: null,
|
||||
|
||||
/**
|
||||
* Get an Authorization header for the given request.
|
||||
*
|
||||
* Firefox no longer sends preemptive Authorization headers across separate XMLHttpRequest
|
||||
* instances, even to the same host. Every request starts unauthenticated, which triggers 401
|
||||
* round-trips and can cause failures with servers that close the connection on unauthenticated
|
||||
* PUT.
|
||||
*
|
||||
* To work around this, cacheCredentials() captures the auth type from the first authenticated
|
||||
* request:
|
||||
*
|
||||
* - Basic: the Authorization header is stored as-is and replayed on all requests
|
||||
* - Digest: the challenge parameters (realm, nonce, qop, etc.) are stored, and a fresh Digest
|
||||
* Authorization header is computed per request
|
||||
*
|
||||
* @param {String} method - HTTP method
|
||||
* @param {nsIURI} uri - Request URI
|
||||
* @return {Object} - Headers object, e.g. { Authorization: "..." } or {}
|
||||
*/
|
||||
_getAuthorizationHeaders(method, uri) {
|
||||
// Basic auth can be replayed directly
|
||||
if (this._basicAuthHeader) {
|
||||
return { Authorization: this._basicAuthHeader };
|
||||
}
|
||||
// Digest auth -- compute a fresh header for this method/URI
|
||||
if (this._digestParams && method && uri) {
|
||||
let auth = this._computeDigestAuth(method, uri.pathQueryRef);
|
||||
if (auth) {
|
||||
return { Authorization: auth };
|
||||
}
|
||||
}
|
||||
return {};
|
||||
},
|
||||
|
||||
/**
|
||||
* Parse Digest parameters from a captured Authorization header.
|
||||
*
|
||||
* A Digest Authorization header looks like:
|
||||
* Digest username="user", realm="WebDAV", nonce="abc", uri="/path",
|
||||
* qop=auth, nc=00000001, cnonce="xyz", response="...", opaque="..."
|
||||
*
|
||||
* We extract the challenge parameters (realm, nonce, qop, opaque,
|
||||
* algorithm) so we can compute fresh responses for different requests.
|
||||
*
|
||||
* @param {String} header - The Digest Authorization header string
|
||||
* @return {Object|null} - Parsed parameters or null
|
||||
*/
|
||||
_parseDigestParams(header) {
|
||||
if (!header || !header.startsWith('Digest ')) return null;
|
||||
let params = {};
|
||||
let regex = /(\w+)=(?:"([^"]*)"|([\w]+))/g;
|
||||
let match;
|
||||
while ((match = regex.exec(header)) !== null) {
|
||||
params[match[1]] = match[2] !== undefined ? match[2] : match[3];
|
||||
}
|
||||
if (!params.realm || !params.nonce) return null;
|
||||
return params;
|
||||
},
|
||||
|
||||
/**
|
||||
* Compute a Digest Authorization header for the given method and URI.
|
||||
*
|
||||
* @param {String} method - HTTP method
|
||||
* @param {String} path - Request URI path (e.g., "/zotero/file.zip")
|
||||
* @return {String|null} - Complete Digest Authorization header or null
|
||||
*/
|
||||
_computeDigestAuth(method, path) {
|
||||
let p = this._digestParams;
|
||||
if (!p) return null;
|
||||
|
||||
let md5 = Zotero.Utilities.Internal.md5;
|
||||
let nc = (++p.nc).toString(16).padStart(8, '0');
|
||||
let cnonce = Zotero.Utilities.randomString(16);
|
||||
|
||||
let ha1;
|
||||
if (p.algorithm && p.algorithm.toLowerCase() === 'md5-sess') {
|
||||
let base = md5(`${p.username}:${p.realm}:${p.password}`);
|
||||
ha1 = md5(`${base}:${p.nonce}:${cnonce}`);
|
||||
}
|
||||
else {
|
||||
ha1 = md5(`${p.username}:${p.realm}:${p.password}`);
|
||||
}
|
||||
|
||||
let ha2 = md5(`${method}:${path}`);
|
||||
|
||||
let response;
|
||||
if (p.qop) {
|
||||
response = md5(
|
||||
`${ha1}:${p.nonce}:${nc}:${cnonce}:${p.qop}:${ha2}`
|
||||
);
|
||||
}
|
||||
else {
|
||||
response = md5(`${ha1}:${p.nonce}:${ha2}`);
|
||||
}
|
||||
|
||||
let header = `Digest username="${p.username}", realm="${p.realm}"`
|
||||
+ `, nonce="${p.nonce}", uri="${path}"`
|
||||
+ `, response="${response}"`;
|
||||
if (p.algorithm) {
|
||||
header += `, algorithm=${p.algorithm}`;
|
||||
}
|
||||
if (p.qop) {
|
||||
header += `, qop=${p.qop}, nc=${nc}, cnonce="${cnonce}"`;
|
||||
}
|
||||
if (p.opaque) {
|
||||
header += `, opaque="${p.opaque}"`;
|
||||
}
|
||||
return header;
|
||||
},
|
||||
|
||||
/**
|
||||
* Callback for onAuthorizationHeader -- caches the auth type and
|
||||
* parameters from a completed request.
|
||||
*
|
||||
* @param {String} authorization - The Authorization header value
|
||||
*/
|
||||
_cacheAuthorization(authorization) {
|
||||
this._basicAuthHeader = null;
|
||||
this._digestParams = null;
|
||||
|
||||
if (!authorization) return;
|
||||
|
||||
if (authorization.startsWith('Basic ')) {
|
||||
this._basicAuthHeader = authorization;
|
||||
Zotero.debug("Cached Basic auth header");
|
||||
}
|
||||
else if (authorization.startsWith('Digest ')) {
|
||||
let parsed = this._parseDigestParams(authorization);
|
||||
if (parsed) {
|
||||
let username = decodeURIComponent(this.rootURI.username);
|
||||
let password = decodeURIComponent(this.rootURI.password);
|
||||
this._digestParams = {
|
||||
username,
|
||||
password,
|
||||
realm: parsed.realm,
|
||||
nonce: parsed.nonce,
|
||||
qop: parsed.qop || null,
|
||||
opaque: parsed.opaque || null,
|
||||
algorithm: parsed.algorithm || null,
|
||||
nc: 0,
|
||||
};
|
||||
Zotero.debug("Cached Digest auth parameters");
|
||||
}
|
||||
}
|
||||
return { Authorization: this._channelAuthorization };
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
@ -69,7 +208,8 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
*/
|
||||
_onAuthError() {
|
||||
Zotero.debug("Clearing cached WebDAV credentials due to auth error");
|
||||
this._channelAuthorization = false;
|
||||
this._basicAuthHeader = false;
|
||||
this._digestParams = null;
|
||||
this.verified = false;
|
||||
},
|
||||
|
||||
|
|
@ -135,8 +275,9 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
return;
|
||||
}
|
||||
|
||||
this._channelAuthorization = false;
|
||||
|
||||
this._basicAuthHeader = false;
|
||||
this._digestParams = null;
|
||||
|
||||
var logins = await Services.logins.searchLoginsAsync({
|
||||
origin: this._loginManagerHost,
|
||||
httpRealm: this._loginManagerRealm
|
||||
|
|
@ -246,29 +387,35 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
cacheCredentials: async function () {
|
||||
await this._init();
|
||||
|
||||
if (this._channelAuthorization) {
|
||||
if (this._basicAuthHeader || this._digestParams) {
|
||||
Zotero.debug("WebDAV credentials are already cached");
|
||||
return;
|
||||
}
|
||||
|
||||
Zotero.debug("Caching WebDAV credentials");
|
||||
|
||||
let xmlstr = "<propfind xmlns='DAV:'><prop>"
|
||||
+ "<getcontentlength/>"
|
||||
+ "</prop></propfind>";
|
||||
try {
|
||||
var req = await Zotero.HTTP.request(
|
||||
"OPTIONS",
|
||||
await Zotero.HTTP.request(
|
||||
"PROPFIND",
|
||||
this.rootURI,
|
||||
{
|
||||
successCodes: [200, 204, 404],
|
||||
body: xmlstr,
|
||||
headers: {
|
||||
Depth: 0,
|
||||
"Content-Type": "text/xml; charset=utf-8"
|
||||
},
|
||||
successCodes: [207, 404],
|
||||
errorDelayIntervals: this.ERROR_DELAY_INTERVALS,
|
||||
errorDelayMax: this.ERROR_DELAY_MAX,
|
||||
onAuthorizationHeader: (authorization) => {
|
||||
// Capture whatever auth it ended up using, if any
|
||||
this._channelAuthorization = authorization;
|
||||
this._cacheAuthorization(authorization);
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
if (this._channelAuthorization) {
|
||||
if (this._basicAuthHeader || this._digestParams) {
|
||||
Zotero.debug("Authorization header cached");
|
||||
}
|
||||
else {
|
||||
|
|
@ -278,7 +425,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
catch (e) {
|
||||
if (e instanceof Zotero.HTTP.UnexpectedStatusException) {
|
||||
let msg = "HTTP " + e.status + " error from WebDAV server "
|
||||
+ "for OPTIONS request";
|
||||
+ "for PROPFIND request";
|
||||
Zotero.logError(msg);
|
||||
throw new Error(this.defaultErrorRestart);
|
||||
}
|
||||
|
|
@ -293,7 +440,8 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
Zotero.HTTP.CookieBlocker.removeURL(this._rootURI.spec);
|
||||
}
|
||||
this._rootURI = this._parentURI = undefined;
|
||||
this._channelAuthorization = false;
|
||||
this._basicAuthHeader = false;
|
||||
this._digestParams = null;
|
||||
},
|
||||
|
||||
|
||||
|
|
@ -553,7 +701,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
"DELETE",
|
||||
propURI,
|
||||
{
|
||||
headers: this._getAuthorizationHeaders(),
|
||||
headers: this._getAuthorizationHeaders("DELETE", propURI),
|
||||
successCodes: [200, 204, 404],
|
||||
requestObserver: xmlhttp => request.setChannel(xmlhttp.channel),
|
||||
errorDelayIntervals: this.ERROR_DELAY_INTERVALS,
|
||||
|
|
@ -587,7 +735,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
uri,
|
||||
{
|
||||
headers: Object.assign(
|
||||
this._getAuthorizationHeaders(),
|
||||
this._getAuthorizationHeaders("PUT", uri),
|
||||
{
|
||||
"Content-Type": "application/zip"
|
||||
},
|
||||
|
|
@ -659,38 +807,36 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
{
|
||||
successCodes: [200, 204, 404],
|
||||
requestObserver,
|
||||
onAuthorizationHeader: (authorization) => {
|
||||
// Capture whatever auth it ended up using, if any
|
||||
this._channelAuthorization = authorization;
|
||||
},
|
||||
errorDelayMax: 0,
|
||||
debug: true
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
Zotero.debug(req.getAllResponseHeaders());
|
||||
|
||||
|
||||
var dav = req.getResponseHeader("DAV");
|
||||
if (dav == null) {
|
||||
throw new this.VerificationError("NOT_DAV", Zotero.HTTP.getDisplayURI(uri, true).spec);
|
||||
}
|
||||
|
||||
var headers = this._getAuthorizationHeaders();
|
||||
|
||||
var propfindHeaders = {
|
||||
Depth: 0,
|
||||
"Content-Type": "text/xml; charset=utf-8"
|
||||
};
|
||||
|
||||
|
||||
// Test whether Zotero directory exists
|
||||
req = await Zotero.HTTP.request("PROPFIND", uri, {
|
||||
body: xmlstr,
|
||||
headers: Object.assign({}, headers, propfindHeaders),
|
||||
headers: propfindHeaders,
|
||||
successCodes: [207, 404],
|
||||
requestObserver,
|
||||
onAuthorizationHeader: (authorization) => {
|
||||
this._cacheAuthorization(authorization);
|
||||
},
|
||||
errorDelayMax: 0,
|
||||
debug: true
|
||||
});
|
||||
|
||||
|
||||
if (req.status == 207) {
|
||||
// Test if missing files return 404s
|
||||
let missingFileURI = uri.mutate().setSpec(uri.spec + "nonexistent.prop").finalize();
|
||||
|
|
@ -699,7 +845,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
"GET",
|
||||
missingFileURI,
|
||||
{
|
||||
headers,
|
||||
headers: this._getAuthorizationHeaders("GET", missingFileURI),
|
||||
successCodes: [404],
|
||||
responseType: 'text',
|
||||
requestObserver,
|
||||
|
|
@ -719,23 +865,23 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
}
|
||||
throw e;
|
||||
}
|
||||
|
||||
|
||||
// Test if Zotero directory is writable
|
||||
let testFileURI = uri.mutate().setSpec(uri.spec + "zotero-test-file.prop").finalize();
|
||||
req = await Zotero.HTTP.request("PUT", testFileURI, {
|
||||
headers,
|
||||
headers: this._getAuthorizationHeaders("PUT", testFileURI),
|
||||
body: " ",
|
||||
successCodes: [200, 201, 204],
|
||||
requestObserver,
|
||||
errorDelayMax: 0,
|
||||
debug: true
|
||||
});
|
||||
|
||||
|
||||
req = await Zotero.HTTP.request(
|
||||
"GET",
|
||||
testFileURI,
|
||||
{
|
||||
headers,
|
||||
headers: this._getAuthorizationHeaders("GET", testFileURI),
|
||||
successCodes: [200, 404],
|
||||
responseType: 'text',
|
||||
requestObserver,
|
||||
|
|
@ -743,14 +889,14 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
debug: true
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
if (req.status == 200) {
|
||||
// Delete test file
|
||||
await Zotero.HTTP.request(
|
||||
"DELETE",
|
||||
testFileURI,
|
||||
{
|
||||
headers,
|
||||
headers: this._getAuthorizationHeaders("DELETE", testFileURI),
|
||||
successCodes: [200, 204],
|
||||
requestObserver,
|
||||
errorDelayMax: 0,
|
||||
|
|
@ -774,7 +920,11 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
// Zotero directory wasn't found, so see if at least
|
||||
// the parent directory exists
|
||||
req = await Zotero.HTTP.request("PROPFIND", parentURI, {
|
||||
headers: Object.assign({}, headers, propfindHeaders),
|
||||
headers: Object.assign(
|
||||
{},
|
||||
this._getAuthorizationHeaders("PROPFIND", parentURI),
|
||||
propfindHeaders
|
||||
),
|
||||
body: xmlstr,
|
||||
requestObserver,
|
||||
successCodes: [207, 404],
|
||||
|
|
@ -1053,7 +1203,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
{
|
||||
body: xmlstr,
|
||||
headers: Object.assign(
|
||||
this._getAuthorizationHeaders(),
|
||||
this._getAuthorizationHeaders("PROPFIND", uri),
|
||||
{ Depth: 1 },
|
||||
contentTypeXML
|
||||
),
|
||||
|
|
@ -1184,7 +1334,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
"GET",
|
||||
uri,
|
||||
{
|
||||
headers: this._getAuthorizationHeaders(),
|
||||
headers: this._getAuthorizationHeaders("GET", uri),
|
||||
successCodes: [200, 300, 404],
|
||||
responseType: 'text',
|
||||
requestObserver: xmlhttp => request.setChannel(xmlhttp.channel),
|
||||
|
|
@ -1300,7 +1450,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
{
|
||||
"Content-Type": "text/xml"
|
||||
},
|
||||
this._getAuthorizationHeaders(),
|
||||
this._getAuthorizationHeaders("PUT", uri),
|
||||
),
|
||||
body: xmlstr,
|
||||
successCodes: [200, 201, 204],
|
||||
|
|
@ -1461,7 +1611,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
"DELETE",
|
||||
deleteURI,
|
||||
{
|
||||
headers: this._getAuthorizationHeaders(),
|
||||
headers: this._getAuthorizationHeaders("DELETE", deleteURI),
|
||||
successCodes: [200, 204, 404],
|
||||
errorDelayIntervals: this.ERROR_DELAY_INTERVALS,
|
||||
errorDelayMax: this.ERROR_DELAY_MAX,
|
||||
|
|
@ -1504,7 +1654,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
|||
"DELETE",
|
||||
deletePropURI,
|
||||
{
|
||||
headers: this._getAuthorizationHeaders(),
|
||||
headers: this._getAuthorizationHeaders("DELETE", deletePropURI),
|
||||
successCodes: [200, 204, 404],
|
||||
errorDelayIntervals: this.ERROR_DELAY_INTERVALS,
|
||||
errorDelayMax: this.ERROR_DELAY_MAX,
|
||||
|
|
|
|||
|
|
@ -693,6 +693,12 @@
|
|||
oncommand="ZoteroStandalone.onViewMenuItemClick(event)"
|
||||
type="checkbox"
|
||||
/>
|
||||
<menuitem id="view-menuitem-hide-context-annotation-rows"
|
||||
class="menu-type-library"
|
||||
data-l10n-id="menu-view-hide-context-annotation-rows"
|
||||
oncommand="ZoteroStandalone.onViewMenuItemClick(event)"
|
||||
type="checkbox"
|
||||
/>
|
||||
<menuseparator/>
|
||||
<menuitem id="show-tabs-menu"
|
||||
data-l10n-id="menu-show-tabs-menu"
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Note Font Size
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etikette
|
|||
itemFields.attachments=Aanhegsels
|
||||
itemFields.related=Verwant
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Regte
|
||||
itemFields.rights=License
|
||||
itemFields.series=Series
|
||||
itemFields.volume=Volume
|
||||
itemFields.issue=Issue
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = نقل العمود لليسار
|
||||
menu-view-columns-move-right =
|
||||
.label = نقل العمود لليمين
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = حجم خط الملاحظات
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=أوسمة
|
|||
itemFields.attachments=مرفقات
|
||||
itemFields.related=عناصر مرتبطة
|
||||
itemFields.url=عنوان الموقع
|
||||
itemFields.rights=الحقوق
|
||||
itemFields.rights=License
|
||||
itemFields.series=السلسلة
|
||||
itemFields.volume=المجلد
|
||||
itemFields.issue=العدد
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Note Font Size
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Отметки
|
|||
itemFields.attachments=Приложения
|
||||
itemFields.related=Близки
|
||||
itemFields.url=Адрес
|
||||
itemFields.rights=Права
|
||||
itemFields.rights=License
|
||||
itemFields.series=Поредица
|
||||
itemFields.volume=Том
|
||||
itemFields.issue=Брой
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Notenn ment skritur
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Balizoù
|
|||
itemFields.attachments=Pezhioù-stag
|
||||
itemFields.related=Kevreet
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Aotreadurioù
|
||||
itemFields.rights=License
|
||||
itemFields.series=Dastumad
|
||||
itemFields.volume=Levrenn
|
||||
itemFields.issue=Niverenn
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Mou la columna a l'esquerra
|
||||
menu-view-columns-move-right =
|
||||
.label = Mou la columna a la dreta
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Mida de lletra de les notes
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etiquetes
|
|||
itemFields.attachments=Adjuncions
|
||||
itemFields.related=Elements relacionats
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Drets
|
||||
itemFields.rights=License
|
||||
itemFields.series=Sèrie
|
||||
itemFields.volume=Volum
|
||||
itemFields.issue=Número
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Přesunout sloupce vlevo
|
||||
menu-view-columns-move-right =
|
||||
.label = Přesunout sloupce vpravo
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Velikost písma poznámek
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Štítky
|
|||
itemFields.attachments=Přílohy
|
||||
itemFields.related=Související
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Práva
|
||||
itemFields.rights=License
|
||||
itemFields.series=Série
|
||||
itemFields.volume=Ročník
|
||||
itemFields.issue=Číslo
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Noteskriftstørrelse
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Mærker
|
|||
itemFields.attachments=Vedhæftninger
|
||||
itemFields.related=Relateret
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Rettigheder
|
||||
itemFields.rights=License
|
||||
itemFields.series=Serie
|
||||
itemFields.volume=Bind/Årgang
|
||||
itemFields.issue=Nummer
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Spalte nach links verschieben
|
||||
menu-view-columns-move-right =
|
||||
.label = Spalte nach rechts verschieben
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Schriftgröße Notizen
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Tags
|
|||
itemFields.attachments=Anhänge
|
||||
itemFields.related=Verwandte Einträge
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Rechte
|
||||
itemFields.rights=License
|
||||
itemFields.series=Reihe
|
||||
itemFields.volume=Band
|
||||
itemFields.issue=Ausgabe
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Μέγεθος γραμματοσειράς σημείωσης
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Ετικέτες
|
|||
itemFields.attachments=Συνημμένα
|
||||
itemFields.related=Σχετικό
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Δικαιώματα
|
||||
itemFields.rights=License
|
||||
itemFields.series=Σειρά
|
||||
itemFields.volume=Τόμος
|
||||
itemFields.issue=Τεύχος
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Note Font Size
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Tags
|
|||
itemFields.attachments=Attachments
|
||||
itemFields.related=Related
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Rights
|
||||
itemFields.rights=License
|
||||
itemFields.series=Series
|
||||
itemFields.volume=Volume
|
||||
itemFields.issue=Issue
|
||||
|
|
|
|||
|
|
@ -135,6 +135,9 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
|
||||
|
||||
menu-view-note-font-size =
|
||||
.label = Note Font Size
|
||||
|
|
@ -856,3 +859,6 @@ normalize-attachment-titles-text = { -app-name } automatically renames files on
|
|||
In older versions of { -app-name }, as well as when using certain plugins, attachment titles could be changed unnecessarily to match the filenames.
|
||||
|
||||
Would you like to update the selected attachments to use simpler titles? Only primary attachments with titles that match the filename will be changed.
|
||||
|
||||
plugins-blocked-plugin =
|
||||
.message = This plugin has been disabled by { -app-name }.
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Mover columna a la izquierda
|
||||
menu-view-columns-move-right =
|
||||
.label = Mover columna a la derecha
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Ocultar anotaciones que no coinciden
|
||||
menu-view-note-font-size =
|
||||
.label = Tamaño de fuente de notas
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etiquetas
|
|||
itemFields.attachments=Adjuntos
|
||||
itemFields.related=Relacionado
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Derechos
|
||||
itemFields.rights=Licencia
|
||||
itemFields.series=Serie
|
||||
itemFields.volume=Volumen
|
||||
itemFields.issue=Número
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Note Font Size
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Lipikud
|
|||
itemFields.attachments=Manused
|
||||
itemFields.related=Seotud
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Õigused
|
||||
itemFields.rights=License
|
||||
itemFields.series=Seeria
|
||||
itemFields.volume=Köide
|
||||
itemFields.issue=Väljalase
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Oharraren letra-tamaina
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etiketak
|
|||
itemFields.attachments=Eranskinak
|
||||
itemFields.related=Erlaziodun
|
||||
itemFields.url=URLa
|
||||
itemFields.rights=Eskubideak
|
||||
itemFields.rights=License
|
||||
itemFields.series=Serie
|
||||
itemFields.volume=Alea
|
||||
itemFields.issue=Zenbakia
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = سایز فونت یادداشتها
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=برچسبها
|
|||
itemFields.attachments=پیوستها
|
||||
itemFields.related=مرتبط
|
||||
itemFields.url=نشانی وب
|
||||
itemFields.rights=حقوق
|
||||
itemFields.rights=License
|
||||
itemFields.series=مجموعه (سری)
|
||||
itemFields.volume=جلد
|
||||
itemFields.issue=شماره
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Siirrä sarake vasemmalle
|
||||
menu-view-columns-move-right =
|
||||
.label = Siirrä sarake oikealle
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Muistiinpanojen fonttikoko
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Merkit
|
|||
itemFields.attachments=Liitteet
|
||||
itemFields.related=Liittyvät
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Oikeudet
|
||||
itemFields.rights=License
|
||||
itemFields.series=Sarja
|
||||
itemFields.volume=Vuosikerta
|
||||
itemFields.issue=Numero
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Déplacer la colonne à gauche
|
||||
menu-view-columns-move-right =
|
||||
.label = Déplacer la colonne à droite
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Taille des caractères dans les notes
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Marqueurs
|
|||
itemFields.attachments=Pièces jointes
|
||||
itemFields.related=Connexe
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Autorisations
|
||||
itemFields.rights=Licence
|
||||
itemFields.series=Collection
|
||||
itemFields.volume=Volume
|
||||
itemFields.issue=Numéro
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ reader-convert-to-highlight = Convert to Highlight
|
|||
reader-convert-to-underline = Convert to Underline
|
||||
reader-size = Tamaño
|
||||
reader-merge = Merge
|
||||
reader-copy-link = Copy Link
|
||||
reader-copy-link = Copiar ligazón
|
||||
reader-theme-original = Original
|
||||
reader-theme-snow = Snow
|
||||
reader-theme-sepia = Sepia
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Tamaño tipográfico das notas
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etiquetas
|
|||
itemFields.attachments=Anexos
|
||||
itemFields.related=Relacionado
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Dereitos
|
||||
itemFields.rights=License
|
||||
itemFields.series=Serie
|
||||
itemFields.volume=Tomo
|
||||
itemFields.issue=Número
|
||||
|
|
@ -1446,7 +1446,7 @@ pdfReader.convertToHighlight=Convert to Highlight
|
|||
pdfReader.convertToUnderline=Convert to Underline
|
||||
pdfReader.size=Tamaño
|
||||
pdfReader.merge=Merge
|
||||
pdfReader.copyLink=Copy Link
|
||||
pdfReader.copyLink=Copiar ligazón
|
||||
pdfReader.theme.original=Original
|
||||
pdfReader.theme.snow=Snow
|
||||
pdfReader.theme.sepia=Sepia
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = העברת עמודה שמאלה
|
||||
menu-view-columns-move-right =
|
||||
.label = העברת עמודה ימינה
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = גודל גופן הערה
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=תגיות
|
|||
itemFields.attachments=קבצים מצורפים
|
||||
itemFields.related=קשור
|
||||
itemFields.url=כתובת
|
||||
itemFields.rights=זכויות
|
||||
itemFields.rights=License
|
||||
itemFields.series=סדרה
|
||||
itemFields.volume=כרך
|
||||
itemFields.issue=גיליון
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Veličina slova bilješke
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Oznake
|
|||
itemFields.attachments=Prilozi
|
||||
itemFields.related=Povezano
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Prava
|
||||
itemFields.rights=License
|
||||
itemFields.series=Serija
|
||||
itemFields.volume=Svezak
|
||||
itemFields.issue=Broj
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@
|
|||
|
||||
<!ENTITY zotero.preferences.advanced.advancedConfiguration " Haladó beállítások">
|
||||
|
||||
<!ENTITY zotero.preferences.prefpane.locate "Elhelyezni">
|
||||
<!ENTITY zotero.preferences.prefpane.locate "Hely megadása">
|
||||
<!ENTITY zotero.preferences.locate.locateEngineManager "Article Lookup Engine Manager">
|
||||
<!ENTITY zotero.preferences.locate.description "Leírás">
|
||||
<!ENTITY zotero.preferences.locate.name "Név">
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Jegyzet betűmérete
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
@ -144,7 +146,7 @@ zotero-collections-search =
|
|||
zotero-collections-search-btn =
|
||||
.tooltiptext = { filter-collections }
|
||||
zotero-tabs-menu-filter =
|
||||
.placeholder = Search Tabs
|
||||
.placeholder = Keresés a fülek között
|
||||
zotero-tabs-menu-close-button =
|
||||
.title = Fül bezárása
|
||||
zotero-toolbar-tabs-scroll-forwards =
|
||||
|
|
@ -552,7 +554,7 @@ tag-field =
|
|||
tagselector-search =
|
||||
.placeholder = Filter Tags
|
||||
context-notes-search =
|
||||
.placeholder = Search Notes
|
||||
.placeholder = Keresés a jegyzetek között
|
||||
context-notes-return-button =
|
||||
.aria-label = { general-go-back }
|
||||
new-collection = Új gyűjtemény...
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Címkék
|
|||
itemFields.attachments=Csatolmányok
|
||||
itemFields.related=Kapcsolatok
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Jogok
|
||||
itemFields.rights=License
|
||||
itemFields.series=Sorozat
|
||||
itemFields.volume=Kötet
|
||||
itemFields.issue=Szám
|
||||
|
|
|
|||
|
|
@ -30,14 +30,14 @@ general-add = Tambahkan
|
|||
general-remind-me-later = Ingatkan saya nanti
|
||||
general-dont-ask-again = Jangan tanya lagi
|
||||
general-choose-file = Pilih Berkas...
|
||||
general-open-settings = Open Settings
|
||||
general-settings = Settings…
|
||||
general-open-settings = Buka Pengaturan
|
||||
general-settings = Pengaturan
|
||||
general-help = Bantuan
|
||||
general-tag = Tag
|
||||
general-done = Selesai
|
||||
general-view-troubleshooting-instructions = View Troubleshooting Instructions
|
||||
general-go-back = Go Back
|
||||
general-accept = Accept
|
||||
general-go-back = Kembali
|
||||
general-accept = Terima
|
||||
general-cancel = Batal
|
||||
general-show-in-library = Tunjukkan dalam Perpustakaan
|
||||
general-restartApp = Restart { -app-name }
|
||||
|
|
@ -55,18 +55,18 @@ general-delete = Hapus
|
|||
general-insert = Sisipkan
|
||||
general-and = dan
|
||||
general-et-al = et al.
|
||||
general-previous = Previous
|
||||
general-next = Next
|
||||
general-previous = Sebelum
|
||||
general-next = Lanjut
|
||||
general-learn-more = Baca lebih lanjut
|
||||
general-warning = Peringatan
|
||||
general-type-to-continue = Type “{ $text }” to continue.
|
||||
general-continue = Lanjut
|
||||
general-red = Merah
|
||||
general-orange = Orange
|
||||
general-orange = Jingga
|
||||
general-yellow = Kuning
|
||||
general-green = Green
|
||||
general-green = Hijau
|
||||
general-teal = Teal
|
||||
general-blue = Blue
|
||||
general-blue = Biru
|
||||
general-purple = Purple
|
||||
general-magenta = Magenta
|
||||
general-violet = Violet
|
||||
|
|
@ -83,7 +83,7 @@ menu-file-show-in-finder =
|
|||
menu-file-show-file =
|
||||
.label = Tunjukkan Berkas
|
||||
menu-file-show-files =
|
||||
.label = Show Files
|
||||
.label = Tampilkan Dokumen
|
||||
menu-print =
|
||||
.label = { general-print }
|
||||
menu-density =
|
||||
|
|
@ -95,9 +95,9 @@ menu-add-by-identifier =
|
|||
menu-add-attachment =
|
||||
.label = { add-attachment }
|
||||
menu-add-standalone-file-attachment =
|
||||
.label = Add File…
|
||||
.label = Tambah File
|
||||
menu-add-standalone-linked-file-attachment =
|
||||
.label = Add Link to File…
|
||||
.label = Tambah Tautan pada Dokumen
|
||||
menu-add-child-file-attachment =
|
||||
.label = Attach File…
|
||||
menu-add-child-linked-file-attachment =
|
||||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Ukuran font catatan
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -99,11 +99,11 @@ general.save=Simpan
|
|||
general.edit=Edit
|
||||
|
||||
general.red=Merah
|
||||
general.orange=Orange
|
||||
general.orange=Jingga
|
||||
general.yellow=Kuning
|
||||
general.green=Green
|
||||
general.green=Hijau
|
||||
general.teal=Teal
|
||||
general.blue=Blue
|
||||
general.blue=Biru
|
||||
general.purple=Purple
|
||||
general.magenta=Magenta
|
||||
general.violet=Violet
|
||||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Tag
|
|||
itemFields.attachments=Lampiran
|
||||
itemFields.related=Terkait
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Hak
|
||||
itemFields.rights=License
|
||||
itemFields.series=Seri
|
||||
itemFields.volume=Volume
|
||||
itemFields.issue=Isu
|
||||
|
|
@ -1319,8 +1319,8 @@ noteEditor.insertCitation=Insert Citation
|
|||
noteEditor.more=Lainnya
|
||||
noteEditor.find=Temukan
|
||||
noteEditor.replace=Replace
|
||||
noteEditor.previous=Previous
|
||||
noteEditor.next=Next
|
||||
noteEditor.previous=Sebelumnya
|
||||
noteEditor.next=Lanjut
|
||||
noteEditor.replaceNext=Replace
|
||||
noteEditor.replaceAll=Replace All
|
||||
noteEditor.goToPage=Go to Page
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Leturstærð athugasemdar
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Merki
|
|||
itemFields.attachments=Viðhengi
|
||||
itemFields.related=Venslað
|
||||
itemFields.url=Slóð
|
||||
itemFields.rights=Réttindi
|
||||
itemFields.rights=License
|
||||
itemFields.series=Ritröð
|
||||
itemFields.volume=Bindi
|
||||
itemFields.issue=Hefti
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Sposta colonna a sinistra
|
||||
menu-view-columns-move-right =
|
||||
.label = Sposta colonna a destra
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Nascondi le annotazioni non-corrispondenti
|
||||
menu-view-note-font-size =
|
||||
.label = Dimensione del font nelle note
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Tag
|
|||
itemFields.attachments=Allegati
|
||||
itemFields.related=Correlazioni
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Diritti
|
||||
itemFields.rights=Licenza
|
||||
itemFields.series=Serie
|
||||
itemFields.volume=Volume
|
||||
itemFields.issue=Fascicolo
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = メモのフォントサイズ
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=タグ
|
|||
itemFields.attachments=添付ファイル
|
||||
itemFields.related=関連アイテム
|
||||
itemFields.url=URL
|
||||
itemFields.rights=権利
|
||||
itemFields.rights=License
|
||||
itemFields.series=叢書
|
||||
itemFields.volume=巻
|
||||
itemFields.issue=号
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Note Font Size
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=ស្លាក
|
|||
itemFields.attachments=ឯកសារកម្ជាប់
|
||||
itemFields.related=ពាក់ព័ន្ធ
|
||||
itemFields.url=គេហទំព័រ
|
||||
itemFields.rights=សិទ្ធិ
|
||||
itemFields.rights=License
|
||||
itemFields.series=លេខរៀង
|
||||
itemFields.volume=វ៉ុល
|
||||
itemFields.issue=ចេញផ្សាយ
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = 노트 글꼴 크기
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=태그
|
|||
itemFields.attachments=첨부
|
||||
itemFields.related=연관
|
||||
itemFields.url=URL
|
||||
itemFields.rights=소유권
|
||||
itemFields.rights=License
|
||||
itemFields.series=시리즈
|
||||
itemFields.volume=권
|
||||
itemFields.issue=호
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Perkelti stulpelį kairėn
|
||||
menu-view-columns-move-right =
|
||||
.label = Perkelti stulpelį dešinėn
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Pastabos šrifto dydis
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Gairės
|
|||
itemFields.attachments=Priedai
|
||||
itemFields.related=Susiję
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Teisės
|
||||
itemFields.rights=License
|
||||
itemFields.series=Serija
|
||||
itemFields.volume=Tomas
|
||||
itemFields.issue=Numeris
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Тайлбар үсгийн хэмжээ
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Tags
|
|||
itemFields.attachments=Attachments
|
||||
itemFields.related=Related
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Rights
|
||||
itemFields.rights=License
|
||||
itemFields.series=Series
|
||||
itemFields.volume=Volume
|
||||
itemFields.issue=Issue
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Flytt kolonne til venstre
|
||||
menu-view-columns-move-right =
|
||||
.label = Flytt kolonne til høyre
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Skriftstørrelse for notat
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Emneord
|
|||
itemFields.attachments=Vedlegg
|
||||
itemFields.related=Relatert
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Rettigheter
|
||||
itemFields.rights=License
|
||||
itemFields.series=Serie
|
||||
itemFields.volume=Volum
|
||||
itemFields.issue=Nummer
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Kolom Naar Links Verplaatsen
|
||||
menu-view-columns-move-right =
|
||||
.label = Kolom Naar Rechts Verplaatsen
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Lettergrootte notities
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Labels
|
|||
itemFields.attachments=Bijlages
|
||||
itemFields.related=Gerelateerd
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Rechten
|
||||
itemFields.rights=License
|
||||
itemFields.series=Reeks
|
||||
itemFields.volume=Deel
|
||||
itemFields.issue=Editie
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Note Font Size
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Taggar
|
|||
itemFields.attachments=Vedlegg
|
||||
itemFields.related=Relaterte
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Rettar
|
||||
itemFields.rights=License
|
||||
itemFields.series=Serie
|
||||
itemFields.volume=Volum
|
||||
itemFields.issue=Nummer
|
||||
|
|
|
|||
|
|
@ -46,8 +46,8 @@ note-editor-find-and-replace = Znajdź i zamień
|
|||
note-editor-edit-in-window = Edytuj w oddzielnym oknie
|
||||
note-editor-apply-annotation-colors = Pokaż kolory adnotacji
|
||||
note-editor-remove-annotation-colors = Ukryj kolory adnotacji
|
||||
note-editor-add-citations = Show Annotation Citations
|
||||
note-editor-remove-citations = Hide Annotation Citations
|
||||
note-editor-add-citations = Pokaż cytowania adnotacji
|
||||
note-editor-remove-citations = Ukryj cytowania adnotacji
|
||||
note-editor-image = Obraz
|
||||
note-editor-math = Matematyczny
|
||||
note-editor-table = Tabela
|
||||
|
|
|
|||
|
|
@ -112,8 +112,10 @@ preferences-sync-reset-restore-to-server-remaining-items-text =
|
|||
}
|
||||
preferences-sync-reset-restore-to-server-checkbox-label =
|
||||
{ $remoteItemsDeletedCount ->
|
||||
[one] Delete 1 item
|
||||
*[other] Delete { $remoteItemsDeletedCount } items
|
||||
[one] Usuń { $remoteItemsDeletedCount } element
|
||||
[few] Usuń { $remoteItemsDeletedCount } elementy
|
||||
[many] Usuń { $remoteItemsDeletedCount } elementów
|
||||
*[other] Usuń { $remoteItemsDeletedCount } elementów
|
||||
}
|
||||
preferences-sync-reset-restore-to-server-confirmation-text = usuń bibliotekę online
|
||||
preferences-sync-reset-restore-to-server-yes = Zamień dane w zdalnej bibliotece
|
||||
|
|
|
|||
|
|
@ -56,8 +56,10 @@ reader-prompt-delete-pages-text =
|
|||
reader-prompt-delete-annotations-title = Usuń adnotacje
|
||||
reader-prompt-delete-annotations-text =
|
||||
{ $count ->
|
||||
[one] Are you sure you want to delete the selected annotation?
|
||||
*[other] Are you sure you want to delete the selected annotations?
|
||||
[one] Czy na pewno chcesz usunąć wybraną adnotację?
|
||||
[few] Czy na pewno chcesz usunąć wybrane adnotacje?
|
||||
[many] Czy na pewno chcesz usunąć wybrane adnotacje?
|
||||
*[other] Czy na pewno chcesz usunąć wybrane adnotacje?
|
||||
}
|
||||
reader-rotate-left = Obróć w lewo
|
||||
reader-rotate-right = Obróć w prawo
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ itemFields-partNumber = Numer części
|
|||
itemFields-partTitle = Tytuł części
|
||||
itemFields-priorityDate = Data priorytetu
|
||||
itemFields-sessionTitle = Tytuł sesji
|
||||
creatorTypes-chair = Chair
|
||||
creatorTypes-chair = Przewodniczący
|
||||
creatorTypes-creator = Twórca
|
||||
creatorTypes-executiveProducer = Producent wykonawczy
|
||||
creatorTypes-host = Host
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Przesuń kolumnę w lewo
|
||||
menu-view-columns-move-right =
|
||||
.label = Przesuń kolumnę w prawo
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Ukryj niepasujące adnotacje
|
||||
menu-view-note-font-size =
|
||||
.label = Rozmiar czcionki notatek
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
@ -480,7 +482,7 @@ section-tags =
|
|||
*[other] { $count } Etykiet
|
||||
}
|
||||
section-related =
|
||||
.label = { $count } Related
|
||||
.label = { $count } powiązanych
|
||||
section-attachment-info =
|
||||
.label = { pane-attachment-info }
|
||||
section-button-remove =
|
||||
|
|
@ -724,14 +726,18 @@ select-items-convertToStandalone =
|
|||
select-items-convertToStandaloneAttachment =
|
||||
.label =
|
||||
{ $count ->
|
||||
[one] Convert to Standalone Attachment
|
||||
*[other] Convert to Standalone Attachments
|
||||
[one] Przekształć na samodzielny załącznik
|
||||
[few] Przekształć na samodzielne załączniki
|
||||
[many] Przekształć na samodzielne załączniki
|
||||
*[other] Przekształć na samodzielne załączniki
|
||||
}
|
||||
select-items-convertToStandaloneNote =
|
||||
.label =
|
||||
{ $count ->
|
||||
[one] Convert to Standalone Note
|
||||
*[other] Convert to Standalone Notes
|
||||
[one] Przekształć na samodzielną notatkę
|
||||
[few] Przekształć na samodzielne notatki
|
||||
[many] Przekształć na samodzielne notatki
|
||||
*[other] Przekształć na samodzielne notatki
|
||||
}
|
||||
file-type-webpage = Strona internetowa
|
||||
file-type-image = Obraz
|
||||
|
|
@ -755,7 +761,7 @@ mac-word-plugin-install-remind-later-button =
|
|||
.label = { general-remind-me-later }
|
||||
mac-word-plugin-install-dont-ask-again-button =
|
||||
.label = { general-dont-ask-again }
|
||||
file-renaming-banner-message = { -app-name } now automatically keeps attachment filenames in sync as you make changes to items.
|
||||
file-renaming-banner-message = { -app-name } teraz automatycznie synchronizuje nazwy plików załączników podczas dokonywania zmian w elementach.
|
||||
file-renaming-banner-documentation-link = { general-learn-more }
|
||||
file-renaming-banner-settings-link = { general-settings }
|
||||
connector-version-warning = Łącznik { -app-name } musi zostać zaktualizowany, aby działać z tą wersją { -app-name }.
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etykiety
|
|||
itemFields.attachments=Załączniki
|
||||
itemFields.related=Powiązane
|
||||
itemFields.url=Adres URL
|
||||
itemFields.rights=Przepisy/Prawa
|
||||
itemFields.rights=Licencja
|
||||
itemFields.series=Seria
|
||||
itemFields.volume=Tom
|
||||
itemFields.issue=Numer
|
||||
|
|
@ -1336,8 +1336,8 @@ noteEditor.findAndReplace=Znajdź i zamień
|
|||
noteEditor.editInWindow=Edytuj w oddzielnym oknie
|
||||
noteEditor.applyAnnotationColors=Pokaż kolory adnotacji
|
||||
noteEditor.removeAnnotationColors=Ukryj kolory adnotacji
|
||||
noteEditor.addCitations=Show Annotation Citations
|
||||
noteEditor.removeCitations=Hide Annotation Citations
|
||||
noteEditor.addCitations=Pokaż cytowania adnotacji
|
||||
noteEditor.removeCitations=Ukryj cytowania adnotacji
|
||||
noteEditor.image=Obraz
|
||||
noteEditor.math=Matematyczny
|
||||
noteEditor.table=Tabela
|
||||
|
|
|
|||
|
|
@ -42,14 +42,14 @@ integration-citationDialog-lib-message-citation =
|
|||
}
|
||||
integration-citationDialog-lib-message-add-note =
|
||||
{ $search ->
|
||||
[true] No selected notes match the current search
|
||||
*[other] No notes are selected
|
||||
[true] Nenhuma nota selecionada corresponde a busca
|
||||
*[other] Nenhuma nota selecionada
|
||||
}
|
||||
integration-citationDialog-settings-keepSorted = Manter as fontes ordenadas
|
||||
integration-citationDialog-btn-settings =
|
||||
.title = { general-open-settings }
|
||||
integration-citationDialog-mode-library = Biblioteca
|
||||
integration-citationDialog-mode-list = List
|
||||
integration-citationDialog-mode-list = Lista
|
||||
integration-citationDialog-btn-type-citation =
|
||||
.title = Adicionar/Editar citação
|
||||
integration-citationDialog-btn-type-add-note =
|
||||
|
|
@ -70,7 +70,7 @@ integration-citationDialog-input-citation =
|
|||
.placeholder = { integration-citationDialog-search-for-items }
|
||||
.aria-description = { integration-citationDialog-general-instructions }
|
||||
integration-citationDialog-single-input-add-note =
|
||||
.placeholder = Search for a note to insert into the document
|
||||
.placeholder = Busque por nota para inserir no documento
|
||||
integration-citationDialog-aria-item-list =
|
||||
.aria-description = Utilize as setas direcionais para cima/para baixo para mudar a seleção. { integration-citationDialog-enter-to-add-item }
|
||||
integration-citationDialog-aria-item-library =
|
||||
|
|
@ -116,8 +116,8 @@ integration-warning-documentPreferences-changes-will-be-lost = Você fez altera
|
|||
integration-warning-discard-changes = Descartar alterações
|
||||
integration-warning-command-is-running = Um comando de integração de processador de texto já está em funcionamento.
|
||||
first-run-guidance-citationDialog =
|
||||
Type a title, author, and/or year to search for a reference.
|
||||
Digite um título, autor e/ou ano para buscar por uma referência.
|
||||
|
||||
After you’ve made your selection, click the bubble or select it via the keyboard and press ↓/Space to show citation options such as page number, prefix, and suffix.
|
||||
Depois que tiver feito sua seleção, clique no balão e selecione pelo teclado e pressione ↓/Espaço para mostrar as opções de citação como número de página, prefixo e sufixo.
|
||||
|
||||
You can also add a page number or other locator by including it with your search terms (e.g., “history { $locator }”) or by typing it after the bubble and pressing { return-or-enter }.
|
||||
Você também pode adicionar o número da página ou outro localizador ao incluir com os termos da busca (ex.: “história { $locator }”) ou digitando depois do balão e pressionando { return-or-enter }.
|
||||
|
|
|
|||
|
|
@ -28,10 +28,10 @@ preferences-file-renaming-format-instructions-example = Por exemplo, neste model
|
|||
preferences-file-renaming-format-instructions-more = Ver a <label data-l10n-name="file-renaming-format-help-link">documentação</label> para mais informações.
|
||||
preferences-file-renaming-format-template = Modelo do nome do arquivo:
|
||||
preferences-file-renaming-format-preview = Visualização:
|
||||
preferences-attachment-titles-title = Attachment Titles
|
||||
preferences-attachment-titles-intro = Attachment titles are <label data-l10n-name="wiki-link">different from filenames</label>. To support some workflows, { -app-name } can show filenames instead of attachment titles in the items list.
|
||||
preferences-attachment-titles-title = Títulos de anexos
|
||||
preferences-attachment-titles-intro = Os títulos dos anexos estão <label data-l10n-name="wiki-link">diferentes dos títulos dos arquivos</label>. Para alguns recursos, { -app-name } pode mostrar o nome do arquivo ao invés do título do anexo na lista de itens.
|
||||
preferences-attachment-titles-show-filenames =
|
||||
.label = Show attachment filenames in the items list
|
||||
.label = Mostrar títulos de anexos na lista de itens
|
||||
preferences-reader-title = Leitor
|
||||
preferences-reader-open-epubs-using = Abrir EPUBs usando
|
||||
preferences-reader-open-snapshots-using = Abrir snapshots usando
|
||||
|
|
@ -44,7 +44,7 @@ preferences-reader-ebook-hyphenate =
|
|||
.label = Ativar a hifenação automática:
|
||||
preferences-note-title = Notas
|
||||
preferences-note-open-in-new-window =
|
||||
.label = Open notes in new windows instead of tabs
|
||||
.label = Abrir notas em novas janelas ao invés de abas
|
||||
preferences-color-scheme = Esquema de cor:
|
||||
preferences-color-scheme-auto =
|
||||
.label = Automático(a)
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ reader-theme-sepia = Sepia
|
|||
reader-theme-dark = Escuro
|
||||
reader-theme-black = Preto
|
||||
reader-add-theme = Adicionar Tema
|
||||
reader-theme-invert-images = Invert Images
|
||||
reader-theme-invert-images = Inverter imagens
|
||||
reader-scroll-mode = Rolagem
|
||||
reader-spread-mode = Lado a lado
|
||||
reader-flow-mode = Layout da página
|
||||
|
|
@ -130,9 +130,9 @@ reader-theme-name = Nome do tema:
|
|||
reader-background = Fundo:
|
||||
reader-foreground = Primeiro plano:
|
||||
reader-reading-mode = Modo de leitura
|
||||
reader-reading-mode-not-supported = Reading Mode is not supported in this document.
|
||||
reader-reading-mode-not-supported = Modo de leitura não é compatível com este documento.
|
||||
reader-clear-selection = Limpar seleção
|
||||
reader-epub-encrypted = This ebook is encrypted and cannot be opened.
|
||||
reader-epub-encrypted = Este e-book está criptografado e não pode ser aberto.
|
||||
reader-move-annotation-start-key =
|
||||
{ PLATFORM() ->
|
||||
[macos] { general-key-command }
|
||||
|
|
@ -189,7 +189,8 @@ reader-import-from-epub-no-annotations-other-file =
|
|||
reader-import-from-epub-select-other = Selecionar outro arquivo...
|
||||
reader-selected-pages =
|
||||
{ $count ->
|
||||
[one] 1 page selected
|
||||
*[other] { $count } pages selected
|
||||
[one] 1 página selecionada
|
||||
[many] { $count } páginas selecionadas
|
||||
*[other] { $count } páginas selecionadas
|
||||
}
|
||||
reader-page-options = Page Options
|
||||
reader-page-options = Opções de página
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
itemFields-eventPlace = Event Place
|
||||
itemFields-originalDate = Original Date
|
||||
itemFields-originalPlace = Original Place
|
||||
itemFields-originalPublisher = Original Publisher
|
||||
itemFields-partNumber = Part Number
|
||||
itemFields-partTitle = Part Title
|
||||
itemFields-priorityDate = Priority Date
|
||||
itemFields-sessionTitle = Session Title
|
||||
creatorTypes-chair = Chair
|
||||
itemFields-eventPlace = Lugar de evento
|
||||
itemFields-originalDate = Data original
|
||||
itemFields-originalPlace = Lugar original
|
||||
itemFields-originalPublisher = Editor original
|
||||
itemFields-partNumber = Número da parte
|
||||
itemFields-partTitle = Título da parte
|
||||
itemFields-priorityDate = Data prioritária
|
||||
itemFields-sessionTitle = Título da sessão
|
||||
creatorTypes-chair = Presidente
|
||||
creatorTypes-creator = Autor
|
||||
creatorTypes-executiveProducer = Executive Producer
|
||||
creatorTypes-host = Host
|
||||
creatorTypes-narrator = Narrator
|
||||
creatorTypes-originalCreator = Original Creator
|
||||
creatorTypes-organizer = Organizer
|
||||
creatorTypes-seriesCreator = Series Creator
|
||||
creatorTypes-executiveProducer = Produtor executivo
|
||||
creatorTypes-host = Apresentador
|
||||
creatorTypes-narrator = Narrador
|
||||
creatorTypes-originalCreator = Criador original
|
||||
creatorTypes-organizer = Organizador
|
||||
creatorTypes-seriesCreator = Criador da série
|
||||
|
|
|
|||
|
|
@ -120,10 +120,12 @@ menu-view-columns-move-left =
|
|||
.label = Mover Coluna à Esquerda
|
||||
menu-view-columns-move-right =
|
||||
.label = Mover Coluna à Direita
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Tamanho da fonte das notas
|
||||
menu-view-note-tab-font-size =
|
||||
.label = Note Tab Font Size
|
||||
.label = Tamanho da fonte das notas em Aba
|
||||
menu-show-tabs-menu =
|
||||
.label = Mostrar menu de abas
|
||||
menu-edit-copy-annotation =
|
||||
|
|
@ -170,26 +172,26 @@ item-creator-moveUp =
|
|||
.label = Mover para cima
|
||||
item-menu-viewAttachment =
|
||||
.label =
|
||||
Open { $numAttachments ->
|
||||
Abrir { $numAttachments ->
|
||||
[one]
|
||||
{ $attachmentType ->
|
||||
[pdf] PDF
|
||||
[epub] EPUB
|
||||
[snapshot] Snapshot
|
||||
[note] Note
|
||||
*[other] Attachment
|
||||
[snapshot] captura
|
||||
[note] nota
|
||||
*[other] anexo
|
||||
}
|
||||
*[other]
|
||||
{ $attachmentType ->
|
||||
[pdf] PDFs
|
||||
[epub] EPUBs
|
||||
[snapshot] Snapshots
|
||||
[note] Notes
|
||||
*[other] Attachments
|
||||
[snapshot] capturas
|
||||
[note] notas
|
||||
*[other] anexos
|
||||
}
|
||||
} { $openIn ->
|
||||
[tab] in New Tab
|
||||
[window] in New Window
|
||||
[tab] em nova aba
|
||||
[window] em nova janela
|
||||
*[other] { "" }
|
||||
}
|
||||
item-menu-add-file =
|
||||
|
|
@ -425,7 +427,7 @@ pane-info = Informações
|
|||
pane-abstract = Resumo
|
||||
pane-attachments = Anexos
|
||||
pane-notes = Notas
|
||||
pane-note-info = Note Info
|
||||
pane-note-info = Informações da nota
|
||||
pane-libraries-collections = Bibliotecas e Coleções
|
||||
pane-tags = Etiquetas
|
||||
pane-related = Relacionar
|
||||
|
|
@ -579,22 +581,22 @@ attachment-info-convert-note =
|
|||
section-note-info =
|
||||
.label = { pane-note-info }
|
||||
note-info-title = Título
|
||||
note-info-parent-item = Parent Item
|
||||
note-info-parent-item = Item pai
|
||||
note-info-parent-item-button =
|
||||
{ $hasParentItem ->
|
||||
[true] { $parentItemTitle }
|
||||
*[false] None
|
||||
*[false] Nenhum
|
||||
}
|
||||
.title =
|
||||
{ $hasParentItem ->
|
||||
[true] View parent item in library
|
||||
*[false] View note item in library
|
||||
[true] Ver item pai na biblioteca
|
||||
*[false] Ver nota na biblioteca
|
||||
}
|
||||
note-info-date-created = Created
|
||||
note-info-date-created = Criado
|
||||
note-info-date-modified = Data de modificação
|
||||
note-info-size = Tamanho
|
||||
note-info-word-count = Word Count
|
||||
note-info-character-count = Character Count
|
||||
note-info-word-count = Contagem de palavras
|
||||
note-info-character-count = Contagem de caracteres
|
||||
item-title-empty-note = Nota sem título
|
||||
attachment-preview-placeholder = Sem anexo para visualizar
|
||||
attachment-rename-from-parent =
|
||||
|
|
@ -731,7 +733,7 @@ file-type-video = Vídeo
|
|||
file-type-presentation = Apresentação
|
||||
file-type-document = Documento
|
||||
file-type-ebook = Livro eletrônico
|
||||
post-upgrade-message = You’ve been upgraded to <span data-l10n-name="post-upgrade-appver">{ -app-name } { $version }</span>! Learn about <a data-l10n-name="new-features-link">what’s new</a>.
|
||||
post-upgrade-message = Foi atualizado para <span data-l10n-name="post-upgrade-appver">{ -app-name } { $version }</span>! Descubra <a data-l10n-name="new-features-link">as novidades</a>.
|
||||
post-upgrade-remind-me-later =
|
||||
.label = { general-remind-me-later }
|
||||
post-upgrade-done =
|
||||
|
|
@ -750,17 +752,17 @@ file-renaming-banner-documentation-link = { general-learn-more }
|
|||
file-renaming-banner-settings-link = { general-settings }
|
||||
connector-version-warning = O conector do { -app-name } deve ser atualizado para funcionar com esta versão do { -app-name }.
|
||||
userjs-pref-warning = Algumas configurações do { -app-name } foram substituídas utilizando um método sem suporte. { -app-name } irá revertê-las e reiniciar.
|
||||
migrate-extra-fields-progress-message = Migrating new fields from Extra field
|
||||
migrate-extra-fields-progress-message = Migrando novos campos a partir do campo Extra
|
||||
long-tag-fixer-window-title =
|
||||
.title = Dividir etiquetas
|
||||
long-tag-fixer-button-dont-split =
|
||||
.label = Não dividir
|
||||
menu-normalize-attachment-titles =
|
||||
.label = Normalize Attachment Titles…
|
||||
normalize-attachment-titles-title = Normalize Attachment Titles
|
||||
.label = Padronizar títulos de anexos...
|
||||
normalize-attachment-titles-title = Padronizar títulos de anexos
|
||||
normalize-attachment-titles-text =
|
||||
{ -app-name } automatically renames files on disk using parent item metadata, but it uses separate, simpler titles such as “Full Text PDF”, “Preprint PDF”, or “PDF” for primary attachments to keep the items list cleaner and avoid duplicating information.
|
||||
{ -app-name } renomeia automaticamente os arquivos salvos usando os metadados do item pai, mas utiliza títulos mais simples como “Full Text PDF”, “Preprint PDF”, ou “PDF” para anexos principais visando manter a lista de itens mais limpa e evitar duplicação de informação.
|
||||
|
||||
In older versions of { -app-name }, as well as when using certain plugins, attachment titles could be changed unnecessarily to match the filenames.
|
||||
Em versões mais antigas do { -app-name }, assim como no uso de algumas extensões, títulos dos anexos podiam ser alterados, desnecessariamente, para coincidir com o nome dos arquivos.
|
||||
|
||||
Would you like to update the selected attachments to use simpler titles? Only primary attachments with titles that match the filename will be changed.
|
||||
Gostaria de atualizar os anexos selecionados para usar títulos mais simples? Apenas anexos principais com títulos que correspondem ao nome do arquivo serão alterados.
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etiquetas
|
|||
itemFields.attachments=Anexos
|
||||
itemFields.related=Relacionar
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Direitos
|
||||
itemFields.rights=License
|
||||
itemFields.series=Série
|
||||
itemFields.volume=Volume
|
||||
itemFields.issue=Edição
|
||||
|
|
|
|||
|
|
@ -42,14 +42,14 @@ integration-citationDialog-lib-message-citation =
|
|||
}
|
||||
integration-citationDialog-lib-message-add-note =
|
||||
{ $search ->
|
||||
[true] No selected notes match the current search
|
||||
*[other] No notes are selected
|
||||
[true] Nenhuma nota selecionada corresponde a busca
|
||||
*[other] Nenhuma nota selecionada
|
||||
}
|
||||
integration-citationDialog-settings-keepSorted = Manter as fontes ordenadas
|
||||
integration-citationDialog-btn-settings =
|
||||
.title = { general-open-settings }
|
||||
integration-citationDialog-mode-library = Biblioteca
|
||||
integration-citationDialog-mode-list = List
|
||||
integration-citationDialog-mode-list = Lista
|
||||
integration-citationDialog-btn-type-citation =
|
||||
.title = Adicionar/Editar Citação
|
||||
integration-citationDialog-btn-type-add-note =
|
||||
|
|
@ -70,7 +70,7 @@ integration-citationDialog-input-citation =
|
|||
.placeholder = { integration-citationDialog-search-for-items }
|
||||
.aria-description = { integration-citationDialog-general-instructions }
|
||||
integration-citationDialog-single-input-add-note =
|
||||
.placeholder = Search for a note to insert into the document
|
||||
.placeholder = Busque por nota para inserir no documento
|
||||
integration-citationDialog-aria-item-list =
|
||||
.aria-description = Utilize as setas direcionais para cima/para baixo para mudar a seleção. { integration-citationDialog-enter-to-add-item }
|
||||
integration-citationDialog-aria-item-library =
|
||||
|
|
@ -116,8 +116,8 @@ integration-warning-documentPreferences-changes-will-be-lost = Você fez altera
|
|||
integration-warning-discard-changes = Descartar alterações
|
||||
integration-warning-command-is-running = Um comando de integração de processador de texto já está em funcionamento.
|
||||
first-run-guidance-citationDialog =
|
||||
Type a title, author, and/or year to search for a reference.
|
||||
Digite um título, autor e/ou ano para buscar por uma referência.
|
||||
|
||||
After you’ve made your selection, click the bubble or select it via the keyboard and press ↓/Space to show citation options such as page number, prefix, and suffix.
|
||||
Depois que tiver feito sua seleção, clique no balão e selecione pelo teclado e pressione ↓/Espaço para mostrar as opções de citação como número de página, prefixo e sufixo.
|
||||
|
||||
You can also add a page number or other locator by including it with your search terms (e.g., “history { $locator }”) or by typing it after the bubble and pressing { return-or-enter }.
|
||||
Você também pode adicionar o número da página ou outro localizador ao incluir com os termos da busca (ex.: “história { $locator }”) ou digitando depois do balão e pressionando { return-or-enter }.
|
||||
|
|
|
|||
|
|
@ -28,10 +28,10 @@ preferences-file-renaming-format-instructions-example = Por exemplo, neste model
|
|||
preferences-file-renaming-format-instructions-more = Ver a <label data-l10n-name="file-renaming-format-help-link">documentação</label> para mais informações.
|
||||
preferences-file-renaming-format-template = Modelo do nome do arquivo:
|
||||
preferences-file-renaming-format-preview = Visualização:
|
||||
preferences-attachment-titles-title = Attachment Titles
|
||||
preferences-attachment-titles-intro = Attachment titles are <label data-l10n-name="wiki-link">different from filenames</label>. To support some workflows, { -app-name } can show filenames instead of attachment titles in the items list.
|
||||
preferences-attachment-titles-title = Títulos de anexos
|
||||
preferences-attachment-titles-intro = Os títulos dos anexos estão <label data-l10n-name="wiki-link">diferentes dos títulos dos arquivos</label>. Para alguns recursos, { -app-name } pode mostrar o nome do arquivo ao invés do título do anexo na lista de itens.
|
||||
preferences-attachment-titles-show-filenames =
|
||||
.label = Show attachment filenames in the items list
|
||||
.label = Mostrar títulos de anexos na lista de itens
|
||||
preferences-reader-title = Leitor
|
||||
preferences-reader-open-epubs-using = Abrir EPUBs usando
|
||||
preferences-reader-open-snapshots-using = Abrir snapshots usando
|
||||
|
|
@ -44,7 +44,7 @@ preferences-reader-ebook-hyphenate =
|
|||
.label = Ativar a hifenação automática:
|
||||
preferences-note-title = Notas
|
||||
preferences-note-open-in-new-window =
|
||||
.label = Open notes in new windows instead of tabs
|
||||
.label = Abrir notas em novas janelas ao invés de abas
|
||||
preferences-color-scheme = Esquema de cor:
|
||||
preferences-color-scheme-auto =
|
||||
.label = Automático
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ reader-theme-sepia = Sepia
|
|||
reader-theme-dark = Escuro
|
||||
reader-theme-black = Preto
|
||||
reader-add-theme = Adicionar Tema
|
||||
reader-theme-invert-images = Invert Images
|
||||
reader-theme-invert-images = Inverter imagens
|
||||
reader-scroll-mode = Rolagem
|
||||
reader-spread-mode = Lado a lado
|
||||
reader-flow-mode = Layout da página
|
||||
|
|
@ -130,9 +130,9 @@ reader-theme-name = Nome do tema:
|
|||
reader-background = Fundo:
|
||||
reader-foreground = Primeiro plano:
|
||||
reader-reading-mode = Modo de leitura
|
||||
reader-reading-mode-not-supported = Reading Mode is not supported in this document.
|
||||
reader-reading-mode-not-supported = Modo de leitura não é compatível com este documento.
|
||||
reader-clear-selection = Limpar Seleção
|
||||
reader-epub-encrypted = This ebook is encrypted and cannot be opened.
|
||||
reader-epub-encrypted = Este e-book está criptografado e não pode ser aberto.
|
||||
reader-move-annotation-start-key =
|
||||
{ PLATFORM() ->
|
||||
[macos] { general-key-command }
|
||||
|
|
@ -189,7 +189,8 @@ reader-import-from-epub-no-annotations-other-file =
|
|||
reader-import-from-epub-select-other = Selecionar outro arquivo...
|
||||
reader-selected-pages =
|
||||
{ $count ->
|
||||
[one] 1 page selected
|
||||
*[other] { $count } pages selected
|
||||
[one] 1 página selecionada
|
||||
[many] { $count } páginas selecionadas
|
||||
*[other] { $count } páginas selecionadas
|
||||
}
|
||||
reader-page-options = Page Options
|
||||
reader-page-options = Opções de página
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
itemFields-eventPlace = Event Place
|
||||
itemFields-originalDate = Original Date
|
||||
itemFields-originalPlace = Original Place
|
||||
itemFields-originalPublisher = Original Publisher
|
||||
itemFields-partNumber = Part Number
|
||||
itemFields-partTitle = Part Title
|
||||
itemFields-priorityDate = Priority Date
|
||||
itemFields-sessionTitle = Session Title
|
||||
creatorTypes-chair = Chair
|
||||
itemFields-eventPlace = Lugar de evento
|
||||
itemFields-originalDate = Data original
|
||||
itemFields-originalPlace = Lugar original
|
||||
itemFields-originalPublisher = Editor original
|
||||
itemFields-partNumber = Número da parte
|
||||
itemFields-partTitle = Título da parte
|
||||
itemFields-priorityDate = Data prioritária
|
||||
itemFields-sessionTitle = Título da sessão
|
||||
creatorTypes-chair = Presidente
|
||||
creatorTypes-creator = Criador
|
||||
creatorTypes-executiveProducer = Executive Producer
|
||||
creatorTypes-host = Host
|
||||
creatorTypes-narrator = Narrator
|
||||
creatorTypes-originalCreator = Original Creator
|
||||
creatorTypes-organizer = Organizer
|
||||
creatorTypes-seriesCreator = Series Creator
|
||||
creatorTypes-executiveProducer = Produtor executivo
|
||||
creatorTypes-host = Apresentador
|
||||
creatorTypes-narrator = Narrador
|
||||
creatorTypes-originalCreator = Criador original
|
||||
creatorTypes-organizer = Organizador
|
||||
creatorTypes-seriesCreator = Criador da série
|
||||
|
|
|
|||
|
|
@ -120,10 +120,12 @@ menu-view-columns-move-left =
|
|||
.label = Mover Coluna à Esquerda
|
||||
menu-view-columns-move-right =
|
||||
.label = Mover Coluna à Direita
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Tamanho da Fonte Tipográfica das Notas
|
||||
menu-view-note-tab-font-size =
|
||||
.label = Note Tab Font Size
|
||||
.label = Tamanho da fonte das notas em Aba
|
||||
menu-show-tabs-menu =
|
||||
.label = Mostrar menu de abas
|
||||
menu-edit-copy-annotation =
|
||||
|
|
@ -170,26 +172,26 @@ item-creator-moveUp =
|
|||
.label = Mover Para Cima
|
||||
item-menu-viewAttachment =
|
||||
.label =
|
||||
Open { $numAttachments ->
|
||||
Abrir { $numAttachments ->
|
||||
[one]
|
||||
{ $attachmentType ->
|
||||
[pdf] PDF
|
||||
[epub] EPUB
|
||||
[snapshot] Snapshot
|
||||
[note] Note
|
||||
*[other] Attachment
|
||||
[snapshot] captura
|
||||
[note] nota
|
||||
*[other] anexo
|
||||
}
|
||||
*[other]
|
||||
{ $attachmentType ->
|
||||
[pdf] PDFs
|
||||
[epub] EPUBs
|
||||
[snapshot] Snapshots
|
||||
[note] Notes
|
||||
*[other] Attachments
|
||||
[snapshot] capturas
|
||||
[note] notas
|
||||
*[other] anexos
|
||||
}
|
||||
} { $openIn ->
|
||||
[tab] in New Tab
|
||||
[window] in New Window
|
||||
[tab] em nova aba
|
||||
[window] em nova janela
|
||||
*[other] { "" }
|
||||
}
|
||||
item-menu-add-file =
|
||||
|
|
@ -425,7 +427,7 @@ pane-info = Informação
|
|||
pane-abstract = Resumo
|
||||
pane-attachments = Anexos
|
||||
pane-notes = Notas
|
||||
pane-note-info = Note Info
|
||||
pane-note-info = Informações da nota
|
||||
pane-libraries-collections = Bibliotecas e Coleções
|
||||
pane-tags = Etiquetas
|
||||
pane-related = Relações
|
||||
|
|
@ -579,22 +581,22 @@ attachment-info-convert-note =
|
|||
section-note-info =
|
||||
.label = { pane-note-info }
|
||||
note-info-title = Título
|
||||
note-info-parent-item = Parent Item
|
||||
note-info-parent-item = Item pai
|
||||
note-info-parent-item-button =
|
||||
{ $hasParentItem ->
|
||||
[true] { $parentItemTitle }
|
||||
*[false] None
|
||||
*[false] Nenhum
|
||||
}
|
||||
.title =
|
||||
{ $hasParentItem ->
|
||||
[true] View parent item in library
|
||||
*[false] View note item in library
|
||||
[true] Ver item pai na biblioteca
|
||||
*[false] Ver nota na biblioteca
|
||||
}
|
||||
note-info-date-created = Created
|
||||
note-info-date-created = Criado
|
||||
note-info-date-modified = Modificado
|
||||
note-info-size = Tamanho
|
||||
note-info-word-count = Word Count
|
||||
note-info-character-count = Character Count
|
||||
note-info-word-count = Contagem de palavras
|
||||
note-info-character-count = Contagem de caracteres
|
||||
item-title-empty-note = Nota Sem Título
|
||||
attachment-preview-placeholder = Sem anexo para visualizar
|
||||
attachment-rename-from-parent =
|
||||
|
|
@ -731,7 +733,7 @@ file-type-video = Vídeo
|
|||
file-type-presentation = Apresentação
|
||||
file-type-document = Documento
|
||||
file-type-ebook = e-book
|
||||
post-upgrade-message = You’ve been upgraded to <span data-l10n-name="post-upgrade-appver">{ -app-name } { $version }</span>! Learn about <a data-l10n-name="new-features-link">what’s new</a>.
|
||||
post-upgrade-message = Foi atualizado para { -app-name } { $version }! Descubra as novidades.
|
||||
post-upgrade-remind-me-later =
|
||||
.label = { general-remind-me-later }
|
||||
post-upgrade-done =
|
||||
|
|
@ -750,17 +752,17 @@ file-renaming-banner-documentation-link = { general-learn-more }
|
|||
file-renaming-banner-settings-link = { general-settings }
|
||||
connector-version-warning = O conector do { -app-name } deve ser atualizado para funcionar com esta versão do { -app-name }.
|
||||
userjs-pref-warning = Algumas configurações do { -app-name } foram substituídas utilizando um método sem suporte. { -app-name } irá revertê-las e reiniciar.
|
||||
migrate-extra-fields-progress-message = Migrating new fields from Extra field
|
||||
migrate-extra-fields-progress-message = Migrando novos campos a partir do campo Extra
|
||||
long-tag-fixer-window-title =
|
||||
.title = Dividir etiquetas
|
||||
long-tag-fixer-button-dont-split =
|
||||
.label = Não dividir
|
||||
menu-normalize-attachment-titles =
|
||||
.label = Normalize Attachment Titles…
|
||||
normalize-attachment-titles-title = Normalize Attachment Titles
|
||||
.label = Padronizar títulos de anexos...
|
||||
normalize-attachment-titles-title = Padronizar títulos de anexos
|
||||
normalize-attachment-titles-text =
|
||||
{ -app-name } automatically renames files on disk using parent item metadata, but it uses separate, simpler titles such as “Full Text PDF”, “Preprint PDF”, or “PDF” for primary attachments to keep the items list cleaner and avoid duplicating information.
|
||||
{ -app-name } renomeia automaticamente os arquivos salvos usando os metadados do item pai, mas utiliza títulos mais simples como “Full Text PDF”, “Preprint PDF”, ou “PDF” para anexos principais visando manter a lista de itens mais limpa e evitar duplicação de informação.
|
||||
|
||||
In older versions of { -app-name }, as well as when using certain plugins, attachment titles could be changed unnecessarily to match the filenames.
|
||||
Em versões mais antigas do { -app-name }, assim como no uso de algumas extensões, títulos dos anexos podiam ser alterados, desnecessariamente, para coincidir com o nome dos arquivos.
|
||||
|
||||
Would you like to update the selected attachments to use simpler titles? Only primary attachments with titles that match the filename will be changed.
|
||||
Gostaria de atualizar os anexos selecionados para usar títulos mais simples? Apenas anexos principais com títulos que correspondem ao nome do arquivo serão alterados.
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etiquetas
|
|||
itemFields.attachments=Anexos
|
||||
itemFields.related=Relações
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Direitos
|
||||
itemFields.rights=License
|
||||
itemFields.series=Série
|
||||
itemFields.volume=Volume
|
||||
itemFields.issue=Número
|
||||
|
|
|
|||
|
|
@ -120,6 +120,8 @@ menu-view-columns-move-left =
|
|||
.label = Move Column Left
|
||||
menu-view-columns-move-right =
|
||||
.label = Move Column Right
|
||||
menu-view-hide-context-annotation-rows =
|
||||
.label = Hide Non-Matching Annotations
|
||||
menu-view-note-font-size =
|
||||
.label = Notă dimensiune font
|
||||
menu-view-note-tab-font-size =
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ itemFields.tags=Etichete
|
|||
itemFields.attachments=Anexe
|
||||
itemFields.related=Relații
|
||||
itemFields.url=URL
|
||||
itemFields.rights=Drepturi
|
||||
itemFields.rights=License
|
||||
itemFields.series=Colecție
|
||||
itemFields.volume=Volum
|
||||
itemFields.issue=Număr
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue