From 13eff60dfea7b5ddcca15f9c4c4adab18c3e7dfe Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 02:13:34 +0000
Subject: [PATCH 30/81] mheh I suck at css 0ip would do a way better job of
this
---
src/static/css/pad.css | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/static/css/pad.css b/src/static/css/pad.css
index 1b6482065..0ecf91f05 100644
--- a/src/static/css/pad.css
+++ b/src/static/css/pad.css
@@ -918,11 +918,24 @@ input[type=checkbox] {
display:block !important;
right:0px !important;
border-radius:0px !important;
- height:185px !important;
- width:180px !important;
+ height:200px !important;
+ width:182px !important;
+ margin:2px 0 0 0 !important;
+ border: none !important;
+ border-bottom: 1px solid #ccc !important;
+}
+.chatAndUsersChat > div > #titlecross{
+ display:none;
}
.chatAndUsersChat{
- top:300px !important;
+ bottom:0px !important;
+ padding:0 !important;
+ margin:0 !important;
+ right:0 !important;
+ top: 315px !important;
+ width:182px !important;
+ border: none !important;
+ padding:5px !important;
}
@media screen and (max-width: 600px) {
From cadb83ac5af0911e722812d934d3133735d46ced Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 02:51:32 +0000
Subject: [PATCH 31/81] bumpage
---
src/node/db/API.js | 11 ++++-
src/node/handler/ImportHandler.js | 8 ++--
src/node/utils/ImportHtml.js | 2 +-
tests/backend/specs/api/pad.js | 67 +++++++++++++++++++++++++++++++
4 files changed, 81 insertions(+), 7 deletions(-)
diff --git a/src/node/db/API.js b/src/node/db/API.js
index a9df2a12f..07127309d 100644
--- a/src/node/db/API.js
+++ b/src/node/db/API.js
@@ -410,7 +410,16 @@ exports.setHTML = function(padID, html, callback)
if(ERR(err, callback)) return;
// add a new changeset with the new html to the pad
- importHtml.setPadHTML(pad, cleanText(html), callback);
+ importHtml.setPadHTML(pad, cleanText(html), function(e){
+ if(e){
+ callback(new customError("HTML is malformed","apierror"));
+ return;
+ }else{
+ //update the clients on the pad
+ padMessageHandler.updatePadClients(pad, callback);
+ return;
+ }
+ });
//update the clients on the pad
padMessageHandler.updatePadClients(pad, callback);
diff --git a/src/node/handler/ImportHandler.js b/src/node/handler/ImportHandler.js
index a511637cc..676986510 100644
--- a/src/node/handler/ImportHandler.js
+++ b/src/node/handler/ImportHandler.js
@@ -232,11 +232,9 @@ exports.doImport = function(req, res, padId)
if(!directDatabaseAccess){
var fileEnding = path.extname(srcFile).toLowerCase();
if (abiword || fileEnding == ".htm" || fileEnding == ".html") {
- try{
- importHtml.setPadHTML(pad, text);
- }catch(e){
- apiLogger.warn("Error importing, possibly caused by malformed HTML");
- }
+ importHtml.setPadHTML(pad, text, function(e){
+ if(e) apiLogger.warn("Error importing, possibly caused by malformed HTML");
+ });
} else {
pad.setText(text);
}
diff --git a/src/node/utils/ImportHtml.js b/src/node/utils/ImportHtml.js
index 59802f9bf..652e7fccd 100644
--- a/src/node/utils/ImportHtml.js
+++ b/src/node/utils/ImportHtml.js
@@ -40,7 +40,7 @@ function setPadHTML(pad, html, callback)
cc.collectContent(doc);
}catch(e){
apiLogger.warn("HTML was not properly formed", e);
- return; // We don't process the HTML because it was bad..
+ return callback(e); // We don't process the HTML because it was bad..
}
var result = cc.finish();
diff --git a/tests/backend/specs/api/pad.js b/tests/backend/specs/api/pad.js
index 52e7c9170..012ce4238 100644
--- a/tests/backend/specs/api/pad.js
+++ b/tests/backend/specs/api/pad.js
@@ -12,6 +12,7 @@ var apiVersion = 1;
var testPadId = makeid();
var lastEdited = "";
var text = generateLongText();
+var ULhtml = '
one
2
UL2
';
describe('Connectivity', function(){
it('errors if can not connect', function(done) {
@@ -71,6 +72,9 @@ describe('Permission', function(){
-> movePad(newPadID, originalPadId) -- Should provide consistant pad data
-> getText(originalPadId) -- Should be "hello world"
-> getLastEdited(padID) -- Should not be 0
+ -> setHTML(padID) -- Should fail on invalid HTML
+ -> setHTML(padID) *3 -- Should fail on invalid HTML
+ -> getHTML(padID) -- Should return HTML close to posted HTML
*/
@@ -390,6 +394,69 @@ describe('getLastEdited', function(){
});
})
+
+describe('setHTML', function(){
+ it('Sets the HTML of a Pad attempting to pass ugly HTML', function(done) {
+ var html = "
Hello HTML
";
+ api.get(endPoint('setHTML')+"&padID="+testPadId+"&html="+html)
+ .expect(function(res){
+ if(res.body.code !== 1) throw new Error("Allowing crappy HTML to be imported")
+ })
+ .expect('Content-Type', /json/)
+ .expect(200, done)
+ });
+})
+
+describe('setHTML', function(){
+ it('Sets the HTML of a Pad with a bunch of weird unordered lists inserted', function(done) {
+ api.get(endPoint('setHTML')+"&padID=test&html="+ULhtml)
+ .expect(function(res){
+ if(res.body.code !== 0) throw new Error("List HTML cant be imported")
+ })
+ .expect('Content-Type', /json/)
+ .expect(200, done)
+ });
+})
+
+describe('getHTML', function(){
+ // will fail due to https://github.com/ether/etherpad-lite/issues/1604
+ // reminder to self this is how the HTML looks
+ //
+ //
one
+ //
2
+ //
+ //
+ //
+ //
+ //
UL2
+ //
+ //
+ // It will look right in the browser but the export will get it horriby wrong
+
+ // This is what the export puts out
+ //
+ //
one
+ //
2
+ //
+ //
+ //
+ // NOTE THIS IS WHAT'S MISSING
+ //
UL2
+ //
+ //
+
+ it('Gets the HTML of a Pad with a bunch of weird unordered lists inserted', function(done) {
+ api.get(endPoint('getHTML')+"&padID=test")
+ .expect(function(res){
+ console.log(res.body.data.html);
+ if(res.body.data !== ULhtml) throw new Error("Imported HTML does not match served HTML")
+ })
+ .expect('Content-Type', /json/)
+ .expect(200, done)
+ });
+})
+
+
/*
-> movePadForce Test
From 85fffbe14ce5ca6f205434ce42b98eb4de12b6d6 Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 02:57:10 +0000
Subject: [PATCH 32/81] more handling
---
src/node/utils/ImportHtml.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/node/utils/ImportHtml.js b/src/node/utils/ImportHtml.js
index 652e7fccd..33fd91c65 100644
--- a/src/node/utils/ImportHtml.js
+++ b/src/node/utils/ImportHtml.js
@@ -91,6 +91,7 @@ function setPadHTML(pad, html, callback)
apiLogger.debug('The changeset: ' + theChangeset);
pad.setText("");
pad.appendRevision(theChangeset);
+ callback(null);
}
exports.setPadHTML = setPadHTML;
From 4f637befeb449fc7e401b8a2a6624d288da86633 Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 02:59:17 +0000
Subject: [PATCH 33/81] more fixing
---
src/node/db/API.js | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/node/db/API.js b/src/node/db/API.js
index 07127309d..81dedcfef 100644
--- a/src/node/db/API.js
+++ b/src/node/db/API.js
@@ -420,10 +420,6 @@ exports.setHTML = function(padID, html, callback)
return;
}
});
-
- //update the clients on the pad
- padMessageHandler.updatePadClients(pad, callback);
-
});
}
From 7958f3b7232cd72e848b8922ac1ca7e2c0681515 Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 03:02:34 +0000
Subject: [PATCH 34/81] nearly fully working
---
tests/backend/specs/api/pad.js | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/tests/backend/specs/api/pad.js b/tests/backend/specs/api/pad.js
index 012ce4238..05f6bdd1c 100644
--- a/tests/backend/specs/api/pad.js
+++ b/tests/backend/specs/api/pad.js
@@ -394,7 +394,6 @@ describe('getLastEdited', function(){
});
})
-
describe('setHTML', function(){
it('Sets the HTML of a Pad attempting to pass ugly HTML', function(done) {
var html = "
Hello HTML
";
@@ -409,7 +408,7 @@ describe('setHTML', function(){
describe('setHTML', function(){
it('Sets the HTML of a Pad with a bunch of weird unordered lists inserted', function(done) {
- api.get(endPoint('setHTML')+"&padID=test&html="+ULhtml)
+ api.get(endPoint('setHTML')+"&padID="+testPadId+"&html="+ULhtml)
.expect(function(res){
if(res.body.code !== 0) throw new Error("List HTML cant be imported")
})
@@ -446,9 +445,9 @@ describe('getHTML', function(){
//
it('Gets the HTML of a Pad with a bunch of weird unordered lists inserted', function(done) {
- api.get(endPoint('getHTML')+"&padID=test")
+ api.get(endPoint('getHTML')+"&padID="+testPadId)
.expect(function(res){
- console.log(res.body.data.html);
+ console.log("foo", res.body.data.html);
if(res.body.data !== ULhtml) throw new Error("Imported HTML does not match served HTML")
})
.expect('Content-Type', /json/)
From 3463b16d1aab4277c24aef11fcb93c15f30b35da Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 03:04:23 +0000
Subject: [PATCH 35/81] nearly there...
---
tests/backend/specs/api/pad.js | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/tests/backend/specs/api/pad.js b/tests/backend/specs/api/pad.js
index 05f6bdd1c..49800e6fc 100644
--- a/tests/backend/specs/api/pad.js
+++ b/tests/backend/specs/api/pad.js
@@ -433,16 +433,19 @@ describe('getHTML', function(){
// It will look right in the browser but the export will get it horriby wrong
// This is what the export puts out
+ //
//
- //
one
- //
2
+ //
one
+ //
2
//
//
- //
- // NOTE THIS IS WHAT'S MISSING
- //
UL2
+ //
+ //
+ //
UL2
+ //
//
//
+ //
it('Gets the HTML of a Pad with a bunch of weird unordered lists inserted', function(done) {
api.get(endPoint('getHTML')+"&padID="+testPadId)
From 3649118194f8441b84ada355f4fe432e34d14d21 Mon Sep 17 00:00:00 2001
From: Cetra Free
Date: Mon, 19 Jan 2015 14:25:06 +1030
Subject: [PATCH 36/81] Update to timeslider to include base path for easier
proxying
---
src/static/js/timeslider.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/static/js/timeslider.js b/src/static/js/timeslider.js
index b3c10b8a3..9cb274bef 100644
--- a/src/static/js/timeslider.js
+++ b/src/static/js/timeslider.js
@@ -60,10 +60,12 @@ function init() {
var url = loc.protocol + "//" + loc.hostname + ":" + port + "/";
//find out in which subfolder we are
var resource = exports.baseURL.substring(1) + 'socket.io';
+
+ console.log(exports.baseURL);
//build up the socket io connection
- socket = io.connect(url, {resource: resource});
-
+ socket = io.connect(url, {path: exports.baseURL + 'socket.io', resource: resource});
+
//send the ready message once we're connected
socket.on('connect', function()
{
From f1c9c58c2db481925e11c63fc7ac727802573530 Mon Sep 17 00:00:00 2001
From: Cetra Free
Date: Mon, 19 Jan 2015 14:28:30 +1030
Subject: [PATCH 37/81] Update to timeslider to include base path for easier
proxying
---
src/static/js/timeslider.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/static/js/timeslider.js b/src/static/js/timeslider.js
index 9cb274bef..ec237df5e 100644
--- a/src/static/js/timeslider.js
+++ b/src/static/js/timeslider.js
@@ -60,8 +60,6 @@ function init() {
var url = loc.protocol + "//" + loc.hostname + ":" + port + "/";
//find out in which subfolder we are
var resource = exports.baseURL.substring(1) + 'socket.io';
-
- console.log(exports.baseURL);
//build up the socket io connection
socket = io.connect(url, {path: exports.baseURL + 'socket.io', resource: resource});
From 28aeeff154adf67e92735398a1e7625066b3133d Mon Sep 17 00:00:00 2001
From: Siebrand Mazeland
Date: Mon, 19 Jan 2015 09:28:03 +0100
Subject: [PATCH 38/81] Localisation updates from https://translatewiki.net.
---
src/locales/ar.json | 12 ++++----
src/locales/az.json | 61 ++++++++++++++++++++------------------
src/locales/be-tarask.json | 3 ++
src/locales/ca.json | 9 ++++--
src/locales/cs.json | 1 +
src/locales/de.json | 3 ++
src/locales/el.json | 3 ++
src/locales/es.json | 3 ++
src/locales/fa.json | 3 ++
src/locales/fi.json | 4 ++-
src/locales/fr.json | 3 ++
src/locales/gl.json | 3 ++
src/locales/hu.json | 1 +
src/locales/ia.json | 3 ++
src/locales/lb.json | 1 +
src/locales/mk.json | 3 ++
src/locales/ms.json | 3 ++
src/locales/nap.json | 38 +++++++++++++++++++++++-
src/locales/pl.json | 4 ++-
src/locales/pt-br.json | 6 +++-
src/locales/pt.json | 4 ++-
src/locales/sv.json | 3 ++
src/locales/zh-hans.json | 5 +++-
src/locales/zh-hant.json | 4 +--
24 files changed, 138 insertions(+), 45 deletions(-)
diff --git a/src/locales/ar.json b/src/locales/ar.json
index b4ea58dd2..b0d19fcc2 100644
--- a/src/locales/ar.json
+++ b/src/locales/ar.json
@@ -3,7 +3,8 @@
"authors": [
"Ali1",
"Tux-tn",
- "Alami"
+ "Alami",
+ "Meno25"
]
},
"index.newPad": "باد جديد",
@@ -11,14 +12,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": "إزاحة",
"pad.toolbar.unindent.title": "حذف الإزاحة",
"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": "حفظ المراجعة",
@@ -46,6 +47,7 @@
"pad.importExport.import": "تحميل أي ملف نصي أو وثيقة",
"pad.importExport.importSuccessful": "ناجح!",
"pad.importExport.export": "تصدير الباد الحالي بصفة:",
+ "pad.importExport.exportetherpad": "إيثرباد",
"pad.importExport.exporthtml": "إتش تي إم إل",
"pad.importExport.exportplain": "نص عادي",
"pad.importExport.exportword": "مايكروسوفت وورد",
diff --git a/src/locales/az.json b/src/locales/az.json
index 25a8ecc2f..99d3216aa 100644
--- a/src/locales/az.json
+++ b/src/locales/az.json
@@ -3,35 +3,36 @@
"authors": [
"AZISS",
"Khan27",
- "Mushviq Abdulla"
+ "Mushviq Abdulla",
+ "Wertuose"
]
},
- "index.newPad": "Yeni Pad",
- "index.createOpenPad": "və ya Pad-ı adı ilə yarat/aç:",
+ "index.newPad": "Yeni lövhə",
+ "index.createOpenPad": "və ya lövhəni bu adla yarat/aç:",
"pad.toolbar.bold.title": "Qalın (Ctrl-B)",
"pad.toolbar.italic.title": "Kursiv (Ctrl-I)",
"pad.toolbar.underline.title": "Altından xətt çəkmə (Ctrl-U)",
- "pad.toolbar.strikethrough.title": "Pozulma",
- "pad.toolbar.ol.title": "Qaydaya salınmış siyahı",
- "pad.toolbar.ul.title": "Qaydaya salınmamış siyahı",
- "pad.toolbar.indent.title": "Abzas",
- "pad.toolbar.unindent.title": "Çıxıntı",
- "pad.toolbar.undo.title": "Geri Al (Ctrl-Z)",
- "pad.toolbar.redo.title": "Qaytarmaq (Ctrl-Y)",
+ "pad.toolbar.strikethrough.title": "Üstdən xətləmək (Ctrl+5)",
+ "pad.toolbar.ol.title": "Sıralanmış siyahı (Ctrl+Shift+N)",
+ "pad.toolbar.ul.title": "Sırasız siyahı (Ctrl+Shift+L)",
+ "pad.toolbar.indent.title": "Abzas (TAB)",
+ "pad.toolbar.unindent.title": "Çıxıntı (Shift+TAB)",
+ "pad.toolbar.undo.title": "Geri qaytar (Ctrl+Z)",
+ "pad.toolbar.redo.title": "Qaytar (Ctrl+Y)",
"pad.toolbar.clearAuthorship.title": "Müəlliflik Rənglərini Təmizlə",
"pad.toolbar.import_export.title": "Müxtəlif fayl formatların(a/dan) idxal/ixrac",
"pad.toolbar.timeslider.title": "Vaxt cədvəli",
"pad.toolbar.savedRevision.title": "Saxlanılan Düzəlişlər",
"pad.toolbar.settings.title": "Tənzimləmələr",
- "pad.toolbar.embed.title": "Bu pad-ı yayımla",
- "pad.toolbar.showusers.title": "Pad-da istifadəçiləri göstər",
+ "pad.toolbar.embed.title": "Bu lövhəni paylaş və qur",
+ "pad.toolbar.showusers.title": "Lövhədəki istifadəçiləri göstər",
"pad.colorpicker.save": "Saxla",
"pad.colorpicker.cancel": "İmtina",
"pad.loading": "Yüklənir...",
- "pad.passwordRequired": "Bu pad-a daxil olmaq üçün parol lazımdır",
- "pad.permissionDenied": "Bu pad-a daxil olmaq üçün icazəniz yoxdur",
+ "pad.passwordRequired": "Bu lövhəyə daxil olmaq üçün parol lazımdır",
+ "pad.permissionDenied": "Bu lövhəyə daxil olmaq üçün icazəniz yoxdur",
"pad.wrongPassword": "Sizin parolunuz səhvdir",
- "pad.settings.padSettings": "Pad Tənzimləmələri",
+ "pad.settings.padSettings": "Lövhə nizamlamaları",
"pad.settings.myView": "Mənim Görüntüm",
"pad.settings.stickychat": "Söhbət həmişə ekranda",
"pad.settings.colorcheck": "Müəlliflik rəngləri",
@@ -45,18 +46,19 @@
"pad.importExport.import_export": "İdxal/İxrac",
"pad.importExport.import": "Hər hansı bir mətn faylı və ya sənəd yüklə",
"pad.importExport.importSuccessful": "Uğurlu!",
- "pad.importExport.export": "Hazırki pad-ı ixrac etmək kimi:",
+ "pad.importExport.export": "Hazırkı lövhəni bu şəkildə ixrac et:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Adi mətn",
"pad.importExport.exportword": "Microsoft Word",
"pad.importExport.exportpdf": "PDF",
- "pad.importExport.exportopen": "ODF (Açıq Sənəd Formatı)",
+ "pad.importExport.exportopen": "ODF (açıq sənəd formatı)",
"pad.importExport.abiword.innerHTML": "Siz yalnız adi mətndən və ya HTML-dən idxal edə bilərsiniz. İdxalın daha mürəkkəb funksiyaları üçün, zəhmət olmasa, AbiWord-i quraşdırın.",
"pad.modals.connected": "Bağlandı.",
- "pad.modals.reconnecting": "Sizin pad yenidən qoşulur..",
+ "pad.modals.reconnecting": "Sizin lövhə yenidən qoşulur..",
"pad.modals.forcereconnect": "Məcbur təkrarən bağlan",
"pad.modals.userdup": "Başqa pəncərədə artıq açıqdır",
- "pad.modals.userdup.explanation": "Sənəd, ola bilsin ki, bu kompyuterdə, brauzerin bir neçə pəncərəsində açılmışdır.",
+ "pad.modals.userdup.explanation": "Bu lövhə, ola bilsin ki, bu kompüterdəki brauzerin bir neçə pəncərəsində açılmışdır.",
"pad.modals.userdup.advice": "Bu pəncərədən istifadəylə yenidən qoşulun.",
"pad.modals.unauth": "İcazəli deyil",
"pad.modals.unauth.explanation": "Bu səhifəyə baxdığınız vaxt sizin icazəniz dəyişilib. Bərpa etmək üşün yenidən cəhd edin.",
@@ -69,22 +71,22 @@
"pad.modals.slowcommit.cause": "Bu şəbəkə bağlantısında problemlər yarana bilər.",
"pad.modals.badChangeset.explanation": "Etdiyiniz bir redaktə sinxronizasiya serveri tərəfindən qeyri-leqal/qanundan kənar olaraq təsbit edildi.",
"pad.modals.badChangeset.cause": "Bu, yanlış server tərtibatı ya da başqa bir gözlənilməyən davranışlar nəticəsində ola bilər. Bu sizə bir xəta imiş kimi görünürsə lütfən servis nəzarətçisi ilə əlaqə yaradın. Redaktəyə davam etmək üçün yenidən qoşulmanı yoxlayın.",
- "pad.modals.corruptPad.explanation": "Əldə etməyə çalışdığınız sənəd zədəlidir.",
+ "pad.modals.corruptPad.explanation": "Daxil olmağa çalışdığınız lövhə zədəlidir.",
"pad.modals.corruptPad.cause": "Bu, yanlış server tərtibatı ya da başqa bir gözlənilməyən davranışlardan əmələ gələ bilər. Lütfən servis nəzarətçisi ilə əlaqə yaradın.",
"pad.modals.deleted": "Silindi.",
- "pad.modals.deleted.explanation": "Bu pad silindi.",
+ "pad.modals.deleted.explanation": "Bu lövhə silindi.",
"pad.modals.disconnected": "Əlaqə kəsilib.",
"pad.modals.disconnected.explanation": "Serverə qoşulma itirilib",
"pad.modals.disconnected.cause": "Server istifadə olunmur. Əgər problem təkrarlanacaqsa, bizə bildirin.",
- "pad.share": "Bu pad-ı yayımla",
+ "pad.share": "Bu lövhəni paylaş",
"pad.share.readonly": "Yalnız oxuyun",
"pad.share.link": "Keçid",
"pad.share.emebdcode": "URL-ni yayımla",
"pad.chat": "Söhbət",
- "pad.chat.title": "Bu pad üçün chat açın.",
+ "pad.chat.title": "Bu lövhə üçün çat açın.",
"pad.chat.loadmessages": "Daha çox mesaj yüklə",
"timeslider.pageTitle": "{{appTitle}} Vaxt cədvəli",
- "timeslider.toolbar.returnbutton": "Pad-a qayıt",
+ "timeslider.toolbar.returnbutton": "Lövhəyə qayıt",
"timeslider.toolbar.authors": "Müəlliflər:",
"timeslider.toolbar.authorsList": "Müəllif yoxdur",
"timeslider.toolbar.exportlink.title": "İxrac",
@@ -104,18 +106,19 @@
"timeslider.month.october": "Oktyabr",
"timeslider.month.november": "Noyabr",
"timeslider.month.december": "Dekabr",
- "timeslider.unnamedauthors": "{{num}} adsız müəlliflər",
+ "timeslider.unnamedauthors": "{{num}} adsız {[plural(num) one: müəllif, other: müəllif]}",
"pad.savedrevs.marked": "Bu versiya indi yaddaşa saxlanmış kimi nişanlandı",
- "pad.userlist.entername": "Adınızı daxil et",
+ "pad.userlist.entername": "Adınızı daxil edin",
"pad.userlist.unnamed": "adsız",
"pad.userlist.guest": "Qonaq",
"pad.userlist.deny": "İnkar etmək",
"pad.userlist.approve": "Təsdiqləmək",
- "pad.editbar.clearcolors": "Bütün sənədlərdə müəlliflik rənglərini təmizlə?",
- "pad.impexp.importbutton": "İndi idxal edin",
+ "pad.editbar.clearcolors": "Bütün sənədlərdə müəllif rəngləri təmizlənsin?",
+ "pad.impexp.importbutton": "İndi idxal et",
"pad.impexp.importing": "İdxal...",
- "pad.impexp.confirmimport": "Faylın idxalı cari mətni yeniləyəcək. Siz əminsinizmi ki, davam etmək istəyirsiniz?",
+ "pad.impexp.confirmimport": "Faylın idxalı lövhədəki cari mətni yeniləyəcək. Davam etmək istədiyinizə əminsinizmi?",
"pad.impexp.convertFailed": "Biz bu fayl idxal etmək mümkün deyil idi. Xahiş olunur müxtəlif sənəddən istifadə edin və ya kopyalayıb yapışdırmaq yolundan istifadə edin",
+ "pad.impexp.padHasData": "Biz bu faylı idxal edə bilmədik, çünki bu lövhədə düzəlişlər edilib, lütfən yeni lövhə idxal edin",
"pad.impexp.uploadFailed": "Yükləmədə səhv, xahiş olunur yenə cəhd edin",
"pad.impexp.importfailed": "İdxal zamanı səhv",
"pad.impexp.copypaste": "Xahiş edirik kopyalayıb yapışdırın",
diff --git a/src/locales/be-tarask.json b/src/locales/be-tarask.json
index 61a785399..f67d10fe5 100644
--- a/src/locales/be-tarask.json
+++ b/src/locales/be-tarask.json
@@ -28,6 +28,7 @@
"pad.colorpicker.save": "Захаваць",
"pad.colorpicker.cancel": "Скасаваць",
"pad.loading": "Загрузка...",
+ "pad.noCookie": "Кукі ня знойдзеныя. Калі ласка, дазвольце кукі ў вашым браўзэры!",
"pad.passwordRequired": "Для доступу да гэтага дакумэнта патрэбны пароль",
"pad.permissionDenied": "Вы ня маеце дазволу на доступ да гэтага дакумэнта",
"pad.wrongPassword": "Вы ўвялі няслушны пароль",
@@ -46,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",
@@ -116,6 +118,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/ca.json b/src/locales/ca.json
index 92da9d029..b7edc65b0 100644
--- a/src/locales/ca.json
+++ b/src/locales/ca.json
@@ -13,9 +13,9 @@
"pad.toolbar.bold.title": "Negreta (Ctrl-B)",
"pad.toolbar.italic.title": "Cursiva (Ctrl-I)",
"pad.toolbar.underline.title": "Subratllat (Ctrl-U)",
- "pad.toolbar.strikethrough.title": "Ratllat",
- "pad.toolbar.ol.title": "Llista ordenada",
- "pad.toolbar.ul.title": "Llista sense ordenar",
+ "pad.toolbar.strikethrough.title": "Ratllat (Ctrl+5)",
+ "pad.toolbar.ol.title": "Llista ordenada (Ctrl+Shift+N)",
+ "pad.toolbar.ul.title": "Llista sense ordenar (Ctrl+Shift+L)",
"pad.toolbar.indent.title": "Sagnat (TAB)",
"pad.toolbar.unindent.title": "Sagnat invers (Majúsc+TAB)",
"pad.toolbar.undo.title": "Desfés (Ctrl-Z)",
@@ -30,6 +30,7 @@
"pad.colorpicker.save": "Desa",
"pad.colorpicker.cancel": "Cancel·la",
"pad.loading": "S'està carregant...",
+ "pad.noCookie": "No s'ha trobat la galeta. Permeteu les galetes en el navegador!",
"pad.passwordRequired": "Us cal una contrasenya per a accedir a aquest pad",
"pad.permissionDenied": "No teniu permisos per a accedir a aquest pad",
"pad.wrongPassword": "La contrasenya és incorrecta",
@@ -48,6 +49,7 @@
"pad.importExport.import": "Puja qualsevol fitxer de text o document",
"pad.importExport.importSuccessful": "Hi ha hagut èxit!",
"pad.importExport.export": "Exporta el pad actual com a:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Text net",
"pad.importExport.exportword": "Microsoft Word",
@@ -118,6 +120,7 @@
"pad.impexp.importing": "Important...",
"pad.impexp.confirmimport": "En importar un fitxer se sobreescriurà el text actual del pad. Esteu segur que voleu continuar?",
"pad.impexp.convertFailed": "No és possible d'importar aquest fitxer. Si us plau, podeu provar d'utilitzar un format diferent o copiar i enganxar manualment.",
+ "pad.impexp.padHasData": "No vam poder importar el fitxer perquè el pad ja tenia canvis. Importeu-lo a un nou pad",
"pad.impexp.uploadFailed": "Ha fallat la càrrega. Torneu-ho a provar",
"pad.impexp.importfailed": "Ha fallat la importació",
"pad.impexp.copypaste": "Si us plau, copieu i enganxeu",
diff --git a/src/locales/cs.json b/src/locales/cs.json
index 1c1357c44..2a6b5fec1 100644
--- a/src/locales/cs.json
+++ b/src/locales/cs.json
@@ -48,6 +48,7 @@
"pad.importExport.import": "Nahrát libovolný textový soubor nebo dokument",
"pad.importExport.importSuccessful": "Úspěšně!",
"pad.importExport.export": "Exportovat stávající Pad jako:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Prostý text",
"pad.importExport.exportword": "Microsoft Word",
diff --git a/src/locales/de.json b/src/locales/de.json
index f05d43c3e..a2bca7237 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -29,6 +29,7 @@
"pad.colorpicker.save": "Speichern",
"pad.colorpicker.cancel": "Abbrechen",
"pad.loading": "Laden …",
+ "pad.noCookie": "Das Cookie konnte nicht gefunden werden. Bitte erlaube Cookies in deinem Browser!",
"pad.passwordRequired": "Sie benötigen ein Passwort, um auf dieses Pad zuzugreifen",
"pad.permissionDenied": "Sie haben keine Berechtigung, um auf dieses Pad zuzugreifen",
"pad.wrongPassword": "Ihr Passwort war falsch",
@@ -47,6 +48,7 @@
"pad.importExport.import": "Text-Datei oder Dokument hochladen",
"pad.importExport.importSuccessful": "Erfolgreich!",
"pad.importExport.export": "Aktuelles Pad exportieren als:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Textdatei",
"pad.importExport.exportword": "Microsoft Word",
@@ -117,6 +119,7 @@
"pad.impexp.importing": "Importiere …",
"pad.impexp.confirmimport": "Das Importieren einer Datei überschreibt den aktuellen Text des Pads. Wollen Sie wirklich fortfahren?",
"pad.impexp.convertFailed": "Wir können diese Datei nicht importieren. Bitte verwenden Sie ein anderes Dokumentformat oder übertragen Sie den Text manuell.",
+ "pad.impexp.padHasData": "Wir konnten diese Datei nicht importieren, da dieses Pad bereits Änderungen hat. Bitte importiere zu einem neuen Pad.",
"pad.impexp.uploadFailed": "Der Upload ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
"pad.impexp.importfailed": "Import fehlgeschlagen",
"pad.impexp.copypaste": "Bitte kopieren und einfügen",
diff --git a/src/locales/el.json b/src/locales/el.json
index f20e1e87e..740da95c0 100644
--- a/src/locales/el.json
+++ b/src/locales/el.json
@@ -30,6 +30,7 @@
"pad.colorpicker.save": "Αποθήκευση",
"pad.colorpicker.cancel": "Άκυρο",
"pad.loading": "Φόρτωση...",
+ "pad.noCookie": "Το cookie δεν βρέθηκε. Παρακαλώ επιτρέψτε τα cookies στον περιηγητή σας!",
"pad.passwordRequired": "Χρειάζεστε κωδικό πρόσβασης για πρόσβαση σε αυτό το pad",
"pad.permissionDenied": "Δεν έχετε δικαίωμα πρόσβασης σε αυτό το pad",
"pad.wrongPassword": "Ο κωδικός σας ήταν λανθασμένος",
@@ -48,6 +49,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",
@@ -118,6 +120,7 @@
"pad.impexp.importing": "Εισάγεται...",
"pad.impexp.confirmimport": "Η εισαγωγή ενός αρχείου θα αντικαταστήσει το κείμενο του pad. Είστε βέβαιοι ότι θέλετε να συνεχίσετε;",
"pad.impexp.convertFailed": "Δεν καταφέραμε να εισάγουμε αυτό το αρχείο. Παρακαλώ χρησιμοποιήστε διαφορετικό τύπο αρχείου ή αντιγράψτε και επικολλήστε χειροκίνητα",
+ "pad.impexp.padHasData": "Δεν μπορέσαμε να εισάγουμε το αρχείο επειδή το Pad είχε ήδη αλλαγές. Παρακαλούμε εισαγάγετε το αρχείο σε νέο pad",
"pad.impexp.uploadFailed": "Η αποστολή απέτυχε, παρακαλώ προσπαθήστε ξανά",
"pad.impexp.importfailed": "Η εισαγωγή απέτυχε",
"pad.impexp.copypaste": "Παρακαλώ αντιγράψτε και επικολλήστε",
diff --git a/src/locales/es.json b/src/locales/es.json
index df9a415ec..5547d3278 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -35,6 +35,7 @@
"pad.colorpicker.save": "Guardar",
"pad.colorpicker.cancel": "Cancelar",
"pad.loading": "Cargando...",
+ "pad.noCookie": "La cookie no se pudo encontrar. ¡Por favor, habilita las cookies en tu navegador!",
"pad.passwordRequired": "Necesitas una contraseña para acceder a este pad",
"pad.permissionDenied": "No tienes permiso para acceder a este pad",
"pad.wrongPassword": "La contraseña era incorrecta",
@@ -53,6 +54,7 @@
"pad.importExport.import": "Subir cualquier texto o documento",
"pad.importExport.importSuccessful": "¡Éxito!",
"pad.importExport.export": "Exporta el pad actual como:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Texto plano",
"pad.importExport.exportword": "Microsoft Word",
@@ -123,6 +125,7 @@
"pad.impexp.importing": "Importando...",
"pad.impexp.confirmimport": "Al importar un archivo se borrará el contenido actual del pad. ¿Estás seguro de que quieres continuar?",
"pad.impexp.convertFailed": "No pudimos importar este archivo. Inténtalo con un formato diferente o copia y pega manualmente.",
+ "pad.impexp.padHasData": "No hemos podido importar este archivo porque esta almohadilla ya ha tenido cambios, por favor, importa a una nueva almohadilla",
"pad.impexp.uploadFailed": "El envío falló. Intentalo de nuevo.",
"pad.impexp.importfailed": "Fallo al importar",
"pad.impexp.copypaste": "Intenta copiar y pegar",
diff --git a/src/locales/fa.json b/src/locales/fa.json
index 94f2d69f5..53fb55b21 100644
--- a/src/locales/fa.json
+++ b/src/locales/fa.json
@@ -31,6 +31,7 @@
"pad.colorpicker.save": "ذخیره",
"pad.colorpicker.cancel": "لغو",
"pad.loading": "در حال بارگذاری...",
+ "pad.noCookie": "کوکی یافت نشد. لطفاً اجازهٔ اجرای کوکی در مروگرتان را بدهید!",
"pad.passwordRequired": "برای دسترسی به این دفترچه یادداشت نیاز به یک گذرواژه دارید",
"pad.permissionDenied": "شما اجازهی دسترسی به این دفترچه یادداشت را ندارید",
"pad.wrongPassword": "گذرواژهی شما درست نیست",
@@ -49,6 +50,7 @@
"pad.importExport.import": "بارگذاری پروندهی متنی یا سند",
"pad.importExport.importSuccessful": "موفقیت آمیز بود!",
"pad.importExport.export": "برونریزی این دفترچه یادداشت با قالب:",
+ "pad.importExport.exportetherpad": "اترپد",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "متن ساده",
"pad.importExport.exportword": "Microsoft Word",
@@ -119,6 +121,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/fi.json b/src/locales/fi.json
index ee1775dc2..25e4d084d 100644
--- a/src/locales/fi.json
+++ b/src/locales/fi.json
@@ -10,7 +10,8 @@
"Tomi Toivio",
"Veikk0.ma",
"VezonThunder",
- "Macofe"
+ "Macofe",
+ "MrTapsa"
]
},
"index.newPad": "Uusi muistio",
@@ -35,6 +36,7 @@
"pad.colorpicker.save": "Tallenna",
"pad.colorpicker.cancel": "Peru",
"pad.loading": "Ladataan…",
+ "pad.noCookie": "Evästettä ei löytynyt. Ole hyvä, ja salli evästeet selaimessasi!",
"pad.passwordRequired": "Tämä muistio on suojattu salasanalla.",
"pad.permissionDenied": "Käyttöoikeutesi eivät riitä tämän muistion käyttämiseen.",
"pad.wrongPassword": "Väärä salasana",
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 921d1eeb9..92fcb193a 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -43,6 +43,7 @@
"pad.colorpicker.save": "Enregistrer",
"pad.colorpicker.cancel": "Annuler",
"pad.loading": "Chargement…",
+ "pad.noCookie": "Le cookie n’a pas pu être trouvé. Veuillez autoriser les cookies dans votre navigateur !",
"pad.passwordRequired": "Vous avez besoin d'un mot de passe pour accéder à ce pad",
"pad.permissionDenied": "Il ne vous est pas permis d’accéder à ce pad",
"pad.wrongPassword": "Votre mot de passe est incorrect",
@@ -61,6 +62,7 @@
"pad.importExport.import": "Charger un texte ou un document",
"pad.importExport.importSuccessful": "Réussi !",
"pad.importExport.export": "Exporter le pad actuel comme :",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Texte brut",
"pad.importExport.exportword": "Microsoft Word",
@@ -131,6 +133,7 @@
"pad.impexp.importing": "Import en cours...",
"pad.impexp.confirmimport": "Importer un fichier écrasera le texte actuel du pad. Êtes-vous sûr de vouloir le faire ?",
"pad.impexp.convertFailed": "Nous ne pouvons pas importer ce fichier. Veuillez utiliser un autre format de document ou faire un copier/coller manuel",
+ "pad.impexp.padHasData": "Nous n’avons pas pu importer ce fichier parce que ce bloc a déjà eu des modifications ; veuillez importer vers un nouveau bloc",
"pad.impexp.uploadFailed": "Le téléchargement a échoué, veuillez réessayer",
"pad.impexp.importfailed": "Échec de l'importation",
"pad.impexp.copypaste": "Veuillez copier/coller",
diff --git a/src/locales/gl.json b/src/locales/gl.json
index a14fbb126..b0ca6532e 100644
--- a/src/locales/gl.json
+++ b/src/locales/gl.json
@@ -27,6 +27,7 @@
"pad.colorpicker.save": "Gardar",
"pad.colorpicker.cancel": "Cancelar",
"pad.loading": "Cargando...",
+ "pad.noCookie": "A cookie non se puido atopar. Por favor, habilite as cookies no seu navegador!",
"pad.passwordRequired": "Cómpre un contrasinal para acceder a este documento",
"pad.permissionDenied": "Non ten permiso para acceder a este documento",
"pad.wrongPassword": "O contrasinal era incorrecto",
@@ -45,6 +46,7 @@
"pad.importExport.import": "Cargar un ficheiro de texto ou documento",
"pad.importExport.importSuccessful": "Correcto!",
"pad.importExport.export": "Exportar o documento actual en formato:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Texto simple",
"pad.importExport.exportword": "Microsoft Word",
@@ -115,6 +117,7 @@
"pad.impexp.importing": "Importando...",
"pad.impexp.confirmimport": "A importación dun ficheiro ha sobrescribir o texto actual do documento. Está seguro de querer continuar?",
"pad.impexp.convertFailed": "Non somos capaces de importar o ficheiro. Utilice un formato de documento diferente ou copie e pegue manualmente",
+ "pad.impexp.padHasData": "Non puidemos importar este ficheiro porque este Pad xa tivo cambios, por favor, importe a un novo pad.",
"pad.impexp.uploadFailed": "Houbo un erro ao cargar o ficheiro; inténteo de novo",
"pad.impexp.importfailed": "Fallou a importación",
"pad.impexp.copypaste": "Copie e pegue",
diff --git a/src/locales/hu.json b/src/locales/hu.json
index 7efac2df2..3102790d7 100644
--- a/src/locales/hu.json
+++ b/src/locales/hu.json
@@ -118,6 +118,7 @@
"pad.impexp.importing": "Importálás…",
"pad.impexp.confirmimport": "Egy fájl importálása felülírja a jelenlegi szöveget a noteszben. Biztos hogy folytatod?",
"pad.impexp.convertFailed": "Nem tudtuk importálni ezt a fájlt. Kérjük, használj másik dokumentum formátumot, vagy kézzel másold és illeszd be a tartalmat",
+ "pad.impexp.padHasData": "Nem tudjuk importálni ezt a fájlt, mert ez a Pad már megváltozott, kérjük, importálj egy új padra",
"pad.impexp.uploadFailed": "A feltöltés sikertelen, próbáld meg újra",
"pad.impexp.importfailed": "Az importálás nem sikerült",
"pad.impexp.copypaste": "Kérjük másold be",
diff --git a/src/locales/ia.json b/src/locales/ia.json
index 50a0690cc..e7f5cc2b2 100644
--- a/src/locales/ia.json
+++ b/src/locales/ia.json
@@ -26,6 +26,7 @@
"pad.colorpicker.save": "Salveguardar",
"pad.colorpicker.cancel": "Cancellar",
"pad.loading": "Cargamento…",
+ "pad.noCookie": "Le cookie non pote esser trovate. Per favor permitte le cookies in tu navigator!",
"pad.passwordRequired": "Un contrasigno es necessari pro acceder a iste pad",
"pad.permissionDenied": "Tu non ha le permission de acceder a iste pad",
"pad.wrongPassword": "Le contrasigno es incorrecte",
@@ -44,6 +45,7 @@
"pad.importExport.import": "Incargar qualcunque file de texto o documento",
"pad.importExport.importSuccessful": "Succedite!",
"pad.importExport.export": "Exportar le pad actual como:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Texto simple",
"pad.importExport.exportword": "Microsoft Word",
@@ -114,6 +116,7 @@
"pad.impexp.importing": "Importation in curso…",
"pad.impexp.confirmimport": "Le importation de un file superscribera le texto actual del pad. Es tu secur de voler continuar?",
"pad.impexp.convertFailed": "Nos non ha potite importar iste file. Per favor usa un altere formato de documento o copia e colla le texto manualmente.",
+ "pad.impexp.padHasData": "Nos non ha potite importar iste file perque iste Pad ha jam habite cambiamentos. Per favor importa lo a un nove pad.",
"pad.impexp.uploadFailed": "Le incargamento ha fallite. Per favor reproba.",
"pad.impexp.importfailed": "Importation fallite",
"pad.impexp.copypaste": "Per favor copia e colla",
diff --git a/src/locales/lb.json b/src/locales/lb.json
index 841add75f..68bdb418c 100644
--- a/src/locales/lb.json
+++ b/src/locales/lb.json
@@ -15,6 +15,7 @@
"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.wrongPassword": "Äert Passwuert ass falsch",
"pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Sprooch:",
diff --git a/src/locales/mk.json b/src/locales/mk.json
index fc18533fa..9fc6b817c 100644
--- a/src/locales/mk.json
+++ b/src/locales/mk.json
@@ -27,6 +27,7 @@
"pad.colorpicker.save": "Зачувај",
"pad.colorpicker.cancel": "Откажи",
"pad.loading": "Вчитувам...",
+ "pad.noCookie": "Не можев да го најдам колачето. Овозможете колачиња во вашиот прелистувач!",
"pad.passwordRequired": "Потребна е лозинка за пристап",
"pad.permissionDenied": "За овде не е потребна дозвола за пристап",
"pad.wrongPassword": "Погрешна лозинка",
@@ -45,6 +46,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",
@@ -115,6 +117,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/ms.json b/src/locales/ms.json
index cf15be6e2..d099de060 100644
--- a/src/locales/ms.json
+++ b/src/locales/ms.json
@@ -26,6 +26,7 @@
"pad.colorpicker.save": "Simpan",
"pad.colorpicker.cancel": "Batalkan",
"pad.loading": "Sedang dimuatkan...",
+ "pad.noCookie": "Cookie tidak dapat dijumpai. Tolong benarkan cookie dalam pelayar anda!",
"pad.passwordRequired": "Anda memerlukan kata laluan untuk mengakses pad ini",
"pad.permissionDenied": "Anda tiada kebenaran untuk mengakses pad ini",
"pad.wrongPassword": "Kata laluan anda salah",
@@ -44,6 +45,7 @@
"pad.importExport.import": "Muat naik sebarang fail teks atau dokumen",
"pad.importExport.importSuccessful": "Berjaya!",
"pad.importExport.export": "Eksport pad semasa sebagai:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Teks biasa",
"pad.importExport.exportword": "Microsoft Word",
@@ -114,6 +116,7 @@
"pad.impexp.importing": "Sedang mengimport...",
"pad.impexp.confirmimport": "Mengimport fail akan menulis ganti teks semasa pada pad ini. Adakah anda benar-benar ingin teruskan?",
"pad.impexp.convertFailed": "Fail tidak dapat diimport. Sila gunakan format dokumen yang lain atau salin tampal secara manual",
+ "pad.impexp.padHasData": "Kami tidak dapat mengimport fail ini kerana Pad ini sudah mengalami perubahan. Sila import ke pad yang baru",
"pad.impexp.uploadFailed": "Muat naik gagal, sila cuba lagi",
"pad.impexp.importfailed": "Import gagal",
"pad.impexp.copypaste": "Sila salin tampal",
diff --git a/src/locales/nap.json b/src/locales/nap.json
index ffc7b740b..6cd1651b0 100644
--- a/src/locales/nap.json
+++ b/src/locales/nap.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Chelin"
+ "Chelin",
+ "C.R."
]
},
"index.newPad": "Novo Pad",
@@ -21,23 +22,58 @@
"pad.toolbar.timeslider.title": "Presentazzione cronologgia",
"pad.toolbar.savedRevision.title": "Sarva revisione",
"pad.toolbar.settings.title": "Mpustaziune",
+ "pad.toolbar.embed.title": "Sparte e nzerta stu Pad",
+ "pad.toolbar.showusers.title": "Mmusta ll'utente ncopp'a stu Pad",
"pad.colorpicker.save": "Sarva",
"pad.colorpicker.cancel": "Canciella",
"pad.loading": "Carecamiento 'n curso…",
+ "pad.noCookie": "Cookie nun truvata. Pe' piacere premmettete 'e cookies dint' 'o navigatóre vuosto!",
"pad.passwordRequired": "Pe' accede a chisto Pad è necessaria 'na password",
"pad.permissionDenied": "Nun se dispunne d\"e permisse necessare pe' accede a chisto Pad",
"pad.wrongPassword": "'A password è sbagliata",
"pad.settings.padSettings": "Mpostazzione d\"o pad",
+ "pad.settings.myView": "Mia Veruta",
+ "pad.settings.stickychat": "Chat sempe ncopp' 'o schermo",
+ "pad.settings.colorcheck": "Auturevolezza pe' culure",
+ "pad.settings.linenocheck": "Nummere 'e riga",
+ "pad.settings.rtlcheck": "Lieggere 'e cuntenute 'a destra a smerza?",
+ "pad.settings.fontType": "Tipo 'e funte:",
"pad.settings.fontType.normal": "Nurmale",
+ "pad.settings.fontType.monospaced": "Monospace",
+ "pad.settings.globalView": "Visualizzazione globbale",
+ "pad.settings.language": "Llengua:",
+ "pad.importExport.import_export": "Mpurtaziune/sportaziune",
+ "pad.importExport.import": "Carreca coccherunto testo o documento",
+ "pad.importExport.importSuccessful": "Ngarrata!",
+ "pad.importExport.export": "Sportà stu Pad comme:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
+ "pad.importExport.exportplain": "Testo nurmale",
+ "pad.importExport.exportword": "Microsoft Word",
"pad.importExport.exportpdf": "PDF",
"pad.importExport.exportopen": "ODF (Open Document Format)",
+ "pad.importExport.abiword.innerHTML": "Putite surtanto mpurtà testo chiano o furmatte HTML. Pe n'avé sisteme cchiù annanze 'e mpurtazione pe' piacere installate Abiword.",
"pad.modals.connected": "Cunnesso.",
"pad.modals.reconnecting": "Ricunnessione ô pad 'n curso...",
"pad.modals.forcereconnect": "Forza 'a ricunnessione",
"pad.modals.userdup": "Aprito 'n n'ata fenesta",
+ "pad.modals.userdup.explanation": "Stu Pad pare fosse araputo dint'a cchiù 'e na fenesta 'e navigatore dint'a stu computer.",
+ "pad.modals.userdup.advice": "Riconnettateve pe' putè ausà mmece sta fenesta.",
"pad.modals.unauth": "Nun autorizzato",
+ "pad.modals.unauth.explanation": "'E premmesse vuoste so' cagnate pe' tramente ca se vereva sta paggena. Tentate 'e ve riconnettà.",
+ "pad.modals.looping.explanation": "Ce stanno probbleme 'e comunicazione c' 'o server 'e sincronizzaziona.",
+ "pad.modals.looping.cause": "Può darse ca ve site cullegato pe' mmiez' 'e nu firewall incompatibbele o proxy.",
+ "pad.modals.initsocketfail": "Nun se può arrevà 'o server.",
+ "pad.modals.initsocketfail.explanation": "Nun se può cunnettà 'o server e sincronizzaziona.",
+ "pad.modals.initsocketfail.cause": "Stu fatto è succiesso, probabbilmente pe' bbìa 'e nu probblema c' 'o navigatóre 'o ll'internet.",
+ "pad.modals.slowcommit.explanation": "'O server nun risponne.",
+ "pad.modals.slowcommit.cause": "Stu fatto può darse ca è causato pe' bbìa 'e prubbleme 'e connettività 'e rezza.",
+ "pad.modals.badChangeset.explanation": "Nu cagnamento ca stavate facenno è stato classeficato comme illegale p' 'o server 'e sincronizzaziona.",
+ "pad.modals.badChangeset.cause": "Chistu fatto può darse ca è causato pe' bbìa 'e na mpustazione errata d' 'o server o cocch'atu comportamento nun preveduto. Pe' piacere cuntattate l'ammenistratore d' 'o servizio, si se pienza ca chist'è n'errore. Tentate a ve riconnettà pe' cuntinuà 'a edità.",
+ "pad.modals.corruptPad.explanation": "'O pad addò vulevate trasì è scassato.",
"pad.modals.deleted": "Canciellato.",
+ "pad.share.link": "Jonta",
+ "pad.chat": "Chiàcchiera",
"timeslider.pageTitle": "Cronologgia {{appTitle}}",
"timeslider.toolbar.returnbutton": "Ritorna ô Pad",
"timeslider.toolbar.authors": "Auture:",
diff --git a/src/locales/pl.json b/src/locales/pl.json
index 7e68ca845..bcd7a0ef2 100644
--- a/src/locales/pl.json
+++ b/src/locales/pl.json
@@ -5,7 +5,8 @@
"Ty221",
"WTM",
"Woytecr",
- "Macofe"
+ "Macofe",
+ "Pan Cube"
]
},
"index.newPad": "Nowy dokument",
@@ -48,6 +49,7 @@
"pad.importExport.import": "Prześlij dowolny plik tekstowy lub dokument",
"pad.importExport.importSuccessful": "Sukces!",
"pad.importExport.export": "Eksportuj bieżący dokument jako:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Zwykły tekst",
"pad.importExport.exportword": "Microsoft Word",
diff --git a/src/locales/pt-br.json b/src/locales/pt-br.json
index 204d77929..e8eb79eef 100644
--- a/src/locales/pt-br.json
+++ b/src/locales/pt-br.json
@@ -10,7 +10,8 @@
"Rafaelff",
"Dianakc",
"Macofe",
- "Rodrigo codignoli"
+ "Rodrigo codignoli",
+ "Webysther"
]
},
"index.newPad": "Nova Nota",
@@ -35,6 +36,7 @@
"pad.colorpicker.save": "Salvar",
"pad.colorpicker.cancel": "Cancelar",
"pad.loading": "Carregando...",
+ "pad.noCookie": "Cookie não foi encontrado. Por favor, habilite cookies no seu navegador!",
"pad.passwordRequired": "Você precisa de uma senha para acessar esta Nota",
"pad.permissionDenied": "Você não tem permissão para acessar esta Nota",
"pad.wrongPassword": "Senha incorreta",
@@ -53,6 +55,7 @@
"pad.importExport.import": "Enviar um arquivo texto ou documento",
"pad.importExport.importSuccessful": "Completo!",
"pad.importExport.export": "Exportar a presente nota como:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Texto puro",
"pad.importExport.exportword": "Microsoft Word",
@@ -123,6 +126,7 @@
"pad.impexp.importing": "Importando...",
"pad.impexp.confirmimport": "Importar um arquivo sobrescreverá o atual texto 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.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/pt.json b/src/locales/pt.json
index c7cfcb5cf..473980fd4 100644
--- a/src/locales/pt.json
+++ b/src/locales/pt.json
@@ -6,7 +6,8 @@
"Tuliouel",
"Waldir",
"Imperadeiro98",
- "Macofe"
+ "Macofe",
+ "Ti4goc"
]
},
"index.newPad": "Nova Nota",
@@ -105,6 +106,7 @@
"pad.impexp.importbutton": "Importar agora",
"pad.impexp.importing": "Importando...",
"pad.impexp.confirmimport": "A importação de um ficheiro irá substituir o texto atual do pad. Tem certeza que deseja continuar?",
+ "pad.impexp.padHasData": "Não fomos capazes de importar este ficheiro porque esta Almofada já tinha alterações, consulte importar para um novo bloco",
"pad.impexp.uploadFailed": "O upload falhou. Por favor, tente novamente",
"pad.impexp.importfailed": "A importação falhou",
"pad.impexp.copypaste": "Por favor, copie e cole"
diff --git a/src/locales/sv.json b/src/locales/sv.json
index bda3cb83b..a53146bf6 100644
--- a/src/locales/sv.json
+++ b/src/locales/sv.json
@@ -28,6 +28,7 @@
"pad.colorpicker.save": "Spara",
"pad.colorpicker.cancel": "Avbryt",
"pad.loading": "Läser in...",
+ "pad.noCookie": "Kunde inte hitta några kakor. Var god tillåt kakor i din webbläsare!",
"pad.passwordRequired": "Du behöver ett lösenord för att få tillgång till detta block",
"pad.permissionDenied": "Du har inte åtkomstbehörighet för detta block",
"pad.wrongPassword": "Ditt lösenord var fel",
@@ -46,6 +47,7 @@
"pad.importExport.import": "Ladda upp textfiler eller dokument",
"pad.importExport.importSuccessful": "Åtgärden slutfördes!",
"pad.importExport.export": "Export aktuellt block som:",
+ "pad.importExport.exportetherpad": "Etherpad",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Oformaterad text",
"pad.importExport.exportword": "Microsoft Word",
@@ -116,6 +118,7 @@
"pad.impexp.importing": "Importerar...",
"pad.impexp.confirmimport": "Att importera en fil kommer att skriva över den aktuella texten i blocket. Är du säker på att du vill fortsätta?",
"pad.impexp.convertFailed": "Vi kunde inte importera denna fil. Var god använd ett annat dokumentformat eller kopiera och klistra in den manuellt",
+ "pad.impexp.padHasData": "Vi kunde inte importera denna fil eftersom detta block redan har redigerats. Importera den till ett nytt block.",
"pad.impexp.uploadFailed": "Uppladdningen misslyckades, var god försök igen",
"pad.impexp.importfailed": "Importering misslyckades",
"pad.impexp.copypaste": "Var god kopiera och klistra in",
diff --git a/src/locales/zh-hans.json b/src/locales/zh-hans.json
index 104e850b3..bc1c97b5a 100644
--- a/src/locales/zh-hans.json
+++ b/src/locales/zh-hans.json
@@ -24,7 +24,7 @@
"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.redo.title": "重做(Ctrl+Y)",
"pad.toolbar.clearAuthorship.title": "清除作者颜色(Ctrl+Shift+C)",
"pad.toolbar.import_export.title": "从不同的文件格式导入/导出",
"pad.toolbar.timeslider.title": "时间轴",
@@ -35,6 +35,7 @@
"pad.colorpicker.save": "保存",
"pad.colorpicker.cancel": "取消",
"pad.loading": "载入中……",
+ "pad.noCookie": "无法找到Cookie。请在您的浏览器中允许Cookie!",
"pad.passwordRequired": "您需要密码才能访问这个记事本",
"pad.permissionDenied": "您没有访问这个记事本的权限",
"pad.wrongPassword": "您的密码错了",
@@ -53,6 +54,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",
@@ -123,6 +125,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/zh-hant.json b/src/locales/zh-hant.json
index 6d79268c2..a692d0ca4 100644
--- a/src/locales/zh-hant.json
+++ b/src/locales/zh-hant.json
@@ -96,13 +96,13 @@
"timeslider.saved": "{{year}}年{{month}}{{day}}日儲存",
"timeslider.dateformat": "{{year}}年{{month}}月{{day}}日 {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "1月",
- "timeslider.month.february": "2月",
+ "timeslider.month.february": "二月",
"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.august": "八月",
"timeslider.month.september": "9月",
"timeslider.month.october": "10月",
"timeslider.month.november": "11月",
From 44d1d6cc13e1742fd6424e8ecb9cb914ae2e0b83 Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 14:32:58 +0000
Subject: [PATCH 39/81] fix ie editing
---
src/static/js/domline.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/static/js/domline.js b/src/static/js/domline.js
index b1927b162..b8e6eb146 100644
--- a/src/static/js/domline.js
+++ b/src/static/js/domline.js
@@ -225,7 +225,7 @@ domline.createDomLine = function(nonEmpty, doesWrap, optBrowser, optDocument)
{
newHTML += ' ';
}
- else if (!browser.msie)
+ else
{
newHTML += ' ';
}
From ab71bc7c205e6944fcdc46b09cb8e603c433540e Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 14:45:49 +0000
Subject: [PATCH 40/81] hrm
---
src/static/js/ace2_inner.js | 7 +++++--
src/static/js/contentcollector.js | 2 --
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js
index bd1f0053f..ebc03ca4f 100644
--- a/src/static/js/ace2_inner.js
+++ b/src/static/js/ace2_inner.js
@@ -1605,7 +1605,7 @@ function Ace2Inner(){
if (linesWrapped > 0)
{
- if(!browser.ie){
+ if(!browser.msie){
// chrome decides in it's infinite wisdom that its okay to put the browsers visisble window in the middle of the span
// an outcome of this is that the first chars of the string are no longer visible to the user.. Yay chrome..
// Move the browsers visible area to the left hand side of the span
@@ -2905,6 +2905,7 @@ function Ace2Inner(){
{
if (browser.msie && (!nonEmpty))
{
+top.console.log("here");
var result = {
node: null,
appendSpan: noop,
@@ -3583,6 +3584,7 @@ function Ace2Inner(){
// On Mac and Linux, move right moves to end of word and move left moves to start;
// on Windows, always move to start of word.
// On Windows, Firefox and IE disagree on whether to stop for punctuation (FF says no).
+ /*
if (browser.windows && forwardNotBack)
{
while ((!isDone()) && isWordChar(nextChar()))
@@ -3605,6 +3607,7 @@ function Ace2Inner(){
advance();
}
}
+ */
return i;
}
@@ -4867,7 +4870,7 @@ function Ace2Inner(){
})
// CompositionEvent is not implemented below IE version 8
- if ( !(browser.msie && browser.version < 9) && document.documentElement)
+ if ( !(browser.msie && parseInt(browser.version) < 9) && document.documentElement)
{
$(document.documentElement).on("compositionstart", handleCompositionEvent);
$(document.documentElement).on("compositionend", handleCompositionEvent);
diff --git a/src/static/js/contentcollector.js b/src/static/js/contentcollector.js
index b7b3c568b..1759d8656 100644
--- a/src/static/js/contentcollector.js
+++ b/src/static/js/contentcollector.js
@@ -625,13 +625,11 @@ function makeContentCollector(collectStyles, browser, apool, domInterface, class
_ensureColumnZero(state);
}
}
-
if (browser.msie)
{
// in IE, a point immediately after a DIV appears on the next line
_reachBlockPoint(node, 1, state);
}
-
state.localAttribs = localAttribs;
};
// can pass a falsy value for end of doc
From c315defc3124b44e9c5300e93952f124f7e1d82f Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 15:15:52 +0000
Subject: [PATCH 41/81] temp bodge fix
---
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 ebc03ca4f..5204e2a19 100644
--- a/src/static/js/ace2_inner.js
+++ b/src/static/js/ace2_inner.js
@@ -1910,6 +1910,7 @@ function Ace2Inner(){
if (charsLeft === 0)
{
var index = 0;
+ browser.msie = false; // Temp fix to resolve enter and backspace issues..
if (browser.msie && line == (rep.lines.length() - 1) && lineNode.childNodes.length === 0)
{
// best to stay at end of last empty div in IE
@@ -2905,7 +2906,6 @@ function Ace2Inner(){
{
if (browser.msie && (!nonEmpty))
{
-top.console.log("here");
var result = {
node: null,
appendSpan: noop,
From 5967e085b7bc7efe8ab9ab1be8c728763b3f876a Mon Sep 17 00:00:00 2001
From: John McLear
Date: Mon, 19 Jan 2015 15:37:29 +0000
Subject: [PATCH 42/81] fix ul tests
---
tests/backend/specs/api/pad.js | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tests/backend/specs/api/pad.js b/tests/backend/specs/api/pad.js
index 49800e6fc..3527f95ad 100644
--- a/tests/backend/specs/api/pad.js
+++ b/tests/backend/specs/api/pad.js
@@ -12,7 +12,7 @@ var apiVersion = 1;
var testPadId = makeid();
var lastEdited = "";
var text = generateLongText();
-var ULhtml = '
one
2
UL2
';
+var ULhtml = '
one
2
UL2
';
describe('Connectivity', function(){
it('errors if can not connect', function(done) {
@@ -450,8 +450,9 @@ describe('getHTML', function(){
it('Gets the HTML of a Pad with a bunch of weird unordered lists inserted', function(done) {
api.get(endPoint('getHTML')+"&padID="+testPadId)
.expect(function(res){
- console.log("foo", res.body.data.html);
- if(res.body.data !== ULhtml) throw new Error("Imported HTML does not match served HTML")
+ var ehtml = res.body.data.html.replace("