Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
commit
d64e1c450e
|
@ -0,0 +1,273 @@
|
|||
/* Flowchart variables */
|
||||
/* Sequence Diagram variables */
|
||||
/* Gantt chart variables */
|
||||
.mermaid .label {
|
||||
color: #333;
|
||||
}
|
||||
.node rect,
|
||||
.node circle,
|
||||
.node ellipse,
|
||||
.node polygon {
|
||||
fill: #ECECFF;
|
||||
stroke: #CCCCFF;
|
||||
stroke-width: 1px;
|
||||
}
|
||||
.edgePath .path {
|
||||
stroke: #333333;
|
||||
}
|
||||
.edgeLabel {
|
||||
background-color: #e8e8e8;
|
||||
}
|
||||
.cluster rect {
|
||||
fill: #ffffde !important;
|
||||
rx: 4 !important;
|
||||
stroke: #aaaa33 !important;
|
||||
stroke-width: 1px !important;
|
||||
}
|
||||
.cluster text {
|
||||
fill: #333;
|
||||
}
|
||||
.actor {
|
||||
stroke: #CCCCFF;
|
||||
fill: #ECECFF;
|
||||
}
|
||||
text.actor {
|
||||
fill: black;
|
||||
stroke: none;
|
||||
}
|
||||
.actor-line {
|
||||
stroke: grey;
|
||||
}
|
||||
.messageLine0 {
|
||||
stroke-width: 1.5;
|
||||
stroke-dasharray: "2 2";
|
||||
marker-end: "url(#arrowhead)";
|
||||
stroke: #333;
|
||||
}
|
||||
.messageLine1 {
|
||||
stroke-width: 1.5;
|
||||
stroke-dasharray: "2 2";
|
||||
stroke: #333;
|
||||
}
|
||||
#arrowhead {
|
||||
fill: #333;
|
||||
}
|
||||
#crosshead path {
|
||||
fill: #333 !important;
|
||||
stroke: #333 !important;
|
||||
}
|
||||
.messageText {
|
||||
fill: #333;
|
||||
stroke: none;
|
||||
}
|
||||
.labelBox {
|
||||
stroke: #CCCCFF;
|
||||
fill: #ECECFF;
|
||||
}
|
||||
.labelText {
|
||||
fill: black;
|
||||
stroke: none;
|
||||
}
|
||||
.loopText {
|
||||
fill: black;
|
||||
stroke: none;
|
||||
}
|
||||
.loopLine {
|
||||
stroke-width: 2;
|
||||
stroke-dasharray: "2 2";
|
||||
marker-end: "url(#arrowhead)";
|
||||
stroke: #CCCCFF;
|
||||
}
|
||||
.note {
|
||||
stroke: #aaaa33;
|
||||
fill: #fff5ad;
|
||||
}
|
||||
.noteText {
|
||||
fill: black;
|
||||
stroke: none;
|
||||
font-family: 'trebuchet ms', verdana, arial;
|
||||
font-size: 14px;
|
||||
}
|
||||
/** Section styling */
|
||||
.section {
|
||||
stroke: none;
|
||||
opacity: 0.2;
|
||||
}
|
||||
.section0 {
|
||||
fill: rgba(102, 102, 255, 0.49);
|
||||
}
|
||||
.section2 {
|
||||
fill: #fff400;
|
||||
}
|
||||
.section1,
|
||||
.section3 {
|
||||
fill: white;
|
||||
opacity: 0.2;
|
||||
}
|
||||
.sectionTitle0 {
|
||||
fill: #333;
|
||||
}
|
||||
.sectionTitle1 {
|
||||
fill: #333;
|
||||
}
|
||||
.sectionTitle2 {
|
||||
fill: #333;
|
||||
}
|
||||
.sectionTitle3 {
|
||||
fill: #333;
|
||||
}
|
||||
.sectionTitle {
|
||||
text-anchor: start;
|
||||
font-size: 11px;
|
||||
text-height: 14px;
|
||||
}
|
||||
/* Grid and axis */
|
||||
.grid .tick {
|
||||
stroke: lightgrey;
|
||||
opacity: 0.3;
|
||||
shape-rendering: crispEdges;
|
||||
}
|
||||
.grid path {
|
||||
stroke-width: 0;
|
||||
}
|
||||
/* Today line */
|
||||
.today {
|
||||
fill: none;
|
||||
stroke: red;
|
||||
stroke-width: 2px;
|
||||
}
|
||||
/* Task styling */
|
||||
/* Default task */
|
||||
.task {
|
||||
stroke-width: 2;
|
||||
}
|
||||
.taskText {
|
||||
text-anchor: middle;
|
||||
font-size: 11px;
|
||||
}
|
||||
.taskTextOutsideRight {
|
||||
fill: black;
|
||||
text-anchor: start;
|
||||
font-size: 11px;
|
||||
}
|
||||
.taskTextOutsideLeft {
|
||||
fill: black;
|
||||
text-anchor: end;
|
||||
font-size: 11px;
|
||||
}
|
||||
/* Specific task settings for the sections*/
|
||||
.taskText0,
|
||||
.taskText1,
|
||||
.taskText2,
|
||||
.taskText3 {
|
||||
fill: white;
|
||||
}
|
||||
.task0,
|
||||
.task1,
|
||||
.task2,
|
||||
.task3 {
|
||||
fill: #8a90dd;
|
||||
stroke: #534fbc;
|
||||
}
|
||||
.taskTextOutside0,
|
||||
.taskTextOutside2 {
|
||||
fill: black;
|
||||
}
|
||||
.taskTextOutside1,
|
||||
.taskTextOutside3 {
|
||||
fill: black;
|
||||
}
|
||||
/* Active task */
|
||||
.active0,
|
||||
.active1,
|
||||
.active2,
|
||||
.active3 {
|
||||
fill: #bfc7ff;
|
||||
stroke: #534fbc;
|
||||
}
|
||||
.activeText0,
|
||||
.activeText1,
|
||||
.activeText2,
|
||||
.activeText3 {
|
||||
fill: black !important;
|
||||
}
|
||||
/* Completed task */
|
||||
.done0,
|
||||
.done1,
|
||||
.done2,
|
||||
.done3 {
|
||||
stroke: grey;
|
||||
fill: lightgrey;
|
||||
stroke-width: 2;
|
||||
}
|
||||
.doneText0,
|
||||
.doneText1,
|
||||
.doneText2,
|
||||
.doneText3 {
|
||||
fill: black !important;
|
||||
}
|
||||
/* Tasks on the critical line */
|
||||
.crit0,
|
||||
.crit1,
|
||||
.crit2,
|
||||
.crit3 {
|
||||
stroke: #ff8888;
|
||||
fill: red;
|
||||
stroke-width: 2;
|
||||
}
|
||||
.activeCrit0,
|
||||
.activeCrit1,
|
||||
.activeCrit2,
|
||||
.activeCrit3 {
|
||||
stroke: #ff8888;
|
||||
fill: #bfc7ff;
|
||||
stroke-width: 2;
|
||||
}
|
||||
.doneCrit0,
|
||||
.doneCrit1,
|
||||
.doneCrit2,
|
||||
.doneCrit3 {
|
||||
stroke: #ff8888;
|
||||
fill: lightgrey;
|
||||
stroke-width: 2;
|
||||
cursor: pointer;
|
||||
shape-rendering: crispEdges;
|
||||
}
|
||||
.doneCritText0,
|
||||
.doneCritText1,
|
||||
.doneCritText2,
|
||||
.doneCritText3 {
|
||||
fill: black !important;
|
||||
}
|
||||
.activeCritText0,
|
||||
.activeCritText1,
|
||||
.activeCritText2,
|
||||
.activeCritText3 {
|
||||
fill: black !important;
|
||||
}
|
||||
.titleText {
|
||||
text-anchor: middle;
|
||||
font-size: 18px;
|
||||
fill: black;
|
||||
}
|
||||
/*
|
||||
|
||||
|
||||
*/
|
||||
.node text {
|
||||
font-family: 'trebuchet ms', verdana, arial;
|
||||
font-size: 14px;
|
||||
}
|
||||
div.mermaidTooltip {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
max-width: 200px;
|
||||
padding: 2px;
|
||||
font-family: 'trebuchet ms', verdana, arial;
|
||||
font-size: 12px;
|
||||
background: #ffffde;
|
||||
border: 1px solid #aaaa33;
|
||||
border-radius: 2px;
|
||||
pointer-events: none;
|
||||
z-index: 100;
|
||||
}
|
|
@ -77,7 +77,7 @@ define([
|
|||
// Settings only
|
||||
common.resetDrive = function (cb) {
|
||||
postMessage("RESET_DRIVE", null, function (obj) {
|
||||
if (obj.error) { return void cb(obj.error); }
|
||||
if (obj && obj.error) { return void cb(obj.error); }
|
||||
cb();
|
||||
});
|
||||
};
|
||||
|
|
|
@ -20,7 +20,7 @@ define([
|
|||
init: function () {}
|
||||
};
|
||||
|
||||
require(['/code/mermaid.js'], function (_Mermaid) {
|
||||
require(['/code/mermaid.js', 'css!/code/mermaid.css'], function (_Mermaid) {
|
||||
Mermaid = _Mermaid;
|
||||
});
|
||||
|
||||
|
|
|
@ -679,7 +679,9 @@ define([
|
|||
'#fm-btn-save { display: none !important; }' +
|
||||
'#panel-settings-general tr.autosave { display: none !important; }' +
|
||||
'#panel-settings-general tr.coauth { display: none !important; }' +
|
||||
'#header { display: none !important; }';
|
||||
'#header { display: none !important; }' +
|
||||
'#id-toolbar-full-placeholder-btn-insertimage { display: none; }' +
|
||||
'#id-toolbar-full-placeholder-btn-insertequation { display: none; }';
|
||||
$('<style>').text(css).appendTo($tb);
|
||||
if (UI.findOKButton().length) {
|
||||
UI.findOKButton().on('focusout', function () {
|
||||
|
|
|
@ -635,7 +635,7 @@ define([
|
|||
nThen(function (waitFor) {
|
||||
removeOwnedPads(waitFor);
|
||||
}).nThen(function () {
|
||||
store.proxy.drive = store.fo.getStructure();
|
||||
store.proxy.drive = store.userObject.getStructure();
|
||||
sendDriveEvent('DRIVE_CHANGE', {
|
||||
path: ['drive', 'filesData']
|
||||
}, clientId);
|
||||
|
|
|
@ -142,6 +142,7 @@ define([
|
|||
showTrailingSpace : true,
|
||||
styleActiveLine : true,
|
||||
search: true,
|
||||
inputStyle: 'contenteditable',
|
||||
highlightSelectionMatches: {showToken: /\w+/},
|
||||
extraKeys: {"Shift-Ctrl-R": undefined},
|
||||
foldGutter: true,
|
||||
|
@ -355,11 +356,12 @@ define([
|
|||
};
|
||||
|
||||
exp.mkIndentSettings = function (metadataMgr) {
|
||||
var setIndentation = function (units, useTabs, fontSize) {
|
||||
var setIndentation = function (units, useTabs, fontSize, spellcheck) {
|
||||
if (typeof(units) !== 'number') { return; }
|
||||
editor.setOption('indentUnit', units);
|
||||
editor.setOption('tabSize', units);
|
||||
editor.setOption('indentWithTabs', useTabs);
|
||||
editor.setOption('spellcheck', spellcheck);
|
||||
if (!useTabs) {
|
||||
editor.setOption("extraKeys", {
|
||||
Tab: function() {
|
||||
|
@ -377,6 +379,7 @@ define([
|
|||
var indentKey = 'indentUnit';
|
||||
var useTabsKey = 'indentWithTabs';
|
||||
var fontKey = 'fontSize';
|
||||
var spellcheckKey = 'spellcheck';
|
||||
var updateIndentSettings = function () {
|
||||
if (!metadataMgr) { return; }
|
||||
var data = metadataMgr.getPrivateData().settings;
|
||||
|
@ -384,10 +387,12 @@ define([
|
|||
var indentUnit = data[indentKey];
|
||||
var useTabs = data[useTabsKey];
|
||||
var fontSize = data[fontKey];
|
||||
var spellcheck = data[spellcheckKey];
|
||||
setIndentation(
|
||||
typeof(indentUnit) === 'number'? indentUnit : 2,
|
||||
typeof(useTabs) === 'boolean'? useTabs : false,
|
||||
typeof(fontSize) === 'number' ? fontSize : 12);
|
||||
typeof(fontSize) === 'number' ? fontSize : 12,
|
||||
typeof(spellcheck) === 'boolean' ? spellcheck : false);
|
||||
};
|
||||
metadataMgr.onChangeLazy(updateIndentSettings);
|
||||
updateIndentSettings();
|
||||
|
|
|
@ -1,2 +1,309 @@
|
|||
{
|
||||
"main_title": "CryptPad: Null innsikt, samarbeid i sanntid",
|
||||
"type": {
|
||||
"pad": "Rik tekst",
|
||||
"code": "Kode",
|
||||
"poll": "Avstemming",
|
||||
"kanban": "Kanban",
|
||||
"slide": "Presentasjon",
|
||||
"file": "Fil",
|
||||
"todo": "Oppgaver",
|
||||
"contacts": "Kontakter",
|
||||
"sheet": "Regneark (beta)"
|
||||
},
|
||||
"button_newpad": "Nytt tekstdokument",
|
||||
"button_newcode": "Ny kode-pad",
|
||||
"button_newpoll": "Ny avstemming",
|
||||
"button_newslide": "Ny presentasjon",
|
||||
"button_newwhiteboard": "Nytt whiteboard",
|
||||
"button_newkanban": "Ny Kanban",
|
||||
"button_newsheet": "Nytt regneark",
|
||||
"common_connectionLost": "<b>Frakoblet server</b><br>Beklager, du er i lesemodus inntil vi har koblet deg opp igjen.",
|
||||
"websocketError": "Beklager, vi får ikke koblet opp websocket-serveren…",
|
||||
"typeError": "Dette dokumentet er ikke kompatibelt med det valgte programmet",
|
||||
"onLogout": "Du er logget av, {0}klikk her{1} for å logge inn<br>eller trykk <em>Escape</em> for å se dokumentet i lesemodus.",
|
||||
"wrongApp": "Beklager, vi får ikke vist økta i nettleseren din. Vennligst forsøk å laste inn siden på nytt.",
|
||||
"padNotPinned": "Denne pad-en vil automatisk utgå på dato etter 3 måneder uten aktivitet, {0}logg inn{1} eller {2}registrer deg{3} for å ta vare på den.",
|
||||
"anonymousStoreDisabled": "Beklager, denne CryptPad-en er ikke tilgjengelig for anonyme brukere. Vennligst logg inn for å bruke CryptDrive.",
|
||||
"expiredError": "Vi beklager, denne paden har gått ut på dato og er ikke tilgjengelig.",
|
||||
"deletedError": "Vi beklager, denne pad-en er sletta og er ikke lenger tilgjengelig.",
|
||||
"inactiveError": "Vi beklager, denne pad-en har blitt sletta pga. inaktivitet. Vennligst trykk Esc for å lage en ny.",
|
||||
"chainpadError": "Vi beklager, en kritisk feil oppstod. Denne siden er i lesemodus slik at du ikke mister arbeidet.<br>Trykk <em>Esc</em> for å fortsette, eller forsøk å laste inn sida på nytt.",
|
||||
"invalidHashError": "Vi beklager, dokumentet du ba om har en ugyldig link.",
|
||||
"errorCopy": " Du kan ta vare på dette innholdet ved å trykke <em>Esc</em>.<br>Om du forlater denne sida er innholdet borte!",
|
||||
"errorRedirectToHome": "Trykk <em>Esc</em> for å videresendes til din CryptDrive.",
|
||||
"newVersionError": "Jej, en en ny versjon av CryptPad er her.<br><a href='#'>Last inn</a> eller trykk Esc for å redigere innholdet i <b>offline modus</b>.",
|
||||
"loading": "Laster…",
|
||||
"error": "Feil",
|
||||
"saved": "Lagret",
|
||||
"synced": "Alt er lagra",
|
||||
"deleted": "Pad-en er sletta fra din CryptDrive",
|
||||
"deletedFromServer": "Pad-en er sletta fra serveren",
|
||||
"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.",
|
||||
"disconnected": "Frakoblet",
|
||||
"synchronizing": "Synkroniserer",
|
||||
"reconnecting": "Kobler opp igjen",
|
||||
"typing": "Redigerer",
|
||||
"initializing": "Setter i gang…",
|
||||
"forgotten": "Flytta til papirkurven",
|
||||
"errorState": "Kritisk feil: {0}",
|
||||
"lag": "Treighet",
|
||||
"readonly": "Skrivebeskyttet",
|
||||
"anonymous": "Anonym",
|
||||
"yourself": "Deg selv",
|
||||
"anonymousUsers": "anonyme redigerere",
|
||||
"anonymousUser": "anonym redaktør",
|
||||
"users": "Brukere",
|
||||
"and": "Og",
|
||||
"viewer": "leser",
|
||||
"viewers": "lesere",
|
||||
"editor": "redigerer",
|
||||
"editors": "redigerere",
|
||||
"userlist_offline": "Du er frakobla, brukerlista er ikke tilgjengelig.",
|
||||
"language": "Språk",
|
||||
"comingSoon": "Kommer snart…",
|
||||
"newVersion": "<b>CryptPad er oppdatert!</b><br>Sjekk siste nytt:<br><a href=\"https://github.com/xwiki-labs/cryptpad/releases/tag/{0}\" target=\"_blank\">Versjonsinnhold for CryptPad {0}</a>",
|
||||
"upgrade": "Oppgrader",
|
||||
"upgradeTitle": "Vennligst oppgrader kontoen din for å øke lagringskvota",
|
||||
"upgradeAccount": "Oppgrader kontoen",
|
||||
"MB": "Megabyte",
|
||||
"GB": "Gigabyte",
|
||||
"KB": "Kilobyte",
|
||||
"supportCryptpad": "Støtt CryptPad",
|
||||
"greenLight": "Alt funker fint",
|
||||
"orangeLight": "Om du sitter på en treig oppkobling kan det gjøre ting litt funky",
|
||||
"redLight": "Beklager, du er frakobla økta",
|
||||
"pinLimitReached": "Beklager, du har brukt lagringskvota di",
|
||||
"pinLimitReachedAlert": "Beklager, du har brukt opp lagringskvota di. Nye pads kan ikke lagres i CryptDriven din.<br>Du kan enten slette eksisterende pads fra CryptDriven eller <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">velge et premium abonnement</a> for å øke lagringskvota.",
|
||||
"pinLimitReachedAlertNoAccounts": "Beklager, du har brukt lagringskvota di",
|
||||
"pinLimitNotPinned": "Beklager, du har brukt opp lagringskvota di. <>Denne paden kan ikke lagres i din CryptDrive.",
|
||||
"pinLimitDrive": "Beklager, du har brukt opp lagringskvota di. <br>Du kan desverre ikke lage nye pads.",
|
||||
"moreActions": "Flere handlinger",
|
||||
"importButton": "Importer",
|
||||
"importButtonTitle": "Importer en pad fra en fil på maskina di",
|
||||
"exportButton": "Eksporter",
|
||||
"exportButtonTitle": "Eksporter denne paden til en fil lokalt på maskina di",
|
||||
"exportPrompt": "Hva vil du kalle fila?",
|
||||
"changeNamePrompt": "Endre navnet ditt (eller la stå blankt for å være anonym): ",
|
||||
"user_rename": "Endre visningsnavnet ditt",
|
||||
"user_displayName": "Visningsnavn",
|
||||
"user_accountName": "Kontonavn",
|
||||
"clickToEdit": "Klikk for å redigere",
|
||||
"saveTitle": "Lagre denne tittelen (enter)",
|
||||
"forgetButton": "Slett",
|
||||
"forgetButtonTitle": "Flytt denne paden til papirkurven",
|
||||
"forgetPrompt": "Om du klikker OK vil denne paden bli flytta til papirkurven. Er du sikker på det?",
|
||||
"movedToTrash": "Denne paden er flytta til papirkurven.<br><a href=\"/drive/\">Gå til Driven min</a>",
|
||||
"shareButton": "Del",
|
||||
"shareSuccess": "Linken er kopiert",
|
||||
"userListButton": "Brukerliste",
|
||||
"userAccountButton": "Kontoen din",
|
||||
"newButton": "Ny",
|
||||
"newButtonTitle": "Lag en ny pad",
|
||||
"uploadButton": "Last opp filer",
|
||||
"uploadButtonTitle": "Last opp en ny fil til denne mappa",
|
||||
"saveTemplateButton": "Lagre som mal",
|
||||
"saveTemplatePrompt": "Velg et navn på malen",
|
||||
"templateSaved": "Malen er lagra!",
|
||||
"selectTemplate": "Velg en mal eller trykk escape",
|
||||
"useTemplate": "Vil du starte fra en mal?",
|
||||
"useTemplateOK": "Velg en mal (Enter)",
|
||||
"useTemplateCancel": "Start fra nytt (Esc)",
|
||||
"template_import": "Importer en mal",
|
||||
"template_empty": "Ingen mal du kan velge fra",
|
||||
"previewButtonTitle": "Vis eller skjul Markdown forhåndsvisning",
|
||||
"presentButtonTitle": "Gå i presentasjonsmodus",
|
||||
"backgroundButtonTitle": "Endre bakgrunnsfargen til presentasjonen",
|
||||
"colorButtonTitle": "Endre tekstfargen i presentasjonsmodus",
|
||||
"propertiesButton": "Egenskaper",
|
||||
"propertiesButtonTitle": "Se pad-egenskapene",
|
||||
"printText": "Skriv ut",
|
||||
"printButton": "Skriv ut (enter)",
|
||||
"printButtonTitle2": "Skriv ut dokumentet eller eksporter til PDF",
|
||||
"printOptions": "Layout-valg",
|
||||
"printSlideNumber": "Vis slide-nummeret",
|
||||
"printDate": "Vis datoen",
|
||||
"printTitle": "Vis pad-tittelen",
|
||||
"printCSS": "Egne stilformater (CSS):",
|
||||
"printTransition": "Slå på overgangsanimasjoner",
|
||||
"printBackground": "Bruk som bakgrunnsbilde",
|
||||
"printBackgroundButton": "Velg et bilde",
|
||||
"printBackgroundValue": "<b>Nåværende bakgrunn:</b> <em>{0}</em>",
|
||||
"printBackgroundNoValue": "<em>Ingen bakgrunnsbilder å vise</em>",
|
||||
"printBackgroundRemove": "Fjern dette bakgrunnsbildet",
|
||||
"filePickerButton": "Legg til en fil fra din CryptDrive",
|
||||
"filePicker_close": "Lukk",
|
||||
"filePicker_description": "Legg til en fil fra din CryptDrive eller last opp en ny fil",
|
||||
"filePicker_filter": "Filtrer filer basert på filnavn",
|
||||
"or": "eller",
|
||||
"tags_title": "Tags (kun for ditt bruk)",
|
||||
"tags_add": "Oppdater tags for denne sida",
|
||||
"tags_searchHint": "Søk med # i CryptDriven din for å finne pads med slike tags.",
|
||||
"tags_notShared": "Dine tags deles ikke med andre brukerer",
|
||||
"tags_duplicate": "Dupliser tag:{0}",
|
||||
"tags_noentry": "Du kan ikke tagge en sletta pad!",
|
||||
"slideOptionsText": "Valg",
|
||||
"slideOptionsTitle": "Mekk på dine slides",
|
||||
"slideOptionsButton": "Lagre (Enter)",
|
||||
"slide_invalidLess": "Ugyldig custom-stil",
|
||||
"languageButton": "Språk",
|
||||
"languageButtonTitle": "Velg språket du vil bruke for kodefarge",
|
||||
"themeButton": "Tema",
|
||||
"themeButtonTitle": "Velg fargetema du vil bruke når du redigerer kode og presentasjoner",
|
||||
"editShare": "Redigerer link",
|
||||
"editShareTitle": "Kopier link",
|
||||
"editOpenTitle": "Åpne denne paden i redigeringsmodus i en ny fane",
|
||||
"viewShare": "Linken kan bare leses",
|
||||
"viewShareTitle": "Kopier lesbar link",
|
||||
"viewOpen": "Åpne link i lesemodus i ny fane",
|
||||
"viewOpenTitle": "Åpne denne paden i lesemodus i en ny fane",
|
||||
"fileShare": "Kopier linken",
|
||||
"getEmbedCode": "Hent innlagt kode",
|
||||
"viewEmbedTitle": "Legg inn paden i en ekstern side",
|
||||
"canvas_width": "Bredde",
|
||||
"canvas_opacity": "Gjennomsiktighet",
|
||||
"canvas_opacityLabel": "Gjennomsiktighet:{0}",
|
||||
"canvas_widthLabel": "Bredde: {0}",
|
||||
"canvas_saveToDrive": "Lagre dette bildet som en fil i CryptDriven",
|
||||
"canvas_currentBrush": "Gjeldende pensel",
|
||||
"canvas_chooseColor": "Velg farge",
|
||||
"canvas_imageEmbed": "Legg til et bilde fra datamaskina di",
|
||||
"profileButton": "Profil",
|
||||
"profile_urlPlaceholder": "Link",
|
||||
"profile_namePlaceholder": "Profilvisningsnavn",
|
||||
"profile_upload": " Last opp en ny avatar",
|
||||
"profile_uploadSizeError": "Beklager, avataren må være mindre enn {0}",
|
||||
"sharedFolders_create_password": "Mappepassord",
|
||||
"sharedFolders_share": "Del denne linken med andre registrerte brukere for å gi dem tilgang. Når de åpner linken så vil denne delte mappa legges i deres CryptDrive.",
|
||||
"chrome68": "Det ser ut som du bruker Chrome eller Chromium versjon 68. Denne nettlesern inneholder en bug som gjør at enkelte sider blir hvite. Bytt til en annen fane eller forsøk å scrolle i siden.",
|
||||
"autostore_file": "fil",
|
||||
"autostore_sf": "mappe",
|
||||
"autostore_pad": "",
|
||||
"autostore_notstored": "Denne {0} er ikke i CryptDriven din. Vil du lagre den?",
|
||||
"autostore_settings": "Du kan slå på automatisk lagring i <a href=\"/settings/\">1Setting</a>2 sida!",
|
||||
"autostore_store": "Lager",
|
||||
"autostore_hide": "Ikke lagre",
|
||||
"autostore_error": "Beklager, vi greier ikke å lagre paden, vennligst forsøk igjen.",
|
||||
"autostore_saved": "Denne paden ble lagra i CryptDriven din!",
|
||||
"autostore_forceSave": "Lagre fila i CryptDriven",
|
||||
"autostore_notAvailable": "Du må lagre paden i CryptDriven før du kan bruke denne funksjonen.",
|
||||
"crowdfunding_home1": "CryptPad trenger hjelp fra deg!",
|
||||
"crowdfunding_home2": "Trykk på knappen for å finne ut mer om folkefinansieringspakka vår.",
|
||||
"crowdfunding_button": "Støtt CryptPad",
|
||||
"crowdfunding_popup_yes": "Gå til OpenCollective",
|
||||
"crowdfunding_popup_no": "Ikke nå",
|
||||
"crowdfunding_popup_never": "Ikke spør igjen takk",
|
||||
"markdown_toc": "Innhold",
|
||||
"fm_expirablePad": "Denne paden vill utgå på dato den {0}",
|
||||
"admin_authError": "Kun admin-tilgang",
|
||||
"admin_cat_general": "Generelt",
|
||||
"admin_cat_stats": "Statistikk",
|
||||
"adminPage": "Administrasjon",
|
||||
"admin_activeSessionsTitle": "Aktive tilkoblinger",
|
||||
"admin_activeSessionsHint": "Antall aktive websockets (og unike IP-adresser tilkobla)",
|
||||
"admin_activePadsTitle": "Aktive pads",
|
||||
"admin_activePadsHint": "Antall unike dokumenter som er åpne akkurat nå",
|
||||
"admin_registeredTitle": "Registrerte brukere",
|
||||
"admin_registeredHint": "Antall registrerte brukere på din økt",
|
||||
"admin_updateLimitTitle": "Oppdater brukerkvoter",
|
||||
"admin_updateLimitHint": "Å tvinge gjennom en oppdatering av lagringskvoter kan gjøres når som helst, men er kun nødvendig om det oppstår en feil",
|
||||
"admin_updateLimitButton": "Oppdater kvoter",
|
||||
"admin_updateLimitDone": "Oppdatering gjennomført",
|
||||
"admin_flushCacheTitle": "Tøm HTTP cache",
|
||||
"admin_flushCacheHint": "Tving brukerne til å laste ned siste oppdatering (kun hvis serveren er i \"fresh mode\")",
|
||||
"admin_flushCacheButton": "Tøm mellomlager (cache)",
|
||||
"admin_flushCacheDone": "Mellomlageret (cache) ble tømt",
|
||||
"footer_product": "Produktet",
|
||||
"footer_team": "Laget",
|
||||
"footer_donate": "Doner",
|
||||
"footer_legal": "Juridisk",
|
||||
"footer_tos": "Betingelser",
|
||||
"contact_admin": "Kontakt administratorne",
|
||||
"contact_adminHint": "For problemer med kontoen, lagringsgrenser eller tilgang generelt.",
|
||||
"contact_dev": "Kontakt utviklerne",
|
||||
"contact_devHint": "For å sende inn forslag, forbedringer eller takksigelser.",
|
||||
"contact_bug": "Feilrapport",
|
||||
"contact_email": "Epost",
|
||||
"profile_uploadTypeError": "Feilmelding: avatartypen er desverre ikke tillatt. Tillatte typer er: {0}",
|
||||
"profile_error": "Det oppstod en feil med den nye profilen din: {0}",
|
||||
"profile_register": "Vennligst logg inn for å lage en profil!",
|
||||
"profile_create": "Lag en ny profil",
|
||||
"profile_description": "Beskrivelse",
|
||||
"profile_fieldSaved": "Ny verdi er lagret:{0}",
|
||||
"profile_inviteButton": "Koble til",
|
||||
"profile_inviteButtonTitle": "Lag en invitasjonslink til denne brukeren.",
|
||||
"profile_inviteExplanation": "Om du klikker <strong>OK</strong> vil vi lage en link til en sikker meldingsøkt som <em>bare {0} kan hente.</em><br><br>Linken kan deles fritt fra utklippstavla di.",
|
||||
"profile_viewMyProfile": "Se profilen min",
|
||||
"userlist_addAsFriendTitle": "Legg til \"{0}\" som ny kontakt",
|
||||
"userlist_thisIsYou": "Dette er deg (\"{0}\")",
|
||||
"userlist_pending": "Venter…",
|
||||
"contacts_title": "Kontakter",
|
||||
"contacts_addError": "Beklager feil, kontakten ble ikke lagt til i lista",
|
||||
"contacts_added": "Kontaktinvitasjon er akseptert.",
|
||||
"contacts_rejected": "Kontaktinvitasjonen ble avvist",
|
||||
"contacts_request": "<em>{0}</em> vil legge deg til som ny kontakt. <b>Akseptere<b>?",
|
||||
"contacts_remove": "Fjern denne kontakten",
|
||||
"contacts_confirmRemove": "Er du sikker på at du vil fjerne <em>{0}</em> fra kontaktlista di?",
|
||||
"contacts_typeHere": "Skriv en melding her…",
|
||||
"contacts_warning": "Alt du skriver her kan sees av alle fremtidige brukere av denne paden. Vær forsiktig med å dele sensitiv informasjon!",
|
||||
"contacts_info1": "Dette er dine kontakter. Herfra kan du:",
|
||||
"contacts_info2": "Klikk på en kontakt for å snakke",
|
||||
"contacts_info3": "Dobbeltklikk for å se profilen",
|
||||
"contacts_info4": "Alle deltagere kan slette meldingsloggen",
|
||||
"contacts_removeHistoryTitle": "Slett meldingsloggen",
|
||||
"contacts_confirmRemoveHistory": "Er du sikker på at du vil slette meldingsloggen? Du kan ikke få tilbake meldingene",
|
||||
"contacts_removeHistoryServerError": "Beklager feil, vi greidde ikke å slette meldingsloggen, vennligst forsøk igjen",
|
||||
"contacts_fetchHistory": "Hent mer historikk",
|
||||
"contacts_friends": "Venner",
|
||||
"contacts_rooms": "Rom",
|
||||
"contacts_leaveRoom": "Forlat rommet",
|
||||
"contacts_online": "En annen romkamerat er online",
|
||||
"debug_getGraph": "Hent koden for å lage en graf fra dette dokumentet",
|
||||
"debug_getGraphWait": "Lager graf… vennligst vent.",
|
||||
"debug_getGraphText": "Her er DOT-koden for å lage en graf av dokumenthistorikken:",
|
||||
"fm_rootName": "Dokumenter",
|
||||
"fm_trashName": "Papirkurv",
|
||||
"fm_unsortedName": "Usorterte filer",
|
||||
"fm_filesDataName": "Alle filer",
|
||||
"fm_templateName": "Maler",
|
||||
"fm_searchName": "Søk",
|
||||
"fm_recentPadsName": "Nylig brukte pads",
|
||||
"fm_ownedPadsName": "Dine",
|
||||
"fm_tagsName": "Tagger",
|
||||
"fm_sharedFolderName": "Delt mappe",
|
||||
"fm_searchPlaceholder": "Søk…",
|
||||
"fm_newButton": "Ny",
|
||||
"fm_newButtonTitle": "Lag en ny pad eller mappe, importer fila til denne mappa",
|
||||
"fm_newFolder": "Ny mappe",
|
||||
"fm_newFile": "Ny pad",
|
||||
"fm_folder": "Mappe",
|
||||
"fm_sharedFolder": "Delt mappe",
|
||||
"fm_folderName": "Mappenavn",
|
||||
"fm_numberOfFolders": "# mapper",
|
||||
"fm_numberOfFiles": "# filer",
|
||||
"fm_fileName": "Filnavn",
|
||||
"fm_title": "Tittel",
|
||||
"fm_lastAccess": "Siste tilgang",
|
||||
"fm_creation": "Skaperverk",
|
||||
"fm_forbidden": "Ulovlig handling",
|
||||
"fm_originalPath": "Original filsti",
|
||||
"fm_openParent": "Vis i mappe",
|
||||
"fm_noname": "Dokument uten navn",
|
||||
"fm_emptyTrashDialog": "Er du sikker på at du vil tømme papirkurven?",
|
||||
"fm_removeSeveralPermanentlyDialog": "Er du helt sikker på at du vil slette {0} ting fra CryptDriven din?",
|
||||
"fm_removePermanentlyNote": "Dine pads vil slettes fra serveren om du velger å fortsette.",
|
||||
"fm_removePermanentlyDialog": "Er du helt sikker på at du vil slette den tingen fra CryptDriven din?",
|
||||
"fm_removeSeveralDialog": "Er du sikker på at du vil slette disse {0} tingene?",
|
||||
"fm_removeDialog": "Er du sikker på at du vil legge {0} i papirkurven?",
|
||||
"fm_deleteOwnedPad": "Er du helt sikker på at du vil slette denne paden fra serveren?",
|
||||
"fm_deleteOwnedPads": "Er du helt sikker på at du vil fjerne disse padene fra serveren?",
|
||||
"fm_restoreDialog": "Er du sikker på at du vil legge {0} tilbake?",
|
||||
"fm_unknownFolderError": "Mappa du har valgt eksisterer desverre ikke lenger. Vi åpner mappa over…",
|
||||
"fm_contextMenuError": "Beklager, vi får ikke til å åpne kontekstmenyen for den tingen. Om feilen vedvarer vennligst last inn nettsida på nytt.",
|
||||
"fm_selectError": "Beklager vi får ikke til å velge elementet du ønsker. Om problemet vedvarer vennligst forsøk å laste inn sida på nytt.",
|
||||
"fm_categoryError": "Beklager vi får ikke til å åpne kategorien du har valgt, vi viser rotmappa nå.",
|
||||
"fm_info_root": "Her kan du lage så mange undermapper du ønsker.",
|
||||
"fm_info_unsorted": "Inneholder alle filer du har besøkt som enda ikke er lagt til i \"Dokumenter\" eller er flytta til \"Papirkurven\"."
|
||||
}
|
||||
|
|
|
@ -461,5 +461,58 @@
|
|||
"profile_inviteButtonTitle": "Crează un link prin care să inviți acest utilizator să se conecteze cu tine.",
|
||||
"profile_inviteExplanation": "Dând click pe <strong>OK</strong> va crea un link către o sesiune de mesagerie securizată pe care <em>numai {0} o vor putea reda.</em><br><br>Linkul va fi copiat către memoria temporară locală și poate fi distribuit public.",
|
||||
"userlist_addAsFriendTitle": "Adaugă \"{0}\" în lista de contacte",
|
||||
"userlist_thisIsYou": "Acesta ești tu (\"{0}\")"
|
||||
"userlist_thisIsYou": "Acesta ești tu (\"{0}\")",
|
||||
"canvas_currentBrush": "Culoarea curentă",
|
||||
"profile_viewMyProfile": "Vizualizare profil",
|
||||
"userlist_pending": "Așteaptă...",
|
||||
"contacts_title": "Contacte",
|
||||
"contacts_addError": "A apărut o eroare în timpul adăugării la lista de contacte",
|
||||
"contacts_added": "Invitația din partea contactului acceptată",
|
||||
"contacts_rejected": "Invitația din partea contactului refuzată",
|
||||
"contacts_request": "<em>{0}</em> ar dori să vă adauge la lista de contacte. <b>Acceptati<b>?",
|
||||
"contacts_send": "Trimite",
|
||||
"contacts_remove": "Șterge acest contact",
|
||||
"contacts_confirmRemove": "Ești sigur ca vrei să-l ștergi pe <em>1{0}</em>2 din lista de contacte?",
|
||||
"contacts_typeHere": "Scrie un mesaj aici...",
|
||||
"contacts_warning": "Tot ce scrii aici va rămâne și va fi vizibil pentru toți utilizatorii curenți și viitori ai acestui pad. Ai grijă la informațiile confidențiale!",
|
||||
"contacts_padTitle": "Chat",
|
||||
"contacts_info1": "Acestea sunt contactele tale. De aici, poți:",
|
||||
"contacts_info2": "Dă click pe iconița contactului tău pentru a începe un chat cu el",
|
||||
"contacts_info3": "Dă dublu-click pe iconița contactului pentru a-i vizualiza profilul",
|
||||
"contacts_info4": "Ambii participanți pot șterge definitiv istoricul unui chat",
|
||||
"contacts_removeHistoryTitle": "Șterge istoricul chat-ului",
|
||||
"contacts_confirmRemoveHistory": "Ești sigur că vrei să ștergi definitiv istoricul chat-ului? Datele nu vor putea fi recuperate",
|
||||
"contacts_removeHistoryServerError": "A apărut o eroare în timpul ștergerii istoricului chat-ului. Te rugăm să încerci mai târziu",
|
||||
"contacts_fetchHistory": "Recuperează istoricul mai vechi",
|
||||
"contacts_friends": "Prieteni",
|
||||
"contacts_rooms": "Camere",
|
||||
"contacts_leaveRoom": "Părăsește această cameră",
|
||||
"contacts_online": "Un alt utilizator din această cameră este online",
|
||||
"debug_getGraph": "Obține codul pentru a genera un grafic al acestui document",
|
||||
"debug_getGraphWait": "Generarea graficului este în curs...Te rugăm să aștepți",
|
||||
"debug_getGraphText": "Acesta este codul DOT pentru a genera un grafic al istoricului documentului",
|
||||
"fm_recentPadsName": "Pad-uri recente",
|
||||
"fm_ownedPadsName": "Pad-urile mele",
|
||||
"fm_tagsName": "Etichete",
|
||||
"fm_sharedFolderName": "Dosar partajat",
|
||||
"fm_sharedFolder": "Dosar partajat",
|
||||
"fm_removePermanentlyNote": "Pad-urile tale vor fi șterse de pe server dacă vei continua",
|
||||
"fm_deleteOwnedPad": "Ești sigur că vrei să ștergi definitiv acest pad de pe server?",
|
||||
"fm_deleteOwnedPads": "Ești sigur că vrei să ștergi definitiv aceste pad-uri de pe server?",
|
||||
"fm_info_recent": "Listează pad-urile deschise sau modificate recent",
|
||||
"fm_info_sharedFolder": "Acesta este un dosar partajat. Deoarece nu ești logat, îl poți vizualiza doar în modul citire.<br><a href=\"/register/\">Înscrie-te</a> sau <a href=\"/loghează-te/\">Log in</a> pentru a-l putea importa in CryptDrive-ul tău si a-l modifica.",
|
||||
"fm_info_owned": "Ești proprietarul pad-urilor afișate aici. Acest lucru înseamna că le poți șterge definitiv de pe server oricând vei dori. Dacă decizi să le ștergi, alți utilizatori nu le vor mai putea accesa.",
|
||||
"fm_error_cantPin": "O eroare internă de server a apărut. Te rugăm să reîncarci pagina și să încerci din nou.",
|
||||
"fm_viewListButton": "Vizualizează sub formă de listă",
|
||||
"fm_viewGridButton": "Vizualizează în mod grilă",
|
||||
"fm_renamedPad": "Ai setat un nume personalizat pentru acest pad. Titlul oficial este:<br><b>{0}</b>",
|
||||
"fm_canBeShared": "Acest dosar poate fi partajat",
|
||||
"fm_prop_tagsList": "Etichete",
|
||||
"fm_burnThisDriveButton": "Șterge toate informațiile păstrate de CryptPad in browserul tău",
|
||||
"fm_burnThisDrive": "Ești sigur că vrei să ștergi toate informațiile păstrate de CryptPad în browserul tău?<br>Această actiune va înlătura CryptPad și istoricul său din browserul tău, dar pad-urile tale vor fi păstrate (criptate) pe serverul nostru.",
|
||||
"fm_padIsOwned": "Ești proprietarul acestui pad",
|
||||
"fm_padIsOwnedOther": "Acest pad îi aparține altui utilizator",
|
||||
"fm_deletedPads": "Aceste pad-uri nu mai există pe server, au fost șterse din CryptDrive: {0}",
|
||||
"fm_tags_name": "Numele etichetei",
|
||||
"fm_tags_used": "Numărul de utilizări"
|
||||
}
|
||||
|
|
|
@ -317,5 +317,6 @@
|
|||
"kanban_item": "Элемент {0}",
|
||||
"poll_p_encryption": "Все ваши данные зашифрованы, доступ к ним имеют только пользователи, имеющие доступ к этой ссылке. Даже сервер не видит, что вы меняете.",
|
||||
"wizardLog": "Нажмите кнопку в левом верхнем углу, чтобы вернуться к опросу",
|
||||
"poll_bookmark_col": "Добавить этот столбец в закладку, чтобы он всегда был разблокирован и отображался для вас в начале"
|
||||
"poll_bookmark_col": "Добавить этот столбец в закладку, чтобы он всегда был разблокирован и отображался для вас в начале",
|
||||
"poll_bookmarked_col": "Это твоя колонка закладок. Она всегда будет разблокирована и отображаться для вас в начале."
|
||||
}
|
||||
|
|
|
@ -85,6 +85,7 @@ define([
|
|||
'cp-settings-code-indent-unit',
|
||||
'cp-settings-code-indent-type',
|
||||
'cp-settings-code-font-size',
|
||||
'cp-settings-code-spellcheck',
|
||||
],
|
||||
'subscription': {
|
||||
onClick: function () {
|
||||
|
@ -1467,6 +1468,44 @@ define([
|
|||
return $div;
|
||||
};
|
||||
|
||||
create['code-spellcheck'] = function () {
|
||||
var $div = $('<div>', {
|
||||
'class': 'cp-settings-code-spellcheck cp-sidebarlayout-element'
|
||||
});
|
||||
$('<label>').text(Messages.settings_codeSpellcheckTitle).appendTo($div);
|
||||
//$('<span>', {'class': 'cp-sidebarlayout-description'})
|
||||
// .text(Messages.settings_padSpellcheckHint).appendTo($div);
|
||||
|
||||
var $ok = $('<span>', {'class': 'fa fa-check', title: Messages.saved});
|
||||
var $spinner = $('<span>', {'class': 'fa fa-spinner fa-pulse'});
|
||||
|
||||
var $cbox = $(UI.createCheckbox('cp-settings-code-spellcheck',
|
||||
Messages.settings_codeSpellcheckLabel,
|
||||
false, { label: {class: 'noTitle'} }));
|
||||
var $checkbox = $cbox.find('input').on('change', function () {
|
||||
$spinner.show();
|
||||
$ok.hide();
|
||||
var val = $checkbox.is(':checked');
|
||||
common.setAttribute(['codemirror', 'spellcheck'], val, function () {
|
||||
$spinner.hide();
|
||||
$ok.show();
|
||||
});
|
||||
});
|
||||
$cbox.appendTo($div);
|
||||
|
||||
$ok.hide().appendTo($cbox);
|
||||
$spinner.hide().appendTo($cbox);
|
||||
|
||||
common.getAttribute(['codemirror', 'spellcheck'], function (e, val) {
|
||||
if (e) { return void console.error(e); }
|
||||
if (val) {
|
||||
$checkbox.attr('checked', 'checked');
|
||||
}
|
||||
});
|
||||
return $div;
|
||||
};
|
||||
|
||||
|
||||
// Settings app
|
||||
|
||||
var createUsageButton = function () {
|
||||
|
|
Loading…
Reference in New Issue