mirror of
https://github.com/cryptpad/cryptpad.git
synced 2026-09-14 11:05:41 +05:00
Merge branch 'staging' into new_versioning
This commit is contained in:
commit
6940fa0bf0
2
.github/ISSUE_TEMPLATE/bug_resolution.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_resolution.yml
vendored
@ -89,7 +89,7 @@ body:
|
||||
label: Version
|
||||
description: What version of CryptPad are you running?
|
||||
options:
|
||||
- 2024.3.0
|
||||
- 2024.3.0
|
||||
- 5.7.0
|
||||
- 5.6.0
|
||||
- 5.5.0
|
||||
|
||||
@ -129,84 +129,6 @@ define(req, function(AppConfig, Default, Language) {
|
||||
}
|
||||
};
|
||||
|
||||
// XXX Temporary keys
|
||||
Messages.admin_cat_customize = "Customize";
|
||||
Messages.admin_cat_security = "Security";
|
||||
Messages.admin_logoTitle = "Custom Logo";
|
||||
Messages.admin_logoHint = "SVG, PNG or JPG, maximum size 200KB";
|
||||
Messages.admin_logoButton = "Upload new";
|
||||
Messages.admin_logoRemoveButton = "Restore default";
|
||||
Messages.admin_colorTitle = "Accent color";
|
||||
Messages.admin_colorHint = "Change the accent color of your CryptPad instance. Please ensure text and buttons are readable with sufficient contrast in both light and dark themes.";
|
||||
Messages.admin_colorCurrent = "Current accent color";
|
||||
Messages.admin_colorChange = "Change color";
|
||||
Messages.admin_colorPick = "Pick a color";
|
||||
Messages.admin_colorPreview = "Preview color";
|
||||
Messages.admin_supportSetupHint = "Create or update the support keys.";
|
||||
Messages.admin_supportSetupTitle = "Initialize support";
|
||||
Messages.admin_supportEnabled = "Modern support system is enabled.";
|
||||
Messages.admin_supportDisabled = "Modern support system is disabled.";
|
||||
Messages.admin_supportInit = "Initialize support page on this instance";
|
||||
Messages.admin_supportDelete = "Disable support";
|
||||
Messages.admin_supportConfirm = "Are you sure? This will delete all existing tickets and block access for all moderators.";
|
||||
Messages.admin_supportMembers = "Support team";
|
||||
Messages.admin_supportAdd = "Add a contact to the support team";
|
||||
Messages.admin_supportRotateNotify = "Warning: new keys have been generated but an unenexpected error prevented the system to send them to the moderators. Please remove and re-add all members of the support team";
|
||||
|
||||
Messages.admin_supportTeamTitle = "admin_supportTeamTitle";
|
||||
Messages.admin_supportTeamHint = "admin_supportTeamHint";
|
||||
Messages.admin_supportOpen = "Open helpdesk";
|
||||
|
||||
Messages.support_userNotification = "New support ticket or response: {0}";
|
||||
Messages.support_moderatorNotification = "You have been added to the moderators list";
|
||||
|
||||
Messages.moderationPage = "Support mailbox"; // XXX
|
||||
|
||||
Messages.support_cat_open = "Inbox";
|
||||
Messages.support_cat_closed = "Closed";
|
||||
Messages.support_cat_search = "Search";
|
||||
Messages.support_cat_settings = "Settings";
|
||||
Messages.support_cat_legacy = "Legacy";
|
||||
|
||||
Messages.support_pending = "Archived tickets:";
|
||||
Messages.support_pending_tag = "Archived";
|
||||
Messages.support_active_tag = "Inbox";
|
||||
Messages.support_closed_tag = "Closed";
|
||||
|
||||
Messages.support_privacyTitle = "Answer anonymously";
|
||||
Messages.support_privacyHint = "Check this option to reply as 'The Support Team' instead of your own username";
|
||||
|
||||
Messages.support_notificationsTitle = "Disable notifications";
|
||||
Messages.support_notificationsHint = "Check this option to disable notifications for new tickets and replies";
|
||||
Messages.support_openTicketTitle = "Open a ticket with a user";
|
||||
Messages.support_openTicketHint = "Copy the recipient user's data from their profile page or an existing support ticket. They will receive a CryptPad notification about this message.";
|
||||
Messages.support_userChannel = "User's notifications channel ID";
|
||||
Messages.support_userKey = "User's public key";
|
||||
Messages.support_invalChan = "Invalid notifications channel";
|
||||
|
||||
Messages.support_pasteUserData = "Paste user data here";
|
||||
|
||||
Messages.support_recordedTitle = "Snippets";
|
||||
Messages.support_recordedHint = "Store common text as one-click shortcuts to insert in support messages.";
|
||||
Messages.support_recordedEmpty = "No snippets";
|
||||
Messages.support_recordedId = "Snippet ID (unique)";
|
||||
Messages.support_recordedContent = "Content";
|
||||
|
||||
Messages.support_legacyTitle = "View old support data";
|
||||
Messages.support_legacyHint = "View tickets from the legacy support system and recreate them in the new one.";
|
||||
Messages.support_legacyButton = "Get active";
|
||||
Messages.support_legacyDump = "Export all";
|
||||
Messages.support_legacyClear = "Delete from my account";
|
||||
|
||||
Messages.support_searchLabel = "Search (title or ticketId)";
|
||||
|
||||
Messages.support_team = "The Support Team"; // XXX
|
||||
Messages.support_answerAs = "Answering as <b>{0}</b>"; // XXX
|
||||
Messages.support_movePending = "Move to archive";
|
||||
Messages.support_moveActive = "Move to active";
|
||||
Messages.support_copyUserData = "Copy user data";
|
||||
Messages.support_insertRecorded = "Insert snippet";
|
||||
|
||||
|
||||
return Messages;
|
||||
|
||||
|
||||
@ -5,12 +5,13 @@
|
||||
define([
|
||||
'/common/hyperscript.js',
|
||||
'/common/common-language.js',
|
||||
'/common/common-util.js',
|
||||
'/customize/application_config.js',
|
||||
'/customize/messages.js',
|
||||
'jquery',
|
||||
'/api/config',
|
||||
'optional!/api/instance',
|
||||
], function (h, Language, AppConfig, Msg, $, ApiConfig, Instance) {
|
||||
], function (h, Language, Util, AppConfig, Msg, $, ApiConfig, Instance) {
|
||||
var Pages = {};
|
||||
|
||||
Pages.setHTML = function (e, html) {
|
||||
@ -98,7 +99,8 @@ define([
|
||||
return h('a', attrs, [icon, text]);
|
||||
};
|
||||
|
||||
Pages.versionString = "5.7.0";
|
||||
let urlArgs = ApiConfig.requireConf && ApiConfig.requireConf.urlArgs;
|
||||
Pages.versionString = Util.getVersionFromUrlArgs(urlArgs);
|
||||
|
||||
var customURLs = Pages.customURLs = {};
|
||||
(function () {
|
||||
|
||||
@ -130,12 +130,15 @@
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
font-family: inherit;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
border-radius: @variables_radius;
|
||||
transition: none;
|
||||
|
||||
&:not(.fa):not(.cptools) {
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
i, .fa, .cptools {
|
||||
&:not(.nomargin) {
|
||||
margin-right: 5px;
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
|
||||
@import (reference) "./colortheme-all.less";
|
||||
@import (reference) './tokenfield.less';
|
||||
@import (reference) './variables.less';
|
||||
@import (reference) './sidebar-layout.less';
|
||||
.support_main () {
|
||||
@ticket-bg: @cp_support-bg;
|
||||
@ -33,7 +34,8 @@
|
||||
}
|
||||
textarea {
|
||||
box-sizing: border-box;
|
||||
width: 2*@sidebar_block-width !important;
|
||||
resize: vertical;
|
||||
width: 100%;
|
||||
max-width: 100% !important;
|
||||
padding: 10px 15px;
|
||||
height: 300px;
|
||||
@ -78,7 +80,16 @@
|
||||
justify-content: space-between;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
.cp-support-ticket-title {
|
||||
width: 100%;
|
||||
margin-bottom: @sidebar_base-margin;
|
||||
word-break: break-word;
|
||||
}
|
||||
.cp-tags-list {
|
||||
&:empty {
|
||||
display: none !important;
|
||||
}
|
||||
margin-top: @sidebar_base-margin;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@ -86,6 +97,11 @@
|
||||
margin-left: 1em;
|
||||
}
|
||||
}
|
||||
.cp-support-ticket-tags {
|
||||
.cp-tokenfield-form button.cp-token-close {
|
||||
border-radius: @variables_radius !important;
|
||||
}
|
||||
}
|
||||
&.cp-filtered {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@ -311,14 +311,13 @@ var trimMapByOffset = function (map, offset) {
|
||||
* to guarantee that offset computation is always atomic with writes
|
||||
*/
|
||||
// FIXME 'optionalMessageHash' is always supplied, so we could consider renaming it for clarity
|
||||
const storeMessage = function (Env, channel, msg, isCp, optionalMessageHash, cb) {
|
||||
const storeMessage = function (Env, channel, msg, isCp, optionalMessageHash, time, cb) {
|
||||
const id = channel.id;
|
||||
const Log = Env.Log;
|
||||
if (typeof(cb) !== "function") { cb = function () {}; }
|
||||
|
||||
Env.queueStorage(id, function (next) {
|
||||
const msgBin = Buffer.from(msg + '\n', 'utf8');
|
||||
const time = Array.isArray(msg) && msg[msg.length - 1];
|
||||
// Store the message first, and update the index only once it's stored.
|
||||
// store.messageBin can be async so updating the index first may
|
||||
// result in a wrong cpIndex
|
||||
@ -1033,11 +1032,12 @@ HK.onChannelMessage = function (Env, Server, channel, msgStruct, cb) {
|
||||
}
|
||||
|
||||
// add the time to the message
|
||||
msgStruct.push(now());
|
||||
let time = now();
|
||||
msgStruct.push(time);
|
||||
|
||||
// storeMessage
|
||||
//console.log(+new Date(), "Storing message");
|
||||
storeMessage(Env, channel, JSON.stringify(msgStruct), isCp, getHash(msgStruct[4], Log), cb);
|
||||
storeMessage(Env, channel, JSON.stringify(msgStruct), isCp, getHash(msgStruct[4], Log), time, cb);
|
||||
//console.log(+new Date(), "Message stored");
|
||||
});
|
||||
};
|
||||
|
||||
@ -40,7 +40,8 @@ Moderator.getAllKeys = function (Env) {
|
||||
});
|
||||
return keys;
|
||||
} catch (e) {
|
||||
return;
|
||||
// ENOENT, return empty array
|
||||
return [];
|
||||
}
|
||||
};
|
||||
Moderator.getAll = function (Env, cb) {
|
||||
|
||||
55
package-lock.json
generated
55
package-lock.json
generated
@ -27,7 +27,7 @@
|
||||
"croppie": "^2.5.0",
|
||||
"dragula": "3.7.2",
|
||||
"drawio": "github:cryptpad/drawio-npm#npm-21.8.2+5",
|
||||
"express": "~4.18.2",
|
||||
"express": "~4.19.2",
|
||||
"file-saver": "1.3.1",
|
||||
"fs-extra": "^7.0.0",
|
||||
"get-folder-size": "^2.0.1",
|
||||
@ -1598,9 +1598,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cookie": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
|
||||
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
|
||||
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
@ -2232,16 +2232,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/express": {
|
||||
"version": "4.18.2",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
|
||||
"integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
|
||||
"version": "4.19.2",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
|
||||
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
|
||||
"dependencies": {
|
||||
"accepts": "~1.3.8",
|
||||
"array-flatten": "1.1.1",
|
||||
"body-parser": "1.20.1",
|
||||
"body-parser": "1.20.2",
|
||||
"content-disposition": "0.5.4",
|
||||
"content-type": "~1.0.4",
|
||||
"cookie": "0.5.0",
|
||||
"cookie": "0.6.0",
|
||||
"cookie-signature": "1.0.6",
|
||||
"debug": "2.6.9",
|
||||
"depd": "2.0.0",
|
||||
@ -2272,43 +2272,6 @@
|
||||
"node": ">= 0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/express/node_modules/body-parser": {
|
||||
"version": "1.20.1",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
|
||||
"integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
|
||||
"dependencies": {
|
||||
"bytes": "3.1.2",
|
||||
"content-type": "~1.0.4",
|
||||
"debug": "2.6.9",
|
||||
"depd": "2.0.0",
|
||||
"destroy": "1.2.0",
|
||||
"http-errors": "2.0.0",
|
||||
"iconv-lite": "0.4.24",
|
||||
"on-finished": "2.4.1",
|
||||
"qs": "6.11.0",
|
||||
"raw-body": "2.5.1",
|
||||
"type-is": "~1.6.18",
|
||||
"unpipe": "1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8",
|
||||
"npm": "1.2.8000 || >= 1.4.16"
|
||||
}
|
||||
},
|
||||
"node_modules/express/node_modules/raw-body": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
|
||||
"integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
|
||||
"dependencies": {
|
||||
"bytes": "3.1.2",
|
||||
"http-errors": "2.0.0",
|
||||
"iconv-lite": "0.4.24",
|
||||
"unpipe": "1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/extend-shallow": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||
|
||||
13
package.json
13
package.json
@ -13,6 +13,19 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@mcrowe/minibloom": "^0.2.0",
|
||||
"chainpad-crypto": "^0.2.5",
|
||||
"chainpad-server": "^5.1.0",
|
||||
"cookie-parser": "^1.4.6",
|
||||
"body-parser": "^1.20.2",
|
||||
"express": "~4.19.2",
|
||||
"fs-extra": "^7.0.0",
|
||||
"get-folder-size": "^2.0.1",
|
||||
"netflux-websocket": "^1.0.0",
|
||||
"http-proxy-middleware": "^2.0.6",
|
||||
"jsonwebtoken": "^9.0.0",
|
||||
"notp": "^2.0.3",
|
||||
"nthen": "0.1.8",
|
||||
"openid-client": "^5.4.2",
|
||||
"@node-saml/node-saml": "^4.0.5",
|
||||
"alertify.js": "1.0.11",
|
||||
"body-parser": "^1.20.2",
|
||||
|
||||
@ -98,13 +98,6 @@ define([
|
||||
'users'
|
||||
]
|
||||
},
|
||||
'support' : { // Msg.admin_cat_support
|
||||
icon : 'fa fa-ambulance',
|
||||
content : [
|
||||
'support-setup',
|
||||
'support-team',
|
||||
]
|
||||
},
|
||||
'quota': { // Msg.admin_cat_quota
|
||||
icon: 'fa fa-hdd-o',
|
||||
content: [
|
||||
@ -123,6 +116,13 @@ define([
|
||||
|
||||
]
|
||||
},
|
||||
'support' : { // Msg.admin_cat_support
|
||||
icon : 'fa fa-ambulance',
|
||||
content : [
|
||||
'support-setup',
|
||||
'support-team',
|
||||
]
|
||||
},
|
||||
'stats' : { // Msg.admin_cat_stats
|
||||
icon : 'fa fa-line-chart',
|
||||
content : [
|
||||
|
||||
@ -113,6 +113,7 @@ define([
|
||||
window.focus();
|
||||
window.print();
|
||||
framework.feedback('PRINT_CODE');
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
var $print = UIElements.getEntryFromButton($printButton);
|
||||
framework._.toolbar.$drawer.append($print);
|
||||
|
||||
@ -1112,6 +1112,10 @@ define([
|
||||
});
|
||||
};
|
||||
|
||||
UI.clearTooltipsDelay = function () {
|
||||
setTimeout(UI.clearTooltips, 500);
|
||||
};
|
||||
|
||||
var delay = typeof(AppConfig.tooltipDelay) === "number" ? AppConfig.tooltipDelay : 500;
|
||||
$.extend(true, Tippy.defaults, {
|
||||
placement: 'bottom',
|
||||
|
||||
@ -584,8 +584,10 @@ define([
|
||||
let attributes = {};
|
||||
let btnClass = $button.attr('class');
|
||||
let btnId = $button.attr('id');
|
||||
let btnTitle = $button.attr('title');
|
||||
if (btnClass) { attributes['class'] = btnClass; }
|
||||
if (btnId) { attributes['id'] = btnId; }
|
||||
if (btnTitle && !attributes.title) { attributes['title'] = btnTitle; }
|
||||
|
||||
return UIElements.createDropdownEntry({
|
||||
tag: 'a',
|
||||
@ -616,7 +618,9 @@ define([
|
||||
title: Messages.exportButtonTitle,
|
||||
}).append($('<span>', {'class': 'cp-toolbar-drawer-element'}).text(Messages.exportButton));
|
||||
|
||||
button.click(common.prepareFeedback(type));
|
||||
button
|
||||
.click(common.prepareFeedback(type))
|
||||
.click(UI.clearTooltipsDelay);
|
||||
if (callback) {
|
||||
button.click(callback);
|
||||
}
|
||||
@ -626,38 +630,6 @@ define([
|
||||
'class': 'fa fa-upload cp-toolbar-icon-import',
|
||||
title: Messages.importButtonTitle,
|
||||
}).append($('<span>', {'class': 'cp-toolbar-drawer-element'}).text(Messages.importButton));
|
||||
/*if (data.types) {
|
||||
// New import button in the toolbar
|
||||
var importFunction = {
|
||||
template: function () {
|
||||
UIElements.openTemplatePicker(common, true);
|
||||
},
|
||||
file: function (cb) {
|
||||
importContent('text/plain', function (content, file) {
|
||||
cb(content, file);
|
||||
}, {accept: data ? data.accept : undefined})
|
||||
}
|
||||
};
|
||||
var toImport = [];
|
||||
Object.keys(data.types).forEach(function (importType) {
|
||||
if (!importFunction[importType] || !data.types[importType]) { return; }
|
||||
var option = h('button', importType);
|
||||
$(option).click(function () {
|
||||
importFunction[importType](data.types[importType]);
|
||||
});
|
||||
toImport.push(options);
|
||||
});
|
||||
|
||||
button.click(common.prepareFeedback(type));
|
||||
|
||||
if (toImport.length === 1) {
|
||||
button.click(function () { $(toImport[0]).click(); });
|
||||
} else {
|
||||
Cryptpad.alert(h('p.cp-import-container', toImport));
|
||||
}
|
||||
}
|
||||
else if (callback) {*/
|
||||
// Old import button, used in settings
|
||||
var importer = importContent((data && data.binary) ? 'application/octet-stream' : 'text/plain', callback, {
|
||||
accept: data ? data.accept : undefined,
|
||||
binary: data ? data.binary : undefined
|
||||
@ -673,6 +645,7 @@ define([
|
||||
.click(common.prepareFeedback(type))
|
||||
.click(function () {
|
||||
handler();
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
//}
|
||||
break;
|
||||
@ -706,7 +679,10 @@ define([
|
||||
if (callback) { callback(); }
|
||||
});
|
||||
if (data.accept) { $input.attr('accept', data.accept); }
|
||||
button.click(function () { $input.click(); });
|
||||
button.click(function () {
|
||||
$input.click();
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
break;
|
||||
case 'copy':
|
||||
button = $('<button>', {
|
||||
@ -716,6 +692,7 @@ define([
|
||||
.click(common.prepareFeedback(type))
|
||||
.click(function () {
|
||||
sframeChan.query('EV_MAKE_A_COPY');
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
break;
|
||||
case 'importtemplate':
|
||||
@ -729,6 +706,7 @@ define([
|
||||
.click(function () {
|
||||
if (callback) { return void callback(); }
|
||||
UIElements.openTemplatePicker(common, true);
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
break;
|
||||
case 'template':
|
||||
@ -779,6 +757,7 @@ define([
|
||||
});
|
||||
};
|
||||
UI.prompt(Messages.saveTemplatePrompt, title, todo);
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
}
|
||||
break;
|
||||
@ -866,6 +845,7 @@ define([
|
||||
.click(common.prepareFeedback(type))
|
||||
.on('click', function () {
|
||||
common.getHistory(data.histConfig);
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
}
|
||||
break;
|
||||
@ -922,6 +902,7 @@ define([
|
||||
}
|
||||
UIElements.updateTags(common, null);
|
||||
});
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
break;
|
||||
case 'toggle':
|
||||
@ -973,6 +954,7 @@ define([
|
||||
}
|
||||
|
||||
sframeChan.event('EV_PROPERTIES_OPEN');
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
break;
|
||||
case 'save': // OnlyOffice save
|
||||
@ -981,7 +963,10 @@ define([
|
||||
title: Messages.settings_save,
|
||||
}).append($('<span>', {'class': 'cp-toolbar-drawer-element'})
|
||||
.text(Messages.settings_save))
|
||||
.click(common.prepareFeedback(type));
|
||||
.click(function() {
|
||||
common.prepareFeedback(type);
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
if (callback) { button.click(callback); }
|
||||
break;
|
||||
case 'newpad':
|
||||
@ -993,6 +978,7 @@ define([
|
||||
.click(common.prepareFeedback(type))
|
||||
.click(function () {
|
||||
common.createNewPadModal();
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
break;
|
||||
case 'snapshots':
|
||||
@ -1007,6 +993,7 @@ define([
|
||||
return;
|
||||
}
|
||||
UIElements.openSnapshotsModal(common, data.load, data.make, data.remove);
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
break;
|
||||
default:
|
||||
@ -1329,6 +1316,7 @@ define([
|
||||
});
|
||||
$toolbarButton.click(function () {
|
||||
common.openUnsafeURL(href);
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
|
||||
common.getAttribute(['hideHelp', type], function (err, val) {
|
||||
|
||||
@ -752,6 +752,13 @@
|
||||
return [...Array(length).keys()];
|
||||
};
|
||||
|
||||
Util.getVersionFromUrlArgs = urlArgs => {
|
||||
let arr = /ver=([0-9.]+)(-[0-9]*)?/.exec(urlArgs);
|
||||
let ver = Array.isArray(arr) && arr[1];
|
||||
return ver || undefined;
|
||||
};
|
||||
|
||||
|
||||
if (typeof(module) !== 'undefined' && module.exports) {
|
||||
module.exports = Util;
|
||||
} else if ((typeof(define) !== 'undefined' && define !== null) && (define.amd !== null)) {
|
||||
|
||||
@ -2228,8 +2228,7 @@ define([
|
||||
// Check for CryptPad updates
|
||||
var urlArgs = newUrlArgs || (Config.requireConf ? Config.requireConf.urlArgs : null);
|
||||
if (!urlArgs) { return; }
|
||||
var arr = /ver=([0-9.]+)(-[0-9]*)?/.exec(urlArgs);
|
||||
var ver = arr[1];
|
||||
let ver = Util.getVersionFromUrlArgs(urlArgs);
|
||||
if (!ver) { return; }
|
||||
var verArr = ver.split('.');
|
||||
//verArr[2] = 0;
|
||||
|
||||
@ -494,7 +494,8 @@ define([
|
||||
return text;
|
||||
};
|
||||
content.handler = function () {
|
||||
let url = msg.isAdmin ? '/support/#tickets' : `/moderation/#support-${content.channel}`;
|
||||
let id = Util.hexToBase64(msg.channel).slice(0,10);
|
||||
let url = msg.isAdmin ? '/support/#tickets' : `/moderation/#open-${id}`;
|
||||
common.openURL(url);
|
||||
defaultDismiss(common, data)();
|
||||
};
|
||||
|
||||
@ -2361,7 +2361,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
|
||||
// If the last checkpoint is empty, load the "initial" doc instead
|
||||
if (!lastCp || !lastCp.file) { return void loadDocument(true, useNewDefault); }
|
||||
// Load latest checkpoint
|
||||
loadLastDocument(lastCp)
|
||||
return void loadLastDocument(lastCp)
|
||||
.then(({blob, fileType}) => {
|
||||
startOO(blob, fileType);
|
||||
})
|
||||
@ -2857,7 +2857,8 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
|
||||
$hashtag.appendTo(toolbar.$drawer);
|
||||
}
|
||||
|
||||
var $store = common.createButton('storeindrive', true);
|
||||
var $storeButton = common.createButton('storeindrive', true);
|
||||
var $store = UIElements.getEntryFromButton($storeButton);
|
||||
toolbar.$drawer.append($store);
|
||||
|
||||
// Move to trash button
|
||||
|
||||
@ -113,7 +113,7 @@ define([
|
||||
var clearDismissed = function (ctx, uid) {
|
||||
var h = Util.find(ctx, ['store', 'proxy', 'hideReminders']) || {};
|
||||
Object.keys(h).filter(function (id) {
|
||||
return id.indexOf(uid) === 0;
|
||||
return id === uid;
|
||||
}).forEach(function (id) {
|
||||
delete h[id];
|
||||
});
|
||||
|
||||
@ -169,6 +169,7 @@ define([
|
||||
}
|
||||
active[channel] = {
|
||||
title: ticket.title,
|
||||
restored: ticket.legacy,
|
||||
premium: false,
|
||||
time: time,
|
||||
author: data.name,
|
||||
@ -238,7 +239,7 @@ define([
|
||||
getKeys(ctx, isAdmin, data, waitFor((err, obj) => {
|
||||
if (err) {
|
||||
waitFor.abort();
|
||||
return void cb({error: err});
|
||||
return void cb(err);
|
||||
}
|
||||
theirPublic = obj.theirPublic;
|
||||
myCurve = obj.myCurve;
|
||||
@ -516,17 +517,26 @@ define([
|
||||
if (data.curvePublic !== curve) { return; }
|
||||
return Util.find(msg, ['sender', 'quota', 'plan']);
|
||||
});
|
||||
var senderKey = last.sender && last.sender.edPublic;
|
||||
|
||||
// Update ChainPad with latest ticket data
|
||||
var entry = doc.tickets.active[data.channel];
|
||||
if (entry) {
|
||||
if (last.legacy) {
|
||||
let lastMsg = Array.isArray(last.messages)
|
||||
&& last.messages[last.messages.length - 1];
|
||||
last = lastMsg;
|
||||
}
|
||||
entry.time = last.time;
|
||||
entry.premium = premium;
|
||||
|
||||
if (last.sender) {
|
||||
entry.lastAdmin = !last.sender.blockLocation;
|
||||
}
|
||||
/*
|
||||
let senderKey = last.sender && last.sender.edPublic;
|
||||
if (senderKey) {
|
||||
entry.lastAdmin = ctx.moderatorKeys.indexOf(senderKey) !== -1;
|
||||
}
|
||||
*/
|
||||
}
|
||||
cb(res);
|
||||
});
|
||||
@ -757,13 +767,47 @@ define([
|
||||
dump: true
|
||||
});
|
||||
};
|
||||
let findLegacy = (ctx, author, title) => {
|
||||
let doc = ctx.adminDoc.proxy;
|
||||
return ['active', 'pending', 'closed'].some(k => {
|
||||
let all = doc.tickets[k];
|
||||
return Object.keys(all).some(id => {
|
||||
let ticket = all[id];
|
||||
return ticket.authorKey === author && ticket.title === title && ticket.restored;
|
||||
});
|
||||
});
|
||||
};
|
||||
var getLegacy = function (ctx, data, cId, cb) {
|
||||
let proxy = ctx.store.proxy;
|
||||
let legacy = Util.find(proxy, ['mailboxes', 'supportadmin']);
|
||||
if (!legacy) { return void cb({error: 'ENOENT'}); }
|
||||
ctx.store.mailbox.open('supportadmin', legacy, function (contentByHash) {
|
||||
ctx.store.mailbox.close('supportadmin', function () {});
|
||||
cb(contentByHash);
|
||||
let c = Util.clone(contentByHash || {});
|
||||
let toFilter = [];
|
||||
Object.keys(c).forEach(h => {
|
||||
let msg = c[h];
|
||||
if (msg.type === 'CLOSE') {
|
||||
if (!toFilter.includes(msg.content.id)) {
|
||||
toFilter.push(msg.content.id);
|
||||
}
|
||||
return;
|
||||
}
|
||||
let author = msg.author;
|
||||
let title = msg.content && msg.content.title;
|
||||
if (findLegacy(ctx, author, title)) {
|
||||
if (!toFilter.includes(msg.content.id)) {
|
||||
toFilter.push(msg.content.id);
|
||||
}
|
||||
}
|
||||
});
|
||||
Object.keys(c).forEach(h => {
|
||||
let msg = c[h];
|
||||
if (msg.content && toFilter.includes(msg.content.id)) {
|
||||
delete c[h];
|
||||
}
|
||||
});
|
||||
cb(c);
|
||||
}, true, { // Opts
|
||||
dump: true
|
||||
});
|
||||
@ -776,6 +820,7 @@ define([
|
||||
let messages = data.messages;
|
||||
let hashes = data.hashes;
|
||||
let first = messages[0];
|
||||
let last = messages[messages.length - 1];
|
||||
if (!first) { return void cb({error: 'EINVAL'}); }
|
||||
ctx.adminRdyEvt.reg(() => {
|
||||
let ticketData = {
|
||||
@ -784,7 +829,7 @@ define([
|
||||
curvePublic: Util.find(first, ['sender', 'curvePublic']),
|
||||
channel: Hash.createChannelId(),
|
||||
title: first.title,
|
||||
time: first.time,
|
||||
time: last.time,
|
||||
ticket: {
|
||||
legacy: true,
|
||||
title: first.title,
|
||||
@ -857,15 +902,14 @@ define([
|
||||
var rdmTo = Math.floor(Math.random() * 2000); // Between 0 and 2000ms
|
||||
setTimeout(() => {
|
||||
var doc = ctx.adminDoc.proxy;
|
||||
if (!doc.tickets.active[data.channel] && !doc.tickets.pending[data.channel]) {
|
||||
return; }
|
||||
let t = doc.tickets.active[data.channel] || doc.tickets.pending[data.channel];
|
||||
if (!t) { return; }
|
||||
if (data.time <= t.time) { return; }
|
||||
if (data.isClose) {
|
||||
doc.tickets.closed[data.channel] = t;
|
||||
delete doc.tickets.active[data.channel];
|
||||
delete doc.tickets.pending[data.channel];
|
||||
}
|
||||
if (data.time <= t.time) { return; }
|
||||
|
||||
t.time = data.time;
|
||||
t.lastAdmin = false;
|
||||
|
||||
@ -8,7 +8,7 @@ define([
|
||||
"/common/onlyoffice/current-version.js",
|
||||
], function (AppConfig, ApiConfig, OOCurrentVersion) {
|
||||
const OO_APPS = ["sheet", "doc", "presentation"];
|
||||
const ooEnabled = ApiConfig.onlyOffice.availableVersions.includes(
|
||||
const ooEnabled = ApiConfig.onlyOffice && ApiConfig.onlyOffice.availableVersions.includes(
|
||||
OOCurrentVersion.currentVersion,
|
||||
);
|
||||
|
||||
|
||||
@ -651,6 +651,7 @@ define([
|
||||
states = [];
|
||||
onClose();
|
||||
closeUI();
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
$(restore).click(function () {
|
||||
var restorePrompt = config.drive ? Messages.history_restoreDrivePrompt
|
||||
|
||||
@ -319,5 +319,6 @@
|
||||
"fm_padIsOwnedOther": "Този документ е собственост на друг потребител",
|
||||
"fm_tags_name": "Име на етикет",
|
||||
"fm_burnThisDrive": "Сигурни ли сте, че искате да премахнете всичко, съхранено от CryptPad във вашия браузър?<br>Това ще премахне вашия CryptDrive и неговата история от вашия браузър, но вашите документи ще продължат да съществуват (криптирани) на нашия сървър.",
|
||||
"fm_deletedPads": "Тези документи вече не съществуват на сървъра, те са премахнати от вашия CryptDrive: {0}"
|
||||
"fm_deletedPads": "Тези документи вече не съществуват на сървъра, те са премахнати от вашия CryptDrive: {0}",
|
||||
"fm_tags_used": "Брой на използване"
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"main_title": "CryptPad: Zusammenarbeit in Echtzeit mit Schutz der Privatsphäre",
|
||||
"main_title": "CryptPad: Schutz der Privatsphäre, Zusammenarbeit in Echtzeit",
|
||||
"type": {
|
||||
"pad": "Rich Text",
|
||||
"code": "Code",
|
||||
@ -41,12 +41,12 @@
|
||||
"realtime_unrecoverableError": "Ein nicht reparierbarer Fehler ist aufgetreten. Klicke auf OK, um neu zu laden.",
|
||||
"disconnected": "Getrennt",
|
||||
"synchronizing": "Synchronisieren",
|
||||
"reconnecting": "Verbindung wird wieder aufgebaut",
|
||||
"reconnecting": "Wiederverbinden",
|
||||
"typing": "Es wird getippt",
|
||||
"initializing": "Starten...",
|
||||
"forgotten": "In den Papierkorb verschoben",
|
||||
"errorState": "Kritischer Fehler: {0}",
|
||||
"readonly": "schreibgeschützt",
|
||||
"readonly": "Schreibgeschützt",
|
||||
"anonymous": "Gast",
|
||||
"users": "Nutzer",
|
||||
"viewer": "Betrachter",
|
||||
@ -78,10 +78,10 @@
|
||||
"clickToEdit": "Zum Bearbeiten klicken",
|
||||
"saveTitle": "Den Titel speichern (Enter)",
|
||||
"forgetButton": "Entfernen",
|
||||
"forgetPrompt": "Wenn du auf OK klickst, wird das Dokument in den Papierkorb verschoben. Bist du sicher?",
|
||||
"forgetPrompt": "Wenn du auf OK klickst, wird das Dokument in deinen Papierkorb verschoben. Bist du sicher?",
|
||||
"movedToTrash": "Das Dokument wurde in den Papierkorb verschoben.<br><a>Mein CryptDrive anzeigen</a>",
|
||||
"shareButton": "Teilen",
|
||||
"shareSuccess": "Die URL wurde in die Zwischenablage kopiert",
|
||||
"shareSuccess": "Link wurde in die Zwischenablage kopiert",
|
||||
"userListButton": "Benutzerliste",
|
||||
"chatButton": "Chat",
|
||||
"userAccountButton": "Benutzermenü",
|
||||
@ -92,7 +92,7 @@
|
||||
"saveTemplateButton": "Als Vorlage speichern",
|
||||
"saveTemplatePrompt": "Bitte gib einen Titel für die Vorlage ein",
|
||||
"templateSaved": "Vorlage gespeichert!",
|
||||
"selectTemplate": "Bitte wähle eine Vorlage oder drücke Esc",
|
||||
"selectTemplate": "Wähle eine Vorlage oder drücke Esc",
|
||||
"useTemplate": "Mit einer Vorlage starten?",
|
||||
"useTemplateOK": "Wähle eine Vorlage (Enter)",
|
||||
"useTemplateCancel": "Neu starten (Esc)",
|
||||
@ -614,7 +614,7 @@
|
||||
"admin_updateLimitButton": "Quotas aktualisieren",
|
||||
"admin_updateLimitDone": "Update erfolgreich abgeschlossen",
|
||||
"admin_flushCacheTitle": "HTTP-Cache leeren",
|
||||
"admin_flushCacheHint": "Benutzer zwingen, die aktuellen Inhalte vom Server herunterzuladen",
|
||||
"admin_flushCacheHint": "Zwinge alle Benutzer, nach einer Änderung der Anpassung oder Konfiguration die neuen Ressourcen herunterzuladen. Dies vermeidet einen Neustart des Servers, führt aber dazu, dass jeder aktive Benutzer seine Verbindung zurücksetzen muss. Bitte sparsam verwenden.",
|
||||
"admin_flushCacheButton": "Cache leeren",
|
||||
"admin_flushCacheDone": "Cache erfolgreich geleert",
|
||||
"footer_donate": "Spenden",
|
||||
@ -1700,5 +1700,67 @@
|
||||
"admin_storeSsoLabel": "SSO-Benutzer automatisch speichern",
|
||||
"admin_invitationCopy": "Link kopieren",
|
||||
"register_invalidToken": "Der Einladungslink ist ungültig",
|
||||
"admin_usersBlock": "Login-Block-URL des Benutzers (optional)"
|
||||
"admin_usersBlock": "Login-Block-URL des Benutzers (optional)",
|
||||
"admin_cat_security": "Sicherheit",
|
||||
"admin_logoTitle": "Benutzerdefiniertes Logo",
|
||||
"admin_cat_customize": "Anpassen",
|
||||
"admin_colorTitle": "Akzentfarbe",
|
||||
"admin_logoHint": "SVG, PNG oder JPG, maximale Größe 200 KB",
|
||||
"admin_logoButton": "Neues Logo hochladen",
|
||||
"admin_logoRemoveButton": "Standard wiederherstellen",
|
||||
"admin_colorCurrent": "Aktuelle Akzentfarbe",
|
||||
"admin_colorChange": "Farbe ändern",
|
||||
"admin_colorPick": "Eine Farbe auswählen",
|
||||
"admin_colorPreview": "Farbvorschau",
|
||||
"admin_colorHint": "Ändere die Akzentfarbe deiner CryptPad-Instanz. Bitte achte darauf, dass Text und Schaltflächen sowohl in hellen als auch in dunklen Farbschemen mit ausreichendem Kontrast lesbar sind.",
|
||||
"admin_supportAdd": "Einen Kontakt zum Support-Team hinzufügen",
|
||||
"admin_supportDisabled": "Das Support-System ist deaktiviert.",
|
||||
"admin_supportSetupHint": "Erstelle oder aktualisiere die Support-Schlüssel.",
|
||||
"admin_supportSetupTitle": "Support einrichten",
|
||||
"admin_supportEnabled": "Das Support-System ist aktiviert.",
|
||||
"admin_supportConfirm": "Bist du sicher? Dadurch werden alle existierenden Tickets gelöscht und der Zugang für alle Moderatoren gesperrt.",
|
||||
"admin_supportMembers": "Support-Team",
|
||||
"admin_supportDelete": "Support deaktivieren",
|
||||
"admin_supportRotateNotify": "Warnung: Neue Schlüssel wurden generiert, aber ein unerwarteter Fehler hat verhindert, dass das System sie an die Moderatoren senden konnte. Bitte entferne alle Mitglieder des Support-Teams und füge sie erneut hinzu.",
|
||||
"admin_supportTeamTitle": "Support-Team verwalten",
|
||||
"admin_supportTeamHint": "Füge Personen zum Support-Team der Instanz hinzu oder entferne sie",
|
||||
"support_cat_settings": "Einstellungen",
|
||||
"support_cat_search": "Suche",
|
||||
"support_cat_closed": "Geschlossen",
|
||||
"support_cat_open": "Eingang",
|
||||
"support_pending": "Archivierte Tickets:",
|
||||
"support_privacyHint": "Aktiviere diese Option, um als 'Das Support-Team' anstelle deines eigenen Benutzernamens zu antworten",
|
||||
"support_pending_tag": "Archiviert",
|
||||
"support_active_tag": "Eingang",
|
||||
"support_closed_tag": "Geschlossen",
|
||||
"support_privacyTitle": "Anonym antworten",
|
||||
"support_notificationsHint": "Aktiviere diese Option, um Benachrichtigungen für neue Tickets und Antworten zu deaktivieren",
|
||||
"support_notificationsTitle": "Benachrichtigungen deaktivieren",
|
||||
"support_userChannel": "Benachrichtigungskanal-ID des Benutzers",
|
||||
"support_legacyDump": "Alle exportieren",
|
||||
"support_userKey": "Öffentlicher Schlüssel des Benutzers",
|
||||
"support_invalChan": "Ungültiger Benachrichtigungskanal",
|
||||
"support_pasteUserData": "Benutzerdaten hier einfügen",
|
||||
"support_legacyButton": "Aktive Tickets abrufen",
|
||||
"support_recordedContent": "Inhalt",
|
||||
"support_searchLabel": "Suche (Titel oder Ticket-ID)",
|
||||
"support_legacyHint": "Anfragen aus dem alten Supportsystem anzeigen und im neuen System neu erstellen.",
|
||||
"support_legacyClear": "Für diesen Account löschen",
|
||||
"support_answerAs": "Antworten als <b>{0}</b>",
|
||||
"support_team": "Das Support-Team",
|
||||
"admin_supportOpen": "Helpdesk öffnen",
|
||||
"support_copyUserData": "Benutzerdaten kopieren",
|
||||
"moderationPage": "Helpdesk",
|
||||
"support_openTicketHint": "Kopiere die Daten des Benutzers von dessen Profilseite oder einem bestehenden Support-Ticket. Er erhält eine CryptPad-Benachrichtigung über diese Nachricht.",
|
||||
"admin_supportInit": "Helpdesk auf dieser Instanz initialisieren",
|
||||
"support_openTicketTitle": "Ein Ticket mit einem Benutzer erstellen",
|
||||
"support_recordedEmpty": "Keine Textbausteine",
|
||||
"support_recordedId": "Textbaustein-ID (eindeutig)",
|
||||
"support_recordedTitle": "Textbausteine",
|
||||
"support_recordedHint": "Speichere häufig vorkommende Texte, damit du sie mit einem Klick in Supportnachrichten einfügen kannst.",
|
||||
"support_insertRecorded": "Textbaustein einfügen",
|
||||
"support_moveActive": "Zu aktiven Tickets verschieben",
|
||||
"support_movePending": "In das Archiv verschieben",
|
||||
"support_cat_legacy": "Alte Daten",
|
||||
"support_legacyTitle": "Alte Support-Daten ansehen"
|
||||
}
|
||||
|
||||
@ -1680,5 +1680,25 @@
|
||||
"duplicate": "Bikoiztu",
|
||||
"kanban_showTags": "Ikusi etiketa guztiak",
|
||||
"kanban_hideTags": "Ikusi etiketa gutxiago",
|
||||
"admin_forcemfaTitle": "Derrigorrezko bi faktoreko autentifikazioa"
|
||||
"admin_forcemfaTitle": "Derrigorrezko bi faktoreko autentifikazioa",
|
||||
"admin_cat_users": "Erabiltzailearen direktorioa",
|
||||
"admin_invitationCreate": "Sortu gonbidapen-esteka",
|
||||
"admin_registrationSsoTitle": "Itxi SSO erregistroa",
|
||||
"admin_invitationTitle": "Gonbidapen estekak",
|
||||
"admin_invitationLink": "Gonbidapenaren esteka",
|
||||
"admin_invitationAlias": "Erabiltzailearen izena",
|
||||
"admin_usersTitle": "Erabiltzailearen direktorioa",
|
||||
"admin_storeInvitedLabel": "Gorde automatikoki gonbidatutako erabiltzaileak",
|
||||
"admin_usersRemoveConfirm": "Ziur erabiltzaile hau direktoriotik kendu nahi duzula? Oraindik euren kontuan sartu eta erabili ahal izango dute.",
|
||||
"loading_mfa_required": "Bi faktoreko autentifikazioa behar da instantzia honetan. Mesedez, eguneratu zure kontua autentifikazio-aplikazio bat eta beheko formularioa erabiliz.",
|
||||
"admin_usersHint": "Instantzia honetako kontu ezagunen zerrenda. Sakatu behean kontuak automatikoki gehitzeko edo sartu informazioa eskuz inprimakia erabiliz.",
|
||||
"register_invalidToken": "Gonbidapen-esteka baliogabea da",
|
||||
"admin_invitationHint": "Gonbidapen-estekek kontu bana sortzen dute, nahiz eta erregistroa itxita egon. Erabiltzaile-izena eta posta elektronikoa zure identifikazio helburuetarako soilik dira. CryptPad-ek ez du posta elektronikoz bidaliko gonbidapen-estekarik (edo beste ezer). Mesedez, kopiatu esteka eta bidali nahi duzun kanal segurua erabiliz.",
|
||||
"admin_invitationCopy": "Kopiatu esteka",
|
||||
"admin_invitationEmail": "Erabiltzailearen posta elektronikoa",
|
||||
"admin_usersAdd": "Gehitu erabiltzaile ezaguna",
|
||||
"admin_storeSsoLabel": "Gorde automatikoki SSO erabiltzaileak",
|
||||
"admin_usersBlock": "Erabiltzailearen saioa hasteko blokearen URLa (aukerakoa)",
|
||||
"admin_usersRemove": "Kendu",
|
||||
"admin_invitationDeleteConfirm": "Ziur gonbidapen hau ezabatu nahi duzula?"
|
||||
}
|
||||
|
||||
@ -616,7 +616,7 @@
|
||||
"admin_updateLimitButton": "Mettre à jour les quotas",
|
||||
"admin_updateLimitDone": "Mise à jour effectuée avec succès",
|
||||
"admin_flushCacheTitle": "Vider le cache HTTP",
|
||||
"admin_flushCacheHint": "Force les utilisateur·ices à utiliser la dernière version du site déployée sur le serveur (seulement si le serveur est en mode \"fresh\")",
|
||||
"admin_flushCacheHint": "Forcer l'ensemble des utilisateur·ices à télécharger les dernières modifications apportées à l'apparence ou la configuration. Permet d'éviter à avoir à redémarrer le service, mais réinitialise la connexion de chaque utilisateur·ice, veuillez utiliser avec parcimonie.",
|
||||
"admin_flushCacheButton": "Vider le cache",
|
||||
"admin_flushCacheDone": "Opération réalisée avec succès",
|
||||
"footer_donate": "Faire un don",
|
||||
@ -1682,7 +1682,7 @@
|
||||
"admin_forcemfaTitle": "Authentification à deux facteurs obligatoire",
|
||||
"admin_forcemfaHint": "Tous les utilisateurs de cette instance seront obligés d'activer l'authentification à deux facteurs pour se connecter à leur compte.",
|
||||
"loading_mfa_required": "L'authentification à deux facteurs est requise pour cette instance. Veuillez mettre à jour votre compte en utilisant une application d'authentification et le formulaire ci-dessous.",
|
||||
"admin_cat_users": "Registre",
|
||||
"admin_cat_users": "Registre utilisateur·ices",
|
||||
"admin_invitationCreate": "Créer un lien d'invitation",
|
||||
"admin_invitationTitle": "Liens d'invitation",
|
||||
"admin_invitationLink": "Lien d'invitation",
|
||||
@ -1700,5 +1700,68 @@
|
||||
"admin_invitationHint": "Chaque lien d'invitation peut être utilisé pour créer un compte, même si les inscriptions sont fermées. Les champs utilisateur·ice et e-mail servent uniquement à vous permettre d'identifier les comptes. CryptPad n'enverra pas le lien d'invitation (ou quoique ce soit d'autre) par e-mail, veuillez copier le lien et l'envoyer en utilisant le mode de communication sécurisé de votre choix.",
|
||||
"admin_invitationCopy": "Copier le lien",
|
||||
"admin_registrationSsoTitle": "Fermer l'inscription avec SSO",
|
||||
"admin_invitationEmail": "E-mail utilisateur·ice"
|
||||
"admin_invitationEmail": "E-mail utilisateur·ice",
|
||||
"admin_cat_customize": "Apparence",
|
||||
"admin_colorTitle": "Couleur d'accent",
|
||||
"admin_logoTitle": "Logo personnalisé",
|
||||
"admin_supportAdd": "Ajouter un contact à l'équipe support",
|
||||
"admin_logoHint": "SVG, PNG ou JPG, taille maximum 200 kB",
|
||||
"admin_logoRemoveButton": "Logo par défaut",
|
||||
"admin_colorCurrent": "Couleur d'accent actuelle",
|
||||
"admin_colorChange": "Changer la couleur",
|
||||
"admin_colorPick": "Choisir une couleur",
|
||||
"admin_colorPreview": "Prévisualiser la couleur",
|
||||
"admin_supportSetupHint": "Créer ou mettre à jour les clés de support.",
|
||||
"admin_supportSetupTitle": "Initialiser le support",
|
||||
"admin_supportEnabled": "Le système de support est activé.",
|
||||
"admin_supportConfirm": "Êtes vous sûr ? Tous les tickets seront supprimés et l'accès sera bloqué pour les modérateur·ices.",
|
||||
"admin_supportDisabled": "Le système de support est désactivé.",
|
||||
"support_cat_settings": "Paramètres",
|
||||
"admin_supportDelete": "Désactiver le support",
|
||||
"support_cat_closed": "Fermés",
|
||||
"support_cat_open": "Boîte de réception",
|
||||
"support_openTicketTitle": "Créer un ticket avec un·e utilisateur·ice",
|
||||
"support_cat_legacy": "Ancien système",
|
||||
"support_pending": "Tickets archivés :",
|
||||
"support_privacyHint": "Activez cette option pour répondre au nom de \"L'équipe support\" à la place de votre propre nom",
|
||||
"support_pending_tag": "Archivé",
|
||||
"support_active_tag": "Reçu",
|
||||
"support_closed_tag": "Fermé",
|
||||
"support_notificationsHint": "Activez cette option pour désactiver les notifications pour les nouveaux tickets et les réponses",
|
||||
"support_notificationsTitle": "Désactiver les notifications",
|
||||
"support_recordedEmpty": "Pas de raccourcis",
|
||||
"support_userChannel": "Canal de notifications de l'utilisateur·ice",
|
||||
"support_userKey": "Clé publique de l'utilisateur·ice",
|
||||
"support_recordedTitle": "Raccourcis",
|
||||
"admin_supportTeamTitle": "Gérer l'équipe support",
|
||||
"admin_supportTeamHint": "Ajouter ou supprimer des membres de l'équipe support",
|
||||
"support_pasteUserData": "Collez les données utilisateur·ices ici",
|
||||
"support_legacyButton": "Récupérer les tickets actifs",
|
||||
"support_recordedHint": "Stocker des extraits de texte comme raccourcis à insérer en un clic dans un message de support.",
|
||||
"support_recordedContent": "Contenu",
|
||||
"support_legacyTitle": "Voir les anciennes données de support",
|
||||
"support_searchLabel": "Rechercher (titre ou identifiant du ticket)",
|
||||
"support_legacyDump": "Tout exporter",
|
||||
"support_insertRecorded": "Insérer un raccourci",
|
||||
"support_legacyClear": "Supprimer pour ce compte",
|
||||
"support_moveActive": "Déplacer vers la boîte de réception",
|
||||
"support_team": "L'équipe support",
|
||||
"support_movePending": "Déplacer vers l'archive",
|
||||
"admin_supportOpen": "Ouvrir le service d'assistance",
|
||||
"support_copyUserData": "Copier les données utilisateur·ice",
|
||||
"admin_logoButton": "Importer ce logo",
|
||||
"admin_supportMembers": "Équipe support",
|
||||
"support_privacyTitle": "Répondre de manière anonyme",
|
||||
"support_answerAs": "Répondre en tant que <b>{0}</b>",
|
||||
"admin_supportInit": "Initialiser le service d'assistance sur cette instance",
|
||||
"admin_colorHint": "Change la couleur d'accent de votre instance CryptPad. Veuillez vous assurer que le texte et les boutons ont suffisamment de contraste pour les thèmes clairs et sombres.",
|
||||
"admin_supportRotateNotify": "Attention : de nouvelles clés ont été générées mais une erreur inattendue a empêché le système de les envoyer aux modérateur·ices. Veuillez enlever et réajouter l'ensemble des membres de l'équipe support",
|
||||
"moderationPage": "Service d'assistance",
|
||||
"support_recordedId": "Identifiant du raccourci (unique)",
|
||||
"admin_cat_security": "Sécurité",
|
||||
"support_cat_search": "Rechercher",
|
||||
"support_openTicketHint": "Copiez les données de l'utilisateur·ices destinataire depuis leur page de profil ou depuis un ticket de support existant. Iels recevront une notification CryptPad à propos de ce message.",
|
||||
"support_invalChan": "Canal de notifications invalide",
|
||||
"support_legacyHint": "Voir les tickets de l'ancien système de support et les recréer dans le nouveau.",
|
||||
"support_userNotification": "Nouveau ticket de support ou réponse : {0}"
|
||||
}
|
||||
|
||||
@ -330,5 +330,6 @@
|
||||
"fm_deleteOwnedPad": "Biztos vagy benne, hogy végleg meg akarod semmisíteni ezt a dokumentumot?",
|
||||
"status": "Állapotlap",
|
||||
"access_passwordUsed": "Ennek a dokumentumnak ez már volt jelszava . Nem használható többször.",
|
||||
"admin_diskUsageWarning": "Figyelem! A példányon tárolt adatmennyiségtől függően ez a riport elhasználhatja akár a server teljes memóriáját és lefagyáshoz vezethet."
|
||||
"admin_diskUsageWarning": "Figyelem! A példányon tárolt adatmennyiségtől függően ez a riport elhasználhatja akár a server teljes memóriáját és lefagyáshoz vezethet.",
|
||||
"poll_comment_disabled": "A ✓ gommbal tudod a kérdőívet publikálni, ezután lehet kommentálni."
|
||||
}
|
||||
|
||||
@ -1700,5 +1700,40 @@
|
||||
"kanban_hideTags": "Lihat sedikit tag",
|
||||
"admin_forcemfaTitle": "Autentikasi Dua Faktor Wajib",
|
||||
"loading_mfa_required": "Autentikasi dua faktor diperlukan di server ini. Silakan perbarui akun Anda menggunakan aplikasi autentikator dan formulir di bawah.",
|
||||
"calendar_rec_change": "Memindahkan genap berulang ke kalender lain. Anda hanya dapat menerapkan perubahan ini pada peristiwa ini atau semua peristiwa yang berulang."
|
||||
"calendar_rec_change": "Memindahkan genap berulang ke kalender lain. Anda hanya dapat menerapkan perubahan ini pada peristiwa ini atau semua peristiwa yang berulang.",
|
||||
"admin_cat_security": "Keamanan",
|
||||
"admin_cat_customize": "Ubah",
|
||||
"admin_colorTitle": "Warna aksen",
|
||||
"admin_logoTitle": "Logo Kustom",
|
||||
"admin_supportAdd": "Tambahkan kontak ke tim bantuan",
|
||||
"admin_logoHint": "SVG, PNG, atau JPG, ukuran maksimum 200 KB",
|
||||
"admin_logoButton": "Unggah baru",
|
||||
"admin_logoRemoveButton": "Pulihkan bawaan",
|
||||
"admin_colorCurrent": "Warna aksen saat ini",
|
||||
"admin_colorHint": "Ubah warna aksen server CryptPad Anda. Pastikan bahwa teks dan tombol dapat dibaca dengan kontras yang cukup dengan tema terang dan gelap.",
|
||||
"admin_colorChange": "Ubah warna",
|
||||
"admin_colorPick": "Pilih warna",
|
||||
"admin_colorPreview": "Tampilkan warna",
|
||||
"admin_supportSetupHint": "Buat atau perbarui kunci bantuan.",
|
||||
"admin_supportSetupTitle": "Mulai bantuan",
|
||||
"admin_supportEnabled": "Sistem bantuan diaktifkan.",
|
||||
"admin_supportConfirm": "Apakah Anda yakin? Ini akan menghapus semua tiket yang sudah ada dan memblokir akses untuk semua moderator.",
|
||||
"admin_supportDisabled": "Sistem bantuan dinonaktifkan.",
|
||||
"support_cat_settings": "Pengaturan",
|
||||
"admin_supportDelete": "Nonaktifkan bantuan",
|
||||
"admin_supportMembers": "Tim dukungan",
|
||||
"support_cat_search": "Cari",
|
||||
"support_cat_closed": "Ditutup",
|
||||
"support_cat_open": "Kotak masuk",
|
||||
"support_cat_legacy": "Lawas",
|
||||
"support_pending": "Tiket terarsip:",
|
||||
"support_privacyHint": "Centang opsi ini untuk membalas sebagai 'Tim Bantuan' daripada nama pengguna Anda",
|
||||
"support_pending_tag": "Terarsip",
|
||||
"support_active_tag": "Kotak masuk",
|
||||
"support_closed_tag": "Ditutup",
|
||||
"support_privacyTitle": "Jawab secara anonim",
|
||||
"support_notificationsTitle": "Nonaktifkan notifikasi",
|
||||
"moderationPage": "Ruang bantuan",
|
||||
"admin_supportInit": "Mulai ruang bantuan di server ini",
|
||||
"admin_supportRotateNotify": "Peringatan: kunci baru telah dibuat tetapi ada kesalahan yang tidak terduga yang mencegah sistem untuk mengirimnya kepada para moderator. Silakan hapus dan tambahkan lagi semua anggota tim bantuan"
|
||||
}
|
||||
|
||||
@ -1,69 +1,70 @@
|
||||
{
|
||||
"main_title": "CryptPad: editor Zero Knowledge collaborativo in tempo reale",
|
||||
"main_title": "CryptPad: editor collaborativo in tempo reale criptato end-to-end",
|
||||
"type": {
|
||||
"pad": "Testo",
|
||||
"code": "Codice",
|
||||
"poll": "Sondaggio",
|
||||
"kanban": "Kanban",
|
||||
"slide": "Presentazioni in Markdown",
|
||||
"slide": "Presentazione in Markdown",
|
||||
"drive": "CryptDrive",
|
||||
"whiteboard": "Lavagna",
|
||||
"file": "File",
|
||||
"media": "Media",
|
||||
"todo": "Promemoria",
|
||||
"contacts": "Contatti",
|
||||
"sheet": "Fogli",
|
||||
"sheet": "Foglio",
|
||||
"teams": "Teams",
|
||||
"presentation": "Presentazione",
|
||||
"doc": "Documento",
|
||||
"form": "Modulo"
|
||||
"form": "Modulo",
|
||||
"diagram": "Diagramma"
|
||||
},
|
||||
"common_connectionLost": "<b>Connessione al server persa</b><br>Rimarrai in modalità solo lettura finché la connessione non sarà ripristinata.",
|
||||
"common_connectionLost": "<b>Connessione al server persa</b><br>Rimarrai in modalità di sola lettura finché la connessione non sarà ripristinata.",
|
||||
"typeError": "Questo documento non è compatibile con l'applicazione selezionata",
|
||||
"onLogout": "Sei uscito, {0}clicca qui{1} per entrare<br>o premi Esc per accedere al tuo documento in modalità di sola lettura.",
|
||||
"onLogout": "Sei disconnesso/a, {0}clicca qui{1} per accedere<br>o premi Esc per visualizzare il documento in modalità di sola lettura.",
|
||||
"padNotPinned": "Questo documento scadrà dopo 3 mesi di inattività, {0}accedi{1} o {2}registrati{3} per conservarlo.",
|
||||
"anonymousStoreDisabled": "L'amministratore di questa istanza di CryptPad ha disabilitato il drive per gli ospiti. Accedi per poter usare il tuo CryptDrive.",
|
||||
"expiredError": "Questo documento ha raggiunto la sua data di scadenza e non è più disponibile.",
|
||||
"deletedError": "Questo documento è stato cancellato dal suo autore e non è più disponibile.",
|
||||
"inactiveError": "Questo documento è stato cancellato per inattività. Premi Esc per creare un nuovo documento.",
|
||||
"chainpadError": "Si è verificato un errore critico nell'aggiornamento del tuo contenuto. Questa pagina è in modalità di sola lettura per assicurarci che non perderai il tuo lavoro.<br>Premi Esc per continuare a visualizzare questo documento, o ricarica la pagina per provare a modificarlo di nuovo.",
|
||||
"invalidHashError": "Il documento richiesto ha un URL non valido.",
|
||||
"errorCopy": " Puoi ancora utilizzare la versione attuale in modalità di sola lettura premendo Esc.",
|
||||
"errorRedirectToHome": "Premi Esc per essere reindirizzato al tuo CryptDrive.",
|
||||
"newVersionError": "Una nuova versione di CryptPad è disponibile. <br><a href='#'>Ricarica</a> per usare la nuova versione, o premi Esc per accedere al tuo contenuto in <b>modalità offline</b>.",
|
||||
"anonymousStoreDisabled": "L'amministratore/trice di questa istanza di CryptPad ha disabilitato l'archiviazione per gli/le utenti non registrati/e. Accedi per poter usare CryptDrive.",
|
||||
"expiredError": "Questo documento ha raggiunto la sua data di distruzione e non è più disponibile.",
|
||||
"deletedError": "Questo documento è stato eliminato e non è più disponibile.",
|
||||
"inactiveError": "Questo documento è stato eliminato per inattività. Premi Esc per creare un nuovo documento.",
|
||||
"chainpadError": "Si è verificato un errore critico durante l'aggiornamento del contenuto. Il documento è attualmente in modalità di sola lettura per evitare il lavoro svolto vada perso.<br>Premi Esc per continuare a visualizzare il documento o ricarica per provare a modificarlo di nuovo.",
|
||||
"invalidHashError": "L'URL del documento richiesto non è valido.",
|
||||
"errorCopy": " Puoi continuare ad usare la versione corrente in modalità di sola lettura premendo Esc.",
|
||||
"errorRedirectToHome": "Premi Esc per tornare al tuo CryptDrive.",
|
||||
"newVersionError": "È disponibile una nuova versione di CryptPad.<br><a href='#'>Ricarica la pagina</a> per usare la nuova versione, o premi Esc per accedere al tuo contenuto in <b>modalità offline</b>.",
|
||||
"loading": "Caricamento in corso...",
|
||||
"error": "Errore",
|
||||
"saved": "Salvato",
|
||||
"deleted": "Eliminato",
|
||||
"deletedFromServer": "Documento distrutto",
|
||||
"mustLogin": "Devi essere connesso per accedere a questa pagina",
|
||||
"disabledApp": "Questa applicazione è stata disattivata. Contatta l'amministratore di questo CryptPad per ulteriori informazioni.",
|
||||
"mustLogin": "Per aprire questa pagina è necessario accedere",
|
||||
"disabledApp": "Questa applicazione è stata disattivata. Contatta l'amministratore/trice di questo CryptPad per ulteriori informazioni.",
|
||||
"realtime_unrecoverableError": "Si è verificato un errore critico. Premi OK per ricaricare.",
|
||||
"disconnected": "Disconnesso",
|
||||
"synchronizing": "Sincronizzazione in corso",
|
||||
"reconnecting": "Riconnessione in corso",
|
||||
"typing": "Modifica",
|
||||
"typing": "Modifica in corso",
|
||||
"initializing": "Inizializzazione in corso...",
|
||||
"forgotten": "Spostato nel cestino",
|
||||
"errorState": "Errore critico: {0}",
|
||||
"readonly": "Sola lettura",
|
||||
"anonymous": "Ospite",
|
||||
"users": "Utenti",
|
||||
"viewer": "visualizzatore",
|
||||
"viewers": "visualizzatori",
|
||||
"editor": "editore",
|
||||
"userlist_offline": "Sei offline, l'elenco degli utenti non è disponibile.",
|
||||
"viewer": "visualizzatore/trice",
|
||||
"viewers": "visualizzatori/trici",
|
||||
"editor": "editore/trice",
|
||||
"userlist_offline": "Sei offline, l'elenco utenti non è disponibile.",
|
||||
"language": "Lingua",
|
||||
"upgrade": "Aumentare il limite",
|
||||
"upgradeAccount": "Upgrade dell'account",
|
||||
"upgradeAccount": "Abbonati",
|
||||
"MB": "MB",
|
||||
"GB": "GB",
|
||||
"KB": "KB",
|
||||
"KB": "kB",
|
||||
"formattedMB": "{0} MB",
|
||||
"formattedGB": "{0} GB",
|
||||
"formattedKB": "{0} KB",
|
||||
"formattedKB": "{0} kB",
|
||||
"pinLimitReached": "Hai raggiunto il limite di spazio",
|
||||
"pinLimitReachedAlert": "Hai raggiunto il limite di spazio. I nuovi documenti non saranno salvati nel tuo CryptDrive.<br>Puoi rimuovere dei documenti dal tuo CryptDrive oppure <a>sottoscrivere un'offerta premium</a> per incrementare il tuo limite.",
|
||||
"pinLimitReachedAlert": "Hai raggiunto il limite di spazio. I nuovi documenti non verranno salvati nel tuo CryptDrive.<br>Puoi eliminare alcuni documenti dal tuo CryptDrive, oppure puoi <a>abbonarti</a> per aumentare lo spazio a disposizione.",
|
||||
"pinLimitReachedAlertNoAccounts": "Hai raggiunto il limite di spazio",
|
||||
"pinLimitNotPinned": "Hai raggiunto il limite di spazio.<br>Questo documento non è salvato nel tuo CryptDrive.",
|
||||
"pinLimitDrive": "Hai raggiunto il limite di spazio.<br>Non puoi creare nuovi documenti.",
|
||||
@ -72,19 +73,19 @@
|
||||
"exportButton": "Esporta",
|
||||
"exportButtonTitle": "Esporta questo documento in un file locale",
|
||||
"exportPrompt": "Che nome vuoi dare al tuo file?",
|
||||
"user_rename": "Cambia il nome mostrato",
|
||||
"user_displayName": "Nome mostrato",
|
||||
"user_accountName": "Nome dell'account",
|
||||
"user_rename": "Cambia il nome visualizzato",
|
||||
"user_displayName": "Nome visualizzato",
|
||||
"user_accountName": "Nome utente",
|
||||
"clickToEdit": "Clicca per modificare",
|
||||
"saveTitle": "Salva il titolo (Invio)",
|
||||
"forgetButton": "Elimina",
|
||||
"forgetPrompt": "Cliccando OK questo documento sarà spostato nel cestino. Sei sicuro?",
|
||||
"movedToTrash": "Questo documento è stato spostato nel cestino. <br><a>Accedi al mio Drive</a>",
|
||||
"forgetPrompt": "Cliccando OK questo documento verrà spostato nel cestino. Sei sicuro/a?",
|
||||
"movedToTrash": "Questo documento è stato spostato nel cestino. <br><a>Apri il mio Drive</a>",
|
||||
"shareButton": "Condividi",
|
||||
"shareSuccess": "Link copiato negli appunti",
|
||||
"userListButton": "Elenco degli utenti",
|
||||
"userListButton": "Elenco utenti",
|
||||
"chatButton": "Chat",
|
||||
"userAccountButton": "Menu dell'utente",
|
||||
"userAccountButton": "Menu utente",
|
||||
"newButton": "Nuovo",
|
||||
"newButtonTitle": "Crea un nuovo documento",
|
||||
"uploadButton": "Carica file",
|
||||
@ -98,49 +99,49 @@
|
||||
"useTemplateCancel": "Documento vuoto (Esc)",
|
||||
"template_import": "Importa un modello",
|
||||
"template_empty": "Nessun modello disponibile",
|
||||
"previewButtonTitle": "Mostra o nascondi l'anteprima Markdown",
|
||||
"presentButtonTitle": "Entra nella modalità presentazione",
|
||||
"previewButtonTitle": "Visualizza o nascondi l'anteprima Markdown",
|
||||
"presentButtonTitle": "Avvia la modalità presentazione",
|
||||
"backgroundButtonTitle": "Cambia il colore di sfondo della presentazione",
|
||||
"colorButtonTitle": "Cambia il colore del testo nella modalità presentazione",
|
||||
"colorButtonTitle": "Cambia il colore del testo in modalità presentazione",
|
||||
"propertiesButton": "Proprietà",
|
||||
"propertiesButtonTitle": "Mostra proprietà del documento",
|
||||
"propertiesButtonTitle": "Visualizza le proprietà di questo documento",
|
||||
"printText": "Stampa",
|
||||
"printButton": "Stampa (Invio)",
|
||||
"printButtonTitle2": "Stampa il tuo documento o esportalo come file PDF",
|
||||
"printButtonTitle2": "Stampa il tuo documento o esportalo in formato PDF",
|
||||
"printOptions": "Opzioni di layout",
|
||||
"printSlideNumber": "Mostra il numero della slide",
|
||||
"printDate": "Mostra la data",
|
||||
"printTitle": "Mostra il titolo del documento",
|
||||
"printCSS": "Personalizza lo stile (CSS):",
|
||||
"printSlideNumber": "Visualizza il numero della diapositiva",
|
||||
"printDate": "Visualizza la data",
|
||||
"printTitle": "Visualizza il titolo del documento",
|
||||
"printCSS": "Personalizzazione dell'aspetto (CSS):",
|
||||
"printTransition": "Attiva le animazioni di transizione",
|
||||
"printBackground": "Usa un'immagine di sfondo",
|
||||
"printBackgroundButton": "Scegli un'immagine",
|
||||
"printBackgroundValue": "<b>Sfondo attuale:</b> <em>{0}</em>",
|
||||
"printBackgroundNoValue": "<em>Nessuna immagine di sfondo mostrata</em>",
|
||||
"printBackgroundNoValue": "<em>Nessuna immagine di sfondo visualizzata</em>",
|
||||
"printBackgroundRemove": "Rimuovi questa immagine di sfondo",
|
||||
"filePickerButton": "Incorpora un file salvato in CryptDrive",
|
||||
"filePicker_close": "Chiudi",
|
||||
"filePicker_description": "Scegli un file dal tuo CryptDrive da incorporare o caricane uno nuovo",
|
||||
"filePicker_description": "Scegli un file da incorporare dal tuo CryptDrive o caricane uno nuovo",
|
||||
"filePicker_filter": "Filtra i file per nome",
|
||||
"tags_title": "Tag (mostrati solo a te)",
|
||||
"tags_add": "Aggiorna i tag per i documenti selezionati",
|
||||
"tags_notShared": "I tuoi tag non sono condivisi con altri utenti",
|
||||
"tags_duplicate": "Duplica tag: {0}",
|
||||
"tags_add": "Modifica i tag per i documenti selezionati",
|
||||
"tags_notShared": "I tuoi tag non sono condivisi con altri/e utenti",
|
||||
"tags_duplicate": "Tag già presente: {0}",
|
||||
"tags_noentry": "Non puoi taggare un documento eliminato",
|
||||
"slideOptionsText": "Opzioni",
|
||||
"slideOptionsTitle": "Personalizza la presentazione",
|
||||
"slide_invalidLess": "Stile personalizzato non valido",
|
||||
"slide_invalidLess": "Personalizzazione dell'aspetto non valida",
|
||||
"languageButton": "Lingua",
|
||||
"languageButtonTitle": "Seleziona la lingua da utilizzare per l'evidenziazione della sintassi",
|
||||
"languageButtonTitle": "Seleziona la lingua che vuoi utilizzare per evidenziare la sintassi",
|
||||
"themeButton": "Tema",
|
||||
"themeButtonTitle": "Seleziona il colore del tema da usare per l'editor del codice e delle presentazioni",
|
||||
"themeButtonTitle": "Seleziona il colore del tema da usare per gli editor di codice e presentazioni",
|
||||
"editShare": "Link per la modifica",
|
||||
"viewShare": "Link per sola lettura",
|
||||
"viewEmbedTag": "Per incorporare questo documento, includi questo iframe nella tua pagina dovunque tu voglia. Puoi modificarne lo stile con gli attributi HTML o CSS.",
|
||||
"viewShare": "Link di sola lettura",
|
||||
"viewEmbedTag": "Per incorporare questo documento, includi il seguente iframe nella pagina in cui desideri venga visualizzato. Puoi modificarne l'aspetto utilizzando il codice CSS o gli attributi HTML.",
|
||||
"fileEmbedScript": "Per incorporare questo file, includi questo script una volta nella tua pagina per caricare il Media Tag:",
|
||||
"fileEmbedTag": "Quindi posiziona il Media Tag dovunque tu voglia nella tua pagina per incorporarlo:",
|
||||
"notifyJoined": "{0} si è unito alla sessione collaborativa",
|
||||
"notifyRenamed": "{0} ha cambiato il suo nome in {1}",
|
||||
"notifyJoined": "{0} si è unito/a alla sessione collaborativa",
|
||||
"notifyRenamed": "{0} è ora conosciuto/a come {1}",
|
||||
"notifyLeft": "{0} ha abbandonato la sessione collaborativa",
|
||||
"ok": "OK",
|
||||
"okButton": "OK (Invio)",
|
||||
@ -149,44 +150,44 @@
|
||||
"show_help_button": "Mostra la guida",
|
||||
"help_button": "Guida",
|
||||
"historyText": "Cronologia",
|
||||
"historyButton": "Mostra la cronologia del documento",
|
||||
"history_next": "Prossima versione",
|
||||
"historyButton": "Visualizza la cronologia del documento",
|
||||
"history_next": "Versione successiva",
|
||||
"history_prev": "Versione precedente",
|
||||
"history_loadMore": "Carica più cronologia",
|
||||
"history_closeTitle": "Chiudi la cronologia",
|
||||
"history_restoreTitle": "Ripristina la versione selezionata del documento",
|
||||
"history_restorePrompt": "Sei sicuro di voler sostituire la versione corrente del documento con quella visualizzata?",
|
||||
"history_restoreTitle": "Ripristina la versione del documento selezionata",
|
||||
"history_restorePrompt": "Sei sicuro/a di voler sostituire la versione corrente del documento con quella visualizzata?",
|
||||
"history_restoreDone": "Documento ripristinato",
|
||||
"openLinkInNewTab": "Apri link in una nuova scheda",
|
||||
"pad_mediatagTitle": "Impostazioni del Media-Tag",
|
||||
"pad_mediatagWidth": "Larghezza (px)",
|
||||
"pad_mediatagHeight": "Altezza (px)",
|
||||
"pad_mediatagRatio": "Rispetta le proporzioni",
|
||||
"pad_mediatagRatio": "Mantieni le proporzioni",
|
||||
"pad_mediatagBorder": "Spessore del bordo (px)",
|
||||
"pad_mediatagPreview": "Anteprima",
|
||||
"pad_mediatagImport": "Salva nel tuo CryptDrive",
|
||||
"pad_mediatagOptions": "Proprietà dell'immagine",
|
||||
"kanban_newBoard": "Nuova lavagna",
|
||||
"kanban_newBoard": "Nuova scheda",
|
||||
"kanban_item": "Elemento {0}",
|
||||
"kanban_todo": "Da fare",
|
||||
"kanban_done": "Fatto",
|
||||
"kanban_working": "In corso",
|
||||
"kanban_addBoard": "Aggiungi una lavagna",
|
||||
"kanban_addBoard": "Aggiungi una scheda",
|
||||
"poll_publish_button": "Pubblica",
|
||||
"poll_create_user": "Aggiungi un nuovo utente",
|
||||
"poll_create_option": "Aggiungi una nuova opzione",
|
||||
"poll_create_user": "Aggiungi un/a utente",
|
||||
"poll_create_option": "Aggiungi un'opzione",
|
||||
"poll_commit": "Invia",
|
||||
"poll_optionPlaceholder": "Opzione",
|
||||
"poll_userPlaceholder": "Il tuo nome",
|
||||
"poll_removeOption": "Sei sicuro di voler eliminare questa opzione?",
|
||||
"poll_removeUser": "Sei sicuro di voler rimuovere questo utente?",
|
||||
"poll_removeOption": "Sei sicuro/a di voler rimuovere questa opzione?",
|
||||
"poll_removeUser": "Sei sicuro/a di voler rimuovere questo/a utente?",
|
||||
"poll_descriptionHint": "Descrivi il tuo sondaggio e usa il pulsante ✓ (Pubblica) quando hai finito.\nLa descrizione può essere scritta usando la sintassi Markdown e può contenere elementi media dal tuo CryptDrive.\nChiunque sia in possesso del link può modificarne la descrizione, anche se ciò è sconsigliato.",
|
||||
"poll_remove": "Rimuovi",
|
||||
"poll_edit": "Modifica",
|
||||
"poll_locked": "Bloccato",
|
||||
"poll_unlocked": "Sbloccato",
|
||||
"poll_bookmark_col": "Marca questa colonna come preferita, così sarà sempre sbloccata e ti sarà mostrata per prima",
|
||||
"poll_bookmarked_col": "Questa è la tua colonna preferita. Sarà sempre sbloccata e ti verrà mostrata per prima.",
|
||||
"poll_bookmark_col": "Contrassegna questa colonna come preferita, in modo che sia sempre sbloccata e visualizzata per prima",
|
||||
"poll_bookmarked_col": "Questa è la tua colonna preferita. Sarà sempre sbloccata e visualizzata per prima.",
|
||||
"poll_total": "TOTALE",
|
||||
"poll_comment_list": "Commenti",
|
||||
"poll_comment_add": "Aggiungi un commento",
|
||||
@ -195,8 +196,8 @@
|
||||
"poll_comment_placeholder": "Il tuo commento",
|
||||
"poll_comment_disabled": "Pubblica questo sondaggio usando il pulsante ✓ per attivare i commenti.",
|
||||
"oo_reconnect": "La connessione al server è tornata. Clicca OK per ricaricare e continuare la modifica.",
|
||||
"oo_cantUpload": "Impossibile importare un documento se altri utenti sono presenti.",
|
||||
"oo_uploaded": "Il tuo caricamento è stato completato. Clicca OK per ricaricare la pagina o annulla per continuare in modalità solo lettura.",
|
||||
"oo_cantUpload": "Il caricamento non è consentito in presenza di altri/e utenti.",
|
||||
"oo_uploaded": "Il tuo caricamento è stato completato. Clicca OK per ricaricare la pagina o annulla per continuare in modalità di sola lettura.",
|
||||
"canvas_clear": "Pulisci",
|
||||
"canvas_delete": "Elimina la selezione",
|
||||
"canvas_width": "Larghezza",
|
||||
@ -215,22 +216,22 @@
|
||||
"profile_viewMyProfile": "Vedi il mio profilo",
|
||||
"userlist_addAsFriendTitle": "Invia a \"{0}\" una richiesta di contatto",
|
||||
"contacts_title": "Contatti",
|
||||
"contacts_added": "Invito ai contatti accettato.",
|
||||
"contacts_rejected": "Invito ai contatti rifiutato",
|
||||
"contacts_request": "<em>{0}</em> vorrebbe aggiungerti ai contatti. <b>Accettare</b>?",
|
||||
"contacts_added": "Richiesta di contatto accettata.",
|
||||
"contacts_rejected": "Richiesta di contatto rifiutata",
|
||||
"contacts_request": "<em>{0}</em> vorrebbe aggiungerti ai contatti. <b>Accetti</b>?",
|
||||
"contacts_send": "Invia",
|
||||
"contacts_remove": "Rimuovi questo contatto",
|
||||
"contacts_confirmRemove": "Sei sicuro di voler rimuovere <em>{0}</em> dai tuoi contatti?",
|
||||
"contacts_typeHere": "Scrivi un messaggio qui...",
|
||||
"contacts_warning": "Tutto ciò che scrivi qui è permanente e disponibile a tutti gli utenti esistenti e futuri di questo documento. Sii prudente con le tue informazioni personali!",
|
||||
"contacts_confirmRemove": "Sei sicuro/a di voler rimuovere <em>{0}</em> dai tuoi contatti?",
|
||||
"contacts_typeHere": "Digita un messaggio qui...",
|
||||
"contacts_warning": "Tutto ciò che viene digitato qui è permanente e disponibile a tutti/e gli/le utenti attuali e futuri/e di questo documento. Sii prudente nel condividere informazioni personali!",
|
||||
"contacts_padTitle": "Chat",
|
||||
"contacts_info1": "Questi sono i tuoi contatti. Da qui, puoi:",
|
||||
"contacts_info2": "Clicca sull'icona di un contatto per chattare con lui",
|
||||
"contacts_info3": "Doppio-clic sulla sua icona per vederne il profilo",
|
||||
"contacts_info4": "Qualsiasi partecipante può cancellare definitivamente la cronologia di una chat",
|
||||
"contacts_info2": "Cliccare sull'icona di un contatto per chattare",
|
||||
"contacts_info3": "Fare doppio-clic sulla sua icona per vedere il profilo",
|
||||
"contacts_info4": "Entrambi/e i/le partecipanti possono cancellare in modo permanente la cronologia della chat",
|
||||
"contacts_removeHistoryTitle": "Cancella la cronologia della chat",
|
||||
"contacts_confirmRemoveHistory": "Sei sicuro di voler rimuovere permanentemente la cronologia della chat? I dati non possono essere recuperati",
|
||||
"contacts_removeHistoryServerError": "C'è stato un errore nella cancellazione della cronologia della chat. Prova di nuovo più tardi",
|
||||
"contacts_confirmRemoveHistory": "Sei sicuro/a di voler cancellare in modo permanente la cronologia della chat? I dati non possono essere recuperati",
|
||||
"contacts_removeHistoryServerError": "C'è stato un errore nella cancellazione della cronologia della chat. Riprova più tardi",
|
||||
"contacts_fetchHistory": "Recupera messaggi precedenti",
|
||||
"contacts_rooms": "Stanze",
|
||||
"contacts_leaveRoom": "Esci da questa stanza",
|
||||
@ -246,7 +247,7 @@
|
||||
"fm_sharedFolderName": "Cartella condivisa",
|
||||
"fm_searchPlaceholder": "Cerca...",
|
||||
"fm_newButton": "Nuovo",
|
||||
"fm_newButtonTitle": "Crea un nuovo documento o cartella, importa un file nella cartella corrente.",
|
||||
"fm_newButtonTitle": "Crea un nuovo documento, una nuova cartella o importa un file nella cartella corrente.",
|
||||
"fm_newFolder": "Nuova cartella",
|
||||
"fm_newFile": "Nuovo documento",
|
||||
"fm_folder": "Cartella",
|
||||
@ -274,14 +275,14 @@
|
||||
"fm_categoryError": "Impossibile aprire la categoria selezionata, mostro Documenti.",
|
||||
"fm_info_root": "Crea tutte le sottocartelle che desideri per organizzare i tuoi file.",
|
||||
"fm_info_template": "Questi documenti sono salvati come modelli. Puoi riutilizzarli per creare nuovi documenti.",
|
||||
"fm_info_recent": "Questi documenti sono stati recentemente aperti o modificati da te o da persone con le quali tu collabori.",
|
||||
"fm_info_recent": "Questi documenti sono stati aperti o modificati di recente da te o da persone con le quali collabori.",
|
||||
"fm_info_trash": "Svuota il tuo cestino per liberare spazio nel tuo CryptDrive.",
|
||||
"fm_info_anonymous": "Non hai effettuato l'accesso, quindi i tuoi documenti scadranno tra {0} giorni. Cancellando la cronologia potresti farli scomparire.<br><a href=\"/register/\">Registrati</a> (non sono richieste informazioni personali) oppure <a href=\"/login/\">Accedi</a> per conservarli permanentemente nel tuo drive. <a href=\"#docs\">Leggi di più sugli account registrati</a>.",
|
||||
"fm_info_sharedFolder": "Questa è una cartella condivisa. Non hai effettuato l'accesso, quindi puoi visualizzarla solo in modalità di sola lettura.<br><a href=\"/register/\">Registrati</a> o <a href=\"/login/\">Accedi</a> per poterla importare nel tuo CryptDrive e per modificarla.",
|
||||
"fm_info_owned": "Sei il proprietario dei documenti mostrati qui. Questo significa che puoi rimuoverli permanentemente dal server quando lo desideri. Se lo fai, gli altri utenti non potranno più accedervi.",
|
||||
"fm_info_owned": "Sei il/la proprietario/a dei documenti qui visualizzati. Questo significa che puoi rimuoverli permanentemente dal server quando lo desideri. Se decidi di farlo, gli altri utenti e le altre utenti non vi avranno più accesso.",
|
||||
"fm_error_cantPin": "Errore interno del server. Ricarica la pagina e prova di nuovo.",
|
||||
"fm_viewListButton": "Visualizzazione elenco",
|
||||
"fm_viewGridButton": "Visualizzazione griglia",
|
||||
"fm_viewListButton": "Visualizzazione ad elenco",
|
||||
"fm_viewGridButton": "Visualizzazione a griglia",
|
||||
"fm_renamedPad": "Hai impostato un nome personalizzato per questo documento. Il suo titolo condiviso è: <br><b>{0}</b>",
|
||||
"fm_canBeShared": "Questa cartella può essere condivisa",
|
||||
"fm_prop_tagsList": "Tag",
|
||||
@ -320,7 +321,7 @@
|
||||
"login_password": "Password",
|
||||
"login_confirm": "Conferma la tua password",
|
||||
"login_hashing": "Effettuo l'hash della tua password, questo può richiedere del tempo.",
|
||||
"login_noSuchUser": "Nome utente o password non validi. Prova di nuovo, oppure registrati",
|
||||
"login_noSuchUser": "Nome utente o password non validi",
|
||||
"login_invalUser": "Nome utente richiesto",
|
||||
"login_invalPass": "Password richiesta",
|
||||
"login_unhandledError": "Si è verificato un errore inaspettato :(",
|
||||
@ -352,7 +353,7 @@
|
||||
"settings_backup2Confirm": "Questo scaricherà tutti i tuoi documenti e file dal tuo CryptDrive. Se vuoi continuare, scegli un nome e premi OK",
|
||||
"settings_exportTitle": "Esporta il tuo CryptDrive",
|
||||
"settings_exportDescription": "Per favore attendi mentre scarichiamo e decriptiamo i tuoi documenti. Potrebbe richiedere qualche minuto. Chiudere la scheda interromperà il processo.",
|
||||
"settings_exportFailed": "Se un documento richiede più di un minuto per essere scaricato, non sarà incluso nell'esportazione. Un link a qualsiasi documento non esportato sarà mostrato.",
|
||||
"settings_exportFailed": "Se un documento richiede più di 1 minuto per essere scaricato, non sarà incluso nell'esportazione. Al termine della procedura sarà visualizzato un elenco dei documenti che non sono stati esportati.",
|
||||
"settings_exportWarning": "Nota bene: questo strumento è ancora in versione beta e può presentare problemi di scalabilità. Per migliorare le prestazioni, è consigliabile lasciare attiva questa scheda.",
|
||||
"settings_exportCancel": "Sei sicuro di voler annullare l'esportazione? Dovrai iniziare da capo la prossima volta.",
|
||||
"settings_export_reading": "Lettura del tuo CryptDrive in corso...",
|
||||
@ -398,7 +399,7 @@
|
||||
"fc_expandAll": "Espandi tutto",
|
||||
"fc_collapseAll": "Comprimi tutto",
|
||||
"register_emailWarning0": "Sembra che tu abbia inserito la tua email come nome utente.",
|
||||
"settings_driveDuplicateHint": "Quando sposti i tuoi documenti in una cartella condivisa, una copia è conservata nel tuo CryptDrive per assicurartene il controllo. Puoi nascondere i file duplicati. Soltanto la versione condivisa verrà mostrata, a meno che non venga eliminata, in tal caso il file originale verrà mostrato nella sua posizione precedente.",
|
||||
"settings_driveDuplicateHint": "Quando sposti documenti in una cartella condivisa una copia è conservata nel tuo CryptDrive per assicurartene il controllo. Se scegli di nascondere i file duplicati saranno visualizzate solo le versioni condivise. Se queste verranno eliminate torneranno visibili le versioni nel tuo CryptDrive.",
|
||||
"settings_codeIndentation": "Indentazione dell'editor di codice (spazi)",
|
||||
"settings_codeFontSize": "Dimensione del carattere nell'editor di codice",
|
||||
"uploadFolder_modal_filesPassword": "Password dei file",
|
||||
@ -425,9 +426,9 @@
|
||||
"features_registered": "Registrato",
|
||||
"features_anon": "Ospite",
|
||||
"contact": "Contatti",
|
||||
"privacy": "Privacy Policy",
|
||||
"privacy": "Informativa sulla privacy",
|
||||
"about": "Info",
|
||||
"mdToolbar_toc": "Indice",
|
||||
"mdToolbar_toc": "Indice dei contenuti",
|
||||
"mdToolbar_list": "Elenco puntato",
|
||||
"mdToolbar_nlist": "Elenco ordinato",
|
||||
"mdToolbar_quote": "Citazione",
|
||||
@ -448,7 +449,7 @@
|
||||
"upload_modal_title": "Opzioni di caricamento file",
|
||||
"upload_title": "Caricamento file",
|
||||
"settings_cursorShowLabel": "Mostra i cursori",
|
||||
"settings_cursorShowTitle": "Mostra la posizione del cursore degli altri utenti",
|
||||
"settings_cursorShowTitle": "Visualizza la posizione del cursore degli/delle altri/e utenti",
|
||||
"settings_cursorShareLabel": "Condividi la posizione",
|
||||
"settings_cursorShareTitle": "Condividi la posizione del mio cursore",
|
||||
"settings_cursorColorTitle": "Colore del cursore",
|
||||
@ -527,7 +528,7 @@
|
||||
"settings_padSpellcheckHint": "Questa opzione permette di attivare il controllo ortografico nell'editor di testo. Gli errori saranno sottolineati in rosso e le correzioni saranno disponibili cliccando con il tasto destro del mouse e premendo il tasto Ctrl o Meta.",
|
||||
"settings_padSpellcheckTitle": "Controllo ortografico",
|
||||
"settings_padWidthLabel": "Ridurre la larghezza dell'editor",
|
||||
"settings_padWidthHint": "Passa dalla modalità a foglio (predefinita) che limita la larghezza dell'editor di testo, a quella che ti permette di usare tutta la larghezza dello schermo.",
|
||||
"settings_padWidthHint": "Scegli tra la modalità pagina (che limita la larghezza dell'editor di testo) e la larghezza massima (che sfrutta tutta la larghezza del tuo schermo).",
|
||||
"settings_padWidth": "Massima larghezza dell'editor",
|
||||
"settings_codeUseTabs": "Indentare usando le tabulazioni (al posto degli spazi)",
|
||||
"settings_driveDuplicateTitle": "Duplicati dei documenti posseduti",
|
||||
@ -540,7 +541,7 @@
|
||||
"settings_autostoreHint": "<b>Automatico</b> Tutti i documenti che visiti sono conservati nel tuo CryptDrive.<br><b>Manuale (chiedi sempre)</b> Se non hai ancora conservato alcun documento ti verrà chiesto se vuoi conservarli nel tuo CryptDrive.<br><b>Manuale (non chiedere mai)</b> I documenti non sono conservati automaticamente nel tuo CryptDrive. L'opzione di conservarli sarà nascosta.",
|
||||
"settings_autostoreNo": "Manuale (non chiedere mai)",
|
||||
"settings_autostoreYes": "Automatico",
|
||||
"settings_autostoreTitle": "Conservazione pad nel CryptDrive",
|
||||
"settings_autostoreTitle": "Archiviazione dei documenti su CryptDrive",
|
||||
"settings_importTitle": "Importa i documenti recenti di questo browser nel tuo CryptDrive",
|
||||
"kanban_noTags": "Nessun tag",
|
||||
"kanban_tags": "Filtra per tag",
|
||||
@ -585,7 +586,7 @@
|
||||
"team_pending": "Invitato",
|
||||
"sent": "Messaggio inviato",
|
||||
"team_listTitle": "I tuoi team",
|
||||
"team_avatarHint": "Dimensione massima 500KB (png, jpg, jpeg, gif)",
|
||||
"team_avatarHint": "Dimensione massima 500 kB (png, jpg, jpeg, gif)",
|
||||
"team_avatarTitle": "Avatar del team",
|
||||
"team_nameHint": "Imposta il nome del team",
|
||||
"team_nameTitle": "Nome del team",
|
||||
@ -746,7 +747,7 @@
|
||||
"password_info": "Il documento che stai cercando di aprire non esiste più oppure è protetto con una password nuova. Inserisci la password corretta per accedere al contenuto.",
|
||||
"access_main": "Accesso",
|
||||
"creation_expireFalse": "Illimitato",
|
||||
"creation_expiration": "Data di scadenza",
|
||||
"creation_expiration": "Data di distruzione",
|
||||
"password_error": "Documento non trovato<br>Questo errore può essere causato da due fattori: la password è sbagliata oppure il documento è stato distrutto.",
|
||||
"feedback_privacy": "Ci teniamo alla tua privacy e contemporaneamente vogliamo che CryptPad sia molto facile da usare. Usiamo questo file per capire quali caratteristiche dell'interfaccia utente contano per i nostri utenti, richiedendolo insieme a un parametro che specifica quale azione sia stata intrapresa.",
|
||||
"creation_owned": "Documento di proprietà",
|
||||
@ -769,7 +770,7 @@
|
||||
"autostore_forceSave": "Archivia il file nel tuo CryptDrive",
|
||||
"admin_openFilesHint": "Numero di descrittori di file attualmente aperti sul server.",
|
||||
"canvas_brush": "Pennello",
|
||||
"kanban_editBoard": "Modifica questa lavagna",
|
||||
"kanban_editBoard": "Modifica questa scheda",
|
||||
"access_noContact": "Nessun altro contatto da aggiungere",
|
||||
"settings_trimHistoryHint": "Risparmia spazio eliminando la cronologia del tuo drive e le notifiche. Questo non avrà effetti sulla cronologia dei tuoi documenti. Puoi cancellare la cronologia dei documenti nella loro finestra di dialogo Proprietà.",
|
||||
"historyTrim_contentsSize": "Contenuti: {0}",
|
||||
@ -791,7 +792,7 @@
|
||||
"settings_safeLinksTitle": "Link sicuri",
|
||||
"settings_safeLinksCheckbox": "Attiva link sicuri",
|
||||
"safeLinks_error": "Questo link è stato copiato dalla barra degli indirizzi del browser e non ti permette di accedere al documento. Utilizza il menu <i></i> <b>Condividi</b> per condividere direttamente con i contatti o per copiare il link. <a> Ulteriori informazioni sulla funzione Link Sicuri</a>.",
|
||||
"settings_safeLinksHint": "CryptPad include le chiavi per decriptare i tuoi documenti nei loro link. Chiunque abbia accesso alla tua cronologia browser può potenzialmente leggere i tuoi dati. Questo include estensioni di browser intrusivi e i navigatori che sincronizzano la tua cronologia nei dispositivi. L'attivazione di \"link sicuri\" impedisce alle chiavi di entrare nella tua cronologia browser oppure evita che vengano mostrate nella tua barra degli indirizzi quando possibile. Ti raccomandiamo vivamente di attivare questa funzione e usare il {0} menu Condividi per generare link condivisibili.",
|
||||
"settings_safeLinksHint": "CryptPad include nei link ai documenti le chiavi per decriptare i documenti stessi. Questo potrebbe permettere a chiunque abbia accesso alla tua cronologia di navigazione di accedere ai tuoi documenti. Ricorda che questo potrebbe essere sfruttato anche da estensioni del browser invadenti o browser che sincronizzano la cronologia tra vari dispositivi. Abilitando la funzione \"Link sicuri\" impedisci (quando possibile) che le chiavi vengano incluse nella cronologia di navigazione o visualizzate nella barra degli indirizzi. Ti consigliamo vivamente di attivare questa funzione e di utilizzare il menu {0} Condividi per ottenere i link da condividere.",
|
||||
"burnAfterReading_warningDeleted": "Questo documento è stato definitivamente eliminato, una volta chiusa questa finestra non sarà possibile accedervi di nuovo.",
|
||||
"burnAfterReading_warningAccess": "Questo documento si autodistruggerà. Quando cliccherai sul pulsante sottostante vedrai il contenuto una sola volta prima che venga definitivamente eliminato. Quando chiuderai questa finestra non potrai più accedervi. Se non sei sicuro di continuare puoi chiudere questa finestra e ritornare più tardi.",
|
||||
"burnAfterReading_warningLink": "Hai scelto di autodistruggere questo documento. Quando il tuo destinatario visiterà questo link potrà vedere il documento una sola volta prima che questo sia definitivamente eliminato.",
|
||||
@ -831,13 +832,13 @@
|
||||
"team_inviteLinkTitle": "Crea un invito personalizzato a questo team",
|
||||
"team_inviteLinkSetPassword": "Proteggi il link con una password (raccomandato)",
|
||||
"team_inviteLinkTempName": "Nome temporaneo (visibile nella lista degli inviti in sospeso)",
|
||||
"team_inviteLinkWarning": "La prima persona che accede a questo link potrà raggiungere il team e vedere i suoi contenuti. Condividi con prudenza.",
|
||||
"team_inviteLinkWarning": "Le persone che accedono a questo link potranno unirsi al team e vedere i suoi contenuti. Condividi con prudenza.",
|
||||
"team_invitePasswordLoading": "Invito alla decriptazione",
|
||||
"team_inviteGetData": "Ricezione di dati del team",
|
||||
"team_inviteTitle": "Invito al team",
|
||||
"burnAfterReading_linkBurnAfterReading": "Vedere una sola volta e autodistruggere",
|
||||
"oo_sheetMigration_loading": "Aggiornamento del tuo documento all'ultima versione. Per favore, aspetta un minuto.",
|
||||
"settings_cat_security": "Riservatezza",
|
||||
"settings_cat_security": "Sicurezza e privacy",
|
||||
"imprint": "Nota legale",
|
||||
"support_disabledHint": "Questa istanza di CryptPad non è ancora configurata per utilizzare un modulo di supporto.",
|
||||
"sharedFolders_share": "Condividi questo link con altri utenti registrati per dare loro accesso alla cartella condivisa. Una volta che aprono questo link, la cartella condivisa sarà aggiunta al loro CryptDrive.",
|
||||
@ -896,7 +897,7 @@
|
||||
"owner_removeConfirm": "Sei sicuro di voler rimuovere la proprietà agli utenti selezionati? A loro sarà notificata questa azione.",
|
||||
"owner_removeMeConfirm": "Stai per abbandonare i tuoi diritti di proprietà. Non sarai in grado di annullare questa azione. Sei sicuro?",
|
||||
"owner_addConfirm": "I comproprietari saranno in grado di cambiare il contenuto e rimuoverti come proprietario. Sei sicuro?",
|
||||
"admin_flushCacheHint": "Forza gli utenti a scaricare le ultime impostazioni client (solo se il tuo server è in fresh mode)",
|
||||
"admin_flushCacheHint": "Imponi a tutti/e gli/le utenti di scaricare le modifiche all'aspetto o alla configurazione più recenti. Permette di evitare il riavvio del server, ma ripristina la connessione di tutti/e gli/le utenti attivi/e. Da usare con parsimonia.",
|
||||
"team_rosterDemote": "Riduci a lettore",
|
||||
"share_linkEmbed": "Modalità d'incorporamento (nasconde la barra degli strumenti e la lista utenti)",
|
||||
"share_linkPresent": "Presentare",
|
||||
@ -912,7 +913,7 @@
|
||||
"admin_supportListTitle": "Mailbox di supporto",
|
||||
"properties_unknownUser": "{0} utente/i sconosciuto/i",
|
||||
"cba_title": "Colori degli autori",
|
||||
"oo_login": "Per favore accedi o registrati per migliorare le prestazioni dei fogli di calcolo.",
|
||||
"oo_login": "Per favore accedi o registrati per migliorare le prestazioni dei fogli.",
|
||||
"cba_hide": "Nascondi i colori degli autori",
|
||||
"cba_show": "Mostra i colori degli autori",
|
||||
"cba_disable": "Pulisci e disabilita",
|
||||
@ -989,11 +990,11 @@
|
||||
"settings_cacheTitle": "Cache",
|
||||
"docs_link": "Documentazione",
|
||||
"creation_helperText": "Apri nella documentazione",
|
||||
"creation_expiresIn": "Scade tra",
|
||||
"creation_expiresIn": "Sarà distrutto tra",
|
||||
"register_warning_note": "A causa della natura crittografata di CryptPad, gli amministratori del servizio non saranno in grado di recuperare i dati nel caso in cui dimentichi il tuo nome utente e/o password. Si prega di salvarli in un luogo sicuro.",
|
||||
"register_notes": "<ul class=\"cp-notes-list\"><li>La tua password è la chiave segreta che crittografa tutti i tuoi documenti. <span class=\"red\">Se la perdi, non potremo recuperare i tuoi dati.</span></li><li>Se stai utilizzando un computer condiviso, <span class=\"red\">ricorda di disconnetterti</span> quando hai finito. Se chiudi solo la finestra del browser lascerai il tuo account esposto. </li><li>Per conservare i documenti che hai creato e/o archiviato senza account, seleziona \"Importa documenti dalla tua sessione ospite\". </li></ul>",
|
||||
"register_notes_title": "Note importanti",
|
||||
"offlineError": "Impossibile sincronizzare i dati più recenti, questa pagina non può essere visualizzata in questo momento. Il caricamento continuerà quando verrà ripristinata la connessione al servizio.",
|
||||
"offlineError": "Impossibile sincronizzare i dati più recenti, questa pagina al momento non può essere visualizzata. Il caricamento proseguirà una volta che sarà ripristinata la connessione al servizio.",
|
||||
"share_noContactsOffline": "Attualmente sei offline. I contatti non sono disponibili.",
|
||||
"access_offline": "Attualmente sei offline. La gestione degli accessi non è disponibile.",
|
||||
"admin_support_last": "Aggiornato il: ",
|
||||
@ -1064,7 +1065,7 @@
|
||||
"snaphot_title": "Istantanea",
|
||||
"infobar_versionHash": "Stai visualizzando una versione precedente di questo documento ({0}).",
|
||||
"history_restoreDriveDone": "CryptDrive ripristinato",
|
||||
"history_restoreDrivePrompt": "Sei sicuro di voler sostituire la versione corrente di CryptDrive con la versione visualizzata?",
|
||||
"history_restoreDrivePrompt": "Sei sicuro/a di voler sostituire la versione corrente di CryptDrive con quella visualizzata?",
|
||||
"history_restoreDriveTitle": "Ripristina la versione selezionata di CryptDrive",
|
||||
"history_userNext": "Prossimo autore",
|
||||
"history_fastNext": "Prossima sessione di modifica",
|
||||
@ -1106,7 +1107,7 @@
|
||||
"calendar_days": "Giorni",
|
||||
"reminder_now": "<b>{0}</b> è iniziato",
|
||||
"reminder_inProgressAllDay": "Oggi: <b>{0}</b>",
|
||||
"pad_settings_comments": "Scegli se i Commenti debbano essere visibile o nascosti di default.",
|
||||
"pad_settings_comments": "Scegli se mostrare o nascondere i commenti in modo predefinito.",
|
||||
"admin_surveyCancel": "Rimuovi",
|
||||
"broadcast_surveyURL": "Link al sondaggio",
|
||||
"admin_broadcastTitle": "Notifica un messaggio",
|
||||
@ -1127,8 +1128,8 @@
|
||||
"settings_colortheme_light": "Chiaro",
|
||||
"settings_colortheme_default": "Predefinito del sistema ({0})",
|
||||
"settings_colorthemeHint": "Scegli i colori generali di CryptPad su questo dispositivo.",
|
||||
"pad_settings_title": "Impostazioni del Documento",
|
||||
"pad_settings_width_small": "Modalità Pagina",
|
||||
"pad_settings_title": "Impostazioni del documento",
|
||||
"pad_settings_width_small": "Modalità pagina",
|
||||
"settings_colortheme_custom": "Personalizzato",
|
||||
"admin_performanceKeyHeading": "Comandi",
|
||||
"pad_settings_width_large": "Larghezza massima",
|
||||
@ -1166,8 +1167,395 @@
|
||||
"reminder_minutes": "<b>{0}</b> inizierà fra {1} minuti",
|
||||
"reminder_date": "<b>{0}</b> alle {1}",
|
||||
"settings_notifCalendarTitle": "Notifiche del calendario",
|
||||
"pad_settings_info": "Impostazioni predefinite per questo documento. Verranno applicate quando un nuovo utente lo visita.",
|
||||
"pad_settings_outline": "Scegli se l'indice debba essere visibile o nascosto di default.",
|
||||
"pad_settings_info": "Impostazioni predefinite per questo documento. Saranno applicate quando nuovi/e utenti lo visiteranno.",
|
||||
"pad_settings_outline": "Scegli se mostrare o nascondere l'indice dei contenuti in modo predefinito.",
|
||||
"admin_broadcastHint": "Invia un messaggio a tutti gli utenti dell'istanza. Tutti gli utenti esistenti e quelli nuovi lo riceveranno come notifica. Controlla l'anteprima prima di inviarlo premendo il tasto \"Anteprima Notifica\". Le anteprime delle notifiche hanno un'icona rossa e sono visibili solo a te.",
|
||||
"settings_deleteWarning": "Attenzione: hai un piano premium (comprato o donato da un altro utente). Per favore, cancella il tuo piano prima di cancellare il tuo account perché non sarà possibile senza contattare il supporto una volta che il tuo account è stato cancellato."
|
||||
"settings_deleteWarning": "Attenzione: hai un piano premium (comprato o donato da un altro utente). Per favore, cancella il tuo piano prima di cancellare il tuo account perché non sarà possibile senza contattare il supporto una volta che il tuo account è stato cancellato.",
|
||||
"settings_removeOwnedButton": "Distruggi i documenti",
|
||||
"admin_totpRecoveryTitle": "Ripristino dell'autenticazione a due fattori",
|
||||
"recovery_forgot": "Codice di recupero dimenticato",
|
||||
"recovery_forgot_text": "Copia le informazioni riportate di seguito e <a href=\"mailto:{0}\">inoltrale via email</a> a chi amministra la tua istanza",
|
||||
"recovery_mfa_disabled": "L'autenticazione a più fattori è già disattivata per questo account.",
|
||||
"admin_totpEnabled": "L'autenticazione a due fattori è attiva",
|
||||
"register_invalidToken": "Il link di invito non è valido",
|
||||
"toolbar_collapse": "Riduci barra degli strumenti",
|
||||
"toolbar_expand": "Espandi barra degli strumenti",
|
||||
"profile_defaultAlt": "Immagine di profilo predefinita",
|
||||
"upload_modal_alt": "Testo alternativo",
|
||||
"form_template_poll": "Sondaggio sulla disponibilità",
|
||||
"form_preview_button": "Anteprima",
|
||||
"form_alreadyAnswered": "Hai risposto a questo modulo il {0}",
|
||||
"form_editAnswer": "Modifica le mie risposte",
|
||||
"form_viewAnswer": "Visualizza le mie risposte",
|
||||
"calendar_before": "prima",
|
||||
"calendar_update": "Aggiorna",
|
||||
"form_anonAnswer": "Le risposte a questo modulo sono anonime",
|
||||
"form_authAnswer": "Le risposte a questo modulo non possono essere inviate in forma anonima",
|
||||
"form_required_answer": "Rispondere è: ",
|
||||
"form_required_on": "Obbligatorio",
|
||||
"form_required_off": "Facoltativo",
|
||||
"form_preview": "Anteprima modulo",
|
||||
"form_changeTypeConfirm": "Seleziona il tipo di domanda.",
|
||||
"form_geturl": "Copia link pubblico",
|
||||
"toolbar_preview": "Anteprima",
|
||||
"form_addMsg": "Aggiungi messaggio di conferma",
|
||||
"goRight": "Destra",
|
||||
"label_logo": "Logo CryptPad",
|
||||
"form_makeAnon": "Rendi le risposte anonime",
|
||||
"form_editable": "Modifica delle risposte dopo l'invio",
|
||||
"form_condition_q": "Scegli una domanda",
|
||||
"form_condition_is": "è",
|
||||
"calendar_rec_daily": "Ogni giorno",
|
||||
"ssoauth_form_hint_login": "Inserisci la tua password di CryptPad",
|
||||
"toolbar_storeInDrive": "Salva in CryptDrive",
|
||||
"genericCopySuccess": "Copiato negli appunti",
|
||||
"mediatag_defaultImageName": "immagine",
|
||||
"recovery_header": "Ripristino dell'autenticazione a due fattori",
|
||||
"calendar_more": "altri {0}",
|
||||
"settings_notifCalendarHint": "Abilita/disabilita tutte le notifiche per i prossimi eventi del calendario.",
|
||||
"settings_notifCalendarCheckbox": "Abilita le notifiche del calendario",
|
||||
"calendar_notifications": "Promemoria",
|
||||
"calendar_addNotification": "Aggiungi promemoria",
|
||||
"calendar_noNotification": "Nessuno",
|
||||
"register_nameTooLong": "I nomi utente devono essere più brevi di {0} caratteri",
|
||||
"loading_recover": "Non riesci ad ottenere il codice?? <a href=\"/recovery/\">Recupera il tuo account</a>",
|
||||
"recovery_mfa_secret_ph": "Codice di recupero",
|
||||
"register_registrationIsClosed": "La registrazione è chiusa.",
|
||||
"share_formAuditor": "Valutatore",
|
||||
"share_formView": "Partecipante",
|
||||
"form_editBlock": "Modifica",
|
||||
"form_editMaxLength": "Numero massimo di caratteri",
|
||||
"form_poll_text": "Testo",
|
||||
"form_poll_day": "Giorno",
|
||||
"form_editType": "Tipo di opzione",
|
||||
"form_poll_time": "Ora",
|
||||
"form_poll_switch": "Inverti gli assi",
|
||||
"form_pollTotal": "Totale",
|
||||
"form_pollYourAnswers": "Le tue risposte",
|
||||
"form_textType": "Tipo di testo",
|
||||
"form_text_text": "Testo",
|
||||
"form_text_url": "Link",
|
||||
"form_text_email": "Email",
|
||||
"form_text_number": "Numero",
|
||||
"form_default": "La tua domanda qui?",
|
||||
"form_type_input": "Testo",
|
||||
"form_type_textarea": "Paragrafo",
|
||||
"form_type_radio": "Selezione semplice",
|
||||
"form_type_checkbox": "Selezione multipla",
|
||||
"form_type_multicheck": "Selezione multipla a griglia",
|
||||
"form_type_poll": "Sondaggio",
|
||||
"form_type_sort": "Elenco ordinato",
|
||||
"form_type_md": "Descrizione",
|
||||
"form_type_page": "Interruzione di pagina",
|
||||
"form_description_default": "Il tuo testo qui",
|
||||
"form_maxOptions": "massimo {0} risposta/e",
|
||||
"form_maxLength": "Limite di caratteri: {0}/{1}",
|
||||
"form_submit": "Invia",
|
||||
"form_update": "Aggiorna",
|
||||
"form_reset": "Cancella",
|
||||
"form_delete": "Elimina",
|
||||
"form_submitWarning": "Invia comunque",
|
||||
"form_updateWarning": "Aggiorna comunque",
|
||||
"form_answered": "Hai già compilato questo modulo",
|
||||
"form_results": "Risposte ({0})",
|
||||
"form_results_empty": "Non ci sono risposte",
|
||||
"form_editor": "Editor",
|
||||
"form_showIndividual": "Mostra le singole risposte",
|
||||
"form_showSummary": "Mostra il riepilogo",
|
||||
"form_answerAnonymous": "Risposta anonima del {0}",
|
||||
"form_answerName": "Risposta di {0} del {1}",
|
||||
"form_invalid": "Modulo non valido",
|
||||
"form_notAnswered": "<b>{0}</b> risposte vuote",
|
||||
"form_input_ph_email": "email@example.com",
|
||||
"form_input_ph_url": "https://example.com",
|
||||
"form_invalidQuestion": "Domanda {0}",
|
||||
"form_makePublic": "Rendi le risposte pubbliche",
|
||||
"form_isPublic": "Le risposte sono pubbliche",
|
||||
"form_isPrivate": "Le risposte sono private",
|
||||
"form_open": "Apri",
|
||||
"form_setEnd": "Imposta data di chiusura",
|
||||
"form_removeEnd": "Rimuovi data di chiusura",
|
||||
"form_isOpen": "Questo modulo è aperto",
|
||||
"form_isClosed": "Questo modulo è stato chiuso il {0}",
|
||||
"form_willClose": "Questo modulo sarà chiuso il {0}",
|
||||
"form_defaultOption": "Opzione {0}",
|
||||
"form_defaultItem": "Elemento {0}",
|
||||
"form_newOption": "Nuova opzione",
|
||||
"form_newItem": "Nuovo elemento",
|
||||
"form_add_option": "Aggiungi opzione",
|
||||
"form_add_item": "Aggiungi elemento",
|
||||
"form_anonymous": "Modalità ospite (senza effettuare l'accesso)",
|
||||
"form_anonymous_on": "Consentita",
|
||||
"form_anonymous_off": "Non consentita",
|
||||
"form_addMultiple": "Aggiungi tutti",
|
||||
"form_addMultipleHint": "Aggiungi più date e orari",
|
||||
"form_clear": "Cancella",
|
||||
"form_page": "Pagina {0}/{1}",
|
||||
"form_anonymousBox": "Rispondi in modo anonimo",
|
||||
"copyToClipboard": "Copia negli appunti",
|
||||
"settings_driveRedirectTitle": "Reindirizzamento dalla pagina principale",
|
||||
"settings_driveRedirect": "Reindirizzarmi in modo automatico",
|
||||
"mdToolbar_embed": "Incorpora file",
|
||||
"admin_cat_network": "Rete",
|
||||
"admin_updateAvailableTitle": "Nuove versioni",
|
||||
"admin_updateAvailableHint": "È disponibile una nuova versione di CryptPad",
|
||||
"admin_updateAvailableButton": "Vedi le note di rilascio",
|
||||
"admin_checkupTitle": "Convalida la configurazione dell'istanza",
|
||||
"admin_checkupHint": "CryptPad include una pagina in grado di diagnosticare automaticamente i problemi di configurazione più comuni e suggerisce come correggerli, se necessario.",
|
||||
"form_answerAs": "Rispondi come",
|
||||
"fm_link_invalid": "URL non valido",
|
||||
"ui_collapse": "Riduci",
|
||||
"ui_expand": "Espandi",
|
||||
"form_poll_hint": "<i></i>: Sì, <i></i>: No, <i></i>: Accettabile",
|
||||
"fc_open_formro": "Apri (come partecipante)",
|
||||
"resources_imageBlocked": "CryptPad ha bloccato un'immagine remota",
|
||||
"resources_openInNewTab": "Apri in una nuova scheda",
|
||||
"fm_link_new": "Nuovo link",
|
||||
"fm_link_type": "Link",
|
||||
"fm_link_name": "Nome del link",
|
||||
"fm_link_url": "URL",
|
||||
"notification_linkShared": "{0} ha condiviso un link con te: <b>{1}</b>",
|
||||
"form_exportCSV": "Esporta in CSV",
|
||||
"notification_openLink": "Hai ricevuto un link <b>{0}</b> da {1}:",
|
||||
"form_condition_isnot": "non è",
|
||||
"form_condition_has": "contiene",
|
||||
"form_condition_hasnot": "non contiene",
|
||||
"form_conditional": "Mostra questa sezione solo quando:",
|
||||
"form_conditional_add": "Aggiungi una condizione \"OPPURE\"",
|
||||
"form_conditional_addAnd": "Aggiungi una condizione \"E\"",
|
||||
"userlist_visitProfile": "Visualizza profilo",
|
||||
"login_notFilledUser": "Inserisci un nome utente",
|
||||
"login_notFilledPass": "Inserisci una password",
|
||||
"calendar_settings": "Impostazioni del calendario",
|
||||
"date": "Data",
|
||||
"context_menu": "Azioni della cartella",
|
||||
"team_nameTooLong": "Il nome del team è troppo lungo (massimo 50 caratteri)",
|
||||
"team_nameAlreadySet": "Il nome del team è già {0}",
|
||||
"dph_reason": "Motivo: {0}",
|
||||
"dph_sf_destroyed": "La cartella condivisa <b>{0}</b> è stata distrutta da un/a proprietario/a",
|
||||
"dph_sf_destroyed_team": "La cartella condivisa <b>{0}</b> nel team drive <b>{1}</b> è stata distrutta da un/a proprietario/a",
|
||||
"dph_default": "Questo contenuto non è più disponibile",
|
||||
"dph_account_moderated": "Questo account è stato sospeso dalla squadra di moderazione",
|
||||
"dph_account_pw": "La password di questo account è stata modificata",
|
||||
"dph_account_inactive": "Questo account è stato eliminato per inattività",
|
||||
"dph_pad_inactive": "Questo documento è stato eliminato per inattività",
|
||||
"dph_pad_moderated": "Questo documento è stato eliminato dalla squadra di moderazione",
|
||||
"dph_tmp_destroyed": "Questo modello è stato distrutto da un/a proprietario/a",
|
||||
"dph_tmp_moderated": "Questo modello è stato eliminato dalla squadra di moderazione",
|
||||
"dph_tmp_moderated_account": "Questo modello è stato eliminato perché appartenente ad un account sospeso",
|
||||
"access_passwordUsed": "Questa password è già stata usata per questo documento. Non può essere riutilizzata.",
|
||||
"status": "Pagina di stato",
|
||||
"creation_new": "Crea {0}",
|
||||
"fc_openIn": "Apri con {0}",
|
||||
"download_step3": "Conversione...",
|
||||
"form_exportSheet": "Esporta su foglio",
|
||||
"form_answerChoice": "Scegli come rispondere a questo modulo:",
|
||||
"bounce_confirm": "Stai per lasciare: {0}\n\nSei sicuro/a di voler visitare \"{1}\"?",
|
||||
"ui_saved": "{0} salvato",
|
||||
"footer_source": "Codice sorgente",
|
||||
"info_sourceFlavour": "<a>Codice sorgente</a> di CryptPad",
|
||||
"info_termsFlavour": "<a>Termini di servizio</a> di questa istanza",
|
||||
"support_warning_drives": "Si noti che gli amministratori e le amministratrici non sono in grado di identificare cartelle e documenti per nome. Per le cartelle condivise, si prega di fornire l'<a>identificatore del documento</a>",
|
||||
"support_warning_document": "Specifica quale tipo di documento sta causando il problema e fornisci l'<a>identificatore del documento</a> o un link",
|
||||
"support_warning_bug": "Specifica in quale browser si verifica il problema e se sono installate delle estensioni. Fornisci più dettagli possibili sul problema e sui passaggi necessari per riprodurlo",
|
||||
"ui_openDirectly": "Questa funzionalità non è disponibile quando CryptPad è incorporato in un altro sito. Vuoi aprire questo documento in una nuova scheda?",
|
||||
"fivehundred_internalServerError": "Errore interno del server",
|
||||
"support_cat_drives": "Drive o team",
|
||||
"support_cat_document": "Documento",
|
||||
"support_cat_abuse": "Segnala un abuso",
|
||||
"error_embeddingDisabledSpecific": "L'incorporamento è disabilitato per questa applicazione di CryptPad.",
|
||||
"error_incorrectAccess": "Questa pagina è accessibile solo tramite {0}.",
|
||||
"ui_experimental": "Questa funzione è considerata sperimentale.",
|
||||
"footer_website": "Sito del progetto",
|
||||
"home_location": "Hosting dei dati criptati {0}",
|
||||
"login_instance": "Connettiti al tuo account su {0}",
|
||||
"register_instance": "Crea un nuovo account su {0}",
|
||||
"ui_true": "attivato",
|
||||
"ui_false": "disattivato",
|
||||
"ui_none": "nessuno",
|
||||
"ui_confirm": "Conferma",
|
||||
"calendar_rec_no": "Una sola volta",
|
||||
"ui_success": "Successo",
|
||||
"ui_fetch": "Recupera",
|
||||
"ui_generateReport": "Genera un rapporto",
|
||||
"og_login": "Accedi a {0}",
|
||||
"og_register": "Registra un account su {0}",
|
||||
"og_pricing": "{0} Prezzi",
|
||||
"ui_jsRequired": "JavaScript deve essere abilitato per eseguire la crittografia nel browser",
|
||||
"og_encryptedAppType": "{0} criptato",
|
||||
"fm_filterBy": "Filtro",
|
||||
"fm_rmFilter": "Rimuovi filtro",
|
||||
"og_contact": "{0} Contatto",
|
||||
"calendar_rec": "Ripeti",
|
||||
"calendar_rec_weekly": "Ogni settimana il {0}",
|
||||
"calendar_rec_edit_all": "Modifica di tutti gli eventi",
|
||||
"calendar_rec_monthly": "Ogni {1} del mese",
|
||||
"calendar_rec_edit_from": "Modifica gli eventi futuri",
|
||||
"calendar_rec_yearly": "Ogni anno il {2}",
|
||||
"calendar_rec_edit": "Questo è un evento che si ripete",
|
||||
"calendar_str_filter_day": "Giorni: {0}",
|
||||
"calendar_str_filter_monthday": "Giorni del mese: {0}",
|
||||
"calendar_rec_custom": "Personalizzato",
|
||||
"calendar_str_filter_yearday": "Giorni dell'anno: {0}",
|
||||
"calendar_str_filter_weekno": "Settimane: {0}",
|
||||
"calendar_str_filter_month": "Mesi: {0}",
|
||||
"calendar_rec_txt": "Ripeti ogni",
|
||||
"calendar_str_filter": "Filtri:",
|
||||
"calendar_rec_freq_daily": "giorni",
|
||||
"calendar_str_until": "fino al {0}",
|
||||
"calendar_rec_freq_monthly": "mesi",
|
||||
"calendar_str_for": "per {0} volte",
|
||||
"calendar_rec_freq_yearly": "anni",
|
||||
"calendar_rec_until": "Termine della ripetizione",
|
||||
"calendar_rec_until_no": "Mai",
|
||||
"calendar_str_daily": "{0} giorno/i",
|
||||
"calendar_rec_until_count": "Dopo",
|
||||
"calendar_rec_until_count2": "volte",
|
||||
"calendar_str_weekly": "{0} settimana/e",
|
||||
"calendar_str_yearly": "{0} anno/i",
|
||||
"calendar_nth_2": "secondo",
|
||||
"calendar_list_end": "{0} o {1}",
|
||||
"calendar_nth_3": "terzo",
|
||||
"calendar_month_last": "ultimo giorno",
|
||||
"calendar_nth_4": "quarto",
|
||||
"calendar_rec_every_date": "Ogni {0}",
|
||||
"calendar_nth_last": "ultimo",
|
||||
"calendar_nth_5": "quinto",
|
||||
"calendar_rec_updated": "Regola aggiornata il {0}",
|
||||
"calendar_rec_weekend": "Tutti i giorni del fine settimana",
|
||||
"calendar_rec_weekdays": "Tutti i giorni della settimana",
|
||||
"calendar_str_nthdayofmonth": "il {0} {1}",
|
||||
"calendar_str_monthday": "il {0}",
|
||||
"calendar_str_day": "il {0}",
|
||||
"calendar_nth_1": "primo",
|
||||
"calendar_rec_until_date": "Il",
|
||||
"calendar_rec_monthly_pick": "Nei giorni",
|
||||
"calendar_list": "{0}, {1}",
|
||||
"calendar_rec_yearly_nth": "Ogni {0} {1} di {2}",
|
||||
"calendar_rec_monthly_nth": "Ogni {0} {1} del mese",
|
||||
"calendar_rec_warn_update": "La regola per la ripetizione di questo evento è stata modificata. Gli eventi futuri saranno sostituiti.",
|
||||
"calendar_removeNotification": "Rimuovi promemoria",
|
||||
"form_exportJSON": "Esporta in JSON",
|
||||
"form_alreadyAnsweredMult": "Hai risposto a questo modulo il:",
|
||||
"form_responseNotification": "Nuove risposte al form: <b>{0}</b>",
|
||||
"form_answer_new": "Invia di nuovo",
|
||||
"form_allowNotifications": "Notifiche di nuove risposte",
|
||||
"form_editable_off": "Una sola volta",
|
||||
"form_editable_on_del": "Una sola volta e modifica/elimina",
|
||||
"form_multiple": "Più volte",
|
||||
"form_editable_str": "Inoltro",
|
||||
"form_anonymized": "Le risposte sono rese anonime",
|
||||
"form_settingsButton": "Impostazioni del modulo",
|
||||
"form_editable_on": "Una sola volta e modifica",
|
||||
"form_showCondorcetMethod": "Metodo di Condorcet",
|
||||
"form_condorcetSchulze": "Metodo Schulze",
|
||||
"form_showDetails": "Dettagli",
|
||||
"form_type_date": "Data",
|
||||
"mfa_recovery_title": "Salva ora questo codice di recupero",
|
||||
"mfa_recovery_warning": "Questo codice non sarà mostrato altre volte, quindi salvalo in un posto sicuro e non condividerlo con nessuno/a.",
|
||||
"settings_otp_code": "Codice di verifica",
|
||||
"team_inviteRole": "Ruolo iniziale",
|
||||
"team_inviteUses": "Utilizzo/i consentito/i per questo link (0 = nessun limite)",
|
||||
"team_linkUsesInfinite": "(uso illimitato)",
|
||||
"team_linkUses": "({0}/{1} restanti)",
|
||||
"form_condorcetRanked": "Coppie classificate",
|
||||
"form_showCondorcetWinner": "vincitore/trice: ",
|
||||
"form_noCondorcetWinner": "Nessun/a vincitore/trice",
|
||||
"settings_removeOwnedTitle": "Distruggi tutti i tuoi documenti",
|
||||
"settings_removeOwnedText": "Si prega di attendere mentre i documenti vengono distrutti...",
|
||||
"mfa_enable": "Abilita l'autenticazione a due fattori",
|
||||
"recovery_mfa_secret": "Inserisci il codice di recupero per disattivare l'autenticazione a due fattori per il tuo account:",
|
||||
"goLeft": "Sinistra",
|
||||
"selectLanguage": "Seleziona una lingua",
|
||||
"dph_pad_pw": "Questo documento è protetto da una nuova password",
|
||||
"calendar_desc": "Descrizione",
|
||||
"sso_register_description": "Registrati con",
|
||||
"sso_login_description": "Accedi con",
|
||||
"ssoauth_header": "Password di CryptPad",
|
||||
"duplicate": "Duplica",
|
||||
"kanban_showTags": "Mostra tutti i tag",
|
||||
"kanban_hideTags": "Mostra meno tag",
|
||||
"loading_mfa_required": "Per questa istanza è richiesta l'autenticazione a due fattori. Si prega di aggiornare il proprio account utilizzando un'app di autenticazione e il modulo qui sotto.",
|
||||
"form_backButton": "Indietro",
|
||||
"calendar_rec_change": "Stai spostando su un calendario diverso un evento che si ripete. Puoi applicare questa modifica solo a questo evento oppure a tutti gli eventi ripetuti.",
|
||||
"calendar_rec_change_first": "Stai spostando su un calendario diverso il primo evento di una serie. Così facendo verranno spostati tutti gli eventi della serie.",
|
||||
"form_viewButton": "Visualizza",
|
||||
"footer_roadmap": "Cronoprogramma",
|
||||
"share_formEdit": "Autore",
|
||||
"form_editMax": "Numero massimo di opzioni selezionabili",
|
||||
"form_type_multiradio": "Selezione a griglia",
|
||||
"form_sort_hint": "Trascinare questi elementi in ordine di preferenza da 1 a {0}.",
|
||||
"form_cantFindAnswers": "Non è stato possibile recuperare le tue risposte a questo modulo.",
|
||||
"form_answerWarning": "Identità non confermata",
|
||||
"form_invalidWarning": "Alcune risposte contengono errori:",
|
||||
"form_makePublicWarning": "Sei sicuro/a di voler rendere pubbliche le risposte a questo modulo? Le risposte passate e future saranno visibili alle persone partecipanti. Questa operazione non può essere annullata.",
|
||||
"form_anonName": "Il tuo nome",
|
||||
"support_premiumPriority": "Gli/le utenti Premium contribuiscono a migliorare l'usabilità di CryptPad e beneficiano di risposte prioritarie alle loro richieste di assistenza.",
|
||||
"support_premiumLink": "Visualizza le opzioni di abbonamento",
|
||||
"form_anonymous_blocked": "Per compilare questo modulo è necessario <a href=\"/login/\">accedere</a> o <a href=\"/register/\">registrarsi</a>. Le risposte in modalità ospite non sono consentite.",
|
||||
"fm_link_name_placeholder": "Il mio link",
|
||||
"upload_addOptionalAlt": "Aggiungi il testo alternativo (facoltativo)",
|
||||
"form_requiredWarning": "Le seguenti domande richiedono una risposta:",
|
||||
"bounce_danger": "Il link cliccato non porta a una pagina web, ma a codice o dati che potrebbero essere dannosi.\n\n(\"{0}\")\n\nCryptPad blocca link di questo tipo per motivi di sicurezza. Cliccando OK chiuderai la scheda.",
|
||||
"support_warning_prompt": "Scegli la categoria più pertinente al tuo problema. Questo aiuta gli amministratori e le amministratrici nel triage e fornisce ulteriori suggerimenti sulle informazioni da fornire",
|
||||
"calendar_rec_edit_one": "Modifica solo questo evento",
|
||||
"calendar_str_monthly": "{0} mese/i",
|
||||
"settings_otp_invalid": "Codice di verifica non valido",
|
||||
"settings_driveRedirectHint": "Il reindirizzamento automatico dalla pagina principale al Drive quando al momento dell'accesso non è più abilitato in modo predefinito, ma può essere attivato di seguito.",
|
||||
"restrictedLoginPrompt": "Non sei autorizzato/a ad accedere a questo documento. Effettua il <a>login</a> se ritieni che il tuo account sia in grado di accedervi.",
|
||||
"og_features": "{0} Funzionalità",
|
||||
"mfa_setup_button": "Inizia la configurazione dell'autenticazione a due fattori",
|
||||
"loading_enter_otp": "Questo account è protetto dall'autenticazione a due fattori. Inserisci il codice di verifica",
|
||||
"dph_pad_destroyed": "Questo documento è stato distrutto da un/a proprietario/a",
|
||||
"dph_account_destroyed": "Questo account è stato eliminato dal suo proprietario o dalla sua proprietaria",
|
||||
"calendar_description": "Descrizione:{0}{1}",
|
||||
"fm_link_warning": "Attenzione: l'URL supera i 200 caratteri",
|
||||
"form_type_section": "Sezione condizionale",
|
||||
"form_colors": "Tema cromatico",
|
||||
"form_conditional_hint": "Per rendere questa sezione condizionale, aggiungi qui sopra una domanda con selezione semplice o multipla",
|
||||
"support_warning_abuse": "Si prega di segnalare i contenuti che violano i <a>Termini di servizio</a>. Si prega di fornire i link ai documenti o ai profili utente interessati e di descrivere come questi violano i termini. Qualsiasi informazione aggiuntiva sul contesto in cui si è venuti/e a conoscenza di un determinato contenuto o comportamento può aiutare gli amministratori e le amministratrici a prevenire future violazioni",
|
||||
"error_embeddingDisabled": "L'incorporamento è disabilitato su questa istanza di CryptPad",
|
||||
"home_morestorage": "Per avere più spazio di archiviazione:",
|
||||
"form_deleteAll": "Elimina tutto",
|
||||
"form_multiple_edit": "Più volte e modifica/elimina",
|
||||
"settings_removeOwnedHint": "Tutti i documenti di cui sei l'unico/a proprietario/a saranno distrutti in modo permanente",
|
||||
"mfa_setup_label": "Per abilitare l'autenticazione a due fattori, inizia inserendo la password del tuo account",
|
||||
"mfa_revoke_label": "Per disattivare l'autenticazione a due fattori, inserisci la password del tuo account",
|
||||
"mfa_status_on": "L'autenticazione a due fattori è attiva su questo account",
|
||||
"mfa_recovery_hint": "Se perdi l'accesso all'app di autenticazione, potresti perdere l'accesso al tuo account CryptPad. Questo codice di recupero può essere usato per disattivare l'autenticazione a due fattori e ripristinare l'accesso.",
|
||||
"dph_tmp_pw": "Questo modello è protetto da una nuova password. Aprirlo dal tuo drive per inserire la nuova password.",
|
||||
"form_totalResponses": "Risposte totali: {0}",
|
||||
"form_viewAllAnswers": "Visualizza tutte le risposte ({0})",
|
||||
"form_corruptAnswers": "Questo modulo contiene già delle risposte. La modifica del tipo di domanda potrebbe invalidare i dati delle risposte precedenti.",
|
||||
"form_responseMsg": "Questo messaggio sarà visualizzato quando i/le partecipanti inviano le loro risposte al modulo.",
|
||||
"form_condition_v": "Scegli una risposta",
|
||||
"support_warning_account": "Si noti che gli amministratori e le amministratrici non sono in grado di reimpostare le password. Se hai perso le credenziali del tuo account e sei ancora connesso/a, puoi <a>migrare i tuoi dati su un nuovo account</a>",
|
||||
"ui_ms": "millisecondi",
|
||||
"og_teamDrive": "Drive del team",
|
||||
"og_default": "CryptPad: suite di collaborazione criptata end-to-end",
|
||||
"calendar_rec_stop": "Non ripetere più",
|
||||
"calendar_rec_freq_weekly": "settimane",
|
||||
"calendar_rec_warn_del": "Questo evento non si ripeterà più. Gli eventi futuri saranno rimossi.",
|
||||
"settings_mfaTitle": "Autenticazione a due fattori (2FA)",
|
||||
"settings_mfaHint": "Proteggi il tuo account con un codice di verifica aggiuntivo fornito da un'app di autenticazione di tuo scelta",
|
||||
"done": "Fatto",
|
||||
"continue": "Continua",
|
||||
"mfa_revoke_code": "Inserisci il codice di verifica",
|
||||
"settings_otp_tuto": "Scansiona questo codice QR con la tua app di autenticazione e inserisci il codice di verifica per confermare.",
|
||||
"oo_cantMigrate": "Questo foglio supera la dimensione massima di caricamento ed è troppo grande per essere migrato.",
|
||||
"team_leaveOwner": "Prima uscire dal team devi abbandonare il ruolo di proprietario/a. Dato che i team devono avere almeno un/a proprietario/a, se sei attualmente l'unico/a proprietario/a dovrai aggiungerne uno/a prima di proseguire.",
|
||||
"form_condorcetExtendedDisplay": "Numero di partite vinte da ogni candidato/a: ",
|
||||
"recovery_mfa_error": "Errore sconosciuto. Ricarica e prova di nuovo.",
|
||||
"mfa_revoke_button": "Conferma la disattivazione dell'autenticazione a due fattori",
|
||||
"mfa_status_off": "L'autenticazione a due fattori non è attiva su questo account",
|
||||
"mfa_disable": "Disabilita l'autenticazione a due fattori",
|
||||
"recovery_mfa_description": "Se non hai più accesso al tuo metodo di autenticazione a due fattori, puoi disattivare l'autenticazione a due fattori sul tuo account usando il tuo codice di recupero. Inizia inserendo il tuo nome utente e la password:",
|
||||
"label_viewMode": "Cambia visualizzazione",
|
||||
"dph_sf_pw": "La cartella condivisa {0} è protetta da una nuova password. Inserisci la nuova password per accedere o rimuovere la cartella dal drive.",
|
||||
"dph_pad_moderated_account": "Questo documento è stato eliminato perché appartenente ad un account sospeso",
|
||||
"ssoauth_form_hint_register": "Per maggiore sicurezza puoi aggiungere una password CryptPad. Se scegli di non aggiungere una password le chiavi che proteggono i dati saranno disponibili a chi amministra l'istanza.",
|
||||
"admin_supportPrivHint": "Visualizza la chiave privata di cui gli altri amministratori e le altre amministratrici avranno bisogno per visualizzare i ticket di assistenza. Un modulo dove inserire questa chiave sarà visualizzato nel loro pannello di amministrazione.",
|
||||
"admin_nameHint": "Il nome visualizzato per questa istanza nell'elenco delle istanze pubbliche su cryptpad.org",
|
||||
"admin_descriptionHint": "Il testo descrittivo visualizzato per questa istanza nell'elenco delle istanze pubbliche su cryptpad.org",
|
||||
"admin_noticeHint": "Un messaggio facoltativo da visualizzare sulla pagina iniziale"
|
||||
}
|
||||
|
||||
@ -167,7 +167,7 @@
|
||||
"team_deleteButton": "削除",
|
||||
"team_deleteHint": "チームと、チームが所有している全てのドキュメントを削除します。",
|
||||
"team_deleteTitle": "チームの削除",
|
||||
"team_avatarHint": "容量 500KB 以下 (png 、jpg 、jpeg 、gif)",
|
||||
"team_avatarHint": "容量は500KB以下(png、jpg、jpeg、gif)",
|
||||
"team_avatarTitle": "チームのアバター",
|
||||
"team_nameHint": "チームの名前を設定します",
|
||||
"team_nameTitle": "チーム名",
|
||||
@ -324,7 +324,7 @@
|
||||
"settings_safeLinksCheckbox": "セーフリンクを有効にする",
|
||||
"settings_safeLinksTitle": "セーフリンク",
|
||||
"settings_safeLinksHint": "CryptPadでは、リンクの中にドキュメントを解読するための鍵が含まれています。ブラウザーの閲覧履歴にアクセスできる人は、誰でもCryptPadのデータを閲覧することができます。ここにはデバイス間で履歴を同期するブラウザーやその拡張機能も含まれます。「セーフリンク」を有効にすると、鍵がブラウザーの閲覧履歴に残ったり、アドレスバーに表示されたりするのを可能な限り防ぐことができます。この機能を有効にして{0}の共有メニューから共有用リンクを使用することを強く推奨します。",
|
||||
"settings_autostoreTitle": "CryptDriveへのパッドの保存",
|
||||
"settings_autostoreTitle": "CryptDriveへのドキュメントの保存",
|
||||
"settings_logoutEverywhereConfirm": "全てのデバイスで改めてログインしなければならなくなります。よろしいですか?",
|
||||
"settings_logoutEverywhere": "他の全てのウェブセッションからログアウト",
|
||||
"settings_logoutEverywhereTitle": "リモートセッションを閉じる",
|
||||
@ -1605,7 +1605,7 @@
|
||||
"settings_removeOwnedText": "ドキュメントを完全に削除しています。お待ちください…",
|
||||
"settings_removeOwnedHint": "あなただけが所有している全てのドキュメントを完全に削除します",
|
||||
"recovery_header": "二要素認証の復旧",
|
||||
"recovery_mfa_description": "二要素認証の方法にアクセスできなくなってしまった場合、復旧コードを使用すると二要素認証を解除できます。初めにあなたのログインとパスワードを入力してください:",
|
||||
"recovery_mfa_description": "二要素認証の方法にアクセスできなくなってしまった場合、復旧コードを使用すると二要素認証を解除できます。初めに、あなたのユーザー名とパスワードを入力してください:",
|
||||
"recovery_mfa_secret": "二要素認証の解除用の復旧コードを入力してください:",
|
||||
"recovery_forgot": "復旧コードを忘れました",
|
||||
"recovery_forgot_text": "以下の情報をコピーし、あなたのインスタンスの管理者に<a href=\"mailto:{0}\">メールで送信</a>してください",
|
||||
@ -1623,5 +1623,79 @@
|
||||
"recovery_mfa_secret_ph": "復旧コード",
|
||||
"register_nameTooLong": "ユーザー名は{0}文字以下にしてください",
|
||||
"loading_recover": "コードを取得できませんか?<a href=\"/recovery/\">アカウントを復旧</a>",
|
||||
"loading_enter_otp": "このアカウントは二要素認証で保護されています。認証コードを入力してください"
|
||||
"loading_enter_otp": "このアカウントは二要素認証で保護されています。認証コードを入力してください",
|
||||
"admin_cat_users": "ユーザーディレクトリー",
|
||||
"admin_invitationCreate": "招待用リンクを作成",
|
||||
"admin_invitationLink": "招待用リンク",
|
||||
"admin_invitationTitle": "招待用リンク",
|
||||
"admin_invitationCopy": "リンクをコピー",
|
||||
"admin_invitationAlias": "ユーザー名",
|
||||
"admin_invitationEmail": "メールアドレス",
|
||||
"admin_invitationDeleteConfirm": "この招待を削除してよろしいですか?",
|
||||
"admin_usersAdd": "既知のユーザーを追加",
|
||||
"admin_usersTitle": "ユーザーディレクトリー",
|
||||
"admin_storeInvitedLabel": "招待したユーザーを自動的に保存",
|
||||
"admin_storeSsoLabel": "SSOユーザーを自動的に保存",
|
||||
"admin_usersRemoveConfirm": "このユーザーをディレクトリーから削除してよろしいですか?ユーザーは自身のアカウントには今後もアクセスすることができます。",
|
||||
"register_invalidToken": "招待用リンクは無効です",
|
||||
"login_notFilledUser": "ユーザー名を記入してください",
|
||||
"admin_usersRemove": "削除",
|
||||
"admin_channelPlaceholder": "破棄されたドキュメントのプレースホルダー",
|
||||
"calendar_settings": "カレンダーの設定",
|
||||
"dph_pad_destroyed": "このドキュメントは所有者により破棄されました",
|
||||
"login_notFilledPass": "パスワードを記入してください",
|
||||
"team_nameAlreadySet": "チーム名が既に{0}に設定されています",
|
||||
"dph_sf_pw": "共有フォルダー {0} は新しいパスワードで保護されています。アクセスするにはパスワードを入力してください。または、あなたのドライブからフォルダーを削除してください。",
|
||||
"admin_forcemfaTitle": "二要素認証を必須とする",
|
||||
"admin_archiveAccountConfirm": "アーカイブする理由を記入してください。これはユーザーに表示されます。",
|
||||
"loading_mfa_required": "このインスタンスでは二要素認証が必須です。認証用アプリケーションと以下のフォームから、アカウントを更新してください。",
|
||||
"goRight": "右",
|
||||
"label_logo": "CryptPadのロゴ",
|
||||
"dph_pad_inactive": "このドキュメントは利用されていないため削除されました",
|
||||
"dph_pad_moderated_account": "このドキュメントは使用停止に設定されているアカウントに属しているため削除されました",
|
||||
"dph_tmp_destroyed": "このテンプレートは所有者により破棄されました",
|
||||
"dph_tmp_moderated_account": "このテンプレートは使用停止に設定されているアカウントに属しているため削除されました",
|
||||
"date": "日付",
|
||||
"context_menu": "フォルダーのアクション",
|
||||
"label_viewMode": "表示モードを切り替える",
|
||||
"team_nameTooLong": "チーム名が長すぎます(最大50字)",
|
||||
"selectLanguage": "言語を選択",
|
||||
"dph_reason": "理由:{0}",
|
||||
"dph_sf_destroyed": "共有フォルダー <b>{0}</b> は所有者により破棄されました",
|
||||
"dph_sf_destroyed_team": "チームドライブ <b>{1}</b> の共有フォルダー <b>{0}</b> は所有者により破棄されました",
|
||||
"admin_archiveAccount": "このアカウントをアーカイブ",
|
||||
"admin_archiveAccountInfo": "所有するドキュメントを含む",
|
||||
"admin_restoreAccount": "このアカウントを復元",
|
||||
"admin_accountSuspended": "アカウントは管理者によりアーカイブされました",
|
||||
"admin_accountReport": "アカウントのアーカイブのレポート",
|
||||
"dph_default": "このコンテンツは利用できなくなりました",
|
||||
"dph_account_destroyed": "このアカウントは所有者により削除されました",
|
||||
"status": "状態に関するページ",
|
||||
"dph_account_moderated": "このアカウントはモデレートチームにより使用停止に設定されています",
|
||||
"dph_account_pw": "このアカウントのパスワードが変更されました",
|
||||
"goLeft": "左",
|
||||
"ssoauth_form_hint_login": "CryptPadのパスワードを入力してください",
|
||||
"kanban_showTags": "全てのタグを表示",
|
||||
"ssoauth_header": "CryptPadのパスワード",
|
||||
"calendar_description": "説明文:{0}{1}",
|
||||
"sso_login_description": "ログイン",
|
||||
"sso_register_description": "登録",
|
||||
"ssoauth_form_hint_register": "セキュリティーを向上するためにCryptPadパスワードを追加するか、空欄のまま続行できます。パスワードを追加しない場合は、データを保護する鍵は、インスタンスの管理者にも利用可能となります。",
|
||||
"duplicate": "重複",
|
||||
"kanban_hideTags": "表示するタグを減らす",
|
||||
"dph_account_inactive": "このアカウントは利用されていないため削除されました",
|
||||
"dph_pad_moderated": "このドキュメントはモデレートチームにより削除されました",
|
||||
"dph_tmp_moderated": "このテンプレートはモデレートチームにより削除されました",
|
||||
"dph_tmp_pw": "このテンプレートは新しいパスワードで保護されています。あなたのドライブから開いて、新しいパスワードを入力してください。",
|
||||
"calendar_desc": "説明文",
|
||||
"calendar_rec_change_first": "最初の繰り返しのイベントを異なるカレンダーに移動。全ての繰り返しのイベントを移動します。",
|
||||
"calendar_rec_change": "繰り返しのイベントを異なるカレンダーに移動。この変更は、このイベントまたは全ての繰り返しのイベントに適用できます。",
|
||||
"dph_pad_pw": "このドキュメントはパスワードにより保護されています",
|
||||
"access_passwordUsed": "このパスワードは既にこのドキュメントに使用されています。再度利用することはできません。",
|
||||
"admin_forcemfaHint": "このインスタンスの全てのユーザーに、ログイン用の二要素認証を設定するように要求します。",
|
||||
"admin_invitationHint": "招待リンクは、登録が締め切られている場合でもアカウントを1つ作成します。ユーザー名とメールアドレスは、ユーザーの特定用にのみ使用します。CryptPadは、招待リンクその他を電子メールで送信することはありません。リンクをコピーし、何か安全な方法でリンクを送信してください。",
|
||||
"admin_usersHint": "このインスタンスの既知のアカウントの一覧。以下を選択してアカウントを自動的に追加するか、フォームから手動で情報を入力してください。",
|
||||
"admin_diskUsageWarning": "注意して使用してください!このインスタンスに保存されているデータのサイズ次第では、このレポートを作成すると、サーバーで利用可能な全てのメモリー量を使用し、クラッシュする可能性があります。",
|
||||
"admin_registrationSsoTitle": "SSOの登録を閉じる",
|
||||
"admin_usersBlock": "ユーザーのログインブロックURL(任意)"
|
||||
}
|
||||
|
||||
@ -635,7 +635,7 @@
|
||||
"admin_updateLimitButton": "Update quotas",
|
||||
"admin_updateLimitDone": "Update completed successfully",
|
||||
"admin_flushCacheTitle": "Flush HTTP cache",
|
||||
"admin_flushCacheHint": "Force users to download the latest clientside assets (only if your server is in fresh mode)",
|
||||
"admin_flushCacheHint": "Force all users to download the latest assets after a change in customization or configuration. Avoids restarting the server but makes each active user reset their connection, please use sparingly.",
|
||||
"admin_flushCacheButton": "Flush cache",
|
||||
"admin_flushCacheDone": "Cache flushed successfully",
|
||||
"footer_donate": "Donate",
|
||||
@ -1667,8 +1667,8 @@
|
||||
"access_passwordUsed": "This password has already been used for this document. It cannot be used again.",
|
||||
"status": "Status page",
|
||||
"admin_diskUsageWarning": "Use with caution! Depending on the size of the data stored on the instance, generating this report can consume all the memory available on the server and lead to a crash.",
|
||||
"calendar_rec_change_first": "Moving the first repeating even to a different calendar. All repeated events will also be moved.",
|
||||
"calendar_rec_change": "Moving a repeating even to a different calendar. You can only apply this change to this event or all repeated events.",
|
||||
"calendar_rec_change_first": "Moving the first repeating event to a different calendar. All repeated events will also be moved.",
|
||||
"calendar_rec_change": "Moving a repeating event to a different calendar. You can only apply this change to this event or all repeated events.",
|
||||
"calendar_desc": "Description",
|
||||
"calendar_description": "Description:{0}{1}",
|
||||
"sso_login_description": "Login with",
|
||||
@ -1682,7 +1682,7 @@
|
||||
"admin_forcemfaTitle": "Mandatory Two-Factor Authentication",
|
||||
"admin_forcemfaHint": "All users on this instance will be asked to set up two-factor authentication to log in to their account.",
|
||||
"loading_mfa_required": "Two-factor authentication is required on this instance. Please update your account using an authenticator app and the form below.",
|
||||
"admin_cat_users": "User Directory",
|
||||
"admin_cat_users": "User directory",
|
||||
"admin_registrationSsoTitle": "Close SSO registration",
|
||||
"admin_invitationTitle": "Invitation links",
|
||||
"admin_invitationCreate": "Create invitation link",
|
||||
@ -1700,5 +1700,68 @@
|
||||
"admin_usersBlock": "User's login block URL (optional)",
|
||||
"admin_usersRemove": "Remove",
|
||||
"admin_usersRemoveConfirm": "Are you sure you want to remove this user from the directory? They will still be able to access and use their account.",
|
||||
"register_invalidToken": "The invitation link is invalid"
|
||||
"register_invalidToken": "The invitation link is invalid",
|
||||
"admin_cat_security": "Security",
|
||||
"admin_cat_customize": "Customize",
|
||||
"admin_logoTitle": "Custom Logo",
|
||||
"admin_logoHint": "SVG, PNG or JPG, maximum size 200KB",
|
||||
"admin_logoButton": "Upload new",
|
||||
"admin_colorTitle": "Accent color",
|
||||
"admin_logoRemoveButton": "Restore default",
|
||||
"admin_colorHint": "Change the accent color of your CryptPad instance. Please ensure text and buttons are readable with sufficient contrast in both light and dark themes.",
|
||||
"admin_colorCurrent": "Current accent color",
|
||||
"admin_colorChange": "Change color",
|
||||
"admin_colorPick": "Pick a color",
|
||||
"admin_colorPreview": "Preview color",
|
||||
"admin_supportSetupHint": "Create or update the support keys.",
|
||||
"admin_supportSetupTitle": "Initialize support",
|
||||
"admin_supportEnabled": "Support system is enabled.",
|
||||
"admin_supportDisabled": "Support system is disabled.",
|
||||
"admin_supportInit": "Initialize help-desk on this instance",
|
||||
"admin_supportDelete": "Disable support",
|
||||
"admin_supportConfirm": "Are you sure? This will delete all existing tickets and block access for all moderators.",
|
||||
"admin_supportMembers": "Support team",
|
||||
"admin_supportAdd": "Add a contact to the support team",
|
||||
"admin_supportRotateNotify": "Warning: new keys have been generated but an unexpected error prevented the system to send them to the moderators. Please remove and re-add all members of the support team",
|
||||
"moderationPage": "Help-desk",
|
||||
"support_cat_open": "Inbox",
|
||||
"support_cat_closed": "Closed",
|
||||
"support_cat_search": "Search",
|
||||
"support_cat_settings": "Settings",
|
||||
"support_cat_legacy": "Legacy",
|
||||
"support_pending": "Archived tickets:",
|
||||
"support_pending_tag": "Archived",
|
||||
"support_active_tag": "Inbox",
|
||||
"support_closed_tag": "Closed",
|
||||
"support_privacyTitle": "Answer anonymously",
|
||||
"support_privacyHint": "Check this option to reply as 'The Support Team' instead of your own username",
|
||||
"support_notificationsTitle": "Disable notifications",
|
||||
"support_notificationsHint": "Check this option to disable notifications for new tickets and replies",
|
||||
"support_openTicketTitle": "Open a ticket with a user",
|
||||
"support_openTicketHint": "Copy the recipient user's data from their profile page or an existing support ticket. They will receive a CryptPad notification about this message.",
|
||||
"support_userChannel": "User's notifications channel ID",
|
||||
"support_userKey": "User's public key",
|
||||
"support_invalChan": "Invalid notifications channel",
|
||||
"admin_supportTeamTitle": "Manage support team",
|
||||
"admin_supportTeamHint": "Add and remove people from the instance support team",
|
||||
"support_pasteUserData": "Paste user data here",
|
||||
"support_recordedTitle": "Snippets",
|
||||
"support_recordedHint": "Store common text as one-click shortcuts to insert in support messages.",
|
||||
"support_recordedEmpty": "No snippets",
|
||||
"support_recordedId": "Snippet ID (unique)",
|
||||
"support_recordedContent": "Content",
|
||||
"support_legacyTitle": "View old support data",
|
||||
"support_legacyHint": "View tickets from the legacy support system and recreate them in the new one.",
|
||||
"support_legacyButton": "Get active tickets",
|
||||
"support_legacyDump": "Export all",
|
||||
"support_legacyClear": "Delete for this account",
|
||||
"support_searchLabel": "Search (title or ticket ID)",
|
||||
"support_team": "The Support Team",
|
||||
"support_answerAs": "Answering as <b>{0}</b>",
|
||||
"support_movePending": "Move to archive",
|
||||
"support_moveActive": "Move to active",
|
||||
"support_copyUserData": "Copy user data",
|
||||
"support_insertRecorded": "Insert snippet",
|
||||
"admin_supportOpen": "Open help-desk",
|
||||
"support_userNotification": "New support ticket or response: {0}"
|
||||
}
|
||||
|
||||
@ -590,7 +590,7 @@
|
||||
"features_f_register": "Бесплатная регистрация",
|
||||
"features_f_storage1_note": "Документы, хранимые в вашем CryptDrive, не удаляются при отсутствии активности",
|
||||
"features_f_storage1": "Личное хранилище ({0})",
|
||||
"features_f_file1_note": "Храните любые файлы в вашем CryptDrive: картинки, файлы PDF, видео и другое. Делитесь ими с вашими контактами или вкладывайте их внутрь документов (до {0} МБ).",
|
||||
"features_f_file1_note": "Храните файлы в Вашем CryptDrive: картинки, файлы PDF, видео и другое. Делитесь ими с Вашими контактами или вкладывайте их внутрь документов (до {0} МБ)",
|
||||
"features_f_file1": "Загрузка файлов и предоставление доступа другим",
|
||||
"features_f_social_note": "Добавление контактов для безопасной совместной работы, создание профиля, точечная настройка доступа",
|
||||
"features_f_social": "Общение",
|
||||
|
||||
@ -18,6 +18,7 @@ define([
|
||||
'/common/common-realtime.js',
|
||||
'/customize/messages.js',
|
||||
'/customize/application_config.js',
|
||||
'/common/common-ui-elements.js',
|
||||
'/debug/chainpad.dist.js',
|
||||
|
||||
'css!/components/bootstrap/dist/css/bootstrap.min.css',
|
||||
@ -39,6 +40,7 @@ define([
|
||||
CommonRealtime,
|
||||
Messages,
|
||||
AppConfig,
|
||||
UIElements,
|
||||
ChainWalk)
|
||||
{
|
||||
var APP = window.APP = {
|
||||
@ -701,7 +703,8 @@ define([
|
||||
};
|
||||
var $hist = common.createButton('history', true, {histConfig: histConfig});
|
||||
$hist.addClass('cp-hidden-if-readonly');
|
||||
toolbar.$drawer.append($hist);
|
||||
var $histEntry = UIElements.getEntryFromButton($hist);
|
||||
toolbar.$drawer.append($histEntry);
|
||||
|
||||
var $content = common.createButton(null, true, {
|
||||
icon: 'fa-question',
|
||||
@ -710,7 +713,9 @@ define([
|
||||
id: 'cp-app-debug-get-content'
|
||||
});
|
||||
$content.click(getContent);
|
||||
toolbar.$drawer.append($content);
|
||||
var $contentEntry = UIElements.getEntryFromButton($content);
|
||||
console.error($contentEntry);
|
||||
toolbar.$drawer.append($contentEntry);
|
||||
};
|
||||
|
||||
config.onReady = function (info) {
|
||||
|
||||
@ -9,6 +9,7 @@ define([
|
||||
'/common/sframe-common.js',
|
||||
'/common/common-hash.js',
|
||||
'/common/common-interface.js',
|
||||
'/common/common-ui-elements.js',
|
||||
'/customize/messages.js',
|
||||
|
||||
'/common/media-tag.js',
|
||||
@ -26,6 +27,7 @@ define([
|
||||
SFCommon,
|
||||
Hash,
|
||||
UI,
|
||||
UIElements,
|
||||
Messages,
|
||||
MediaTag)
|
||||
{
|
||||
@ -93,10 +95,10 @@ define([
|
||||
MediaTag($mt[0]).on('complete', function (decrypted) {
|
||||
$mt.css('transform', '');
|
||||
if (!rightsideDisplayed) {
|
||||
toolbar.$drawer
|
||||
.append(common.createButton('export', true, {}, function () {
|
||||
let $exportBtn = common.createButton('export', true, {}, function () {
|
||||
saveAs(decrypted.content, decrypted.metadata.name);
|
||||
}));
|
||||
});
|
||||
toolbar.$drawer.append(UIElements.getEntryFromButton($exportBtn));
|
||||
rightsideDisplayed = true;
|
||||
}
|
||||
|
||||
@ -140,10 +142,13 @@ define([
|
||||
if (toolbar.updatePageTitle) {
|
||||
toolbar.updatePageTitle(title);
|
||||
}
|
||||
toolbar.$drawer.append(common.createButton('forget', true));
|
||||
toolbar.$drawer.append(common.createButton('properties', true));
|
||||
let $forget = common.createButton('forget', true);
|
||||
let $prop = common.createButton('properties', true);
|
||||
toolbar.$drawer.append(UIElements.getEntryFromButton($forget));
|
||||
toolbar.$drawer.append(UIElements.getEntryFromButton($prop));
|
||||
if (common.isLoggedIn()) {
|
||||
toolbar.$drawer.append(common.createButton('hashtag', true));
|
||||
let $tags = common.createButton('hashtag', true);
|
||||
toolbar.$drawer.append(UIElements.getEntryFromButton($tags));
|
||||
}
|
||||
toolbar.$file.show();
|
||||
}).on('error', function (err) {
|
||||
|
||||
@ -109,6 +109,24 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
[data-item="open-ticket"] {
|
||||
.cp-support-form-container {
|
||||
textarea {
|
||||
width: 2*@sidebar_block-width !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cp-support-recorded {
|
||||
.cp-dropdown-container > button {
|
||||
margin-left: @sidebar_base-margin !important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
.cp-fake-dropdown {
|
||||
margin-left: @sidebar_base-margin !important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.cp-support-search-container {
|
||||
display: flex;
|
||||
|
||||
@ -99,7 +99,9 @@ define([
|
||||
|
||||
// Support panel functions
|
||||
let open = [];
|
||||
let refreshAll = function () {};
|
||||
let refreshAll = function () {
|
||||
APP.$refreshButton.prop('disabled', false);
|
||||
};
|
||||
let refresh = ($container, type, _cb) => {
|
||||
let cb = Util.mkAsync(_cb || function () {});
|
||||
APP.module.execCommand('LIST_TICKETS_ADMIN', {
|
||||
@ -313,6 +315,7 @@ define([
|
||||
onFilter();
|
||||
events.REFRESH_TAGS.fire();
|
||||
}).nThen(waitFor => {
|
||||
APP.$refreshButton.prop('disabled', false);
|
||||
if (!linkedTicket) { return; }
|
||||
let $ticket = $container.find(`[data-link-id="${linkedTicket}"]`);
|
||||
linkedTicket = undefined;
|
||||
@ -405,7 +408,9 @@ define([
|
||||
|
||||
sidebar.addItem('refresh', cb => {
|
||||
let button = blocks.button('secondary', 'fa-refresh', Messages.oo_refresh);
|
||||
APP.$refreshButton = $(button);
|
||||
Util.onClickEnter($(button), () => {
|
||||
APP.$refreshButton.prop('disabled', 'disabled');
|
||||
refreshAll();
|
||||
});
|
||||
let content = blocks.block([button]);
|
||||
@ -797,6 +802,7 @@ define([
|
||||
let clean = blocks.button('danger', 'fa-trash-o', Messages.support_legacyClear);
|
||||
let content = h('div.cp-support-container');
|
||||
let nav = blocks.nav([start, dump, clean]);
|
||||
let spinner = UI.makeSpinner($(nav));
|
||||
|
||||
let sortLegacyTickets = contentByHash => {
|
||||
let all = {};
|
||||
@ -823,8 +829,13 @@ define([
|
||||
return all[id];
|
||||
});
|
||||
};
|
||||
let $dumpBtn = $(dump);
|
||||
UI.confirmButton(dump, { classes: 'btn-secondary' }, function () {
|
||||
spinner.spin();
|
||||
$dumpBtn.prop('disabled', 'disabled').blur();
|
||||
APP.module.execCommand('DUMP_LEGACY', {}, contentByHash => {
|
||||
$dumpBtn.prop('disabled', false);
|
||||
spinner.done();
|
||||
// group by ticket id
|
||||
let sorted = sortLegacyTickets(contentByHash);
|
||||
let dump = '';
|
||||
@ -868,7 +879,11 @@ Attachments:${JSON.stringify(msg.attachments, 0, 2)}`;
|
||||
let run = () => {
|
||||
let $div = $(content);
|
||||
$div.empty();
|
||||
spinner.spin();
|
||||
$(start).prop('disabled', 'disabled').blur();
|
||||
APP.module.execCommand('GET_LEGACY', {}, contentByHash => {
|
||||
$(start).prop('disabled', false);
|
||||
spinner.done();
|
||||
// group by ticket id
|
||||
let sorted = sortLegacyTickets(contentByHash);
|
||||
sorted.forEach(ticket => {
|
||||
@ -902,11 +917,12 @@ Attachments:${JSON.stringify(msg.attachments, 0, 2)}`;
|
||||
console.error(obj.error);
|
||||
return void UI.warn(Messages.error);
|
||||
}
|
||||
$ticket.remove();
|
||||
});
|
||||
};
|
||||
if (!$ticket.length) {
|
||||
content.category = 'legacy'; // Hide invalid features
|
||||
$ticket = APP.support.makeTicket({id, content, onMove});
|
||||
$ticket = $(APP.support.makeTicket({id, content, onMove}));
|
||||
$div.append($ticket);
|
||||
}
|
||||
$ticket.append(APP.support.makeMessage(content));
|
||||
@ -976,7 +992,7 @@ Attachments:${JSON.stringify(msg.attachments, 0, 2)}`;
|
||||
let active = privateData.category || 'active';
|
||||
let linkedTicket;
|
||||
if (active.indexOf('-') !== -1) {
|
||||
linkedTicket = active.split('-')[1];
|
||||
linkedTicket = active.slice(active.indexOf('-')+1);
|
||||
active = active.split('-')[0];
|
||||
}
|
||||
|
||||
|
||||
@ -635,6 +635,7 @@ define([
|
||||
*/
|
||||
editor.execCommand('print');
|
||||
framework.feedback('PRINT_PAD');
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
var $print = UIElements.getEntryFromButton($printButton);
|
||||
framework._.toolbar.$drawer.append($print);
|
||||
|
||||
@ -127,6 +127,7 @@ define([
|
||||
window.focus();
|
||||
window.print();
|
||||
framework.feedback('PRINT_SLIDES');
|
||||
UI.clearTooltipsDelay();
|
||||
});
|
||||
var $printEntry = UIElements.getEntryFromButton($printButton);
|
||||
framework._.toolbar.$drawer.append($printEntry);
|
||||
|
||||
@ -243,7 +243,7 @@ define([
|
||||
$recorded.append(h('span.cp-support-recorded-insert',
|
||||
Messages.support_insertRecorded));
|
||||
let $span = $(h('span')).appendTo($recorded);
|
||||
let $fakeMore = $(h('button.btn.btn-secondary.fa.fa-ellipsis-h')).appendTo($recorded);
|
||||
let $fakeMore = $(h('button.btn.btn-secondary.fa.fa-ellipsis-h.cp-fake-dropdown')).appendTo($recorded);
|
||||
let opts = [];
|
||||
|
||||
let all = recorded.all;
|
||||
@ -253,7 +253,9 @@ define([
|
||||
return a - b;
|
||||
};
|
||||
let overflow = false;
|
||||
let maxWidth = $recorded.width();
|
||||
let $label = $recorded.find('.cp-support-recorded-insert');
|
||||
let maxWidth = $recorded.width() - $label.outerWidth(true)
|
||||
- $fakeMore.outerWidth(true);
|
||||
Object.keys(all).sort(sort).forEach(id => {
|
||||
let action = () => {
|
||||
insertText(all[id].content);
|
||||
@ -265,10 +267,8 @@ define([
|
||||
if (!overflow) {
|
||||
let button = h('button.btn.btn-secondary', id);
|
||||
$span.append(button);
|
||||
let margin = parseFloat(getComputedStyle($fakeMore[0]).marginRight);
|
||||
let buttonWidth = $fakeMore.width();
|
||||
let current = $span.width();
|
||||
if ((current + buttonWidth + margin) < maxWidth) {
|
||||
if (current < maxWidth) {
|
||||
return Util.onClickEnter($(button), action);
|
||||
}
|
||||
$(button).remove();
|
||||
@ -429,6 +429,8 @@ define([
|
||||
$show.prop('disabled', 'disabled');
|
||||
if (visible && !force) {
|
||||
return onHide(ticket, id, content, function () {
|
||||
$(tagsContainer).hide();
|
||||
$(tagsList).show();
|
||||
$ticket.toggleClass('cp-not-loaded', true);
|
||||
visible = false;
|
||||
$(ticket).find('.cp-support-reply-cancel').click();
|
||||
@ -506,6 +508,17 @@ define([
|
||||
$list.toggle();
|
||||
$tags.toggle();
|
||||
});
|
||||
let close = h('button.btn.btn-secondary.cp-token-close', [
|
||||
h('i.fa.fa-times'),
|
||||
h('span', Messages.filePicker_close)
|
||||
]);
|
||||
Util.onClickEnter($(close), () => {
|
||||
$list.toggle(true);
|
||||
$tags.toggle(false);
|
||||
});
|
||||
setTimeout(() => {
|
||||
$tags.find('.cp-tokenfield-form').append(close);
|
||||
});
|
||||
}
|
||||
|
||||
adminActions = h('span.cp-support-title-buttons', [ url, move, tag, show ]);
|
||||
@ -520,7 +533,7 @@ define([
|
||||
}, [
|
||||
h('div.cp-support-ticket-header', [
|
||||
h('div.cp-support-header-data', [
|
||||
h('span', title),
|
||||
h('span.cp-support-ticket-title', title),
|
||||
ctx.isAdmin ? UI.setHTML(h(`span${isPremium}`), Messages._getKey('support_from', [name])) : '',
|
||||
h('span', new Date(content.time).toLocaleString()),
|
||||
tagsList
|
||||
|
||||
@ -297,7 +297,6 @@ define([
|
||||
var mkHelpMenu = function (framework) {
|
||||
var $appContainer = $('#cp-app-whiteboard-container');
|
||||
var helpMenu = framework._.sfCommon.createHelpMenu(['whiteboard']);
|
||||
|
||||
var $helpMenuButton = UIElements.getEntryFromButton(helpMenu.button);
|
||||
$appContainer.prepend(helpMenu.menu);
|
||||
framework._.toolbar.$drawer.append($helpMenuButton);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user