From 1e0456c7ed883a6cfa9947daca9dd2eb45c2ef30 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Sat, 28 Dec 2013 17:43:47 +0000 Subject: [PATCH 01/17] Localisation updates from https://translatewiki.net. --- src/locales/lrc.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/locales/lrc.json b/src/locales/lrc.json index 55fe0989c..73263af1b 100644 --- a/src/locales/lrc.json +++ b/src/locales/lrc.json @@ -17,7 +17,10 @@ "pad.colorpicker.save": "ذخيره كردن", "pad.colorpicker.cancel": "رد كردن", "pad.loading": "د حالت سوار كرد", + "pad.wrongPassword": "پاسوردتو اشتوائه", "pad.settings.myView": "نظرگه مه", + "pad.settings.stickychat": "همیشه د بلگه چک چنه بکید", + "pad.settings.linenocheck": "شماره خطیا", "pad.settings.fontType": "نوع فونت:", "pad.settings.fontType.normal": "عادی", "pad.settings.fontType.monospaced": "تک جاگه", @@ -58,5 +61,7 @@ "pad.userlist.guest": "میزوان", "pad.userlist.deny": "پرو کردن", "pad.userlist.approve": "اصلا کردن", - "pad.impexp.importing": "د حالت وارد کردن" + "pad.impexp.importbutton": "ایسه وارد کو", + "pad.impexp.importing": "د حالت وارد کردن", + "pad.impexp.copypaste": "خواهشن وردار بدیسن" } \ No newline at end of file From 9c64b6e268f89ecca22bf6a135da1152daf77455 Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Mon, 30 Dec 2013 13:06:13 +0100 Subject: [PATCH 02/17] Try to find related languages as a fallback fixes #2029 --- src/static/js/html10n.js | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/static/js/html10n.js b/src/static/js/html10n.js index 856729b52..49a0a80dc 100644 --- a/src/static/js/html10n.js +++ b/src/static/js/html10n.js @@ -191,9 +191,18 @@ window.html10n = (function(window, document, undefined) { return } + // dat alng ain't here, man! if (!data[lang]) { - cb(new Error('Couldn\'t find translations for '+lang)) - return + var msg = 'Couldn\'t find translations for '+lang + , l + if(~lang.indexOf('-')) lang = lang.split('-')[0] // then let's try related langs + for(l in data) { + if(lang != l && l.indexOf(lang) === 0 && data[l]) { + lang = l + break; + } + } + if(lang != l) return cb(new Error(msg)) } if ('string' == typeof data[lang]) { @@ -898,11 +907,22 @@ window.html10n = (function(window, document, undefined) { var lang langs.reverse() - // loop through priority array... + // loop through the priority array... for (var i=0, n=langs.length; i < n; i++) { lang = langs[i] - if(!lang || !(lang in that.loader.langs)) continue; + if(!lang) continue; + if(!(lang in that.loader.langs)) {// uh, we don't have this lang availbable.. + // then check for related langs + if(~lang.indexOf('-')) lang = lang.split('-')[0]; + for(var l in that.loader.langs) { + if(lang != l && l.indexOf(lang) === 0) { + lang = l + break; + } + } + if(lang != l) continue; + } // ... and apply all strings of the current lang in the list // to our build object From a35254c772bd9e040ccdbadf6effc50f47887749 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Mon, 6 Jan 2014 11:01:26 +0000 Subject: [PATCH 03/17] Localisation updates from https://translatewiki.net. --- src/locales/diq.json | 10 +++++----- src/locales/km.json | 7 +++++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/locales/diq.json b/src/locales/diq.json index 5d7794b40..691c7b715 100644 --- a/src/locales/diq.json +++ b/src/locales/diq.json @@ -67,15 +67,15 @@ "timeslider.month.january": "Çele", "timeslider.month.february": "Zemherı", "timeslider.month.march": "Mert", - "timeslider.month.april": "Lisan", + "timeslider.month.april": "Nisane", "timeslider.month.may": "Gúlan", "timeslider.month.june": "Heziran", "timeslider.month.july": "Temuz", - "timeslider.month.august": "Ağustos", + "timeslider.month.august": "Tebaxe", "timeslider.month.september": "Keşkelun", - "timeslider.month.october": "Cetan", - "timeslider.month.november": "Kelverdan", - "timeslider.month.december": "Gağand", + "timeslider.month.october": "Tışrino Verên", + "timeslider.month.november": "Tışrino Peyên", + "timeslider.month.december": "Kanun", "timeslider.unnamedauthors": "{{num}} unnamed {[plural(num) zu: nuştoğ, zewbi: nustoği ]}", "pad.userlist.entername": "Namey ğo cı kewe", "pad.userlist.unnamed": "Name nébıyo", diff --git a/src/locales/km.json b/src/locales/km.json index 700ae1990..4d997f549 100644 --- a/src/locales/km.json +++ b/src/locales/km.json @@ -12,17 +12,20 @@ "pad.toolbar.strikethrough.title": "ឆូតចោល", "pad.toolbar.ol.title": "បញ្ជីតាមតម្រៀប", "pad.toolbar.ul.title": "បញ្ជីមិនតាមតម្រៀប", - "pad.toolbar.indent.title": "ខិតចូលក្នុង", - "pad.toolbar.unindent.title": "ខិតចេញក្រៅ", + "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.import_export.title": "នាំចូល/នាំចេញ ពី/ទៅប្រភេទឯកសារផ្សេងទៀត", + "pad.toolbar.savedRevision.title": "រក្សាទុកកំណែ", "pad.toolbar.settings.title": "ការកំណត់​", "pad.colorpicker.save": "រក្សាទុក", "pad.colorpicker.cancel": "បោះបង់", "pad.loading": "កំពុងផ្ទុក…", + "pad.settings.myView": "គំហើញរបស់ខ្ញុំ", "pad.settings.fontType": "ប្រភេទពុម្ពអក្សរ៖", "pad.settings.fontType.normal": "ធម្មតា", + "pad.settings.globalView": "គំហើញសកល", "pad.settings.language": "ភាសា៖", "pad.importExport.import_export": "នាំចូល/នាំចេញ", "pad.importExport.importSuccessful": "ដោយជោគជ័យ!", From 2f9a9d8695e7c028e596083a7ba8a5dbeaf85b4c Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Sat, 11 Jan 2014 16:47:39 +0000 Subject: [PATCH 04/17] Localisation updates from https://translatewiki.net. --- src/locales/el.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/locales/el.json b/src/locales/el.json index df6d1b11b..c76e74be3 100644 --- a/src/locales/el.json +++ b/src/locales/el.json @@ -63,17 +63,18 @@ "pad.modals.userdup.advice": "Επανασύνδεση για να χρησιμοποιήσετε αυτό το παράθυρο.", "pad.modals.unauth": "Δεν επιτρέπεται", "pad.modals.unauth.explanation": "Τα δικαιώματά σας άλλαξαν όσο βλέπατε αυτήν τη σελίδα. Δοκιμάστε να επανασυνδεθείτε.", - "pad.modals.looping.explanation": "Υπάρχουν προβλήματα επικοινωνίας με το διακομιστή συγχρονισμού.", + "pad.modals.looping.explanation": "Υπάρχουν προβλήματα επικοινωνίας με τον διακομιστή συγχρονισμού.", "pad.modals.looping.cause": "Ίσως συνδεθήκατε μέσω ενός μη συμβατού τείχους προστασίας ή διακομιστή μεσολάβησης.", "pad.modals.initsocketfail": "Αδύνατη ή επικοινωνία με τον διακομιστή.", "pad.modals.initsocketfail.explanation": "Δεν ήταν δυνατή η σύνδεση με τον διακομιστή συγχρονισμού.", "pad.modals.initsocketfail.cause": "Αυτό οφείλεται πιθανώς σε πρόβλημα με το πρόγραμμα περιήγησης ή της σύνδεσής σας στο διαδίκτυο.", "pad.modals.slowcommit.explanation": "Ο διακομιστής δεν αποκρίνεται.", "pad.modals.slowcommit.cause": "Αυτό μπορεί να οφείλεται σε προβλήματα σύνδεσης δικτύου.", + "pad.modals.badChangeset.explanation": "Μια επεξεργασία που κάνατε χαρακτηρίστηκε ως παράνομη από τον διακομιστή συγχρονισμού.", "pad.modals.deleted": "Διεγράφη.", "pad.modals.deleted.explanation": "Αυτό το pad έχει καταργηθεί.", "pad.modals.disconnected": "Έχετε αποσυνδεθεί.", - "pad.modals.disconnected.explanation": "Χάθηκε η σύνδεση με το διακομιστή", + "pad.modals.disconnected.explanation": "Χάθηκε η σύνδεση με τον διακομιστή", "pad.modals.disconnected.cause": "Ο διακομιστής μπορεί να μην είναι διαθέσιμος. Παρακαλούμε ειδοποιήστε τον διαχειριστή της υπηρεσίας εάν εξακολουθεί να συμβαίνει αυτό.", "pad.share": "Μοιραστείτε αυτό το pad", "pad.share.readonly": "Μόνο για ανάγνωση", From 9ef709e7f7145ca4eece6b08f7d5f6fc937acd07 Mon Sep 17 00:00:00 2001 From: Robert Helmer Date: Wed, 15 Jan 2014 10:58:50 -0800 Subject: [PATCH 05/17] mozilla bug 844796 - use node crypto module for randomString --- src/node/utils/randomstring.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/node/utils/randomstring.js b/src/node/utils/randomstring.js index 4c1bba244..4791f2745 100644 --- a/src/node/utils/randomstring.js +++ b/src/node/utils/randomstring.js @@ -1,16 +1,13 @@ /** * Generates a random String with the given length. Is needed to generate the Author, Group, readonly, session Ids */ +var crypto = require('crypto'); + var randomString = function randomString(len) { - var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - var randomstring = ''; - for (var i = 0; i < len; i++) - { - var rnum = Math.floor(Math.random() * chars.length); - randomstring += chars.substring(rnum, rnum + 1); - } - return randomstring; + crypto.randomBytes(48, function(ex, buf) { + return buf.toString('hex'); + }); }; module.exports = randomString; From ae99c5ea6fbd9f051951d0f05d664ebf629f941c Mon Sep 17 00:00:00 2001 From: Robert Helmer Date: Wed, 15 Jan 2014 11:25:33 -0800 Subject: [PATCH 06/17] new randomString function should take len arg --- src/node/utils/randomstring.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/node/utils/randomstring.js b/src/node/utils/randomstring.js index 4791f2745..788461576 100644 --- a/src/node/utils/randomstring.js +++ b/src/node/utils/randomstring.js @@ -5,7 +5,7 @@ var crypto = require('crypto'); var randomString = function randomString(len) { - crypto.randomBytes(48, function(ex, buf) { + crypto.randomBytes(len, function(ex, buf) { return buf.toString('hex'); }); }; From 348d9a838f16450e6180822cf7c702ad1508523b Mon Sep 17 00:00:00 2001 From: Robert Helmer Date: Wed, 15 Jan 2014 11:25:47 -0800 Subject: [PATCH 07/17] convert over to server-side crypto --- src/node/db/Pad.js | 1 - src/node/db/ReadOnlyManager.js | 2 +- src/node/db/SecurityManager.js | 1 - src/node/db/SessionManager.js | 2 +- src/node/handler/APIHandler.js | 2 +- src/node/utils/Settings.js | 2 +- 6 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/node/db/Pad.js b/src/node/db/Pad.js index 4f0f268b7..c7e0d50ab 100644 --- a/src/node/db/Pad.js +++ b/src/node/db/Pad.js @@ -6,7 +6,6 @@ var ERR = require("async-stacktrace"); var Changeset = require("ep_etherpad-lite/static/js/Changeset"); var AttributePool = require("ep_etherpad-lite/static/js/AttributePool"); -var randomString = require('ep_etherpad-lite/static/js/pad_utils').randomString; var db = require("./DB").db; var async = require("async"); var settings = require('../utils/Settings'); diff --git a/src/node/db/ReadOnlyManager.js b/src/node/db/ReadOnlyManager.js index dd1e478ec..f49f71e23 100644 --- a/src/node/db/ReadOnlyManager.js +++ b/src/node/db/ReadOnlyManager.js @@ -22,7 +22,7 @@ var ERR = require("async-stacktrace"); var db = require("./DB").db; var async = require("async"); -var randomString = require('ep_etherpad-lite/static/js/pad_utils').randomString; +var randomString = require("../utils/randomstring"); /** * returns a read only id for a pad diff --git a/src/node/db/SecurityManager.js b/src/node/db/SecurityManager.js index 66cfd292c..6388f096f 100644 --- a/src/node/db/SecurityManager.js +++ b/src/node/db/SecurityManager.js @@ -26,7 +26,6 @@ var authorManager = require("./AuthorManager"); var padManager = require("./PadManager"); var sessionManager = require("./SessionManager"); var settings = require("../utils/Settings"); -var randomString = require('ep_etherpad-lite/static/js/pad_utils').randomString; var log4js = require('log4js'); var authLogger = log4js.getLogger("auth"); diff --git a/src/node/db/SessionManager.js b/src/node/db/SessionManager.js index 60e0a7ac9..b6ff1ce9b 100644 --- a/src/node/db/SessionManager.js +++ b/src/node/db/SessionManager.js @@ -21,7 +21,7 @@ var ERR = require("async-stacktrace"); var customError = require("../utils/customError"); -var randomString = require('ep_etherpad-lite/static/js/pad_utils').randomString; +var randomString = require("../utils/randomstring"); var db = require("./DB").db; var async = require("async"); var groupMangager = require("./GroupManager"); diff --git a/src/node/handler/APIHandler.js b/src/node/handler/APIHandler.js index 7206eb871..62025c50a 100644 --- a/src/node/handler/APIHandler.js +++ b/src/node/handler/APIHandler.js @@ -23,7 +23,7 @@ var ERR = require("async-stacktrace"); var fs = require("fs"); var api = require("../db/API"); var padManager = require("../db/PadManager"); -var randomString = require('ep_etherpad-lite/static/js/pad_utils').randomString; +var randomString = require("../utils/randomstring"); //ensure we have an apikey var apikey = null; diff --git a/src/node/utils/Settings.js b/src/node/utils/Settings.js index ee696b038..bc13a211e 100644 --- a/src/node/utils/Settings.js +++ b/src/node/utils/Settings.js @@ -26,7 +26,7 @@ var argv = require('./Cli').argv; var npm = require("npm/lib/npm.js"); var jsonminify = require("jsonminify"); var log4js = require("log4js"); -var randomString = require('ep_etherpad-lite/static/js/pad_utils').randomString; +var randomString = require("./randomstring"); /* Root path of the installation */ From 3715535f863b44fc6438fb4a9ead1c1fd3a627f7 Mon Sep 17 00:00:00 2001 From: Gared Date: Sun, 19 Jan 2014 19:23:11 +0100 Subject: [PATCH 08/17] Fix #2058 Add square brackets to url characters --- src/static/js/linestylefilter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/js/linestylefilter.js b/src/static/js/linestylefilter.js index 034822a46..cb1ee1d50 100644 --- a/src/static/js/linestylefilter.js +++ b/src/static/js/linestylefilter.js @@ -259,7 +259,7 @@ linestylefilter.getRegexpFilter = function(regExp, tag) linestylefilter.REGEX_WORDCHAR = /[\u0030-\u0039\u0041-\u005A\u0061-\u007A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u1FFF\u3040-\u9FFF\uF900-\uFDFF\uFE70-\uFEFE\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFDC]/; -linestylefilter.REGEX_URLCHAR = new RegExp('(' + /[-:@a-zA-Z0-9_.,~%+\/\\?=&#!;()$]/.source + '|' + linestylefilter.REGEX_WORDCHAR.source + ')'); +linestylefilter.REGEX_URLCHAR = new RegExp('(' + /[-:@a-zA-Z0-9_.,~%+\/\\?=&#!;()\[\]$]/.source + '|' + linestylefilter.REGEX_WORDCHAR.source + ')'); linestylefilter.REGEX_URL = new RegExp(/(?:(?:https?|s?ftp|ftps|file|nfs):\/\/|mailto:|www\.)/.source + linestylefilter.REGEX_URLCHAR.source + '*(?![:.,;])' + linestylefilter.REGEX_URLCHAR.source, 'g'); linestylefilter.getURLFilter = linestylefilter.getRegexpFilter( linestylefilter.REGEX_URL, 'url'); From bf6ec18ead5f06af3c11501bfb26e708e5250a2a Mon Sep 17 00:00:00 2001 From: Gared Date: Sun, 19 Jan 2014 20:04:09 +0100 Subject: [PATCH 09/17] Fix #1835 Enable import buttons after failed import (timeout) --- src/static/js/pad_impexp.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/static/js/pad_impexp.js b/src/static/js/pad_impexp.js index ae951ca70..aa48ad779 100644 --- a/src/static/js/pad_impexp.js +++ b/src/static/js/pad_impexp.js @@ -77,6 +77,7 @@ var padimpexp = (function() } currentImportTimer = null; importFailed("Request timed out."); + importDone(); }, 25000); // time out after some number of seconds $('#importsubmitinput').attr( { From a43123880a16d7186f3183b409ff22b62706dcc6 Mon Sep 17 00:00:00 2001 From: webzwo0i Date: Fri, 24 Jan 2014 01:19:14 +0100 Subject: [PATCH 10/17] fix randomstring --- src/node/utils/randomstring.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/node/utils/randomstring.js b/src/node/utils/randomstring.js index 788461576..3815c66db 100644 --- a/src/node/utils/randomstring.js +++ b/src/node/utils/randomstring.js @@ -3,11 +3,9 @@ */ var crypto = require('crypto'); -var randomString = function randomString(len) +var randomString = function(len) { - crypto.randomBytes(len, function(ex, buf) { - return buf.toString('hex'); - }); + return crypto.randomBytes(len).toString('hex') }; module.exports = randomString; From 728958e131e541f56764111bf8b3c7f7e87a9d59 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Fri, 24 Jan 2014 19:51:24 +0000 Subject: [PATCH 11/17] Localisation updates from https://translatewiki.net. --- src/locales/el.json | 1 + src/locales/et.json | 76 +++++++++++++++++++++++++++++++++++++++++++++ src/locales/km.json | 8 ++++- src/locales/mk.json | 6 ++-- 4 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 src/locales/et.json diff --git a/src/locales/el.json b/src/locales/el.json index c76e74be3..d203fc744 100644 --- a/src/locales/el.json +++ b/src/locales/el.json @@ -71,6 +71,7 @@ "pad.modals.slowcommit.explanation": "Ο διακομιστής δεν αποκρίνεται.", "pad.modals.slowcommit.cause": "Αυτό μπορεί να οφείλεται σε προβλήματα σύνδεσης δικτύου.", "pad.modals.badChangeset.explanation": "Μια επεξεργασία που κάνατε χαρακτηρίστηκε ως παράνομη από τον διακομιστή συγχρονισμού.", + "pad.modals.corruptPad.explanation": "Το pad που προσπαθείτε να επισκεφτείτε είναι κατεστραμμένο.", "pad.modals.deleted": "Διεγράφη.", "pad.modals.deleted.explanation": "Αυτό το pad έχει καταργηθεί.", "pad.modals.disconnected": "Έχετε αποσυνδεθεί.", diff --git a/src/locales/et.json b/src/locales/et.json new file mode 100644 index 000000000..5ab5f8832 --- /dev/null +++ b/src/locales/et.json @@ -0,0 +1,76 @@ +{ + "@metadata": { + "authors": [ + "Kristian.kankainen" + ] + }, + "index.newPad": "Uus klade", + "index.createOpenPad": "loo või rööptoimeta kladet nimega:", + "pad.toolbar.bold.title": "Rasvane (Ctrl + B)", + "pad.toolbar.italic.title": "Kaldkiri (Ctrl + I)", + "pad.toolbar.underline.title": "Allakriipsutus (Ctrl-U)", + "pad.toolbar.strikethrough.title": "Läbikriipsutus", + "pad.toolbar.ol.title": "Nummerdatud loend", + "pad.toolbar.ul.title": "Täppidega loend", + "pad.toolbar.indent.title": "Suurenda taanet (TAB)", + "pad.toolbar.unindent.title": "Vähenda taanet (Shift+TAB)", + "pad.toolbar.undo.title": "Võta tagasi (Ctrl-Z)", + "pad.toolbar.redo.title": "Tee uuesti (Ctrl-Y)", + "pad.toolbar.clearAuthorship.title": "Kustuta eri autorite värvid", + "pad.toolbar.import_export.title": "Impordi-ekspordi eri failivormingutesse", + "pad.toolbar.timeslider.title": "Ajajoon", + "pad.toolbar.savedRevision.title": "Salvesta revisjon", + "pad.toolbar.settings.title": "Seaded", + "pad.toolbar.embed.title": "Jaga ja põimi seda kladet", + "pad.toolbar.showusers.title": "Näita klade kasutajaid", + "pad.colorpicker.save": "Salvesta", + "pad.colorpicker.cancel": "Loobu", + "pad.loading": "Laadimine...", + "pad.passwordRequired": "Sul peab olema parool selle klade rööptoimetamiseks", + "pad.permissionDenied": "Sul puuduvad ligipääsuõigused selle klade rööptoimetamiseks", + "pad.wrongPassword": "Vigane parool", + "pad.settings.padSettings": "Klade seadistused", + "pad.settings.myView": "Minu vaade", + "pad.settings.stickychat": "Näita vestlust alatiselt ekraanil", + "pad.settings.colorcheck": "Autorite värvid", + "pad.settings.linenocheck": "Reanumbrid", + "pad.settings.rtlcheck": "Näita sisu paremalt vasakule?", + "pad.settings.fontType": "Šrifti tüüp:", + "pad.settings.fontType.normal": "Normaalne", + "pad.settings.fontType.monospaced": "Ühelaiuste märkidega", + "pad.settings.globalView": "Koguvaade", + "pad.settings.language": "Keel:", + "pad.importExport.import_export": "Import-eksport", + "pad.importExport.import": "Laadi üles mistahes tekstifail või dokument", + "pad.importExport.importSuccessful": "Edukalt laaditud!", + "pad.importExport.exporthtml": "HTML", + "pad.importExport.exportplain": "Lihttekst", + "pad.importExport.exportword": "Microsoft Word", + "pad.importExport.exportpdf": "PDF", + "pad.importExport.exportopen": "ODF (Open Document Format)", + "pad.importExport.exportdokuwiki": "DokuWiki", + "pad.importExport.abiword.innerHTML": "Paraku on ainult lihttekstis voi HTML-vormingus dokumentide importimine võimaldatud. Rohkem võimaluste jaoks peab \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Epaigaldama abiword\u003C/a\u003E.", + "pad.modals.connected": "Ühendatud.", + "pad.modals.reconnecting": "Proovitakse luua ühendus klade juurde...", + "pad.modals.forcereconnect": "Sunni ühenduse taasloomist", + "pad.modals.userdup": "Käesolev klade on avatud teises aknas", + "pad.modals.userdup.explanation": "Käesolev klade paistab olevat avatud rohkem kui ühes brauseriaknas selles arvutis.", + "pad.modals.userdup.advice": "Kasuta käesolevat akent teiste asemel.", + "pad.modals.unauth": "Pole lubatud", + "pad.modals.unauth.explanation": "Sinu ligipääsuõigused on muutunud. Proovi ühendada uuesti.", + "pad.modals.looping.explanation": "Serveriga sünkroniseerimine tundub olevat takistatud.", + "pad.modals.looping.cause": "Äkki oled ühendatud tulemüüri või puhverserveri kaudu?", + "pad.modals.initsocketfail": "Server pole kättesaadaval.", + "pad.modals.initsocketfail.cause": "See on tõenäoliselt su brauserist või internetiühendusest tingitud.", + "pad.modals.slowcommit.explanation": "Server ei vasta.", + "pad.modals.slowcommit.cause": "See on tõenäoliselt võrguühendusest tingitud.", + "timeslider.month.january": "Jaanuar", + "timeslider.unnamedauthors": "{{num}} nimetamata {[plural(num) one: autor, other: autorit ]}", + "pad.savedrevs.marked": "Revisjon märgiti salvestatuna", + "pad.userlist.entername": "Sisesta oma nimi", + "pad.userlist.unnamed": "Nimetu", + "pad.userlist.guest": "Külaline", + "pad.userlist.deny": "Eira", + "pad.userlist.approve": "Nõustu", + "pad.editbar.clearcolors": "Kas soovid kustutada autorite värvid dokumendist?" +} \ No newline at end of file diff --git a/src/locales/km.json b/src/locales/km.json index 4d997f549..2e4a38475 100644 --- a/src/locales/km.json +++ b/src/locales/km.json @@ -1,7 +1,8 @@ { "@metadata": { "authors": [ - "វ័ណថារិទ្ធ" + "វ័ណថារិទ្ធ", + "Sovichet" ] }, "index.newPad": "ផេតថ្មី", @@ -36,6 +37,7 @@ "pad.importExport.exportopen": "ODF (Open Document Format)", "pad.importExport.exportdokuwiki": "DokuWiki", "pad.modals.connected": "បាន​តភ្ជាប់​។", + "pad.modals.deleted": "បាន​លុប។", "pad.share.link": "តំណ​ភ្ជាប់", "timeslider.month.january": "មករា", "timeslider.month.february": "កុម្ភៈ", @@ -49,7 +51,11 @@ "timeslider.month.october": "តុលា", "timeslider.month.november": "វិច្ឆិកា", "timeslider.month.december": "ធ្នូ", + "pad.userlist.entername": "បញ្ចូល​ឈ្មោះ​របស់​អ្នក", + "pad.userlist.unnamed": "គ្មាន​ឈ្មោះ", "pad.userlist.guest": "ភ្ញៀវ", + "pad.userlist.deny": "បដិសេធ", + "pad.userlist.approve": "យល់​ព្រម", "pad.impexp.importbutton": "នាំចូលឥឡូវនេះ", "pad.impexp.importing": "កំពុងនាំចូល​..." } \ No newline at end of file diff --git a/src/locales/mk.json b/src/locales/mk.json index 0894b47a4..dd7413072 100644 --- a/src/locales/mk.json +++ b/src/locales/mk.json @@ -13,8 +13,8 @@ "pad.toolbar.strikethrough.title": "Прецртано", "pad.toolbar.ol.title": "Подреден список", "pad.toolbar.ul.title": "Неподреден список", - "pad.toolbar.indent.title": "Вовлекување", - "pad.toolbar.unindent.title": "Отстап", + "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": "Поништи ги авторските бои", @@ -51,7 +51,7 @@ "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Open Document Format)", "pad.importExport.exportdokuwiki": "DokuWiki", - "pad.importExport.abiword.innerHTML": "Можете да увезувате само од прост текст и html-формат. Понапредни можности за увоз ќе добиете ако \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Eинсталирате AbiWord\u003C/a\u003E.", + "pad.importExport.abiword.innerHTML": "Можете да увезувате само од прост текст и HTML-формат. Понапредни можности за увоз ќе добиете ако \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Eвоспоставите AbiWord\u003C/a\u003E.", "pad.modals.connected": "Поврзано.", "pad.modals.reconnecting": "Ве преповрзувам со тетратката...", "pad.modals.forcereconnect": "Наметни преповрзување", From 3f31445abfd3a168f2e32e1e64c5a5d7fc03b2e4 Mon Sep 17 00:00:00 2001 From: webzwo0i Date: Tue, 28 Jan 2014 14:07:26 +0100 Subject: [PATCH 12/17] don't call ace_getInInternationalComposition if editor is not fully loaded --- src/static/js/ace.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/static/js/ace.js b/src/static/js/ace.js index d2bbb4847..addc412fc 100644 --- a/src/static/js/ace.js +++ b/src/static/js/ace.js @@ -124,6 +124,7 @@ function Ace2Editor() editor.getInInternationalComposition = function() { + if (!loaded) return false; return info.ace_getInInternationalComposition(); }; From 65a3344f460b71da1ffa1505941e0addbac75137 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Sun, 2 Feb 2014 12:36:23 +0000 Subject: [PATCH 13/17] Localisation updates from https://translatewiki.net. --- src/locales/be-tarask.json | 5 +++-- src/locales/br.json | 6 +++++- src/locales/el.json | 8 ++++---- src/locales/sl.json | 4 ++++ 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/locales/be-tarask.json b/src/locales/be-tarask.json index af4b5c891..2f7ea3cad 100644 --- a/src/locales/be-tarask.json +++ b/src/locales/be-tarask.json @@ -2,7 +2,8 @@ "@metadata": { "authors": [ "Jim-by", - "Wizardist" + "Wizardist", + "Red Winged Duck" ] }, "index.newPad": "Стварыць", @@ -13,7 +14,7 @@ "pad.toolbar.strikethrough.title": "Закрэсьліваньне", "pad.toolbar.ol.title": "Упарадкаваны сьпіс", "pad.toolbar.ul.title": "Неўпарадкаваны сьпіс", - "pad.toolbar.indent.title": "Водступ", + "pad.toolbar.indent.title": "Водступ (TAB)", "pad.toolbar.unindent.title": "Выступ", "pad.toolbar.undo.title": "Скасаваць(Ctrl-Z)", "pad.toolbar.redo.title": "Вярнуць (Ctrl-Y)", diff --git a/src/locales/br.json b/src/locales/br.json index d28f82487..ebfa006b9 100644 --- a/src/locales/br.json +++ b/src/locales/br.json @@ -16,7 +16,7 @@ "pad.toolbar.ol.title": "Roll urzhiet", "pad.toolbar.ul.title": "Roll en dizurzh", "pad.toolbar.indent.title": "Endantañ (TAB)", - "pad.toolbar.unindent.title": "Diendantañ", + "pad.toolbar.unindent.title": "Diendantañ (Shift+TAB)", "pad.toolbar.undo.title": "Dizober (Ktrl-Z)", "pad.toolbar.redo.title": "Adober (Ktrl-Y)", "pad.toolbar.clearAuthorship.title": "Diverkañ al livioù oc'h anaout an aozerien", @@ -69,6 +69,10 @@ "pad.modals.initsocketfail.cause": "Gallout a ra ar gudenn dont eus ho merdeer Web pe eus ho kevreadur Internet.", "pad.modals.slowcommit.explanation": "Ne respont ket ar serveur.", "pad.modals.slowcommit.cause": "Gallout a ra dont diwar kudennoù kevreañ gant ar rouedad.", + "pad.modals.badChangeset.explanation": "Graet ho peus ur c'hemm met rummet eo bet evel e-maez lezenn gant ar servijer sinkronelaat", + "pad.modals.badChangeset.cause": "Dont a ra marteze eus ur c'hefluniadur fall eus ar servijer pe eus un emzalc'h dic'hortoz all. Kit e darempred, mar plij, gant merour ar servijer, ma soñj deoc'h ez eo ur fazi. Klaskit kevreañ en-dro evit kenderc'hel da gemmañ.", + "pad.modals.corruptPad.explanation": "Breinet eo ar bloc'h emaoc'h o klask tizhout.", + "pad.modals.corruptPad.cause": "Dont a ra marteze eus ur c'hefluniadur fall eus ar servijer pe eus un emzalc'h dic'hortoz all. Kit e darempred, mar plij, gant merour ar servijer.", "pad.modals.deleted": "Dilamet.", "pad.modals.deleted.explanation": "Lamet eo bet ar pad-mañ.", "pad.modals.disconnected": "Digevreet oc'h bet.", diff --git a/src/locales/el.json b/src/locales/el.json index d203fc744..8696c08b5 100644 --- a/src/locales/el.json +++ b/src/locales/el.json @@ -20,7 +20,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": "Εκκαθάριση των χρωμάτων των συντακτών", "pad.toolbar.import_export.title": "Εισαγωγή/Εξαγωγή από/σε διαφορετικούς τύπους αρχείων", "pad.toolbar.timeslider.title": "Χρονοδιάγραμμα", "pad.toolbar.savedRevision.title": "Αποθήκευση Αναθεώρησης", @@ -35,10 +35,10 @@ "pad.wrongPassword": "Ο κωδικός σας ήταν λανθασμένος", "pad.settings.padSettings": "Ρυθμίσεις Pad", "pad.settings.myView": "Η προβολή μου", - "pad.settings.stickychat": "Η Συνομιλία να είναι πάντα ορατή", + "pad.settings.stickychat": "Να είναι πάντα ορατή η συνομιλία", "pad.settings.colorcheck": "Χρώματα συντάκτη", - "pad.settings.linenocheck": "Αριθμοί γραμμής", - "pad.settings.rtlcheck": "Θέλετε να διαβάσετε το περιεχόμενο από δεξιά προς τα αριστερά;", + "pad.settings.linenocheck": "Αριθμοί γραμμών", + "pad.settings.rtlcheck": "Να διαβάζεται το περιεχόμενο από δεξιά προς τα αριστερά;", "pad.settings.fontType": "Τύπος γραμματοσειράς:", "pad.settings.fontType.normal": "Κανονική", "pad.settings.fontType.monospaced": "Καθορισμένου πλάτους", diff --git a/src/locales/sl.json b/src/locales/sl.json index 1b83f422b..05f6537d5 100644 --- a/src/locales/sl.json +++ b/src/locales/sl.json @@ -67,6 +67,10 @@ "pad.modals.initsocketfail.cause": "Najverjetneje je težava v brskalniku, ali pa so težave z internetno povezavo.", "pad.modals.slowcommit.explanation": "Strežnik se ne odziva.", "pad.modals.slowcommit.cause": "Najverjetneje je prišlo do napake med vzpostavitvijo povezave.", + "pad.modals.badChangeset.explanation": "Urejanje, ki ste ga naredili, je sinhronizacijski strežnik označil kot nelegalno.", + "pad.modals.badChangeset.cause": "Razlog za to je morda napačna konfiguracija strežnika ali neko drugo nepričakovano vedenje. Prosimo, stopite v stik z upravljavcem storitve, če menite, da gre za napako. Poskusite se ponovno povezati, da nadaljujete z urejanjem.", + "pad.modals.corruptPad.explanation": "Blok, do katerega želite dostopati, je poškodovan.", + "pad.modals.corruptPad.cause": "Razlog za to je morda napačna konfiguracija strežnika ali neko drugo nepričakovano vedenje. Prosimo, stopite v stik z upravljavcem storitve.", "pad.modals.deleted": "Izbrisano.", "pad.modals.deleted.explanation": "Dokument je odstranjen.", "pad.modals.disconnected": "Povezava je prekinjena.", From f798e287fb80a82d0110a1b670d6383ee0c2584b Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Sun, 9 Feb 2014 15:22:15 +0000 Subject: [PATCH 14/17] Localisation updates from https://translatewiki.net. --- src/locales/et.json | 52 ++++++++++++++++++++++++++++++++++++++++++--- src/locales/sk.json | 9 ++++---- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/src/locales/et.json b/src/locales/et.json index 5ab5f8832..421486b86 100644 --- a/src/locales/et.json +++ b/src/locales/et.json @@ -19,7 +19,7 @@ "pad.toolbar.clearAuthorship.title": "Kustuta eri autorite värvid", "pad.toolbar.import_export.title": "Impordi-ekspordi eri failivormingutesse", "pad.toolbar.timeslider.title": "Ajajoon", - "pad.toolbar.savedRevision.title": "Salvesta revisjon", + "pad.toolbar.savedRevision.title": "Salvesta versioon", "pad.toolbar.settings.title": "Seaded", "pad.toolbar.embed.title": "Jaga ja põimi seda kladet", "pad.toolbar.showusers.title": "Näita klade kasutajaid", @@ -43,6 +43,7 @@ "pad.importExport.import_export": "Import-eksport", "pad.importExport.import": "Laadi üles mistahes tekstifail või dokument", "pad.importExport.importSuccessful": "Edukalt laaditud!", + "pad.importExport.export": "Ekspordi käesolev klade kui:", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Lihttekst", "pad.importExport.exportword": "Microsoft Word", @@ -61,16 +62,61 @@ "pad.modals.looping.explanation": "Serveriga sünkroniseerimine tundub olevat takistatud.", "pad.modals.looping.cause": "Äkki oled ühendatud tulemüüri või puhverserveri kaudu?", "pad.modals.initsocketfail": "Server pole kättesaadaval.", + "pad.modals.initsocketfail.explanation": "Ei saadud ühendust sünkroniseerimisserveriga.", "pad.modals.initsocketfail.cause": "See on tõenäoliselt su brauserist või internetiühendusest tingitud.", "pad.modals.slowcommit.explanation": "Server ei vasta.", "pad.modals.slowcommit.cause": "See on tõenäoliselt võrguühendusest tingitud.", + "pad.modals.badChangeset.explanation": "Sünkroniseerimisserver keeldus vastuvõtmast tehtud muudatuse.", + "pad.modals.badChangeset.cause": "See võib sõltuda serveri valest seadistusest või mõnest muust tõrkest. Palun kontakteeru teenuse haldajaga või proovi uuesti.", + "pad.modals.corruptPad.explanation": "Klade, millele püüad ligi pääseda, on rikkis.", + "pad.modals.corruptPad.cause": "See võib sõltuda serveri valest seadistusest või mõnest muust tõrkest. Palun kontakteeru teenuse haldajaga või proovi uuesti.", + "pad.modals.deleted": "Kustutatud.", + "pad.modals.deleted.explanation": "Klade on kustutatud.", + "pad.modals.disconnected": "Sa ei ole ühendatud.", + "pad.modals.disconnected.explanation": "Ühendus serveriga katkes", + "pad.modals.disconnected.cause": "Server ei ole saadaval. Palun kontakteeru teenuse haldajaga või proovi uuesti.", + "pad.share": "Jaga kladet", + "pad.share.readonly": "Kirjutuskaitstud", + "pad.share.link": "Link", + "pad.share.emebdcode": "Põimi URL", + "pad.chat": "Vestle", + "pad.chat.title": "Ava klade vestlusaken.", + "pad.chat.loadmessages": "Laadi rohkem sõnumeid", + "timeslider.pageTitle": "{{appTitle}} ajajoon", + "timeslider.toolbar.returnbutton": "Tagasi kladele", + "timeslider.toolbar.authors": "Autoridː", + "timeslider.toolbar.authorsList": "Autor puudub", + "timeslider.toolbar.exportlink.title": "Eksport", + "timeslider.exportCurrent": "Ekspordi käesolev versioon kuiː", + "timeslider.version": "Versioon {{version}}", + "timeslider.saved": "Salvestatud {{day}}. {{month}}il {{year}}. aastal", + "timeslider.dateformat": "{{day}}.{{month}}.{{year}} {{hours}}:{{minutes}}:{{seconds}}", "timeslider.month.january": "Jaanuar", + "timeslider.month.february": "Veebruar", + "timeslider.month.march": "Märts", + "timeslider.month.april": "Aprill", + "timeslider.month.may": "Mai", + "timeslider.month.june": "Juuni", + "timeslider.month.july": "Juuli", + "timeslider.month.august": "August", + "timeslider.month.september": "September", + "timeslider.month.october": "Oktoober", + "timeslider.month.november": "November", + "timeslider.month.december": "Detsember", "timeslider.unnamedauthors": "{{num}} nimetamata {[plural(num) one: autor, other: autorit ]}", - "pad.savedrevs.marked": "Revisjon märgiti salvestatuna", + "pad.savedrevs.marked": "Versioon märgiti salvestatuna", "pad.userlist.entername": "Sisesta oma nimi", "pad.userlist.unnamed": "Nimetu", "pad.userlist.guest": "Külaline", "pad.userlist.deny": "Eira", "pad.userlist.approve": "Nõustu", - "pad.editbar.clearcolors": "Kas soovid kustutada autorite värvid dokumendist?" + "pad.editbar.clearcolors": "Kas soovid kustutada autorite värvid dokumendist?", + "pad.impexp.importbutton": "Impordi", + "pad.impexp.importing": "Importimine...", + "pad.impexp.confirmimport": "Faili importimine kustutab praeguse versiooni. Kas kindlasti importida?", + "pad.impexp.convertFailed": "Antud faili pole võimalik importida. Palun kasuta teist vormingut või kopeeri-kleebi käsitsi", + "pad.impexp.uploadFailed": "Üleslaadimine nurjus, proovi uuesti", + "pad.impexp.importfailed": "Importimine nurjus", + "pad.impexp.copypaste": "Palun kopeeri ja kleebi", + "pad.impexp.exportdisabled": "Eksportimine vormingusse {{type}} on hetkel keelatud. Üksikasjade saamiseks pöördu oma süsteemiadministraatori poole." } \ No newline at end of file diff --git a/src/locales/sk.json b/src/locales/sk.json index 15eef02c2..8c8759e60 100644 --- a/src/locales/sk.json +++ b/src/locales/sk.json @@ -1,7 +1,8 @@ { "@metadata": { "authors": [ - "Teslaton" + "Teslaton", + "Kusavica" ] }, "index.newPad": "Nový Pad", @@ -12,8 +13,8 @@ "pad.toolbar.strikethrough.title": "Prečiarknuté", "pad.toolbar.ol.title": "Číslovaný zoznam", "pad.toolbar.ul.title": "Odrážkový zoznam", - "pad.toolbar.indent.title": "Zväčšiť odsadenie", - "pad.toolbar.unindent.title": "Zmenšiť odsadenie", + "pad.toolbar.indent.title": "Zväčšiť odsadenie (TAB)", + "pad.toolbar.unindent.title": "Zmenšiť odsadenie (Shift+TAB)", "pad.toolbar.undo.title": "Späť (Ctrl-Z)", "pad.toolbar.redo.title": "Znova (Ctrl-Y)", "pad.toolbar.clearAuthorship.title": "Odstrániť farby autorstva", @@ -70,7 +71,7 @@ "pad.modals.deleted.explanation": "Tento Pad bol odstránený.", "pad.modals.disconnected": "Boli ste odpojení.", "pad.modals.disconnected.explanation": "Spojenie so serverom sa prerušilo", - "pad.modals.disconnected.cause": "Server môže byť nedostupný. Ak by problém pretrvával, informujte nás prosím.", + "pad.modals.disconnected.cause": "Server môže byť nedostupný. Ak by problém pretrvával, informujte správcu služby.", "pad.share": "Zdieľať tento Pad", "pad.share.readonly": "Len na čítanie", "pad.share.link": "Odkaz", From 44062ae76593c889e6e9bfe3ca55bb3c16f2d58b Mon Sep 17 00:00:00 2001 From: Benjamin Chodoroff Date: Mon, 17 Feb 2014 11:40:30 -0500 Subject: [PATCH 15/17] escape rendered npm package info --- src/static/js/admin/plugins.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/js/admin/plugins.js b/src/static/js/admin/plugins.js index 885c028d3..e6c7a1224 100644 --- a/src/static/js/admin/plugins.js +++ b/src/static/js/admin/plugins.js @@ -81,7 +81,7 @@ $(document).ready(function () { if(attr == "name"){ // Hack to rewrite URLS into name row.find(".name").html(""+plugin['name'].substr(3)+""); // remove 'ep_' }else{ - row.find("." + attr).html(plugin[attr]); + row.find("." + attr).text(plugin[attr]); } } row.find(".version").html( plugin.version ); From cfdd57b48754ac34819c05150e1677aa2c7613ff Mon Sep 17 00:00:00 2001 From: Simon Gaeremynck Date: Wed, 19 Feb 2014 10:48:15 +0000 Subject: [PATCH 16/17] Addressed a potential never finishing forEach in PadMessageHandler.padUsers If the session info for a client would be null or undefined, the forEach callback would never get called which means the padUsers callback would never get trigged. This could potentially block API request as this function is exposed at an HTTP API endpoint. --- src/node/handler/PadMessageHandler.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 774ebf081..ed47109d9 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -1570,6 +1570,8 @@ exports.padUsers = function (padID, callback) { result.push(author); callback(); }); + } else { + callback(); } }, function(err) { if(ERR(err, callback)) return; From eb32835ea12854b86f0e3a957c18c34332e1fc7c Mon Sep 17 00:00:00 2001 From: vvision Date: Mon, 24 Feb 2014 13:29:21 +0100 Subject: [PATCH 17/17] Updated npm version. --- src/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package.json b/src/package.json index 0c59cfbb8..1953ecf16 100644 --- a/src/package.json +++ b/src/package.json @@ -27,7 +27,7 @@ "nodemailer" : "0.3.x", "jsdom-nocontextifiy" : "0.2.10", "async-stacktrace" : "0.0.2", - "npm" : "1.2.x", + "npm" : "1.4.x", "ejs" : "0.6.1", "graceful-fs" : "1.1.5", "slide" : "1.1.3",