From d31523aa08d123f421248e249e2194f7689f0b06 Mon Sep 17 00:00:00 2001 From: John McLear Date: Fri, 17 Apr 2015 15:58:23 +0100 Subject: [PATCH 01/21] Update hooks_server-side.md --- doc/api/hooks_server-side.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/hooks_server-side.md b/doc/api/hooks_server-side.md index c7e7a43a..717abe75 100644 --- a/doc/api/hooks_server-side.md +++ b/doc/api/hooks_server-side.md @@ -254,7 +254,7 @@ var Changeset = require("ep_etherpad-lite/static/js/Changeset"); exports.getLineHTMLForExport = function (hook, context) { var header = _analyzeLine(context.attribLine, context.apool); if (header) { - return "<" + header + ">" + context.lineContents + ""; + return "<" + header + ">" + context.lineContent + ""; } } From ec7b3fc787bee9ea11547d1e8e5d8e160fdfc18e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=85kre=20Solberg?= Date: Wed, 22 Apr 2015 20:29:19 +0200 Subject: [PATCH 02/21] Adding support for providing intermediate CA certificates when running etherpad-lite with ssl through Node/expressjs --- settings.json.template | 1 + src/node/hooks/express.js | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/settings.json.template b/settings.json.template index 39c383ed..7d9c62cc 100644 --- a/settings.json.template +++ b/settings.json.template @@ -25,6 +25,7 @@ "ssl" : { "key" : "/path-to-your/epl-server.key", "cert" : "/path-to-your/epl-server.crt" + "ca": ["/path-to-your/epl-intermediate-cert1.crt", "/path-to-your/epl-intermediate-cert2.crt"] }, */ diff --git a/src/node/hooks/express.js b/src/node/hooks/express.js index 3abe41f8..1752f5d0 100644 --- a/src/node/hooks/express.js +++ b/src/node/hooks/express.js @@ -46,6 +46,13 @@ exports.restartServer = function () { key: fs.readFileSync( settings.ssl.key ), cert: fs.readFileSync( settings.ssl.cert ) }; + if (settings.ssl.ca) { + options.ca = []; + for(var i = 0; i < settings.ssl.ca.length; i++) { + var caFileName = settings.ssl.ca[i]; + options.ca.push(fs.readFileSync(caFileName)); + } + } var https = require('https'); server = https.createServer(options, app); From b4163fc8626a6671e9b80d2f372e2a601c5ab907 Mon Sep 17 00:00:00 2001 From: John McLear Date: Thu, 23 Apr 2015 17:27:54 +0100 Subject: [PATCH 03/21] fix docs --- doc/api/hooks_client-side.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/hooks_client-side.md b/doc/api/hooks_client-side.md index f9ad9147..aa027337 100644 --- a/doc/api/hooks_client-side.md +++ b/doc/api/hooks_client-side.md @@ -198,7 +198,7 @@ Things in context: 1. cc - the contentcollector object 2. state - the current state of the change being made 3. tname - the tag name of this node currently being processed -4. style - the style applied to the node (probably CSS) +4. styl - the style applied to the node (probably CSS) -- Note the typo 5. cls - the HTML class string of the node This hook is called before the content of a node is collected by the usual methods. The cc object can be used to do a bunch of things that modify the content of the pad. See, for example, the heading1 plugin for etherpad original. From b349a4f226825b16620b2f9a59d300b8fb4046c1 Mon Sep 17 00:00:00 2001 From: John McLear Date: Thu, 23 Apr 2015 17:49:08 +0100 Subject: [PATCH 04/21] probably fixes #2625 --- src/static/js/ace2_inner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js index 1120b2c1..a32c565b 100644 --- a/src/static/js/ace2_inner.js +++ b/src/static/js/ace2_inner.js @@ -612,7 +612,7 @@ function Ace2Inner(){ // So this has to be set to pre-wrap ;( // We need to file a bug w/ the Chromium team. if(browser.chrome){ - $("#innerdocbody").css({"white-space":"pre-wrap"}); + $("#innerdocbody, body.doesWrap > div").css({"white-space":"pre-wrap"}); } } From a6a8c4d909a38f6b07390e12f5f2d1007fcd8350 Mon Sep 17 00:00:00 2001 From: John McLear Date: Fri, 24 Apr 2015 07:07:18 +0100 Subject: [PATCH 05/21] provide a script that cleans up before running to save people doing rm rf src node_modules --- bin/cleanRun.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 bin/cleanRun.sh diff --git a/bin/cleanRun.sh b/bin/cleanRun.sh new file mode 100755 index 00000000..55bcf8a7 --- /dev/null +++ b/bin/cleanRun.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +#Move to the folder where ep-lite is installed +cd `dirname $0` + +#Was this script started in the bin folder? if yes move out +if [ -d "../bin" ]; then + cd "../" +fi + +ignoreRoot=0 +for ARG in $* +do + if [ "$ARG" = "--root" ]; then + ignoreRoot=1 + fi +done + +#Stop the script if its started as root +if [ "$(id -u)" -eq 0 ] && [ $ignoreRoot -eq 0 ]; then + echo "You shouldn't start Etherpad as root!" + echo "Please type 'Etherpad rocks my socks' or supply the '--root' argument if you still want to start it as root" + read rocks + if [ ! $rocks = "Etherpad rocks my socks" ] + then + echo "Your input was incorrect" + exit 1 + fi +fi + +#Clean the current environment +rm -rf src/node_modules + +#Prepare the enviroment +bin/installDeps.sh $* || exit 1 + +#Move to the node folder and start +echo "Started Etherpad..." + +SCRIPTPATH=`pwd -P` +node $SCRIPTPATH/node_modules/ep_etherpad-lite/node/server.js $* From 254edffa9ca4deebef189c10b7846adca72024db Mon Sep 17 00:00:00 2001 From: John McLear Date: Fri, 24 Apr 2015 14:17:49 +0100 Subject: [PATCH 06/21] fixes #2547 --- src/node/hooks/express.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/node/hooks/express.js b/src/node/hooks/express.js index 1752f5d0..17910e4b 100644 --- a/src/node/hooks/express.js +++ b/src/node/hooks/express.js @@ -69,6 +69,9 @@ exports.restartServer = function () { res.header("Strict-Transport-Security", "max-age=31536000; includeSubDomains"); } + // Stop IE going into compatability mode + // https://github.com/ether/etherpad-lite/issues/2547 + res.header("X-UA-Compatible", "IE=Edge,chrome=1"); res.header("Server", serverName); next(); }); From e1406b826b41f40b55d0816868444e5abd3efe09 Mon Sep 17 00:00:00 2001 From: John McLear Date: Sun, 26 Apr 2015 14:42:21 +0100 Subject: [PATCH 07/21] cleaner update logic doesnt error when nothing to do --- bin/updatePlugins.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bin/updatePlugins.sh b/bin/updatePlugins.sh index d696eca7..63c447ed 100755 --- a/bin/updatePlugins.sh +++ b/bin/updatePlugins.sh @@ -8,5 +8,13 @@ if [ -d "../bin" ]; then cd "../" fi -npm outdated --depth=0 | grep -v "^Package" | awk '{print $1}' | xargs npm install $1 --save-dev - +# npm outdated --depth=0 | grep -v "^Package" | awk '{print $1}' | xargs npm install $1 --save-dev +OUTDATED=`npm outdated --depth=0 | grep -v "^Package" | awk '{print $1}'` +# echo $OUTDATED +if test -n "$OUTDATED"; then + echo "Plugins require update, doing this now..." + echo "Updating $OUTDATED" + npm install $OUTDATED --save-dev +else + echo "Plugins are all up to date" +fi From 58ab17bf9e21cd5c5266f3f7c1de80eedc1821dd Mon Sep 17 00:00:00 2001 From: Luiza Pagliari Date: Tue, 28 Apr 2015 05:31:07 -0700 Subject: [PATCH 08/21] Fix the way Content Collector gets the node class. Fixes #2640 --- src/static/js/contentcollector.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/static/js/contentcollector.js b/src/static/js/contentcollector.js index 857e171f..5c1e8efb 100644 --- a/src/static/js/contentcollector.js +++ b/src/static/js/contentcollector.js @@ -71,8 +71,9 @@ function makeContentCollector(collectStyles, abrowser, apool, domInterface, clas }, nodeAttr: function(n, a) { - if(n.getAttribute == null) return null; - return n.getAttribute(a); + if(n.getAttribute != null) return n.getAttribute(a); + if(n.attribs != null) return n.attribs[a]; + return null; }, optNodeInnerHTML: function(n) { @@ -516,7 +517,7 @@ function makeContentCollector(collectStyles, abrowser, apool, domInterface, clas else if (!isEmpty) { var styl = dom.nodeAttr(node, "style"); - var cls = dom.nodeProp(node, "className"); + var cls = dom.nodeAttr(node, "class"); var isPre = (tname == "pre"); if ((!isPre) && abrowser.safari) { From dbb2956d2f13cd05a8c133b0160a10c5776441ac Mon Sep 17 00:00:00 2001 From: John McLear Date: Tue, 28 Apr 2015 15:48:12 +0100 Subject: [PATCH 09/21] allow chrome to use control shift 1 to send ordered list --- src/static/js/ace2_inner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js index a32c565b..5ec0127b 100644 --- a/src/static/js/ace2_inner.js +++ b/src/static/js/ace2_inner.js @@ -3900,7 +3900,7 @@ function Ace2Inner(){ doInsertUnorderedList() specialHandled = true; } - if ((!specialHandled) && isTypeForCmdKey && String.fromCharCode(which).toLowerCase() == "n" && (evt.metaKey || evt.ctrlKey) && evt.shiftKey) + if ((!specialHandled) && isTypeForCmdKey && (String.fromCharCode(which).toLowerCase() == "n" || String.fromCharCode(which) == 1) && (evt.metaKey || evt.ctrlKey) && evt.shiftKey) { // cmd-shift-N (orderedlist) fastIncorp(9); From 1f471b0f81d985416f75c5010edab6a06bd40e28 Mon Sep 17 00:00:00 2001 From: John McLear Date: Tue, 28 Apr 2015 23:41:55 +0100 Subject: [PATCH 10/21] show versions of plugins at startup, fixes #2642 --- src/node/server.js | 2 +- src/static/js/pluginfw/plugins.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/node/server.js b/src/node/server.js index 605ce847..2952da54 100755 --- a/src/node/server.js +++ b/src/node/server.js @@ -67,7 +67,7 @@ async.waterfall([ }, function (callback) { - console.info("Installed plugins: " + plugins.formatPlugins()); + console.info("Installed plugins: " + plugins.formatPluginsWithVersion()); console.debug("Installed parts:\n" + plugins.formatParts()); console.debug("Installed hooks:\n" + plugins.formatHooks()); diff --git a/src/static/js/pluginfw/plugins.js b/src/static/js/pluginfw/plugins.js index e02c1331..dfdf941e 100644 --- a/src/static/js/pluginfw/plugins.js +++ b/src/static/js/pluginfw/plugins.js @@ -26,6 +26,17 @@ exports.formatPlugins = function () { return _.keys(exports.plugins).join(", "); }; +exports.formatPluginsWithVersion = function () { + var plugins = []; + _.forEach(exports.plugins, function(plugin){ + if(plugin.package.name !== "ep_etherpad-lite"){ + var pluginStr = plugin.package.name + "@" + plugin.package.version; + plugins.push(pluginStr); + } + }); + return plugins.join(", "); +}; + exports.formatParts = function () { return _.map(exports.parts, function (part) { return part.full_name; }).join("\n"); }; From 74ad7a858448b461da425ed84d56e9cea892a025 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Wed, 29 Apr 2015 16:39:40 +0200 Subject: [PATCH 11/21] timeslider: Fix export links Names of the pads can contain more charaters than \w. So while transforming the export links, we simply can allow all charaters except the slash as pad names. --- src/static/js/timeslider.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/js/timeslider.js b/src/static/js/timeslider.js index 75c20022..08d6f68d 100644 --- a/src/static/js/timeslider.js +++ b/src/static/js/timeslider.js @@ -147,7 +147,7 @@ function handleClientVars(message) // export_links is a jQuery Array, so .each is allowed. export_links.each(function() { - this.setAttribute('href', this.href.replace( /(.+?)\/\w+\/(\d+\/)?export/ , '$1/' + padId + '/' + revno + '/export')); + this.setAttribute('href', this.href.replace( /(.+?)\/[^\/]+\/(\d+\/)?export/ , '$1/' + padId + '/' + revno + '/export')); }); }); From da06ac6fd72ca42a4e2649a77a9d39b8f50d3655 Mon Sep 17 00:00:00 2001 From: John McLear Date: Wed, 29 Apr 2015 16:40:29 +0100 Subject: [PATCH 12/21] dont prompt twice on import fool --- src/static/js/pad_impexp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/js/pad_impexp.js b/src/static/js/pad_impexp.js index 96761570..1648f34c 100644 --- a/src/static/js/pad_impexp.js +++ b/src/static/js/pad_impexp.js @@ -235,7 +235,7 @@ var padimpexp = (function() addImportFrames(); $("#importfileinput").change(fileInputUpdated); - $('#importform').submit(fileInputSubmit); + $('#importform').unbind("submit").submit(fileInputSubmit); $('.disabledexport').click(cantExport); }, handleFrameCall: function(directDatabaseAccess, status) From 4938c7be38d69246e577cfb45e86263f7062edc0 Mon Sep 17 00:00:00 2001 From: John McLear Date: Wed, 29 Apr 2015 20:54:41 +0100 Subject: [PATCH 13/21] plugins always return html so use that endpoint --- src/node/handler/ImportHandler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/node/handler/ImportHandler.js b/src/node/handler/ImportHandler.js index 7ad82a87..026ce020 100644 --- a/src/node/handler/ImportHandler.js +++ b/src/node/handler/ImportHandler.js @@ -228,7 +228,7 @@ exports.doImport = function(req, res, padId) function(callback) { if(!directDatabaseAccess){ var fileEnding = path.extname(srcFile).toLowerCase(); - if (abiword || fileEnding == ".htm" || fileEnding == ".html") { + if (importHandledByPlugin || abiword || fileEnding == ".htm" || fileEnding == ".html") { importHtml.setPadHTML(pad, text, function(e){ if(e) apiLogger.warn("Error importing, possibly caused by malformed HTML"); }); From 0a9c63141047beae0475747ca6e173f852f4642b Mon Sep 17 00:00:00 2001 From: John McLear Date: Fri, 1 May 2015 20:44:36 +0100 Subject: [PATCH 14/21] better fix for #2625 --- src/static/css/iframe_editor.css | 6 +++++- src/static/js/ace2_inner.js | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/static/css/iframe_editor.css b/src/static/css/iframe_editor.css index b7ece1e6..2824a10a 100644 --- a/src/static/css/iframe_editor.css +++ b/src/static/css/iframe_editor.css @@ -113,7 +113,11 @@ body.doesWrap { word-wrap: break-word; /* fix for issue #1648 - firefox not wrapping long lines (without spaces) correctly */ } -body.doesWrap > div{ +.noprewrap{ + white-space: normal; +} + +body.doesWrap:not(.noprewrap) > div{ /* Related to #1766 */ white-space: pre-wrap; } diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js index 5ec0127b..d3cc4fd3 100644 --- a/src/static/js/ace2_inner.js +++ b/src/static/js/ace2_inner.js @@ -612,7 +612,7 @@ function Ace2Inner(){ // So this has to be set to pre-wrap ;( // We need to file a bug w/ the Chromium team. if(browser.chrome){ - $("#innerdocbody, body.doesWrap > div").css({"white-space":"pre-wrap"}); + $("#innerdocbody").addClass("noprewrap"); } } From 8967c3ea4996998ef5107b21437ef9b33d264286 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Mon, 4 May 2015 10:39:03 +0200 Subject: [PATCH 15/21] Localisation updates from https://translatewiki.net. --- src/locales/ast.json | 13 ++-- src/locales/bn.json | 6 +- src/locales/br.json | 2 + src/locales/ca.json | 5 +- src/locales/de.json | 7 ++- src/locales/diq.json | 1 + src/locales/eo.json | 128 +++++++++++++++++++++++++++++++++++++++ src/locales/fa.json | 17 +++--- src/locales/fi.json | 4 +- src/locales/hsb.json | 13 ++-- src/locales/hu.json | 1 + src/locales/is.json | 126 ++++++++++++++++++++++++++++++++++++++ src/locales/it.json | 3 + src/locales/ja.json | 10 ++- src/locales/ko.json | 2 + src/locales/ksh.json | 2 +- src/locales/lb.json | 12 +++- src/locales/nl.json | 3 + src/locales/oc.json | 2 + src/locales/ps.json | 4 +- src/locales/pt-br.json | 23 +++---- src/locales/ru.json | 2 + src/locales/sl.json | 12 +++- src/locales/tr.json | 2 + src/locales/uk.json | 14 +++-- src/locales/zh-hans.json | 35 +++++------ src/locales/zh-hant.json | 8 ++- 27 files changed, 390 insertions(+), 67 deletions(-) create mode 100644 src/locales/eo.json create mode 100644 src/locales/is.json diff --git a/src/locales/ast.json b/src/locales/ast.json index 8eda58c8..47c1ccc3 100644 --- a/src/locales/ast.json +++ b/src/locales/ast.json @@ -9,14 +9,14 @@ "pad.toolbar.bold.title": "Negrina (Ctrl-B)", "pad.toolbar.italic.title": "Cursiva (Ctrl-I)", "pad.toolbar.underline.title": "Sorrayáu (Ctrl-U)", - "pad.toolbar.strikethrough.title": "Tacháu", - "pad.toolbar.ol.title": "Llista ordenada", - "pad.toolbar.ul.title": "Llista ensin ordenar", + "pad.toolbar.strikethrough.title": "Tacháu (Ctrl+5)", + "pad.toolbar.ol.title": "Llista ordenada (Ctrl+Mayús+N)", + "pad.toolbar.ul.title": "Llista desordenada (Ctrl+Mayús+L)", "pad.toolbar.indent.title": "Sangría (TAB)", "pad.toolbar.unindent.title": "Sangría inversa (Mayúsc+TAB)", "pad.toolbar.undo.title": "Desfacer (Ctrl-Z)", "pad.toolbar.redo.title": "Refacer (Ctrl-Y)", - "pad.toolbar.clearAuthorship.title": "Llimpiar los colores d'autoría", + "pad.toolbar.clearAuthorship.title": "Llimpiar los colores d'autoría (Ctrl+Mayús+C)", "pad.toolbar.import_export.title": "Importar/Esportar ente distintos formatos de ficheru", "pad.toolbar.timeslider.title": "Eslizador de tiempu", "pad.toolbar.savedRevision.title": "Guardar revisión", @@ -26,12 +26,14 @@ "pad.colorpicker.save": "Guardar", "pad.colorpicker.cancel": "Encaboxar", "pad.loading": "Cargando...", + "pad.noCookie": "Nun pudo alcontrase la cookie. ¡Por favor, permite les cookies nel navegador!", "pad.passwordRequired": "Necesites una contraseña pa entrar a esti bloc", "pad.permissionDenied": "Nun tienes permisu pa entrar a esti bloc", "pad.wrongPassword": "La contraseña era incorreuta", "pad.settings.padSettings": "Configuración del bloc", "pad.settings.myView": "la mio vista", "pad.settings.stickychat": "Alderique en pantalla siempres", + "pad.settings.chatandusers": "Amosar la charra y los usuarios", "pad.settings.colorcheck": "Colores d'autoría", "pad.settings.linenocheck": "Númberos de llinia", "pad.settings.rtlcheck": "¿Lleer el conteníu de drecha a izquierda?", @@ -44,6 +46,7 @@ "pad.importExport.import": "Xubir cualquier ficheru o documentu de testu", "pad.importExport.importSuccessful": "¡Correuto!", "pad.importExport.export": "Esportar el bloc actual como:", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Testu simple", "pad.importExport.exportword": "Microsoft Word", @@ -104,6 +107,7 @@ "timeslider.month.december": "d'avientu", "timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor anónimu, other: autores anónimos]}", "pad.savedrevs.marked": "Esta revisión marcose como revisión guardada", + "pad.savedrevs.timeslider": "Pues ver les revisiones guardaes visitando la llinia temporal", "pad.userlist.entername": "Escribi'l to nome", "pad.userlist.unnamed": "ensin nome", "pad.userlist.guest": "Invitáu", @@ -114,6 +118,7 @@ "pad.impexp.importing": "Importando...", "pad.impexp.confirmimport": "La importación d'un ficheru sustituirá'l testu actual del bloc. ¿Seguro que quies siguir?", "pad.impexp.convertFailed": "Nun pudimos importar esti ficheru. Por favor,usa otru formatu de ficheru diferente o copia y pega manualmente.", + "pad.impexp.padHasData": "Nun pudimos importar esti ficheru porque esti bloc yá tuvo cambios; impórtalu a un bloc nuevu", "pad.impexp.uploadFailed": "Falló la carga del ficheru, intentalo otra vuelta", "pad.impexp.importfailed": "Falló la importación", "pad.impexp.copypaste": "Por favor, copia y apega", diff --git a/src/locales/bn.json b/src/locales/bn.json index 10a804b4..e8bb7ac3 100644 --- a/src/locales/bn.json +++ b/src/locales/bn.json @@ -41,10 +41,10 @@ "pad.settings.fontType.monospaced": "Monospace", "pad.settings.globalView": "সর্বব্যাপী দৃশ্য", "pad.settings.language": "ভাষা:", - "pad.importExport.import_export": "ইম্পোরট/এক্সপোর্ট", + "pad.importExport.import_export": "আমদানি/রপ্তানি", "pad.importExport.import": "কোন টেক্সট ফাইল বা ডকুমেন্ট আপলোড করুন", "pad.importExport.importSuccessful": "সফল!", - "pad.importExport.export": "এই প্যাডটি এক্সপোর্ট করুন", + "pad.importExport.export": "এই প্যাডটি রপ্তানি করুন:", "pad.importExport.exporthtml": "এইচটিএমএল", "pad.importExport.exportplain": "সাধারণ লেখা", "pad.importExport.exportword": "মাইক্রোসফট ওয়ার্ড", @@ -70,7 +70,7 @@ "timeslider.toolbar.authors": "লেখকগণ:", "timeslider.toolbar.authorsList": "কোনো লেখক নেই", "timeslider.toolbar.exportlink.title": "রপ্তানি", - "timeslider.exportCurrent": "বর্তমান সংস্করণটি এক্সপোর্ট করুন:", + "timeslider.exportCurrent": "বর্তমান সংস্করণটি রপ্তানি করুন:", "timeslider.version": "সংস্করণ {{version}}", "timeslider.saved": "সংরক্ষিত হয় {{month}} {{day}}, {{year}}", "timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}", diff --git a/src/locales/br.json b/src/locales/br.json index 6bbd56d2..310c97a6 100644 --- a/src/locales/br.json +++ b/src/locales/br.json @@ -36,6 +36,7 @@ "pad.settings.padSettings": "Arventennoù Pad", "pad.settings.myView": "Ma diskwel", "pad.settings.stickychat": "Diskwel ar flap bepred", + "pad.settings.chatandusers": "Diskouez ar gaoz hag an implijerien", "pad.settings.colorcheck": "Livioù anaout", "pad.settings.linenocheck": "Niverennoù linennoù", "pad.settings.rtlcheck": "Lenn an danvez a-zehou da gleiz ?", @@ -109,6 +110,7 @@ "timeslider.month.december": "Kerzu", "timeslider.unnamedauthors": "{{num}} dianav {[plural(num) one: aozer, other: aozerien ]}", "pad.savedrevs.marked": "Merket eo an adweladenn-mañ evel adweladenn gwiriet", + "pad.savedrevs.timeslider": "Gallout a reot gwelet an adweladurioù enrollet en ur weladenniñ ar bignerez amzerel", "pad.userlist.entername": "Ebarzhit hoc'h anv", "pad.userlist.unnamed": "dizanv", "pad.userlist.guest": "Den pedet", diff --git a/src/locales/ca.json b/src/locales/ca.json index b7edc65b..638b645f 100644 --- a/src/locales/ca.json +++ b/src/locales/ca.json @@ -5,7 +5,8 @@ "Pginer", "Pitort", "Toniher", - "Macofe" + "Macofe", + "Joan manel" ] }, "index.newPad": "Nou pad", @@ -37,6 +38,7 @@ "pad.settings.padSettings": "Paràmetres del pad", "pad.settings.myView": "La meva vista", "pad.settings.stickychat": "Xateja sempre a la pantalla", + "pad.settings.chatandusers": "Mostra el xat i els usuaris", "pad.settings.colorcheck": "Colors d'autoria", "pad.settings.linenocheck": "Números de línia", "pad.settings.rtlcheck": "Llegir el contingut de dreta a esquerra?", @@ -110,6 +112,7 @@ "timeslider.month.december": "Desembre", "timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor, other: autors ]} sense nom", "pad.savedrevs.marked": "Aquesta revisió està marcada ara com a revisió desada", + "pad.savedrevs.timeslider": "Les revisions que s'han desat les podeu veure amb la línia de temps", "pad.userlist.entername": "Introduïu el vostre nom", "pad.userlist.unnamed": "sense nom", "pad.userlist.guest": "Convidat", diff --git a/src/locales/de.json b/src/locales/de.json index 4888b8e8..2fd31c12 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -4,7 +4,8 @@ "Metalhead64", "Mklehr", "Nipsky", - "Wikinaut" + "Wikinaut", + "Thargon" ] }, "index.newPad": "Neues Pad", @@ -77,7 +78,7 @@ "pad.modals.corruptPad.cause": "Dies könnte an einer falschen Serverkonfiguration oder eines anderen unerwarteten Verhaltens liegen. Bitte kontaktiere den Diensteadministrator.", "pad.modals.deleted": "Gelöscht.", "pad.modals.deleted.explanation": "Dieses Pad wurde entfernt.", - "pad.modals.disconnected": "Verbindung unterbrochen.", + "pad.modals.disconnected": "Deine Verbindung wurde getrennt.", "pad.modals.disconnected.explanation": "Die Verbindung zum Pad-Server wurde unterbrochen.", "pad.modals.disconnected.cause": "Möglicherweise ist der Pad-Server nicht erreichbar. Bitte benachrichtigen Sie den Dienstadministrator, falls dies weiterhin passiert.", "pad.share": "Dieses Pad teilen", @@ -94,7 +95,7 @@ "timeslider.toolbar.exportlink.title": "Diese Version exportieren", "timeslider.exportCurrent": "Exportiere diese Version als:", "timeslider.version": "Version {{version}}", - "timeslider.saved": "Gespeichert am {{day}}.{{month}}.{{year}}", + "timeslider.saved": "gespeichert am {{day}}. {{month}} {{year}}", "timeslider.dateformat": "{{day}}.{{month}}.{{year}} {{hours}}:{{minutes}}:{{seconds}}", "timeslider.month.january": "Januar", "timeslider.month.february": "Februar", diff --git a/src/locales/diq.json b/src/locales/diq.json index 81a55477..c69d6244 100644 --- a/src/locales/diq.json +++ b/src/locales/diq.json @@ -38,6 +38,7 @@ "pad.settings.language": "Zıwan:", "pad.importExport.import_export": "Zeredayış/Teberdayış", "pad.importExport.importSuccessful": "Mıwafaq biye", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Metno pan", "pad.importExport.exportword": "Microsoft Word", diff --git a/src/locales/eo.json b/src/locales/eo.json new file mode 100644 index 00000000..fd7b7c1f --- /dev/null +++ b/src/locales/eo.json @@ -0,0 +1,128 @@ +{ + "@metadata": { + "authors": [ + "Eliovir", + "Mschmitt", + "Objectivesea" + ] + }, + "index.newPad": "Nova Teksto", + "index.createOpenPad": "aŭ krei/malfermi novan tekston kun la nomo:", + "pad.toolbar.bold.title": "Grasa (Ctrl+B)", + "pad.toolbar.italic.title": "Kursiva (Ctrl+I)", + "pad.toolbar.underline.title": "Substrekita (Ctrl+U)", + "pad.toolbar.strikethrough.title": "Trastrekita (Ctrl+5)", + "pad.toolbar.ol.title": "Ordigita listo (Ctrl+Shift+N)", + "pad.toolbar.ul.title": "Neordigita Listo (Ctrl+Shift+L)", + "pad.toolbar.indent.title": "Enŝovi (TAB)", + "pad.toolbar.unindent.title": "Elŝovi (Shift+TAB)", + "pad.toolbar.undo.title": "Malfari (Ctrl+Z)", + "pad.toolbar.redo.title": "Refari (Ctrl+Y)", + "pad.toolbar.clearAuthorship.title": "Forigi kolorojn de aŭtoreco (Ctrl+Shift+C)", + "pad.toolbar.import_export.title": "Enporti/elporti de/al aliaj dosierformatoj", + "pad.toolbar.timeslider.title": "Tempoŝovilo", + "pad.toolbar.savedRevision.title": "Konservi version", + "pad.toolbar.settings.title": "Agordoj", + "pad.toolbar.embed.title": "Kunhavigi kaj enigi ĉi tiun tekston", + "pad.toolbar.showusers.title": "Montri la redaktantojn sur ĉi tiu teksto", + "pad.colorpicker.save": "Konservi", + "pad.colorpicker.cancel": "Nuligi", + "pad.loading": "Ŝargante...", + "pad.noCookie": "Kuketo ne estis trovigebla. Bonvolu permesi kuketojn en via retumilo!", + "pad.passwordRequired": "Vi bezonas pasvorton por aliri ĉi tiun tekston", + "pad.permissionDenied": "Vi ne havas permeson por aliri ĉi tiun tekston", + "pad.wrongPassword": "Via pasvorto estis malĝusta", + "pad.settings.padSettings": "Redaktilaj Agordoj", + "pad.settings.myView": "Mia vido", + "pad.settings.stickychat": "Babilejo ĉiam videbla", + "pad.settings.chatandusers": "Montri babilejon kaj uzantojn", + "pad.settings.colorcheck": "Koloroj de aŭtoreco", + "pad.settings.linenocheck": "Liniaj nombroj", + "pad.settings.rtlcheck": "Legi dekstre-maldekstren?", + "pad.settings.fontType": "Tiparo:", + "pad.settings.fontType.normal": "Normala", + "pad.settings.fontType.monospaced": "Egallarĝa", + "pad.settings.globalView": "Ĉiea Vido", + "pad.settings.language": "Lingvo:", + "pad.importExport.import_export": "Enporti/Elporti", + "pad.importExport.import": "Alŝuti ajnan dosieron aŭ dokumenton", + "pad.importExport.importSuccessful": "Sukceso!", + "pad.importExport.export": "Elporti la nunan tekston kiel:", + "pad.importExport.exportetherpad": "Etherpad", + "pad.importExport.exporthtml": "HTML", + "pad.importExport.exportplain": "Plata teksto", + "pad.importExport.exportword": "Microsoft Word", + "pad.importExport.exportpdf": "PDF", + "pad.importExport.exportopen": "ODF (Formato “OpenDocument”)", + "pad.importExport.abiword.innerHTML": "Nur kapablas enporti de plata teksto aŭ HTML. Por pli speciala importkapablo, bonvolu instalu la programon, Abiword.", + "pad.modals.connected": "Konektita.", + "pad.modals.reconnecting": "Rekonektanta al via redaktilo..", + "pad.modals.forcereconnect": "Perforte rekonekti", + "pad.modals.userdup": "Malfermita en alia fenestro", + "pad.modals.userdup.explanation": "Ĉi tiu teksto ŝajne estas malferma en pli ol unu retumilo sur ĉi tiu komputilo.", + "pad.modals.userdup.advice": "Rekonekti por anstataŭe uzi ĉi tiun fenestron.", + "pad.modals.unauth": "Ne permesita", + "pad.modals.unauth.explanation": "Viaj permesoj ŝanĝis dum kiam vi rigardis ĉi tiun paĝon. Provu rekonekti.", + "pad.modals.looping.explanation": "Okazas problemoj dum komunikado kun la sinkronigservilo.", + "pad.modals.looping.cause": "Eble vi konektis per malkongrua fajroŝirmilo aŭ retperanto.", + "pad.modals.initsocketfail": "Servilo ne estas atingebla.", + "pad.modals.initsocketfail.explanation": "Ne kapablis konekti al la sinkronigservilo.", + "pad.modals.initsocketfail.cause": "Tio verŝajne okazas pro problemo kun via retumilo aŭ via retkonekto.", + "pad.modals.slowcommit.explanation": "La servilo ne respondas.", + "pad.modals.slowcommit.cause": "Tio eble estas pro problemoj kun retkonekto.", + "pad.modals.badChangeset.explanation": "La sinkronigservilo decidis ke redakto de vi estas malpermesita.", + "pad.modals.badChangeset.cause": "Tio eble okazis pro malĝustaj agordoj aŭ alia neatendita teniĝo sur la servilo. Se vi pensas ke estas eraro, bonvolu kontakti la servoadminstranton. Provu rekonekti por denove redakti.", + "pad.modals.corruptPad.explanation": "La teksto kiun vi provas atingi estas difekta.", + "pad.modals.corruptPad.cause": "Tio eble okazis pro malĝustaj agordoj aŭ alia neatendita teniĝo sur la servilo. Bonvolu kontakti la servoadminstranton.", + "pad.modals.deleted": "Forigita.", + "pad.modals.deleted.explanation": "Ĉi tiu teksto estis forigita.", + "pad.modals.disconnected": "Vi estas malkonektita.", + "pad.modals.disconnected.explanation": "La konekto al la servilo perdiĝis", + "pad.modals.disconnected.cause": "Eble la servilo ne estas disponebla. Bonvolu kontakti la servoadministranton se tio daŭre okazas.", + "pad.share": "Kunhavigi ĉi tiun tekston", + "pad.share.readonly": "Nur legebla", + "pad.share.link": "Ligilo", + "pad.share.emebdcode": "Enfiksi URL-on", + "pad.chat": "Babilejo", + "pad.chat.title": "Malfermi la babilejon por ĉi tiu teksto.", + "pad.chat.loadmessages": "Ŝargi pliajn mesaĝojn", + "timeslider.pageTitle": "{{appTitle}} Tempoŝovilo", + "timeslider.toolbar.returnbutton": "Reiri al teksto", + "timeslider.toolbar.authors": "Aŭtoroj:", + "timeslider.toolbar.authorsList": "Neniu aŭtoro", + "timeslider.toolbar.exportlink.title": "Elporti", + "timeslider.exportCurrent": "Elporti la nunan version kiel:", + "timeslider.version": "Versio {{version}}", + "timeslider.saved": "Konservita la {{day}}an de {{month}}, {{year}}", + "timeslider.dateformat": "{{day}}-{{month}}-{{year}} {{hours}}:{{minutes}}:{{seconds}}", + "timeslider.month.january": "januaro", + "timeslider.month.february": "februaro", + "timeslider.month.march": "marto", + "timeslider.month.april": "aprilo", + "timeslider.month.may": "majo", + "timeslider.month.june": "junio", + "timeslider.month.july": "julio", + "timeslider.month.august": "aŭgusto", + "timeslider.month.september": "septembro", + "timeslider.month.october": "oktobro", + "timeslider.month.november": "novembro", + "timeslider.month.december": "decembro", + "timeslider.unnamedauthors": "{{num}} {[plural(num) one: sennoma aŭtoro, other: sennomaj aŭtoroj ]}", + "pad.savedrevs.marked": "Ĉi tiu versio nun estas markita kiel konservita versio", + "pad.savedrevs.timeslider": "Vi povas rigardi konservitajn versiojn per la tempoŝovilo", + "pad.userlist.entername": "Entajpu vian nomon", + "pad.userlist.unnamed": "sennoma", + "pad.userlist.guest": "Gasto", + "pad.userlist.deny": "Malaprobi", + "pad.userlist.approve": "Aprobi", + "pad.editbar.clearcolors": "Forigi kolorojn de aŭtoreco en la tuta dokumento?", + "pad.impexp.importbutton": "Enporti Nun", + "pad.impexp.importing": "Enportanta...", + "pad.impexp.confirmimport": "Enporti dosieron superskribos la nunan tekston en la redaktilo. Ĉu vi certe volas daŭrigi?", + "pad.impexp.convertFailed": "Ni ne kapablis enporti tiun dosieron. Bonvolu uzi alian dokumentformaton aŭ permane kopii kaj alglui.", + "pad.impexp.padHasData": "Ni ne kapablis enporti tiun dosieron ĉar la teksto jam estas ŝanĝita. Bonvolu enporti en novan tekston.", + "pad.impexp.uploadFailed": "La alŝuto malsukcesis, bonvolu provi denove.", + "pad.impexp.importfailed": "Enporti malsukcesis.", + "pad.impexp.copypaste": "Bonvolu kopii kaj alglui", + "pad.impexp.exportdisabled": "Elporti en {{type}} formato estas malŝalta. Bonvolu kontakti la sistremadministranton pro pliaj informoj." +} diff --git a/src/locales/fa.json b/src/locales/fa.json index 53fb55b2..cd42c871 100644 --- a/src/locales/fa.json +++ b/src/locales/fa.json @@ -6,7 +6,8 @@ "Ebraminio", "Reza1615", "ZxxZxxZ", - "الناز" + "الناز", + "Omid.koli" ] }, "index.newPad": "دفترچه یادداشت تازه", @@ -38,6 +39,7 @@ "pad.settings.padSettings": "تنظیمات دفترچه یادداشت", "pad.settings.myView": "نمای من", "pad.settings.stickychat": "گفتگو همیشه روی صفحه نمایش باشد", + "pad.settings.chatandusers": "نمایش چت و کاربران", "pad.settings.colorcheck": "رنگ‌های نویسندگی", "pad.settings.linenocheck": "شماره‌ی خطوط", "pad.settings.rtlcheck": "خواندن محتوا از راست به چپ؟", @@ -98,19 +100,20 @@ "timeslider.saved": "{{month}} {{day}}، {{year}} ذخیره شد", "timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}", "timeslider.month.january": "ژانویه", - "timeslider.month.february": "فبریه", - "timeslider.month.march": "مارچ", - "timeslider.month.april": "آپریل", - "timeslider.month.may": "می", + "timeslider.month.february": "فوریه", + "timeslider.month.march": "مارس", + "timeslider.month.april": "آوریل", + "timeslider.month.may": "مه", "timeslider.month.june": "ژوئن", - "timeslider.month.july": "جولای", - "timeslider.month.august": "آگوست", + "timeslider.month.july": "ژوئیه", + "timeslider.month.august": "اوت", "timeslider.month.september": "سپتامبر", "timeslider.month.october": "اکتبر", "timeslider.month.november": "نوامبر", "timeslider.month.december": "دسامبر", "timeslider.unnamedauthors": "{{num}} نویسندهٔ بی‌نام", "pad.savedrevs.marked": "این بازنویسی هم اکنون به عنوان ذخیره شده علامت‌گذاری شد", + "pad.savedrevs.timeslider": "شما می‌توانید نسخه‌های ذخیره شده را با دیدن نوار زمان ببنید", "pad.userlist.entername": "نام خود را بنویسید", "pad.userlist.unnamed": "بدون نام", "pad.userlist.guest": "مهمان", diff --git a/src/locales/fi.json b/src/locales/fi.json index 25e4d084..67efac93 100644 --- a/src/locales/fi.json +++ b/src/locales/fi.json @@ -11,7 +11,8 @@ "Veikk0.ma", "VezonThunder", "Macofe", - "MrTapsa" + "MrTapsa", + "Silvonen" ] }, "index.newPad": "Uusi muistio", @@ -55,6 +56,7 @@ "pad.importExport.import": "Lähetä mikä tahansa tekstitiedosto tai asiakirja", "pad.importExport.importSuccessful": "Onnistui!", "pad.importExport.export": "Vie muistio muodossa:", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Muotoilematon teksti", "pad.importExport.exportword": "Microsoft Word", diff --git a/src/locales/hsb.json b/src/locales/hsb.json index ddf3cc4a..d4d3ef76 100644 --- a/src/locales/hsb.json +++ b/src/locales/hsb.json @@ -9,14 +9,14 @@ "pad.toolbar.bold.title": "Tučny (Strg-B)", "pad.toolbar.italic.title": "Kursiwny (Strg-I)", "pad.toolbar.underline.title": "Podšmórnyć (Strg-U)", - "pad.toolbar.strikethrough.title": "Přešmórnyć", - "pad.toolbar.ol.title": "Čisłowana lisćina", - "pad.toolbar.ul.title": "Naličenje", + "pad.toolbar.strikethrough.title": "Přešmórnyć (Strg+5)", + "pad.toolbar.ol.title": "Čisłowana lisćina (Strg+Umsch+N)", + "pad.toolbar.ul.title": "Naličenje (Strg+Umsch+L)", "pad.toolbar.indent.title": "Zasunyć (TAB)", "pad.toolbar.unindent.title": "Wusunyć (Umsch+TAB)", "pad.toolbar.undo.title": "Cofnyć (Strg-Z)", "pad.toolbar.redo.title": "Wospjetować (Strg-Y)", - "pad.toolbar.clearAuthorship.title": "Awtorowe barby wotstronić", + "pad.toolbar.clearAuthorship.title": "Awtorowe barby wotstronić (Strg+Umsch+C)", "pad.toolbar.import_export.title": "Import/Eksport z/do druhich datajowych formatow", "pad.toolbar.timeslider.title": "Historijowa strona", "pad.toolbar.savedRevision.title": "Wersiju składować", @@ -26,12 +26,14 @@ "pad.colorpicker.save": "Składować", "pad.colorpicker.cancel": "Přetorhnyć", "pad.loading": "Začituje so...", + "pad.noCookie": "Plack njeje so namakał. Prošu dopušćće placki w swojim wobhladowaku!", "pad.passwordRequired": "Trjebaš hesło, zo by na tutón zapisnik přistup měł", "pad.permissionDenied": "Nimaće prawo za přistup na tutón zapisnik.", "pad.wrongPassword": "Twoje hesło bě wopak", "pad.settings.padSettings": "Nastajenja zapisnika", "pad.settings.myView": "Mój napohlad", "pad.settings.stickychat": "Chat přeco na wobrazowce pokazać", + "pad.settings.chatandusers": "Chat a wužiwarjow pokazać", "pad.settings.colorcheck": "Awtorowe barby", "pad.settings.linenocheck": "Linkowe čisła", "pad.settings.rtlcheck": "Wobsah wotprawa nalěwo čitać?", @@ -44,6 +46,7 @@ "pad.importExport.import": "Tekstowu dataju abo dokument nahrać", "pad.importExport.importSuccessful": "Wuspěšny!", "pad.importExport.export": "Aktualny zapisnik eksportować jako:", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Luty tekst", "pad.importExport.exportword": "Microsoft Word", @@ -104,6 +107,7 @@ "timeslider.month.december": "decembra", "timeslider.unnamedauthors": "{{num}} {[plural(num) one: awtor, two: awtoraj, few: awtorojo, other: awtorow ]} bjez mjena", "pad.savedrevs.marked": "Tuta wersija je so nětko jako składowana wersija woznamjeniła", + "pad.savedrevs.timeslider": "Móžeš sej składowane wersije wobhladować, wopytujo historiju dokumenta.", "pad.userlist.entername": "Zapodaj swoje mjeno", "pad.userlist.unnamed": "bjez mjena", "pad.userlist.guest": "Hósć", @@ -114,6 +118,7 @@ "pad.impexp.importing": "Importuje so...", "pad.impexp.confirmimport": "Importowanje dataje přepisa aktualny tekst zapisnika. Chceš woprawdźe pokročować?", "pad.impexp.convertFailed": "Njemóžachmy tutu dataju importować. Prošu wužij druhi dokumentowy format abo kopěruj manuelnje", + "pad.impexp.padHasData": "Njemóžachmy tutu dataju importować, dokelž tutón dokument hižo změny wobsahuje, prošu importuj nowy dokument.", "pad.impexp.uploadFailed": "Nahraće njeje so poradźiło, prošu spytaj hišće raz", "pad.impexp.importfailed": "Import njeje so poradźiło", "pad.impexp.copypaste": "Prošu kopěrować a zasadźić", diff --git a/src/locales/hu.json b/src/locales/hu.json index 287e7954..c4d06c27 100644 --- a/src/locales/hu.json +++ b/src/locales/hu.json @@ -37,6 +37,7 @@ "pad.settings.padSettings": "Notesz beállításai", "pad.settings.myView": "Az én nézetem", "pad.settings.stickychat": "Mindig mutasd a csevegés-dobozt", + "pad.settings.chatandusers": "Csevegés és felhasználók mutatása", "pad.settings.colorcheck": "Szerzők színei", "pad.settings.linenocheck": "Sorok számozása", "pad.settings.rtlcheck": "Tartalom olvasása balról jobbra?", diff --git a/src/locales/is.json b/src/locales/is.json new file mode 100644 index 00000000..dc3f3b33 --- /dev/null +++ b/src/locales/is.json @@ -0,0 +1,126 @@ +{ + "@metadata": { + "authors": [ + "Sveinn í Felli" + ] + }, + "index.newPad": "Ný skrifblokk", + "index.createOpenPad": "eða búa til/opna skrifblokk með heitinu:", + "pad.toolbar.bold.title": "Feitletrað (Ctrl+B)", + "pad.toolbar.italic.title": "Skáletrað (Ctrl+I)", + "pad.toolbar.underline.title": "Undirstrikað (Ctrl+U)", + "pad.toolbar.strikethrough.title": "Yfirstrikun (Ctrl+5)", + "pad.toolbar.ol.title": "Raðaður listi (Ctrl+Shift+N)", + "pad.toolbar.ul.title": "Óraðaður listi (Ctrl+Shift+L)", + "pad.toolbar.indent.title": "Inndráttur (TAB)", + "pad.toolbar.unindent.title": "Draga til baka (Shift+TAB)", + "pad.toolbar.undo.title": "Afturkalla (Ctrl+Z)", + "pad.toolbar.redo.title": "Endurtaka (Ctrl+Y)", + "pad.toolbar.clearAuthorship.title": "Hreinsa liti höfunda (Ctrl+Shift+C)", + "pad.toolbar.import_export.title": "Flytja inn/út frá/í önnur skráasnið", + "pad.toolbar.timeslider.title": "Tímalína", + "pad.toolbar.savedRevision.title": "Vista endurskoðaða útgáfu", + "pad.toolbar.settings.title": "Stillingar", + "pad.toolbar.embed.title": "Deila og ívefja þessari skrifblokk", + "pad.toolbar.showusers.title": "Sýna notendur þessarar skrifblokkar", + "pad.colorpicker.save": "Vista", + "pad.colorpicker.cancel": "Hætta við", + "pad.loading": "Hleð inn...", + "pad.noCookie": "Smákaka fannst ekki. Þú verður að leyfa smákökur í vafranum þínum!", + "pad.passwordRequired": "Þú þarft að gefa upp lykilorð til að komast á þessa skrifblokk", + "pad.permissionDenied": "Þú hefur ekki réttindi til að nota þessa skrifblokk", + "pad.wrongPassword": "Lykilorðinu þínu var hafnað", + "pad.settings.padSettings": "Stillingar skrifblokkar", + "pad.settings.myView": "Mitt yfirlit", + "pad.settings.stickychat": "Spjall alltaf á skjánum", + "pad.settings.chatandusers": "Sýna spjall og notendur", + "pad.settings.colorcheck": "Litir höfunda", + "pad.settings.linenocheck": "Línunúmer", + "pad.settings.rtlcheck": "Lesa innihaldið frá hægri til vinstri?", + "pad.settings.fontType": "Leturgerð:", + "pad.settings.fontType.normal": "Venjulegt", + "pad.settings.fontType.monospaced": "Jafnbreitt", + "pad.settings.globalView": "Yfirlitssýn", + "pad.settings.language": "Tungumál:", + "pad.importExport.import_export": "Flytja inn/út", + "pad.importExport.import": "Settu inn hverskyns texta eða skjal", + "pad.importExport.importSuccessful": "Heppnaðist!", + "pad.importExport.export": "Flytja út núverandi skrifblokk sem:", + "pad.importExport.exportetherpad": "Etherpad netskrifblokk", + "pad.importExport.exporthtml": "HTML", + "pad.importExport.exportplain": "Hreinn texti", + "pad.importExport.exportword": "Microsoft Word", + "pad.importExport.exportpdf": "PDF", + "pad.importExport.exportopen": "ODF (Open Document Format)", + "pad.importExport.abiword.innerHTML": "Þú getur aðeins flutt inn úr hreinum texta eða HTML sniðum. Til að geta nýtt \nfleiri þróaðri innflutningssnið settu þá upp abiword forritið.", + "pad.modals.connected": "Tengt.", + "pad.modals.reconnecting": "Endurtengist skrifblokkinni þinni...", + "pad.modals.forcereconnect": "Þvinga endurtengingu", + "pad.modals.userdup": "Opnað í öðrum glugga", + "pad.modals.userdup.explanation": "Þessi skrifblokk virðist vera opin í fleiri en einum vafraglugga á þessari tölvu.", + "pad.modals.userdup.advice": "Endurtengdu til að nota þennan glugga í staðinn.", + "pad.modals.unauth": "Ekki leyfilegt", + "pad.modals.unauth.explanation": "Heimildir þínar hafa breyst á meðan þú skoðaðir þessa síðu. Reyndu að endurtengjast.", + "pad.modals.looping.explanation": "Það eru samskiptavandamál við samstillingarmiðlarann.", + "pad.modals.looping.cause": "Hugsanlega ertu tengdur í gegnum ósamhæfðan eldvegg eða milliþjón.", + "pad.modals.initsocketfail": "Næ ekki sambandi við netþjón.", + "pad.modals.initsocketfail.explanation": "Gat ekki tengst samstillingarmiðlaranum.", + "pad.modals.initsocketfail.cause": "Þetta er líklega vegna vandamáls varðandi vafrann þinn eða internettenginguna þína.", + "pad.modals.slowcommit.explanation": "Þjónninn svarar ekki.", + "pad.modals.slowcommit.cause": "Þetta gæti verið vegna vandamála varðandi nettengingar.", + "pad.modals.badChangeset.explanation": "Breyting sem þú gerðir var flokkuð sem óleyfileg af samstillingarmiðlaranum.", + "pad.modals.badChangeset.cause": "Þetta gæti verið vegna rangrar uppsetningar á þjóninum eða annarar óvæntrar hegðunar. Hafðu samband við stjórnanda þjónustunnar ef þér sýnist þetta vera villa. Reyndu að endurtengjast til að halda áfram með breytingar.", + "pad.modals.corruptPad.explanation": "Skrifblokkin sem þú ert að reyna að tengjast er skemmd.", + "pad.modals.corruptPad.cause": "Þetta gæti verið vegna rangrar uppsetningar á þjóninum eða annarar óvæntrar hegðunar. Hafðu samband við stjórnanda þjónustunnar.", + "pad.modals.deleted": "Eytt.", + "pad.modals.deleted.explanation": "Þessi skrifblokk hefur verið fjarlægð.", + "pad.modals.disconnected": "Þú hefur verið aftengd(ur).", + "pad.modals.disconnected.explanation": "Missti tengingu við miðlara", + "pad.modals.disconnected.cause": "Miðlarinn gæti verið ekki tiltækur. Láttu kerfisstjóra vita ef þetta heldur áfram að gerast.", + "pad.share": "Deila þessari skrifblokk", + "pad.share.readonly": "Skrifvarið", + "pad.share.link": "Tengill", + "pad.share.emebdcode": "Ívefja slóð", + "pad.chat": "Spjall", + "pad.chat.title": "Opna spjallið fyrir þessa skrifblokk.", + "pad.chat.loadmessages": "Hlaða inn fleiri skeytum", + "timeslider.pageTitle": "Tímalína {{appTitle}}", + "timeslider.toolbar.returnbutton": "Fara til baka í skrifblokk", + "timeslider.toolbar.authors": "Höfundar:", + "timeslider.toolbar.authorsList": "Engir höfundar", + "timeslider.toolbar.exportlink.title": "Flytja út", + "timeslider.exportCurrent": "Flytja út núverandi útgáfu sem:", + "timeslider.version": "Útgáfa {{version}}", + "timeslider.saved": "Vistað {{day}}. {{month}}, {{year}}", + "timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}", + "timeslider.month.january": "Janúar", + "timeslider.month.february": "febrúar", + "timeslider.month.march": "mars", + "timeslider.month.april": "apríl", + "timeslider.month.may": "maí", + "timeslider.month.june": "júní", + "timeslider.month.july": "Júlí", + "timeslider.month.august": "ágúst", + "timeslider.month.september": "september", + "timeslider.month.october": "október", + "timeslider.month.november": "nóvember", + "timeslider.month.december": "desember", + "timeslider.unnamedauthors": "{{num}} ónefnt {[plural(num) one: höfundur, other: höfundar ]}", + "pad.savedrevs.marked": "Þessi útgáfa er núna merkt sem vistuð útgáfa", + "pad.savedrevs.timeslider": "Þú getur skoðað vistaðar útgáfur með því að fara á tímalínuna", + "pad.userlist.entername": "Settu inn nafnið þitt", + "pad.userlist.unnamed": "ónefnt", + "pad.userlist.guest": "Gestur", + "pad.userlist.deny": "Hafna", + "pad.userlist.approve": "Samþykkja", + "pad.editbar.clearcolors": "Hreinsa liti höfunda á öllu skjalinu?", + "pad.impexp.importbutton": "Flytja inn núna", + "pad.impexp.importing": "Flyt inn...", + "pad.impexp.confirmimport": "Innflutningur á skrá mun skrifa yfir þann texta sem er á skrifblokkinni núna. \nErtu viss um að þú viljir halda áfram?", + "pad.impexp.convertFailed": "Við getum ekki flutt inn þessa skrá. Notaðu annað skráasnið eða afritaðu og \nlímdu handvirkt", + "pad.impexp.padHasData": "Við getum ekki flutt inn þessa skrá því þegar er búið að breyta þessari skrifblokk, flyttu inn í nýja skrifblokk", + "pad.impexp.uploadFailed": "Sending mistókst, endilega reyndu aftur", + "pad.impexp.importfailed": "Innflutningur mistókst", + "pad.impexp.copypaste": "Afritaðu og límdu", + "pad.impexp.exportdisabled": "Útflutningur á {{type}} sniði er óvirkur. Hafðu samband við kerfisstjóra til að fá frekari aðstoð." +} diff --git a/src/locales/it.json b/src/locales/it.json index a6c30d96..082535fc 100644 --- a/src/locales/it.json +++ b/src/locales/it.json @@ -31,6 +31,7 @@ "pad.colorpicker.save": "Salva", "pad.colorpicker.cancel": "Annulla", "pad.loading": "Caricamento in corso…", + "pad.noCookie": "Il cookie non è stato trovato. Consenti i cookie nel tuo browser!", "pad.passwordRequired": "Per accedere a questo Pad è necessaria una password", "pad.permissionDenied": "Non si dispone dei permessi necessari per accedere a questo Pad", "pad.wrongPassword": "La password è sbagliata", @@ -111,6 +112,7 @@ "timeslider.month.december": "dicembre", "timeslider.unnamedauthors": "{{num}} {[plural(num) one: autore, other: autori ]} senza nome", "pad.savedrevs.marked": "Questa revisione è ora contrassegnata come una versione salvata", + "pad.savedrevs.timeslider": "Puoi vedere le versioni salvate visitando la cronologia", "pad.userlist.entername": "Inserisci il tuo nome", "pad.userlist.unnamed": "senza nome", "pad.userlist.guest": "Ospite", @@ -121,6 +123,7 @@ "pad.impexp.importing": "Importazione in corso...", "pad.impexp.confirmimport": "L'importazione del file sovrascriverà il testo attuale del Pad. Sei sicuro di voler procedere?", "pad.impexp.convertFailed": "Non è stato possibile importare questo file. Utilizzare un formato differente o copiare ed incollare a mano", + "pad.impexp.padHasData": "Non è possibile importare questo file poiché questo Pad ha già avuto modifiche; importalo in un nuovo Pad", "pad.impexp.uploadFailed": "Caricamento non riuscito, riprovare", "pad.impexp.importfailed": "Importazione fallita", "pad.impexp.copypaste": "Si prega di copiare e incollare", diff --git a/src/locales/ja.json b/src/locales/ja.json index 62e6dc62..b6cc4e34 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -1,7 +1,8 @@ { "@metadata": { "authors": [ - "Shirayuki" + "Shirayuki", + "Torinky" ] }, "index.newPad": "新規作成", @@ -16,7 +17,7 @@ "pad.toolbar.unindent.title": "インデント解除 (Shift+Tab)", "pad.toolbar.undo.title": "元に戻す (Ctrl+Z)", "pad.toolbar.redo.title": "やり直し (Ctrl+Y)", - "pad.toolbar.clearAuthorship.title": "作者の色分けを消去", + "pad.toolbar.clearAuthorship.title": "作者の色分けを消去(Ctrl+Shift+C)", "pad.toolbar.import_export.title": "他の形式のファイルのインポート/エクスポート", "pad.toolbar.timeslider.title": "タイムスライダー", "pad.toolbar.savedRevision.title": "版を保存", @@ -26,12 +27,14 @@ "pad.colorpicker.save": "保存", "pad.colorpicker.cancel": "キャンセル", "pad.loading": "読み込み中...", + "pad.noCookie": "クッキーが見つかりません。ブラウザの設定でクッキーの使用を許可してください。", "pad.passwordRequired": "このパッドにアクセスするにはパスワードが必要です", "pad.permissionDenied": "あなたにはこのパッドへのアクセス許可がありません", "pad.wrongPassword": "パスワードが間違っています", "pad.settings.padSettings": "パッドの設定", "pad.settings.myView": "個人設定", "pad.settings.stickychat": "画面にチャットを常に表示", + "pad.settings.chatandusers": "チャットとユーザーを表示", "pad.settings.colorcheck": "作者の色分け", "pad.settings.linenocheck": "行番号", "pad.settings.rtlcheck": "右横書きにする", @@ -44,6 +47,7 @@ "pad.importExport.import": "あらゆるテキストファイルや文書をアップロードできます", "pad.importExport.importSuccessful": "完了しました。", "pad.importExport.export": "現在のパッドをエクスポートする形式:", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "プレーンテキスト", "pad.importExport.exportword": "Microsoft Word", @@ -104,6 +108,7 @@ "timeslider.month.december": "12月", "timeslider.unnamedauthors": "{{num}} 人の匿名の{[plural(num) other: 作者 ]}", "pad.savedrevs.marked": "この版を、保存済みの版としてマークしました。", + "pad.savedrevs.timeslider": "タイムスライダーで保存された版を確認できます", "pad.userlist.entername": "名前を入力", "pad.userlist.unnamed": "名前なし", "pad.userlist.guest": "ゲスト", @@ -114,6 +119,7 @@ "pad.impexp.importing": "インポート中...", "pad.impexp.confirmimport": "ファイルをインポートすると、パッドの現在のテキストが上書きされます。本当に続行しますか?", "pad.impexp.convertFailed": "このファイルをインポートできませんでした。他の文書形式を使用するか、手作業でコピー & ペーストしてください", + "pad.impexp.padHasData": "このパッドは変更されたため、ファイルからインポートできませんでした。新しいパッドにインポートしてください。", "pad.impexp.uploadFailed": "アップロードに失敗しました。もう一度お試しください", "pad.impexp.importfailed": "インポートに失敗しました", "pad.impexp.copypaste": "コピー & ペーストしてください", diff --git a/src/locales/ko.json b/src/locales/ko.json index e18c5bbd..4a71d8ee 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -28,12 +28,14 @@ "pad.colorpicker.save": "저장", "pad.colorpicker.cancel": "취소", "pad.loading": "불러오는 중...", + "pad.noCookie": "쿠키를 찾을 수 없습니다. 브라우저에서 쿠키를 허용해주세요!", "pad.passwordRequired": "이 패드에 접근하려면 비밀번호가 필요합니다", "pad.permissionDenied": "이 패드에 접근할 권한이 없습니다", "pad.wrongPassword": "비밀번호가 잘못되었습니다", "pad.settings.padSettings": "패드 설정", "pad.settings.myView": "내 보기", "pad.settings.stickychat": "화면에 항상 대화 보기", + "pad.settings.chatandusers": "채트와 사용자 보이기", "pad.settings.colorcheck": "저자 색", "pad.settings.linenocheck": "줄 번호", "pad.settings.rtlcheck": "우횡서(오른쪽에서 왼쪽으로)입니까?", diff --git a/src/locales/ksh.json b/src/locales/ksh.json index f851bbf1..5d5230d3 100644 --- a/src/locales/ksh.json +++ b/src/locales/ksh.json @@ -25,7 +25,7 @@ "pad.toolbar.showusers.title": "Verbonge Metschriiver aanzeije", "pad.colorpicker.save": "Faßhallde", "pad.colorpicker.cancel": "Ophüüre", - "pad.loading": "Ben aam Laade …", + "pad.loading": "Ben aam Lahde …", "pad.noCookie": "Dat Pläzje wood nit jevonge. Don dat en Dingem Brauser zohlohße!", "pad.passwordRequired": "Do bruchs e Paßwoot för heh dat Pädd.", "pad.permissionDenied": "Do häs nit dat Rääsch, op heh dat Pädd zohzejriife.", diff --git a/src/locales/lb.json b/src/locales/lb.json index 68bdb418..99bfe0b5 100644 --- a/src/locales/lb.json +++ b/src/locales/lb.json @@ -2,28 +2,38 @@ "@metadata": { "authors": [ "Robby", - "Soued031" + "Soued031", + "Gromper" ] }, "index.newPad": "Neie Pad", + "index.createOpenPad": "oder maacht ee Pad mat dësem Numm op:", + "pad.toolbar.underline.title": "Ënnerstrach (Ctrl+U)", + "pad.toolbar.strikethrough.title": "Duerchgestrach (Ctrl+5)", "pad.toolbar.ol.title": "Numeréiert Lëscht (Ctrl+Shift+N)", "pad.toolbar.ul.title": "Net-numeréiert Lëscht (Ctrl+Shift+L)", "pad.toolbar.undo.title": "Réckgängeg (Ctrl-Z)", "pad.toolbar.redo.title": "Widderhuelen (Ctrl-Y)", "pad.toolbar.savedRevision.title": "Versioun späicheren", "pad.toolbar.settings.title": "Astellungen", + "pad.toolbar.showusers.title": "Aktuell Benotzer vun dësem Pad uweisen", "pad.colorpicker.save": "Späicheren", "pad.colorpicker.cancel": "Ofbriechen", "pad.loading": "Lueden...", "pad.noCookie": "Cookie gouf net fonnt. Erlaabt w.e.g. Cookien an Ärem Browser!", + "pad.passwordRequired": "Dir braucht ee Passwuert fir dëse Pad opzemaachen", + "pad.permissionDenied": "Dir hutt net déi néideg Rechter fir dëse Pad opzemaachen", "pad.wrongPassword": "Äert Passwuert ass falsch", + "pad.settings.myView": "Méng Usiicht", "pad.settings.fontType.normal": "Normal", "pad.settings.language": "Sprooch:", + "pad.importExport.import_export": "Import/Export", "pad.importExport.importSuccessful": "Erfollegräich", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportword": "Microsoft Word", "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Open Document Format)", + "pad.modals.connected": "Verbonnen.", "pad.modals.unauth": "Net autoriséiert", "pad.modals.slowcommit.explanation": "De Server äntwert net.", "pad.modals.deleted": "Geläscht.", diff --git a/src/locales/nl.json b/src/locales/nl.json index 183d0fa9..0aa63d8e 100644 --- a/src/locales/nl.json +++ b/src/locales/nl.json @@ -94,6 +94,9 @@ "timeslider.exportCurrent": "Huidige versie exporteren als:", "timeslider.version": "Versie {{version}}", "timeslider.saved": "Opgeslagen op {{day}} {{month}} {{year}}", + "timeslider.playPause": "Padinhoud afspelen of pauzeren", + "timeslider.backRevision": "Een versie teruggaan voor deze pad", + "timeslider.forwardRevision": "Een versie vooruit gaan voor deze pad", "timeslider.dateformat": "{{year}}-{{month}}-{{day}} {{hours}}:{{minutes}}:{{seconds}}", "timeslider.month.january": "januari", "timeslider.month.february": "februari", diff --git a/src/locales/oc.json b/src/locales/oc.json index e62d387a..62625ed7 100644 --- a/src/locales/oc.json +++ b/src/locales/oc.json @@ -33,6 +33,7 @@ "pad.settings.padSettings": "Paramètres del Pad", "pad.settings.myView": "Ma vista", "pad.settings.stickychat": "Afichar totjorn lo chat", + "pad.settings.chatandusers": "Afichar la discussion e los utilizaires", "pad.settings.colorcheck": "Colors d’identificacion", "pad.settings.linenocheck": "Numèros de linhas", "pad.settings.rtlcheck": "Lectura de drecha a esquèrra", @@ -106,6 +107,7 @@ "timeslider.month.december": "Decembre", "timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor anonim, other: autors anonims ]}", "pad.savedrevs.marked": "Aquesta revision es ara marcada coma revision enregistrada", + "pad.savedrevs.timeslider": "Podètz veire las revisions enregistradas en visitant l’ascensor temporal", "pad.userlist.entername": "Entratz vòstre nom", "pad.userlist.unnamed": "sens nom", "pad.userlist.guest": "Convidat", diff --git a/src/locales/ps.json b/src/locales/ps.json index 1a57e76a..2c23d1c3 100644 --- a/src/locales/ps.json +++ b/src/locales/ps.json @@ -10,7 +10,7 @@ "pad.toolbar.italic.title": "رېوند (Ctrl-I)", "pad.toolbar.undo.title": "ناکړل (Ctrl-Z)", "pad.toolbar.redo.title": "بياکړل (Ctrl-Y)", - "pad.toolbar.clearAuthorship.title": "د ليکوالۍ رنګونه سپينول", + "pad.toolbar.clearAuthorship.title": "د ليکوالۍ رنگونه سپينول (Ctrl+Shift+C)", "pad.toolbar.savedRevision.title": "مخکتنه خوندي کول", "pad.toolbar.settings.title": "امستنې", "pad.colorpicker.save": "خوندي کول", @@ -20,7 +20,7 @@ "pad.wrongPassword": "پټنوم مو سم نه و", "pad.settings.padSettings": "د ليکچې امستنې", "pad.settings.myView": "زما کتنه", - "pad.settings.colorcheck": "د ليکوالۍ رنګونه", + "pad.settings.colorcheck": "د ليکوالۍ رنگونه", "pad.settings.fontType": "ليکبڼې ډول:", "pad.settings.fontType.normal": "نورمال", "pad.settings.fontType.monospaced": "مونوسپېس", diff --git a/src/locales/pt-br.json b/src/locales/pt-br.json index 1fd145bc..59d679c8 100644 --- a/src/locales/pt-br.json +++ b/src/locales/pt-br.json @@ -12,14 +12,15 @@ "Macofe", "Rodrigo codignoli", "Webysther", - "Fasouzafreitas" + "Fasouzafreitas", + "Lpagliari" ] }, "index.newPad": "Nova Nota", "index.createOpenPad": "ou criar-abrir uma Nota com o nome:", "pad.toolbar.bold.title": "Negrito (Ctrl-B)", "pad.toolbar.italic.title": "Itálico (Ctrl-I)", - "pad.toolbar.underline.title": "Sublinhar (Ctrl-U)", + "pad.toolbar.underline.title": "Sublinhado (Ctrl-U)", "pad.toolbar.strikethrough.title": "Tachado (Ctrl+5)", "pad.toolbar.ol.title": "Lista ordenada (Ctrl+Shift+N)", "pad.toolbar.ul.title": "Lista não ordenada (Ctrl+Shift+L)", @@ -43,8 +44,8 @@ "pad.wrongPassword": "Senha incorreta", "pad.settings.padSettings": "Configurações da Nota", "pad.settings.myView": "Minha Visão", - "pad.settings.stickychat": "Conversa sempre visível", - "pad.settings.chatandusers": "Mostrar o chat e os usuários", + "pad.settings.stickychat": "Bate-papo sempre visível", + "pad.settings.chatandusers": "Mostrar o bate-papo e os usuários", "pad.settings.colorcheck": "Cores de autoria", "pad.settings.linenocheck": "Números de linha", "pad.settings.rtlcheck": "Ler conteúdo da direita para esquerda?", @@ -56,7 +57,7 @@ "pad.importExport.import_export": "Importar/Exportar", "pad.importExport.import": "Enviar um arquivo texto ou documento", "pad.importExport.importSuccessful": "Completo!", - "pad.importExport.export": "Exportar a presente nota como:", + "pad.importExport.export": "Exportar a nota atual como:", "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Texto puro", @@ -67,21 +68,21 @@ "pad.modals.connected": "Conectado.", "pad.modals.reconnecting": "Reconectando à sua nota...", "pad.modals.forcereconnect": "Forçar reconexão", - "pad.modals.userdup": "Aberto noutra janela", + "pad.modals.userdup": "Aberto em outra janela", "pad.modals.userdup.explanation": "Esta nota parece estar aberta em mais de uma janela de navegador deste computador.", "pad.modals.userdup.advice": "Reconectar para usar esta janela.", "pad.modals.unauth": "Não autorizado", "pad.modals.unauth.explanation": "Suas permissões foram mudadas enquanto visualizava esta página. Tente reconectar.", "pad.modals.looping.explanation": "Há problemas de comunicação com o servidor de sincronização.", "pad.modals.looping.cause": "Talvez você tenha conectado por um firewall ou proxy incompatível.", - "pad.modals.initsocketfail": "Servidor é inalcançável.", + "pad.modals.initsocketfail": "Servidor está indisponível.", "pad.modals.initsocketfail.explanation": "Não foi possível conectar com o servidor de sincronização.", "pad.modals.initsocketfail.cause": "Isto provavelmente ocorreu por um problema em seu navegador ou conexão.", "pad.modals.slowcommit.explanation": "O servidor não responde.", "pad.modals.slowcommit.cause": "Isto pode ser por problemas com a conexão de rede.", "pad.modals.badChangeset.explanation": "Uma edição que você fez foi classificada como ilegal pelo servidor de sincronização.", "pad.modals.badChangeset.cause": "Isto pode ocorrer devido a uma configuração errada do servidor ou algum outro comportamento inesperado. Por favor contate o administrador, se você acredita que é um erro. Tente reconectar para continuar editando.", - "pad.modals.corruptPad.explanation": "O pad que você está tentando acessar está corrompido.", + "pad.modals.corruptPad.explanation": "A nota que você está tentando acessar está corrompida.", "pad.modals.corruptPad.cause": "Isto pode ocorrer devido a uma configuração errada do servidor ou algum outro comportamento inesperado. Por favor contate o administrador.", "pad.modals.deleted": "Excluído.", "pad.modals.deleted.explanation": "Esta nota foi removida.", @@ -118,7 +119,7 @@ "timeslider.month.december": "Dezembro", "timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor anônimo, other: autores anônimos ]}", "pad.savedrevs.marked": "Esta revisão foi marcada como salva", - "pad.savedrevs.timeslider": "Pode consultar as revisões salvas visitando a linha do tempo", + "pad.savedrevs.timeslider": "Você pode consultar as revisões salvas visitando a linha do tempo", "pad.userlist.entername": "Insira o seu nome", "pad.userlist.unnamed": "Sem título", "pad.userlist.guest": "Convidado", @@ -127,9 +128,9 @@ "pad.editbar.clearcolors": "Deseja limpar cores de autoria em todo o documento?", "pad.impexp.importbutton": "Importar agora", "pad.impexp.importing": "Importando...", - "pad.impexp.confirmimport": "Importar um arquivo sobrescreverá o atual texto da nota. Tem certeza de que deseja prosseguir?", + "pad.impexp.confirmimport": "Importar um arquivo sobrescreverá o texto atual da nota. Tem certeza de que deseja prosseguir?", "pad.impexp.convertFailed": "Não foi possível importar este arquivo. Use outro formato ou copie e cole manualmente", - "pad.impexp.padHasData": "Não foi possível importar este arquivo porque este bloco de notas já tinha alterações, consulte como importar para um novo bloco de notas", + "pad.impexp.padHasData": "Não foi possível importar este arquivo porque esta nota já tinha alterações, consulte como importar para uma nova nota", "pad.impexp.uploadFailed": "O envio falhou. Tente outra vez", "pad.impexp.importfailed": "A importação falhou", "pad.impexp.copypaste": "Copie e cole", diff --git a/src/locales/ru.json b/src/locales/ru.json index bd2143a1..9a17dda7 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -30,12 +30,14 @@ "pad.colorpicker.save": "Сохранить", "pad.colorpicker.cancel": "Отмена", "pad.loading": "Загрузка...", + "pad.noCookie": "Куки не найдены. Пожалуйста, включите куки в вашем браузере!", "pad.passwordRequired": "Вам нужен пароль для доступа", "pad.permissionDenied": "У вас нет разрешения на доступ", "pad.wrongPassword": "Неправильный пароль", "pad.settings.padSettings": "Настройки документа", "pad.settings.myView": "Мой вид", "pad.settings.stickychat": "Всегда отображать чат", + "pad.settings.chatandusers": "Показать чат и пользователей", "pad.settings.colorcheck": "Цвета документа", "pad.settings.linenocheck": "Номера строк", "pad.settings.rtlcheck": "Читать содержимое справа налево?", diff --git a/src/locales/sl.json b/src/locales/sl.json index 41a6ce76..a51cb53d 100644 --- a/src/locales/sl.json +++ b/src/locales/sl.json @@ -2,16 +2,17 @@ "@metadata": { "authors": [ "Dbc334", - "Mateju" + "Mateju", + "Skalcaa" ] }, - "index.newPad": "Nov dokument", + "index.newPad": "Nova Ploščica", "index.createOpenPad": "ali pa odpri dokument z imenom:", "pad.toolbar.bold.title": "Krepko (Ctrl-B)", "pad.toolbar.italic.title": "Ležeče (Ctrl-I)", "pad.toolbar.underline.title": "Podčrtano (Ctrl-U)", "pad.toolbar.strikethrough.title": "Prečrtano (Ctrl+5)", - "pad.toolbar.ol.title": "Oštevilčen seznam (Ctrl+Shift+N)", + "pad.toolbar.ol.title": "Urejen seznam (Ctrl+Shift+N)", "pad.toolbar.ul.title": "Neurejen seznam (Ctrl+Shift+L)", "pad.toolbar.indent.title": "Zamik desno (TAB)", "pad.toolbar.unindent.title": "Zamik levo (Shift+TAB)", @@ -27,12 +28,14 @@ "pad.colorpicker.save": "Shrani", "pad.colorpicker.cancel": "Prekliči", "pad.loading": "Nalaganje ...", + "pad.noCookie": "Piškotka ni bilo mogoče najti. Prosimo, dovolite piškotke v vašem brskalniku!", "pad.passwordRequired": "Za dostop do dokumenta je zahtevano geslo.", "pad.permissionDenied": "Za dostop do dokumenta so zahtevana posebna dovoljenja.", "pad.wrongPassword": "Vpisano geslo je napačno.", "pad.settings.padSettings": "Nastavitve dokumenta", "pad.settings.myView": "Pogled", "pad.settings.stickychat": "Vsebina klepeta je vedno na zaslonu.", + "pad.settings.chatandusers": "Prikaži klepet in uporabnike", "pad.settings.colorcheck": "Barve avtorstva", "pad.settings.linenocheck": "Številke vrstic", "pad.settings.rtlcheck": "Ali naj se vsebina prebira od desne proti levi?", @@ -45,6 +48,7 @@ "pad.importExport.import": "Naloži katerokoli besedilno datoteko ali dokument.", "pad.importExport.importSuccessful": "Opravilo je uspešno končano!", "pad.importExport.export": "Izvozi trenutni dokument kot:", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML (oblikovano besedilo)", "pad.importExport.exportplain": "TXT (neoblikovano besedilo)", "pad.importExport.exportword": "DOC (zapis Microsoft Word)", @@ -105,6 +109,7 @@ "timeslider.month.december": "December", "timeslider.unnamedauthors": "{{num}} {[plural(num) one: neimenovan avtor, plural(num) two: neimenovana avtorja, plural(num) few: neimenovani avtorji, other: neimenovanih avtorjev ]}", "pad.savedrevs.marked": "Ta predelava je označena kot shranjena predelava.", + "pad.savedrevs.timeslider": "Shranjene revizije si lahko ogledate s pomočjo časovnega traku", "pad.userlist.entername": "Vpišite ime", "pad.userlist.unnamed": "neimenovana oseba", "pad.userlist.guest": "Gost", @@ -115,6 +120,7 @@ "pad.impexp.importing": "Poteka uvažanje ...", "pad.impexp.confirmimport": "Uvoz datoteke prepiše obstoječe besedilo dokumenta. Ali ste prepričani, da želite nadaljevati?", "pad.impexp.convertFailed": "Datoteke ni mogoče uvoziti. Uporabiti je treba enega izmed podprtih zapisov dokumentov ali pa vsebino prilepiti ročno.", + "pad.impexp.padHasData": "Nismo mogli uvoziti datoteke, ker ta Ploščica že vsebuje spremembe. Prosimo, uvozite datoteko v novo ploščico", "pad.impexp.uploadFailed": "Nalaganje je spodletelo, poskusite znova.", "pad.impexp.importfailed": "Uvoz je spodletel.", "pad.impexp.copypaste": "Vsebino kopirajte in prilepite.", diff --git a/src/locales/tr.json b/src/locales/tr.json index b0b6dbee..80927b7f 100644 --- a/src/locales/tr.json +++ b/src/locales/tr.json @@ -37,6 +37,7 @@ "pad.settings.padSettings": "Bloknot Ayarları", "pad.settings.myView": "Görünümüm", "pad.settings.stickychat": "Ekranda her zaman sohbet edin", + "pad.settings.chatandusers": "Sohbeti ve Kullanıcıları Göster", "pad.settings.colorcheck": "Yazarlık renkleri", "pad.settings.linenocheck": "Satır numaraları", "pad.settings.rtlcheck": "İçerik sağdan sola doğru okunsun mu?", @@ -110,6 +111,7 @@ "timeslider.month.december": "Aralık", "timeslider.unnamedauthors": "{{num}} adsız {[plural(num) one: yazar, other: yazar ]}", "pad.savedrevs.marked": "Bu düzenleme artık kayıtlı bir düzeltme olarak işaretlendi", + "pad.savedrevs.timeslider": "Zaman kaydırıcısını ziyaret ederek kaydedilen revizyonları görebilirsiniz", "pad.userlist.entername": "Adınızı girin", "pad.userlist.unnamed": "Adlandırılmamış", "pad.userlist.guest": "Misafir", diff --git a/src/locales/uk.json b/src/locales/uk.json index 79a39a33..9dcde98e 100644 --- a/src/locales/uk.json +++ b/src/locales/uk.json @@ -5,7 +5,8 @@ "Base", "Olvin", "Steve.rusyn", - "SteveR" + "SteveR", + "Lxlalexlxl" ] }, "index.newPad": "Створити", @@ -13,14 +14,14 @@ "pad.toolbar.bold.title": "Напівжирний (Ctrl-B)", "pad.toolbar.italic.title": "Курсив (Ctrl-I)", "pad.toolbar.underline.title": "Підкреслення (Ctrl-U)", - "pad.toolbar.strikethrough.title": "Закреслення", - "pad.toolbar.ol.title": "Упорядкований список", - "pad.toolbar.ul.title": "Неупорядкований список", + "pad.toolbar.strikethrough.title": "Закреслення (Ctrl+5)", + "pad.toolbar.ol.title": "Упорядкований список (Ctrl+Shift+N)", + "pad.toolbar.ul.title": "Неупорядкований список (Ctrl+Shift+L)", "pad.toolbar.indent.title": "Відступ (TAB)", "pad.toolbar.unindent.title": "Виступ (Shift+TAB)", "pad.toolbar.undo.title": "Скасувати (Ctrl-Z)", "pad.toolbar.redo.title": "Повторити (Ctrl-Y)", - "pad.toolbar.clearAuthorship.title": "Очистити кольори документу", + "pad.toolbar.clearAuthorship.title": "Очистити кольори документу (Ctrl+Shift+C)", "pad.toolbar.import_export.title": "Імпорт/Експорт з використанням різних форматів файлів", "pad.toolbar.timeslider.title": "Шкала часу", "pad.toolbar.savedRevision.title": "Зберегти версію", @@ -30,12 +31,14 @@ "pad.colorpicker.save": "Зберегти", "pad.colorpicker.cancel": "Скасувати", "pad.loading": "Завантаження…", + "pad.noCookie": "Реп'яшки не знайдено. Будь-ласка, увімкніть реп'яшки у вашому браузері!", "pad.passwordRequired": "Вам необхідний пароль для доступу до цього документу", "pad.permissionDenied": "Ви не має дозволу для доступу до цього документу", "pad.wrongPassword": "Неправильний пароль", "pad.settings.padSettings": "Налаштування документу", "pad.settings.myView": "Мій Вигляд", "pad.settings.stickychat": "Завжди відображувати чат", + "pad.settings.chatandusers": "Показати чат і користувачів", "pad.settings.colorcheck": "Кольори документу", "pad.settings.linenocheck": "Номери рядків", "pad.settings.rtlcheck": "Читати вміст з права на ліво?", @@ -48,6 +51,7 @@ "pad.importExport.import": "Завантажити будь-який текстовий файл або документ", "pad.importExport.importSuccessful": "Успішно!", "pad.importExport.export": "Експортувати поточний документ як:", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Звичайний текст", "pad.importExport.exportword": "Microsoft Word", diff --git a/src/locales/zh-hans.json b/src/locales/zh-hans.json index 4af3cb48..31b7f7f3 100644 --- a/src/locales/zh-hans.json +++ b/src/locales/zh-hans.json @@ -10,20 +10,21 @@ "Shizhao", "Yfdyh000", "乌拉跨氪", - "燃玉" + "燃玉", + "JuneAugust" ] }, "index.newPad": "新记事本", "index.createOpenPad": "或者创建/打开带名字的记事本:", "pad.toolbar.bold.title": "粗体(Ctrl-B)", - "pad.toolbar.italic.title": "斜体 (Ctrl-I)", + "pad.toolbar.italic.title": "斜体(Ctrl-I)", "pad.toolbar.underline.title": "下划线(Ctrl-U)", "pad.toolbar.strikethrough.title": "删除线(Ctrl+5)", "pad.toolbar.ol.title": "有序列表(Ctrl+Shift+N)", "pad.toolbar.ul.title": "无序列表(Ctrl+Shift+L)", "pad.toolbar.indent.title": "增加缩进(TAB)", "pad.toolbar.unindent.title": "减少缩进(Shift+TAB)", - "pad.toolbar.undo.title": "撤消 (Ctrl-Z)", + "pad.toolbar.undo.title": "撤消(Ctrl-Z)", "pad.toolbar.redo.title": "重做(Ctrl+Y)", "pad.toolbar.clearAuthorship.title": "清除作者颜色(Ctrl+Shift+C)", "pad.toolbar.import_export.title": "从不同的文件格式导入/导出", @@ -79,7 +80,7 @@ "pad.modals.slowcommit.cause": "这可能是由于网络连接问题。", "pad.modals.badChangeset.explanation": "您的一个编辑被同步服务器分类为非法。", "pad.modals.badChangeset.cause": "这可能是因为服务器配置的错误或者其他未预料到的行为。如果您认为这是错误,请联系服务管理员。要继续编辑,请尝试重新连接。", - "pad.modals.corruptPad.explanation": "您试图连接的平板已损坏。", + "pad.modals.corruptPad.explanation": "您试图连接的记事本已损坏。", "pad.modals.corruptPad.cause": "这可能是因为服务器配置的错误或者其他未预料到的行为。请联系服务管理员。", "pad.modals.deleted": "已刪除。", "pad.modals.deleted.explanation": "此记事本已被移除。", @@ -101,19 +102,19 @@ "timeslider.exportCurrent": "当前版本导出为:", "timeslider.version": "版本 {{version}}", "timeslider.saved": "在{{year}}年{{month}}{{day}}日保存", - "timeslider.dateformat": "{{year}}年{{month}}月{{day}}日 {{hours}}时:{{minutes}}分:{{seconds}}秒", + "timeslider.dateformat": "{{year}}年{{month}}月{{day}}日 {{hours}}{{minutes}}{{seconds}}", "timeslider.month.january": "1月", "timeslider.month.february": "2月", - "timeslider.month.march": "三月", - "timeslider.month.april": "四月", - "timeslider.month.may": "五月", - "timeslider.month.june": "六月", - "timeslider.month.july": "七月", - "timeslider.month.august": "八月", - "timeslider.month.september": "九月", - "timeslider.month.october": "十月", - "timeslider.month.november": "十一月", - "timeslider.month.december": "十二月", + "timeslider.month.march": "3月", + "timeslider.month.april": "4月", + "timeslider.month.may": "5月", + "timeslider.month.june": "6月", + "timeslider.month.july": "7月", + "timeslider.month.august": "8月", + "timeslider.month.september": "9月", + "timeslider.month.october": "10月", + "timeslider.month.november": "11月", + "timeslider.month.december": "12月", "timeslider.unnamedauthors": "{{num}}个匿名作者", "pad.savedrevs.marked": "这一修订现在被标记为已保存的修订版本", "pad.savedrevs.timeslider": "您可以使用时间滑块查阅已保存的版本", @@ -126,8 +127,8 @@ "pad.impexp.importbutton": "现在导入", "pad.impexp.importing": "正在导入...", "pad.impexp.confirmimport": "导入的文件将覆盖记事本的当前文本。你确定要继续吗?", - "pad.impexp.convertFailed": "我们无法导入此文档。请使用他文档格式或手动复制贴上。", - "pad.impexp.padHasData": "我们无法导入此文件,因为此记事本已经变更,请导入到一个新的记事本", + "pad.impexp.convertFailed": "我们无法导入此文档。请使用其他文档格式或手动复制贴上。", + "pad.impexp.padHasData": "我们无法导入此文件,因为此记事本已经变更,请导入到一个新的记事本中", "pad.impexp.uploadFailed": "上载失败,请重试", "pad.impexp.importfailed": "导入失败", "pad.impexp.copypaste": "请复制粘贴", diff --git a/src/locales/zh-hant.json b/src/locales/zh-hant.json index a692d0ca..48dd577c 100644 --- a/src/locales/zh-hant.json +++ b/src/locales/zh-hant.json @@ -6,7 +6,8 @@ "Shangkuanlc", "Shirayuki", "Simon Shek", - "LNDDYL" + "LNDDYL", + "Wehwei" ] }, "index.newPad": "新Pad", @@ -21,7 +22,7 @@ "pad.toolbar.unindent.title": "凸排(Shift+TAB)", "pad.toolbar.undo.title": "撤銷(Ctrl-Z)", "pad.toolbar.redo.title": "重做(Ctrl-Y)", - "pad.toolbar.clearAuthorship.title": "清除協作者顏色區別", + "pad.toolbar.clearAuthorship.title": "清除協作者顏色區別 (Ctrl+Shift+C)", "pad.toolbar.import_export.title": "以其他檔案格式匯入/匯出", "pad.toolbar.timeslider.title": "時間軸", "pad.toolbar.savedRevision.title": "儲存修訂", @@ -31,12 +32,14 @@ "pad.colorpicker.save": "儲存", "pad.colorpicker.cancel": "取消", "pad.loading": "載入中...", + "pad.noCookie": "找不到 Cookie。請讓你的瀏覽器允許 Cookie!", "pad.passwordRequired": "您需要密碼才能訪問這個pad", "pad.permissionDenied": "你沒有訪問這個pad的權限", "pad.wrongPassword": "密碼錯誤", "pad.settings.padSettings": "Pad設定", "pad.settings.myView": "我的視窗", "pad.settings.stickychat": "永遠在屏幕上顯示聊天", + "pad.settings.chatandusers": "顯示聊天及用戶", "pad.settings.colorcheck": "協作者顏色", "pad.settings.linenocheck": "行號", "pad.settings.rtlcheck": "從右至左讀取內容?", @@ -49,6 +52,7 @@ "pad.importExport.import": "上載任何文字檔或文件", "pad.importExport.importSuccessful": "完成!", "pad.importExport.export": "匯出當前pad為:", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "純文字", "pad.importExport.exportword": "Microsoft Word", From 9b85b8dc98570e4a5d61cea96378d594d3a4bc4e Mon Sep 17 00:00:00 2001 From: 0ip Date: Mon, 4 May 2015 22:18:34 +0200 Subject: [PATCH 16/21] Fix popup border --- src/static/css/pad.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/static/css/pad.css b/src/static/css/pad.css index ff8ab5ab..49a54fb0 100644 --- a/src/static/css/pad.css +++ b/src/static/css/pad.css @@ -860,6 +860,7 @@ input[type=checkbox] { padding: 10px; border-radius: 0 0 6px 6px; border: 1px solid #ccc; + border-top: none; background: #f7f7f7; background: -webkit-linear-gradient(#F7F7F7, #EEE); background: -moz-linear-gradient(#F7F7F7, #EEE); From 5e64c292a4ae2639bf068d31a208f582513149c7 Mon Sep 17 00:00:00 2001 From: Xavid Date: Tue, 5 May 2015 14:14:25 -0400 Subject: [PATCH 17/21] When using setText(), replace the entire existing text of the pad, rather than replacing all except the last letter. --- src/node/db/Pad.js | 2 +- src/static/js/Changeset.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/node/db/Pad.js b/src/node/db/Pad.js index 53847600..e70628b7 100644 --- a/src/node/db/Pad.js +++ b/src/node/db/Pad.js @@ -290,7 +290,7 @@ Pad.prototype.setText = function setText(newText) { var oldText = this.text(); //create the changeset - var changeset = Changeset.makeSplice(oldText, 0, oldText.length-1, newText); + var changeset = Changeset.makeSplice(oldText, 0, oldText.length, newText); //append the changeset this.appendRevision(changeset); diff --git a/src/static/js/Changeset.js b/src/static/js/Changeset.js index df180f9c..04a05514 100644 --- a/src/static/js/Changeset.js +++ b/src/static/js/Changeset.js @@ -260,13 +260,13 @@ exports.checkRep = function (cs) { break; case '-': oldPos += o.chars; - exports.assert(oldPos < oldLen, oldPos, " >= ", oldLen, " in ", cs); + exports.assert(oldPos <= oldLen, oldPos, " > ", oldLen, " in ", cs); break; case '+': { calcNewLen += o.chars; numInserted += o.chars; - exports.assert(calcNewLen < newLen, calcNewLen, " >= ", newLen, " in ", cs); + exports.assert(calcNewLen <= newLen, calcNewLen, " > ", newLen, " in ", cs); break; } } @@ -1408,8 +1408,8 @@ exports.makeSplice = function (oldFullText, spliceStart, numRemoved, newText, op if (spliceStart >= oldLen) { spliceStart = oldLen - 1; } - if (numRemoved > oldFullText.length - spliceStart - 1) { - numRemoved = oldFullText.length - spliceStart - 1; + if (numRemoved > oldFullText.length - spliceStart) { + numRemoved = oldFullText.length - spliceStart; } var oldText = oldFullText.substring(spliceStart, spliceStart + numRemoved); var newLen = oldLen + newText.length - oldText.length; From 48c2b7cde192c15cb429dcee7696ba4968955959 Mon Sep 17 00:00:00 2001 From: John McLear Date: Tue, 5 May 2015 20:41:40 +0100 Subject: [PATCH 18/21] fixes #2570 --- src/static/js/pad.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/static/js/pad.js b/src/static/js/pad.js index a2c76c08..ade49b1e 100644 --- a/src/static/js/pad.js +++ b/src/static/js/pad.js @@ -456,10 +456,11 @@ var pad = { }, switchToPad: function(padId) { - var options = document.location.href.split('?')[1]; - var newHref = "/p/" + padId; - if (options != null) - newHref = newHref + '?' + options; + var newHref = new RegExp(/.*\/p\/[^\/]+/).exec(document.location.pathname) || clientVars.padId; + newHref = newHref[0]; + if (options != null){ + newHref = newHref + '?' + options; + } if(window.history && window.history.pushState) { From c903cb3925be5be7c08ac5ba558d2f873cdf1116 Mon Sep 17 00:00:00 2001 From: John McLear Date: Wed, 6 May 2015 00:32:36 +0100 Subject: [PATCH 19/21] fix alt c and escape --- src/static/js/ace2_inner.js | 5 +++-- src/static/js/chat.js | 13 ++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js index d3cc4fd3..da249c92 100644 --- a/src/static/js/ace2_inner.js +++ b/src/static/js/ace2_inner.js @@ -3640,6 +3640,7 @@ function Ace2Inner(){ }else{ var lineHeight = myselection.focusNode.offsetHeight; // line height of blank lines } + var heightOfChatIcon = parent.parent.$('#chaticon').height(); // height of the chat icon button lineHeight = (lineHeight *2) + heightOfChatIcon; var viewport = getViewPortTopBottom(); @@ -3704,11 +3705,11 @@ function Ace2Inner(){ firstEditbarElement.focus(); evt.preventDefault(); } - if ((!specialHandled) && altKey && keyCode == 67){ + if ((!specialHandled) && altKey && keyCode == 67 && type === "keydown"){ // Alt c focuses on the Chat window $(this).blur(); parent.parent.chat.show(); - parent.parent.chat.focus(); + parent.parent.$("#chatinput").focus(); evt.preventDefault(); } if ((!specialHandled) && evt.ctrlKey && shiftKey && keyCode == 50 && type === "keydown"){ diff --git a/src/static/js/chat.js b/src/static/js/chat.js index 42cd50f4..fa087eec 100644 --- a/src/static/js/chat.js +++ b/src/static/js/chat.js @@ -39,8 +39,6 @@ var chat = (function() }, focus: function () { - // I'm not sure why we need a setTimeout here but without it we don't get focus... - // Animation maybe? setTimeout(function(){ $("#chatinput").focus(); },100); @@ -214,23 +212,24 @@ var chat = (function() init: function(pad) { this._pad = pad; - $("#chatinput").keyup(function(evt) - { + $("#chatinput").on("keydown", function(evt){ // If the event is Alt C or Escape & we're already in the chat menu // Send the users focus back to the pad if((evt.altKey == true && evt.which === 67) || evt.which === 27){ // If we're in chat already.. $(':focus').blur(); // required to do not try to remove! padeditor.ace.focus(); // Sends focus back to pad + evt.preventDefault(); + return false; } }); - $('body:not(#chatinput)').on("keydown", function(evt){ + $('body:not(#chatinput)').on("keypress", function(evt){ if (evt.altKey && evt.which == 67){ // Alt c focuses on the Chat window $(this).blur(); - parent.parent.chat.show(); - parent.parent.chat.focus(); + chat.show(); + $("#chatinput").focus(); evt.preventDefault(); } }); From 361807e5785b8ef999b6aa90a54f322d14cfcd64 Mon Sep 17 00:00:00 2001 From: John McLear Date: Wed, 6 May 2015 00:36:42 +0100 Subject: [PATCH 20/21] console msg should go to window --- src/static/js/collab_client.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/static/js/collab_client.js b/src/static/js/collab_client.js index e5c0ec8b..ad493528 100644 --- a/src/static/js/collab_client.js +++ b/src/static/js/collab_client.js @@ -279,7 +279,7 @@ function getCollabClient(ace2editor, serverVars, initialUserInfo, options, _pad) if (newRev != (oldRev + 1)) { - parent.parent.console.warn("bad message revision on NEW_CHANGES: " + newRev + " not " + (oldRev + 1)); + window.console.warn("bad message revision on NEW_CHANGES: " + newRev + " not " + (oldRev + 1)); // setChannelState("DISCONNECTED", "badmessage_newchanges"); return; } @@ -289,7 +289,7 @@ function getCollabClient(ace2editor, serverVars, initialUserInfo, options, _pad) if (newRev != (rev + 1)) { - parent.parent.console.warn("bad message revision on NEW_CHANGES: " + newRev + " not " + (rev + 1)); + window.console.warn("bad message revision on NEW_CHANGES: " + newRev + " not " + (rev + 1)); // setChannelState("DISCONNECTED", "badmessage_newchanges"); return; } @@ -303,7 +303,7 @@ function getCollabClient(ace2editor, serverVars, initialUserInfo, options, _pad) { if (newRev != (msgQueue[msgQueue.length - 1].newRev + 1)) { - parent.parent.console.warn("bad message revision on ACCEPT_COMMIT: " + newRev + " not " + (msgQueue[msgQueue.length - 1][0] + 1)); + window.console.warn("bad message revision on ACCEPT_COMMIT: " + newRev + " not " + (msgQueue[msgQueue.length - 1][0] + 1)); // setChannelState("DISCONNECTED", "badmessage_acceptcommit"); return; } @@ -313,7 +313,7 @@ function getCollabClient(ace2editor, serverVars, initialUserInfo, options, _pad) if (newRev != (rev + 1)) { - parent.parent.console.warn("bad message revision on ACCEPT_COMMIT: " + newRev + " not " + (rev + 1)); + window.console.warn("bad message revision on ACCEPT_COMMIT: " + newRev + " not " + (rev + 1)); // setChannelState("DISCONNECTED", "badmessage_acceptcommit"); return; } From 9e86fb279be7511e27abb6da57d06ba073cf1e70 Mon Sep 17 00:00:00 2001 From: Xavid Date: Wed, 6 May 2015 08:45:22 -0400 Subject: [PATCH 21/21] Fix backend tests with new setText() implementation; tests depended on the old setText() behavior leaving the last character. --- src/node/utils/ImportHtml.js | 2 +- tests/backend/specs/api/pad.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/node/utils/ImportHtml.js b/src/node/utils/ImportHtml.js index 33fd91c6..d71e2720 100644 --- a/src/node/utils/ImportHtml.js +++ b/src/node/utils/ImportHtml.js @@ -89,7 +89,7 @@ function setPadHTML(pad, html, callback) // the changeset is ready! var theChangeset = builder.toString(); apiLogger.debug('The changeset: ' + theChangeset); - pad.setText(""); + pad.setText("\n"); pad.appendRevision(theChangeset); callback(null); } diff --git a/tests/backend/specs/api/pad.js b/tests/backend/specs/api/pad.js index 75e77971..a2e8cdb3 100644 --- a/tests/backend/specs/api/pad.js +++ b/tests/backend/specs/api/pad.js @@ -210,7 +210,7 @@ describe('getText', function(){ it('gets the Pad text', function(done) { api.get(endPoint('getText')+"&padID="+testPadId) .expect(function(res){ - if(res.body.data.text !== "testTextTwo\n") throw new Error("Setting Text") + if(res.body.data.text !== "testTextTwo") throw new Error("Setting Text") }) .expect('Content-Type', /json/) .expect(200, done) @@ -386,7 +386,7 @@ describe('getText', function(){ api.get(endPoint('getText')+"&padID="+testPadId) .expect(function(res){ if(res.body.code !== 0) throw new Error("Pad Get Text failed") - if(res.body.data.text !== text+"\n") throw new Error("Pad Text not set properly"); + if(res.body.data.text !== text) throw new Error("Pad Text not set properly"); }) .expect('Content-Type', /json/) .expect(200, done) @@ -419,7 +419,7 @@ describe('getText', function(){ it('Gets text on a pad Id', function(done) { api.get(endPoint('getText')+"&padID="+newPadId) .expect(function(res){ - if(res.body.data.text !== text+"\n") throw new Error("Pad Get Text failed") + if(res.body.data.text !== text) throw new Error("Pad Get Text failed") }) .expect('Content-Type', /json/) .expect(200, done) @@ -441,7 +441,7 @@ describe('getText', function(){ it('Gets text on a pad Id', function(done) { api.get(endPoint('getText')+"&padID="+testPadId) .expect(function(res){ - if(res.body.data.text !== text+"\n") throw new Error("Pad Get Text failed") + if(res.body.data.text !== text) throw new Error("Pad Get Text failed") }) .expect('Content-Type', /json/) .expect(200, done)