Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
commit
2e9217031a
customize.dist/pages
scripts
www
admin
checkup
notifications
settings
teams
|
@ -1,13 +1,13 @@
|
|||
define([
|
||||
'jquery',
|
||||
'/common/hyperscript.js',
|
||||
'/common/common-util.js',
|
||||
'/customize/messages.js',
|
||||
'/customize/application_config.js',
|
||||
'/common/outer/local-store.js',
|
||||
'/customize/pages.js',
|
||||
'/api/config',
|
||||
], function ($, h, Util, Msg, AppConfig, LocalStore, Pages, Config) {
|
||||
'/common/common-ui-elements.js',
|
||||
], function ($, h, Msg, AppConfig, LocalStore, Pages, Config, UIElements) {
|
||||
var accounts = {
|
||||
donateURL: AppConfig.donateURL || "https://opencollective.com/cryptpad/",
|
||||
upgradeURL: AppConfig.upgradeURL
|
||||
|
@ -44,26 +44,26 @@ define([
|
|||
var SPECIAL_GROUP_ITEMS = {};
|
||||
SPECIAL_GROUP_ITEMS.storage0 = function (f) {
|
||||
return groupItemTemplate(
|
||||
Msg['features_f_' + f],
|
||||
Msg._getKey('features_f_' + f + '_note', [Config.inactiveTime])
|
||||
Msg['features_f_' + f], // .features_f_storage0
|
||||
Msg._getKey('features_f_' + f + '_note', [Config.inactiveTime]) // .features_f_storage0_note
|
||||
);
|
||||
};
|
||||
SPECIAL_GROUP_ITEMS.file1 = function (f) {
|
||||
return groupItemTemplate(
|
||||
Msg['features_f_' + f],
|
||||
Msg._getKey('features_f_' + f + '_note', [Config.maxUploadSize / 1024 / 1024])
|
||||
Msg['features_f_' + f], // .features_f_file1
|
||||
Msg._getKey('features_f_' + f + '_note', [Config.maxUploadSize / 1024 / 1024]) // .features_f_file1_note
|
||||
);
|
||||
};
|
||||
SPECIAL_GROUP_ITEMS.storage1 = function (f) {
|
||||
return groupItemTemplate(
|
||||
Msg._getKey('features_f_' + f, [Util.getPrettySize(Config.defaultStorageLimit, Msg)]),
|
||||
Msg['features_f_' + f + '_note']
|
||||
Msg._getKey('features_f_' + f, [UIElements.prettySize(Config.defaultStorageLimit)]), // .features_f_storage1
|
||||
Msg['features_f_' + f + '_note'] // .features_f_storage1_note
|
||||
);
|
||||
};
|
||||
SPECIAL_GROUP_ITEMS.storage2 = function (f) {
|
||||
return groupItemTemplate(
|
||||
Msg['features_f_' + f],
|
||||
Msg._getKey('features_f_' + f + '_note', [Config.premiumUploadSize / 1024 / 1024])
|
||||
Msg['features_f_' + f], // .features_f_storage2
|
||||
Msg._getKey('features_f_' + f + '_note', [Config.premiumUploadSize / 1024 / 1024]) // .features_f_storage2_note
|
||||
);
|
||||
};
|
||||
|
||||
|
@ -81,7 +81,13 @@ define([
|
|||
h('div.text-center', '0€'),
|
||||
h('div.text-center', Msg.features_noData),
|
||||
]),
|
||||
h('ul.list-group.list-group-flush', ['apps', 'file0', 'core', 'cryptdrive0', 'storage0'].map(groupItem)),
|
||||
h('ul.list-group.list-group-flush', [
|
||||
'apps',
|
||||
'file0', // Msg.features_f_file0, .features_f_file0_note
|
||||
'core', // Msg.features_f_core, Msg.features_f_core_note
|
||||
'cryptdrive0', // Msg.features_f_cryptdrive0, .features_f_cryptdrive0_note
|
||||
'storage0'
|
||||
].map(groupItem)),
|
||||
]),
|
||||
]);
|
||||
|
||||
|
@ -95,7 +101,14 @@ define([
|
|||
h('div.text-center', '0€'),
|
||||
h('div.text-center', Msg.features_noData),
|
||||
]),
|
||||
h('ul.list-group.list-group-flush', ['anon', 'social', 'file1', 'cryptdrive1', 'devices', 'storage1'].map(groupItem)),
|
||||
h('ul.list-group.list-group-flush', [
|
||||
'anon', // Msg.features_f_anon, .features_f_anon_note
|
||||
'social', // Msg.features_f_social, .features_f_social_note
|
||||
'file1',
|
||||
'cryptdrive1', // Msg.features_f_cryptdrive1, .features_f_cryptdrive1_note
|
||||
'devices', // Msg.features_f_devices, .features_f_devices_note
|
||||
'storage1' // Msg.features_f_storage1, .features_f_storage1_note
|
||||
].map(groupItem)),
|
||||
h('div.card-body',[
|
||||
h('div.cp-features-register#cp-features-register', [
|
||||
h('a', {
|
||||
|
@ -118,7 +131,12 @@ define([
|
|||
}, Msg._getKey('features_pricing', ['5', '10', '15']))),
|
||||
h('div.text-center', Msg.features_emailRequired),
|
||||
]),
|
||||
h('ul.list-group.list-group-flush', ['reg', 'storage2', 'support', 'supporter'].map(groupItem)),
|
||||
h('ul.list-group.list-group-flush', [
|
||||
'reg', // Msg.features_f_reg, .features_f_reg_note
|
||||
'storage2',
|
||||
'support', // Msg.features_f_support, .features_f_support_note
|
||||
'supporter' // Msg.features_f_supporter, .features_f_supporter_note
|
||||
].map(groupItem)),
|
||||
h('div.card-body',[
|
||||
h('div.cp-features-register#cp-features-subscribe', [
|
||||
premiumButton
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
"lint:js": "jshint --config .jshintrc --exclude-path .jshintignore .",
|
||||
"lint:server": "jshint --config .jshintrc lib",
|
||||
"lint:less": "./node_modules/lesshint/bin/lesshint -c ./.lesshintrc ./customize.dist/src/less2/",
|
||||
"lint:translations": "node ./scripts/unused-translations.js",
|
||||
"test": "node scripts/TestSelenium.js",
|
||||
"test-rpc": "cd scripts/tests && node test-rpc",
|
||||
"template": "cd customize.dist/src && for page in ../index.html ../privacy.html ../terms.html ../contact.html ../what-is-cryptpad.html ../features.html ../../www/login/index.html ../../www/register/index.html ../../www/user/index.html;do echo $page; cp template.html $page; done;",
|
||||
|
|
|
@ -76,7 +76,8 @@ var grep = function (pattern, cb) {
|
|||
return void cb(err);
|
||||
}
|
||||
if (/data\-localization/.test(stdout)) {
|
||||
return cb(void 0, true, "DATA_LOCALIZATION", stdout);
|
||||
return cb(void 0, false);
|
||||
//return cb(void 0, true, "DATA_LOCALIZATION", stdout);
|
||||
}
|
||||
if (/(Messages|Msg|messages)\./.test(stdout) || /(footLink|footerCol)/.test(stdout)) {
|
||||
return cb(void 0, false);
|
||||
|
|
|
@ -8,6 +8,7 @@ define([
|
|||
'/common/hyperscript.js',
|
||||
'/customize/messages.js',
|
||||
'/common/common-interface.js',
|
||||
'/common/common-ui-elements.js',
|
||||
'/common/common-util.js',
|
||||
'/common/common-hash.js',
|
||||
'/common/common-signing-keys.js',
|
||||
|
@ -26,6 +27,7 @@ define([
|
|||
h,
|
||||
Messages,
|
||||
UI,
|
||||
UIElements,
|
||||
Util,
|
||||
Hash,
|
||||
Keys,
|
||||
|
@ -40,20 +42,20 @@ define([
|
|||
var sFrameChan;
|
||||
|
||||
var categories = {
|
||||
'general': [
|
||||
'general': [ // Msg.admin_cat_general
|
||||
'cp-admin-flush-cache',
|
||||
'cp-admin-update-limit',
|
||||
'cp-admin-archive',
|
||||
'cp-admin-unarchive',
|
||||
// 'cp-admin-registration',
|
||||
],
|
||||
'quota': [
|
||||
'quota': [ // Msg.admin_cat_quota
|
||||
'cp-admin-defaultlimit',
|
||||
'cp-admin-setlimit',
|
||||
'cp-admin-getquota',
|
||||
'cp-admin-getlimits',
|
||||
],
|
||||
'stats': [
|
||||
'stats': [ // Msg.admin_cat_stats
|
||||
'cp-admin-refresh-stats',
|
||||
'cp-admin-active-sessions',
|
||||
'cp-admin-active-pads',
|
||||
|
@ -61,11 +63,11 @@ define([
|
|||
'cp-admin-registered',
|
||||
'cp-admin-disk-usage',
|
||||
],
|
||||
'support': [
|
||||
'support': [ // Msg.admin_cat_support
|
||||
'cp-admin-support-list',
|
||||
'cp-admin-support-init'
|
||||
],
|
||||
'performance': [
|
||||
'performance': [ // Msg.admin_cat_performance
|
||||
'cp-admin-refresh-performance',
|
||||
'cp-admin-performance-profiling',
|
||||
]
|
||||
|
@ -73,7 +75,7 @@ define([
|
|||
|
||||
var create = {};
|
||||
|
||||
var makeBlock = function (key, addButton) {
|
||||
var makeBlock = function (key, addButton) { // Title, Hint, maybeButton
|
||||
// Convert to camlCase for translation keys
|
||||
var safeKey = key.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); });
|
||||
|
||||
|
@ -90,7 +92,7 @@ define([
|
|||
};
|
||||
create['update-limit'] = function () {
|
||||
var key = 'update-limit';
|
||||
var $div = makeBlock(key, true);
|
||||
var $div = makeBlock(key, true); // Msg.admin_updateLimitHint, .admin_updateLimitTitle, .admin_updateLimitButton
|
||||
$div.find('button').click(function () {
|
||||
sFrameChan.query('Q_UPDATE_LIMIT', null, function (e, res) {
|
||||
if (e || (res && res.error)) { return void console.error(e || res.error); }
|
||||
|
@ -101,7 +103,7 @@ define([
|
|||
};
|
||||
create['flush-cache'] = function () {
|
||||
var key = 'flush-cache';
|
||||
var $div = makeBlock(key, true);
|
||||
var $div = makeBlock(key, true); // Msg.admin_flushCacheHint, .admin_flushCacheTitle, .admin_flushCacheButton
|
||||
var called = false;
|
||||
$div.find('button').click(function () {
|
||||
if (called) { return; }
|
||||
|
@ -225,14 +227,14 @@ define([
|
|||
|
||||
create['archive'] = function () {
|
||||
var key = 'archive';
|
||||
var $div = makeBlock(key, true);
|
||||
var $div = makeBlock(key, true); // Msg.admin_archiveHint, .admin_archiveTitle, .admin_archiveButton
|
||||
var $button = $div.find('button');
|
||||
archiveForm(true, $div, $button);
|
||||
return $div;
|
||||
};
|
||||
create['unarchive'] = function () {
|
||||
var key = 'unarchive';
|
||||
var $div = makeBlock(key, true);
|
||||
var $div = makeBlock(key, true); // Msg.admin_unarchiveHint, .admin_unarchiveTitle, .admin_unarchiveButton
|
||||
var $button = $div.find('button');
|
||||
archiveForm(false, $div, $button);
|
||||
return $div;
|
||||
|
@ -240,7 +242,7 @@ define([
|
|||
|
||||
create['registration'] = function () {
|
||||
var key = 'registration';
|
||||
var $div = makeBlock(key, true);
|
||||
var $div = makeBlock(key, true); // Msg.admin_registrationHint, .admin_registrationTitle, .admin_registrationButton
|
||||
var $button = $div.find('button');
|
||||
var state = APP.instanceStatus.restrictRegistration;
|
||||
if (state) {
|
||||
|
@ -273,16 +275,11 @@ define([
|
|||
return $div;
|
||||
};
|
||||
|
||||
var getPrettySize = function (bytes) { // XXX duplicate of UIElements.prettySize ?
|
||||
var unit = Util.magnitudeOfBytes(bytes);
|
||||
var value = unit === 'GB' ? Util.bytesToGigabytes(bytes) : Util.bytesToMegabytes(bytes);
|
||||
return unit === 'GB' ? Messages._getKey('formattedGB', [value])
|
||||
: Messages._getKey('formattedMB', [value]);
|
||||
};
|
||||
var getPrettySize = UIElements.prettySize;
|
||||
|
||||
create['defaultlimit'] = function () {
|
||||
var key = 'defaultlimit';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.admin_defaultlimitHint, .admin_defaultlimitTitle
|
||||
var _limit = APP.instanceStatus.defaultStorageLimit;
|
||||
var _limitMB = Util.bytesToMegabytes(_limit);
|
||||
var limit = getPrettySize(_limit);
|
||||
|
@ -322,7 +319,7 @@ define([
|
|||
};
|
||||
create['getlimits'] = function () {
|
||||
var key = 'getlimits';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.admin_getlimitsHint, .admin_getlimitsTitle
|
||||
APP.refreshLimits = function () {
|
||||
sFrameChan.query('Q_ADMIN_RPC', {
|
||||
cmd: 'GET_LIMITS',
|
||||
|
@ -385,7 +382,7 @@ define([
|
|||
|
||||
create['setlimit'] = function () {
|
||||
var key = 'setlimit';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.admin_setlimitHint, .admin_setlimitTitle
|
||||
|
||||
var user = h('input.cp-setlimit-key');
|
||||
var $key = $(user);
|
||||
|
@ -471,7 +468,7 @@ define([
|
|||
|
||||
create['getquota'] = function () {
|
||||
var key = 'getquota';
|
||||
var $div = makeBlock(key, true);
|
||||
var $div = makeBlock(key, true); // Msg.admin_getquotaHint, .admin_getquotaTitle, .admin_getquotaButton
|
||||
|
||||
var input = h('input#cp-admin-getquota', {
|
||||
type: 'text'
|
||||
|
@ -521,7 +518,7 @@ define([
|
|||
|
||||
create['active-sessions'] = function () {
|
||||
var key = 'active-sessions';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.admin_activeSessionsHint, .admin_activeSessionsTitle
|
||||
var onRefresh = function () {
|
||||
$div.find('pre').remove();
|
||||
sFrameChan.query('Q_ADMIN_RPC', {
|
||||
|
@ -539,7 +536,7 @@ define([
|
|||
};
|
||||
create['active-pads'] = function () {
|
||||
var key = 'active-pads';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.admin_activePadsHint, .admin_activePadsTitle
|
||||
var onRefresh = function () {
|
||||
$div.find('pre').remove();
|
||||
sFrameChan.query('Q_ADMIN_RPC', {
|
||||
|
@ -556,7 +553,7 @@ define([
|
|||
};
|
||||
create['open-files'] = function () {
|
||||
var key = 'open-files';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.admin_openFilesHint, .admin_openFilesTitle
|
||||
var onRefresh = function () {
|
||||
$div.find('pre').remove();
|
||||
sFrameChan.query('Q_ADMIN_RPC', {
|
||||
|
@ -573,7 +570,7 @@ define([
|
|||
};
|
||||
create['registered'] = function () {
|
||||
var key = 'registered';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.admin_registeredHint, .admin_registeredTitle
|
||||
var onRefresh = function () {
|
||||
$div.find('pre').remove();
|
||||
sFrameChan.query('Q_ADMIN_RPC', {
|
||||
|
@ -590,7 +587,7 @@ define([
|
|||
};
|
||||
create['disk-usage'] = function () {
|
||||
var key = 'disk-usage';
|
||||
var $div = makeBlock(key, true);
|
||||
var $div = makeBlock(key, true); // Msg.admin_diskUsageHint, .admin_diskUsageTitle, .admin_diskUsageButton
|
||||
var called = false;
|
||||
$div.find('button').click(function () {
|
||||
$div.find('button').hide();
|
||||
|
@ -628,7 +625,7 @@ define([
|
|||
var supportKey = ApiConfig.supportMailbox;
|
||||
create['support-list'] = function () {
|
||||
if (!supportKey || !APP.privateKey) { return; }
|
||||
var $container = makeBlock('support-list');
|
||||
var $container = makeBlock('support-list'); // Msg.admin_supportListHint, .admin_supportListTitle
|
||||
var $div = $(h('div.cp-support-container')).appendTo($container);
|
||||
|
||||
var catContainer = h('div.cp-dropdown-container');
|
||||
|
@ -893,7 +890,7 @@ define([
|
|||
};
|
||||
|
||||
create['support-init'] = function () {
|
||||
var $div = makeBlock('support-init');
|
||||
var $div = makeBlock('support-init'); // Msg.admin_supportInitHint, .admin_supportInitTitle
|
||||
if (!supportKey) {
|
||||
$div.append(h('p', Messages.admin_supportInitHelp));
|
||||
return $div;
|
||||
|
@ -945,7 +942,7 @@ define([
|
|||
};
|
||||
|
||||
create['performance-profiling'] = function () {
|
||||
var $div = makeBlock('performance-profiling');
|
||||
var $div = makeBlock('performance-profiling'); // Msg.admin_performanceProfilingHint, .admin_performanceProfilingTitle
|
||||
|
||||
var onRefresh = function () {
|
||||
var body = h('tbody');
|
||||
|
|
|
@ -55,7 +55,7 @@ define([
|
|||
assert(function (cb) {
|
||||
console.log(trimmedSafe);
|
||||
checkAvailability(trimmedSafe, cb);
|
||||
}, _alert("Sandbox domain is not available")); // XXX Blocked by CSP. try loading it via sframe ?
|
||||
}, _alert("Sandbox domain is not available")); // FIXME Blocked by CSP. try loading it via sframe ?
|
||||
|
||||
var row = function (cells) {
|
||||
return h('tr', cells.map(function (cell) {
|
||||
|
|
|
@ -34,10 +34,14 @@ define([
|
|||
};
|
||||
|
||||
UIElements.prettySize = function (bytes) {
|
||||
var kB = Util.bytesToKilobytes(bytes);
|
||||
if (kB < 1024) { return kB + Messages.KB; } // XXX replace with Msg.formattedKB ?
|
||||
var mB = Util.bytesToMegabytes(bytes);
|
||||
return mB + Messages.MB; // XXX replace with Msg.formattedMB
|
||||
var unit = Util.magnitudeOfBytes(bytes);
|
||||
if (unit === 'GB') {
|
||||
return Messages._getKey('formattedGB', [ Util.bytesToGigabytes(bytes)]);
|
||||
} else if (unit === 'MB') {
|
||||
return Messages._getKey('formattedMB', [ Util.bytesToMegabytes(bytes)]);
|
||||
} else {
|
||||
return Messages._getKey('formattedKB', [ Util.bytesToKilobytes(bytes)]);
|
||||
}
|
||||
};
|
||||
|
||||
UIElements.updateTags = function (common, hrefs) {
|
||||
|
|
|
@ -269,18 +269,11 @@
|
|||
|
||||
Util.magnitudeOfBytes = function (bytes) {
|
||||
if (bytes >= oneGigabyte) { return 'GB'; }
|
||||
else if (bytes >= oneMegabyte) { return 'MB'; }
|
||||
// smallest supported format is MB to preserve existing behaviour
|
||||
else /* if (bytes >= oneMegabyte) */ { return 'MB'; }
|
||||
//else { return 'KB'; }
|
||||
};
|
||||
|
||||
Util.getPrettySize = function (bytes, Messages) { // XXX not used anywhere?
|
||||
var unit = Util.magnitudeOfBytes(bytes);
|
||||
if (unit === 'GB') {
|
||||
return Messages._getKey('formattedGB', [Util.bytesToGigabytes(bytes)]);
|
||||
}
|
||||
return Messages._getKey('formattedMB', [Util.bytesToMegabytes(bytes)]);
|
||||
};
|
||||
|
||||
|
||||
// given a path, asynchronously return an arraybuffer
|
||||
var getCacheKey = function (src) {
|
||||
var _src = src.replace(/(\/)*$/, ''); // Remove trailing slashes
|
||||
|
|
|
@ -1233,5 +1233,8 @@
|
|||
"pad_settings_info": "Standardeinstellungen für dieses Dokument. Sie werden angewendet, wenn neue Benutzer dieses Dokument aufrufen.",
|
||||
"admin_getquotaHint": "Überprüfe anhand des öffentlichen Schlüssels die Gesamtgröße aller Elemente, die der Quota eines Benutzers oder Teams angerechnet werden.",
|
||||
"admin_getquotaTitle": "Speicherbelegung von Accounts überprüfen",
|
||||
"addOptionalPassword": "Passwort hinzufügen (optional)"
|
||||
"addOptionalPassword": "Passwort hinzufügen (optional)",
|
||||
"oo_lostEdits": "Leider konnten deine letzten ungespeicherten Bearbeitungen nach dem Synchronisieren neuer Inhalte nicht wiederhergestellt werden.",
|
||||
"fm_cantUploadHere": "Hochladen hier nicht möglich",
|
||||
"importError": "Import fehlgeschlagen (falsches Format)"
|
||||
}
|
||||
|
|
|
@ -917,7 +917,7 @@
|
|||
"support_formContentError": "Virhe: sisältö on tyhjä",
|
||||
"support_formTitleError": "Virhe: otsikko on tyhjä",
|
||||
"support_formButton": "Lähetä",
|
||||
"support_formHint": "Tällä lomakkeella voit luoda uuden palvelupyynnön. Käytä sitä ottaaksesi ylläpitäjiin yhteyttä ongelmatilanteissa tai kysyäksesi kysymyksiä turvallisella tavalla. Älä luo uutta palvelupyyntöä, jos olet jo luonut palvelupyynnön samasta ongelmasta, vaan käytä vastauspainiketta antaaksesi lisätietoja.",
|
||||
"support_formHint": "Käytä tätä lomaketta ottaaksesi ylläpitäjiin yhteyttä ongelmatilanteissa tai kysyäksesi kysymyksiä turvallisella tavalla. <br>Joihinkin ongelmiin ja kysymyksiin voi löytyä vastaus <a href=\"https://docs.cryptpad.fr/en/user_guide/index.html\" rel=\"noopener noreferrer\" target=\"_blank\">CryptPad-käyttäjäoppaasta (englanniksi)</a>. Ethän luo uusia tukipyyntöjä, jos sinulla on jo samaan ongelmaan liittyvä avoin tukipyyntö. Kommentoi sen sijaan alkuperäistä tukipyyntöäsi.",
|
||||
"support_formTitle": "Uusi palvelupyyntö",
|
||||
"support_cat_new": "Uusi palvelupyyntö",
|
||||
"support_disabledHint": "Tätä CryptPad-instanssia ei ole konfiguroitu tukilomaketta varten.",
|
||||
|
|
|
@ -9,7 +9,10 @@
|
|||
"file": "Fil",
|
||||
"todo": "Oppgaver",
|
||||
"contacts": "Kontakter",
|
||||
"sheet": "Regneark (beta)"
|
||||
"sheet": "Regneark",
|
||||
"teams": "Grupper",
|
||||
"media": "Media",
|
||||
"drive": "CryptDrive"
|
||||
},
|
||||
"button_newpad": "Nytt tekstdokument",
|
||||
"button_newcode": "Ny kode-pad",
|
||||
|
@ -34,8 +37,8 @@
|
|||
"loading": "Laster…",
|
||||
"error": "Feil",
|
||||
"saved": "Lagret",
|
||||
"deleted": "Pad-en er sletta fra din CryptDrive",
|
||||
"deletedFromServer": "Pad-en er sletta fra serveren",
|
||||
"deleted": "Sletta",
|
||||
"deletedFromServer": "Dokumentet er sletta",
|
||||
"mustLogin": "Du må være innlogga for å få tilgang til denne sida",
|
||||
"disabledApp": "Vi beklager, denne applikasjon er slått av. Kontakt eieren av denne pad-en om du vil vite mer.",
|
||||
"realtime_unrecoverableError": "Vi beklager, noe har gått skikkelig galt. Klikk OK for å laste innholdet på nytt.",
|
||||
|
@ -86,7 +89,7 @@
|
|||
"newButton": "Ny",
|
||||
"newButtonTitle": "Lag en ny pad",
|
||||
"uploadButton": "Last opp filer",
|
||||
"uploadButtonTitle": "Last opp en ny fil til denne mappa",
|
||||
"uploadButtonTitle": "Last opp en ny fil til CryptoDriven din",
|
||||
"saveTemplateButton": "Lagre som mal",
|
||||
"saveTemplatePrompt": "Velg et navn på malen",
|
||||
"templateSaved": "Malen er lagra!",
|
||||
|
@ -121,7 +124,7 @@
|
|||
"filePicker_description": "Legg til en fil fra din CryptDrive eller last opp en ny fil",
|
||||
"filePicker_filter": "Filtrer filer basert på filnavn",
|
||||
"tags_title": "Tags (kun for ditt bruk)",
|
||||
"tags_add": "Oppdater tags for denne sida",
|
||||
"tags_add": "Oppdater tags for valgte pads",
|
||||
"tags_notShared": "Dine tags deles ikke med andre brukerer",
|
||||
"tags_duplicate": "Dupliser tag:{0}",
|
||||
"tags_noentry": "Du kan ikke tagge en sletta pad!",
|
||||
|
@ -257,5 +260,32 @@
|
|||
"settings_exportDescription": "Vennligst vent mens vi laster ned og dekrypterer dokumentene dine. Lukker du fanen vil du avbryte nedlastingen.",
|
||||
"settings_exportFailed": "Hvis paden trenger mer enn 1 minutt på nedlastingen så vil den desverre ikke inkluderes i eksporteringen. I stedet vil en linke til paden vises.",
|
||||
"settings_exportWarning": "NB: denne funksjonen er beta og muligens ustabil. Vi anbefaler at du holder denne fanen i fokus.",
|
||||
"settings_exportCancel": "Er du sikker på at du vil avbryte eksporteringen? I så fall må du starte på nytt neste gang."
|
||||
"settings_exportCancel": "Er du sikker på at du vil avbryte eksporteringen? I så fall må du starte på nytt neste gang.",
|
||||
"uploadFolderButton": "Last opp mappe",
|
||||
"chatButton": "Chat",
|
||||
"formattedKB": "{0} KB",
|
||||
"formattedGB": "{0} GB",
|
||||
"formattedMB": "{0} MB",
|
||||
"storageStatus": "Lagringsplass:<br /><b>{0}</b> brukt, av <b>{1}</b>",
|
||||
"padNotPinnedVariable": "Denne pad-en utløper etter {4] dager med inaktivitet, {0}logg inn{1} eller {2}registrer deg{3} for å bevare regnearket.",
|
||||
"history_restoreTitle": "Gjenopprett den valgte dokumentversjonen",
|
||||
"history_closeTitle": "Lukk historikk",
|
||||
"history_loadMore": "Vis mer historikk",
|
||||
"history_prev": "Forrige versjon",
|
||||
"history_next": "Neste versjon",
|
||||
"historyButton": "Vis dokumenthistorikken",
|
||||
"historyText": "Historikk",
|
||||
"help_button": "Hjelp",
|
||||
"hide_help_button": "Skjul Hjelp",
|
||||
"show_help_button": "Vis Hjelp",
|
||||
"cancelButton": "Avslutt (esc)",
|
||||
"cancel": "Avslutt",
|
||||
"okButton": "Ok (enter)",
|
||||
"ok": "Ok",
|
||||
"notifyLeft": "{0} har forlatt gruppeøkta",
|
||||
"notifyRenamed": "{0} er nå bedre kjent som {1}",
|
||||
"notifyJoined": "{0} har blitt med i gruppeøkta",
|
||||
"fileEmbedTag": "Deretter plasserer du Media-taggen der du vil inkludere den:",
|
||||
"fileEmbedScript": "For å inkludere denne fila, inkluder dette skriptet på nettsida di:",
|
||||
"viewEmbedTag": "For å ta med denne pad-en, inkluder denne ifram på en nettside hvor du vil. Legg til stiler med CSS eller HTML."
|
||||
}
|
||||
|
|
|
@ -32,16 +32,16 @@ define([
|
|||
var sFrameChan;
|
||||
|
||||
var categories = {
|
||||
'all': [
|
||||
'all': [ // Msg.notifications_cat_all
|
||||
'cp-notifications-all',
|
||||
],
|
||||
'friends': [
|
||||
'friends': [ // Msg.notifications_cat_friends
|
||||
'cp-notifications-friends',
|
||||
],
|
||||
'pads': [
|
||||
'pads': [ // Msg.notifications_cat_pads
|
||||
'cp-notifications-pads',
|
||||
],
|
||||
'archived': [
|
||||
'archived': [ // Msg.notifications_cat_archived
|
||||
'cp-notifications-archived',
|
||||
],
|
||||
};
|
||||
|
|
|
@ -46,7 +46,7 @@ define([
|
|||
var sframeChan;
|
||||
|
||||
var categories = {
|
||||
'account': [
|
||||
'account': [ // Msg.settings_cat_account
|
||||
'cp-settings-own-drive',
|
||||
'cp-settings-info-block',
|
||||
'cp-settings-displayname',
|
||||
|
@ -55,14 +55,14 @@ define([
|
|||
'cp-settings-change-password',
|
||||
'cp-settings-delete'
|
||||
],
|
||||
'security': [
|
||||
'security': [ // Msg.settings_cat_security
|
||||
'cp-settings-logout-everywhere',
|
||||
'cp-settings-autostore',
|
||||
'cp-settings-safe-links',
|
||||
'cp-settings-userfeedback',
|
||||
'cp-settings-cache',
|
||||
],
|
||||
'style': [
|
||||
'style': [ // Msg.settings_cat_style
|
||||
'cp-settings-colortheme',
|
||||
'cp-settings-custom-theme',
|
||||
],
|
||||
|
@ -75,24 +75,24 @@ define([
|
|||
'cp-settings-trim-history'
|
||||
//'cp-settings-drive-reset'
|
||||
],
|
||||
'cursor': [
|
||||
'cursor': [ // Msg.settings_cat_cursor
|
||||
'cp-settings-cursor-color',
|
||||
'cp-settings-cursor-share',
|
||||
'cp-settings-cursor-show',
|
||||
],
|
||||
'pad': [
|
||||
'pad': [ // Msg.settings_cat_pad
|
||||
'cp-settings-pad-width',
|
||||
'cp-settings-pad-spellcheck',
|
||||
'cp-settings-pad-notif',
|
||||
],
|
||||
'code': [
|
||||
'code': [ // Msg.settings_cat_code
|
||||
'cp-settings-code-indent-unit',
|
||||
'cp-settings-code-indent-type',
|
||||
'cp-settings-code-brackets',
|
||||
'cp-settings-code-font-size',
|
||||
'cp-settings-code-spellcheck',
|
||||
],
|
||||
'kanban': [
|
||||
'kanban': [ // Msg.settings_cat_kanban
|
||||
'cp-settings-kanban-tags',
|
||||
],
|
||||
'subscription': {
|
||||
|
@ -364,7 +364,7 @@ define([
|
|||
return $div;
|
||||
};
|
||||
|
||||
makeBlock('cache', function (cb) {
|
||||
makeBlock('cache', function (cb) { // Msg.settings_cacheHint, .settings_cacheTitle
|
||||
var store = window.cryptpadStore;
|
||||
|
||||
var $cbox = $(UI.createCheckbox('cp-settings-cache',
|
||||
|
@ -412,10 +412,15 @@ define([
|
|||
]);
|
||||
}, true);
|
||||
|
||||
makeBlock('colortheme', function (cb) {
|
||||
makeBlock('colortheme', function (cb) { // Msg.settings_colorthemeHint .settings_colorthemeTitle
|
||||
var theme = window.cryptpadStore.store['colortheme'] || 'default';
|
||||
var os = window.cryptpadStore.store['colortheme_default'] || 'light';
|
||||
var values = ['default', 'light', 'dark'/*, 'custom'*/];
|
||||
var values = [
|
||||
'default', // Msg.settings_colortheme_default
|
||||
'light', // Msg.settings_colortheme_light
|
||||
'dark', // Msg.settings_colortheme_dark
|
||||
/* 'custom'*/ // Msg.settings_colortheme_custom
|
||||
];
|
||||
|
||||
var defaultTheme = Messages['settings_colortheme_'+os];
|
||||
var opts = h('div.cp-settings-radio-container', [
|
||||
|
@ -626,7 +631,7 @@ define([
|
|||
return $div;
|
||||
};
|
||||
|
||||
makeBlock('own-drive', function(cb, $div) {
|
||||
makeBlock('own-drive', function(cb, $div) { // Msg.settings_ownDriveHint, .settings_ownDriveTitle
|
||||
if (privateData.isDriveOwned || !common.isLoggedIn()) {
|
||||
return void cb(false);
|
||||
}
|
||||
|
@ -681,7 +686,7 @@ define([
|
|||
cb(form);
|
||||
}, true);
|
||||
|
||||
makeBlock('mediatag-size', function(cb) {
|
||||
makeBlock('mediatag-size', function(cb) { // Msg.settings_mediatagSizeHint, .settings_mediatagSizeTitle
|
||||
var $inputBlock = $('<div>', {
|
||||
'class': 'cp-sidebarlayout-input-block',
|
||||
});
|
||||
|
@ -735,7 +740,7 @@ define([
|
|||
|
||||
// Security
|
||||
|
||||
makeBlock('safe-links', function(cb) {
|
||||
makeBlock('safe-links', function(cb) { // Msg.settings_safeLinksTitle
|
||||
|
||||
var $cbox = $(UI.createCheckbox('cp-settings-safe-links',
|
||||
Messages.settings_safeLinksCheckbox,
|
||||
|
@ -1059,7 +1064,7 @@ define([
|
|||
$div.find('#cp-settings-trim-container').remove();
|
||||
cb(content);
|
||||
};
|
||||
makeBlock('trim-history', function(cb, $div) {
|
||||
makeBlock('trim-history', function(cb, $div) { // Msg.settings_trimHistoryHint, .settings_trimHistoryTitle
|
||||
if (!common.isLoggedIn()) { return void cb(false); }
|
||||
redrawTrimHistory(cb, $div);
|
||||
}, true);
|
||||
|
@ -1295,7 +1300,7 @@ define([
|
|||
return $div;
|
||||
};
|
||||
|
||||
makeBlock('pad-notif', function(cb) {
|
||||
makeBlock('pad-notif', function(cb) { // Msg.settings_padNotifHint, .settings_padNotifTitle
|
||||
var $cbox = $(UI.createCheckbox('cp-settings-pad-notif',
|
||||
Messages.settings_padNotifCheckbox,
|
||||
false, { label: { class: 'noTitle' } }));
|
||||
|
@ -1487,7 +1492,7 @@ define([
|
|||
};
|
||||
|
||||
|
||||
makeBlock('kanban-tags', function(cb) {
|
||||
makeBlock('kanban-tags', function(cb) { // Msg.settings_kanbanTagsHint, .settings_kanbanTagsTitle
|
||||
|
||||
var opt1 = UI.createRadio('cp-settings-kanban-tags', 'cp-settings-kanban-tags-and',
|
||||
Messages.settings_kanbanTagsAnd, false, {
|
||||
|
|
|
@ -39,10 +39,10 @@ define([
|
|||
var privateData;
|
||||
|
||||
var categories = {
|
||||
'tickets': [
|
||||
'tickets': [ // Msg.support_cat_tickets
|
||||
'cp-support-list',
|
||||
],
|
||||
'new': [
|
||||
'new': [ // Msg.support_cat_new
|
||||
'cp-support-language',
|
||||
'cp-support-form',
|
||||
],
|
||||
|
@ -86,7 +86,7 @@ define([
|
|||
// List existing (open?) tickets
|
||||
create['list'] = function () {
|
||||
var key = 'list';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.support_listHint, .support_listTitle
|
||||
$div.addClass('cp-support-container');
|
||||
var hashesById = {};
|
||||
|
||||
|
@ -166,7 +166,7 @@ define([
|
|||
// Create a new tickets
|
||||
create['form'] = function () {
|
||||
var key = 'form';
|
||||
var $div = makeBlock(key, true);
|
||||
var $div = makeBlock(key, true); // Msg.support_formHint, .support_formTitle, .support_formButton
|
||||
|
||||
var form = APP.support.makeForm();
|
||||
|
||||
|
@ -192,7 +192,7 @@ define([
|
|||
// Support is disabled...
|
||||
create['disabled'] = function () {
|
||||
var key = 'disabled';
|
||||
var $div = makeBlock(key);
|
||||
var $div = makeBlock(key); // Msg.support_disabledHint, .support_disabledTitle
|
||||
return $div;
|
||||
};
|
||||
|
||||
|
|
|
@ -124,8 +124,13 @@ define([
|
|||
};
|
||||
|
||||
var makeCategoryDropdown = function (ctx, container, onChange, all) {
|
||||
var categories = ['account', 'data', 'bug', 'other'];
|
||||
if (all) { categories.push('all'); }
|
||||
var categories = [
|
||||
'account', // Msg.support_cat_account
|
||||
'data', // Msg.support_cat_data
|
||||
'bug', // Msg.support_cat_bug
|
||||
'other' // Msg.support_cat_other
|
||||
];
|
||||
if (all) { categories.push('all'); } // Msg.support_cat_all
|
||||
categories = categories.map(function (key) {
|
||||
return {
|
||||
tag: 'a',
|
||||
|
|
|
@ -148,37 +148,37 @@ define([
|
|||
};
|
||||
|
||||
var mainCategories = {
|
||||
'list': [
|
||||
'list': [ // Msg.team_cat_list
|
||||
'cp-team-list',
|
||||
],
|
||||
'create': [
|
||||
'cp-team-create',
|
||||
],
|
||||
'general': [
|
||||
'general': [ // Msg.team_cat_general
|
||||
'cp-team-info',
|
||||
],
|
||||
'link': [
|
||||
'link': [ // Msg.team_cat_link
|
||||
'cp-team-link',
|
||||
],
|
||||
};
|
||||
var teamCategories = {
|
||||
'back': {
|
||||
'back': { // Msg.team_cat_back
|
||||
onClick: function (common) {
|
||||
closeTeam(common);
|
||||
}
|
||||
},
|
||||
'drive': [
|
||||
'drive': [ // Msg.team_cat_drive
|
||||
'cp-team-drive'
|
||||
],
|
||||
'members': [
|
||||
'members': [ // Msg.team_cat_members
|
||||
'cp-team-offline',
|
||||
'cp-team-roster'
|
||||
],
|
||||
'chat': [
|
||||
'chat': [ // Msg.team_cat_chat
|
||||
'cp-team-offline',
|
||||
'cp-team-chat'
|
||||
],
|
||||
'admin': [
|
||||
'admin': [ // Msg.team_cat_admin
|
||||
'cp-team-offline',
|
||||
'cp-team-edpublic',
|
||||
'cp-team-name',
|
||||
|
@ -996,7 +996,7 @@ define([
|
|||
cb(content);
|
||||
});
|
||||
|
||||
makeBlock('name', function (common, cb) {
|
||||
makeBlock('name', function (common, cb) { // Msg.team_nameHint, .team_nameTitle
|
||||
var $inputBlock = $('<div>', {'class': 'cp-sidebarlayout-input-block'});
|
||||
var $input = $('<input>', {
|
||||
'type': 'text',
|
||||
|
@ -1055,7 +1055,7 @@ define([
|
|||
});
|
||||
}, true);
|
||||
|
||||
makeBlock('avatar', function (common, cb) {
|
||||
makeBlock('avatar', function (common, cb) { // Msg.team_avatarHint, .team_avatarTitle
|
||||
// Upload
|
||||
var avatar = h('div.cp-team-avatar.cp-avatar');
|
||||
var $avatar = $(avatar);
|
||||
|
@ -1110,7 +1110,7 @@ define([
|
|||
});
|
||||
}, true);
|
||||
|
||||
makeBlock('export', function (common, cb) {
|
||||
makeBlock('export', function (common, cb) { // Msg.team_exportHint, .team_exportTitle
|
||||
// Backup all the pads
|
||||
var sframeChan = common.getSframeChannel();
|
||||
var privateData = common.getMetadataMgr().getPrivateData();
|
||||
|
@ -1152,7 +1152,7 @@ define([
|
|||
cb(button);
|
||||
}, true);
|
||||
|
||||
makeBlock('delete', function (common, cb, $div) {
|
||||
makeBlock('delete', function (common, cb, $div) { // Msg.team_deleteHint, .team_deleteTitle
|
||||
$div.addClass('cp-online');
|
||||
var deleteTeam = h('button.btn.btn-danger', Messages.team_deleteButton);
|
||||
var $ok = $('<span>', {'class': 'fa fa-check', title: Messages.saved}).hide();
|
||||
|
|
Loading…
Reference in New Issue