diff --git a/README.md b/README.md index e254b81d3..fa0da3639 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ Join the [mailinglist](http://groups.google.com/group/etherpad-lite-dev) and mak # Donate! * [Flattr] (http://flattr.com/thing/71378/Etherpad-Foundation) * Paypal - Press the donate button on [etherpad.org](http://etherpad.org) +* [Bitcoin] (https://coinbase.com/checkouts/1e572bf8a82e4663499f7f1f66c2d15a) # License [Apache License v2](http://www.apache.org/licenses/LICENSE-2.0.html) diff --git a/doc/api/http_api.md b/doc/api/http_api.md index 0543ef71a..7e05ff86d 100644 --- a/doc/api/http_api.md +++ b/doc/api/http_api.md @@ -61,7 +61,9 @@ Portal submits content into new blog post ## Usage ### API version -The latest version is `1.2` +The latest version is `1.2.7` + +The current version can be queried via /api. ### Request Format diff --git a/src/locales/br.json b/src/locales/br.json new file mode 100644 index 000000000..d53ce591b --- /dev/null +++ b/src/locales/br.json @@ -0,0 +1,56 @@ +{ + "index.newPad": "Pad nevez", + "index.createOpenPad": "pe kroui\u00f1\/digeri\u00f1 ur pad gant an anv :", + "pad.toolbar.bold.title": "Tev (Ctrl-B)", + "pad.toolbar.italic.title": "Italek (Ctrl-I)", + "pad.toolbar.underline.title": "Islinenna\u00f1 (Ctrl-U)", + "pad.toolbar.indent.title": "Endanta\u00f1", + "pad.toolbar.unindent.title": "Diendanta\u00f1", + "pad.toolbar.settings.title": "Arventenno\u00f9", + "pad.colorpicker.save": "Enrolla\u00f1", + "pad.colorpicker.cancel": "Nulla\u00f1", + "pad.loading": "O karga\u00f1...", + "pad.settings.myView": "Ma diskwel", + "pad.settings.fontType.normal": "Reizh", + "pad.settings.language": "Yezh :", + "pad.importExport.import_export": "Enporzhia\u00f1\/Ezporzhia\u00f1", + "pad.importExport.import": "Enkarga\u00f1 un destenn pe ur restr", + "pad.importExport.exporthtml": "HTML", + "pad.importExport.exportplain": "Testenn blaen", + "pad.importExport.exportword": "Microsoft Word", + "pad.importExport.exportpdf": "PDF", + "pad.importExport.exportopen": "ODF (Open Document Format)", + "pad.importExport.exportdokuwiki": "DokuWiki", + "pad.modals.connected": "Kevreet.", + "pad.modals.slowcommit": "Digevreet.", + "pad.share.readonly": "Lenn hepken", + "pad.share.link": "Liamm", + "pad.chat": "Flap", + "timeslider.toolbar.authors": "Aozerien :", + "timeslider.toolbar.authorsList": "Aozer ebet", + "timeslider.toolbar.exportlink.title": "Ezporzhia\u00f1", + "timeslider.month.january": "Genver", + "timeslider.month.february": "C'hwevrer", + "timeslider.month.march": "Meurzh", + "timeslider.month.april": "Ebrel", + "timeslider.month.may": "Mae", + "timeslider.month.june": "Mezheven", + "timeslider.month.july": "Gouere", + "timeslider.month.august": "Eost", + "timeslider.month.september": "Gwengolo", + "timeslider.month.october": "Here", + "timeslider.month.november": "Du", + "timeslider.month.december": "Kerzu", + "pad.userlist.guest": "Den pedet", + "pad.userlist.deny": "Nac'h", + "pad.userlist.approve": "Aproui\u00f1", + "pad.impexp.importbutton": "Enporzhia\u00f1 brema\u00f1", + "pad.impexp.importing": "Oc'h enporzhia\u00f1...", + "pad.impexp.importfailed": "C'hwitet eo an enporzhiadenn", + "@metadata": { + "authors": [ + "Fulup", + "Y-M D" + ] + } +} \ No newline at end of file diff --git a/src/locales/ja.json b/src/locales/ja.json index c2f6da27b..f7173dd4f 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -19,7 +19,7 @@ "pad.toolbar.clearAuthorship.title": "\u4f5c\u8005\u306e\u8272\u5206\u3051\u3092\u6d88\u53bb", "pad.toolbar.import_export.title": "\u4ed6\u306e\u5f62\u5f0f\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\/\u30a8\u30af\u30b9\u30dd\u30fc\u30c8", "pad.toolbar.timeslider.title": "\u30bf\u30a4\u30e0\u30b9\u30e9\u30a4\u30c0\u30fc", - "pad.toolbar.savedRevision.title": "\u4fdd\u5b58\u6e08\u307f\u306e\u7248", + "pad.toolbar.savedRevision.title": "\u7248\u3092\u4fdd\u5b58", "pad.toolbar.settings.title": "\u8a2d\u5b9a", "pad.toolbar.embed.title": "\u3053\u306e\u30d1\u30c3\u30c9\u3092\u57cb\u3081\u8fbc\u3080", "pad.toolbar.showusers.title": "\u3053\u306e\u30d1\u30c3\u30c9\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u8868\u793a", @@ -87,7 +87,7 @@ "timeslider.exportCurrent": "\u73fe\u5728\u306e\u7248\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3059\u308b\u5f62\u5f0f:", "timeslider.version": "\u30d0\u30fc\u30b8\u30e7\u30f3 {{version}}", "timeslider.saved": "| {{year}}\u5e74{{month}}{{day}}\u65e5\u306b\u4fdd\u5b58", - "timeslider.dateformat": "{{year}}\u5e74{{month}}{{day}}\u65e5 {{hours}}:{{minutes}}:{{seconds}}", + "timeslider.dateformat": "{{year}}\u5e74{{month}}\u6708{{day}}\u65e5 {{hours}}:{{minutes}}:{{seconds}}", "timeslider.month.january": "1\u6708", "timeslider.month.february": "2\u6708", "timeslider.month.march": "3\u6708", diff --git a/src/locales/ksh.json b/src/locales/ksh.json index e4557e855..648f95060 100644 --- a/src/locales/ksh.json +++ b/src/locales/ksh.json @@ -19,13 +19,16 @@ "pad.toolbar.clearAuthorship.title": "d\u00e4 Schriiver ier F\u00e4rve fottn\u00e4mme", "pad.toolbar.import_export.title": "Vun ongerscheidlijje Dattei_Fommaate empotteere udder \u00e4xpotteere", "pad.toolbar.timeslider.title": "Verjangeheid afschpelle", - "pad.toolbar.savedRevision.title": "Fa\u00dfjehallde Versione", + "pad.toolbar.savedRevision.title": "de Versjohn fa\u00dfhallde", "pad.toolbar.settings.title": "Enscht\u00e4llonge", "pad.toolbar.embed.title": "Donn dat Padd enbenge", "pad.toolbar.showusers.title": "Verbonge Metschriiver aanzeije", "pad.colorpicker.save": "Fa\u00dfhallde", "pad.colorpicker.cancel": "Oph\u00fc\u00fcre", "pad.loading": "Aam Laade …", + "pad.passwordRequired": "Do bruchs e Pa\u00dfwoot f\u00f6r heh dat P\u00e4dd.", + "pad.permissionDenied": "Do h\u00e4s nit dat R\u00e4\u00e4sch, op heh dat P\u00e4dd zohzejriife.", + "pad.wrongPassword": "Ding Pa\u00dfwoot wohr verkeht.", "pad.settings.padSettings": "Dam P\u00e4dd sin Enscht\u00e4llonge", "pad.settings.myView": "Anseesch", "pad.settings.stickychat": "Donn der Klaaf emmer aanzeije", @@ -38,6 +41,7 @@ "pad.settings.language": "Schprooch:", "pad.importExport.import_export": "Empoot\/\u00c4xpoot", "pad.importExport.import": "Donn jeede T\u00e4x udder jeede Zoot Dokem\u00e4nt huhlaade", + "pad.importExport.importSuccessful": "Jeschaff!", "pad.importExport.export": "Don dat P\u00e4dd \u00e4xpoteere al\u00df:", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Eijfach T\u00e4x", @@ -45,9 +49,11 @@ "pad.importExport.exportpdf": "PDF (Poteerbaa Dokem\u00e4nte Fommaat)", "pad.importExport.exportopen": "ODF (Offe Dokem\u00e4nte-Fommaat)", "pad.importExport.exportdokuwiki": "DokuWiki", + "pad.importExport.abiword.innerHTML": "Mer k\u00fcnne blo\u00df eijfaache T\u00e4xte udder HTML_Fommaate empoteere. Opw\u00e4ndejere M\u00fcjjeleschkeite f\u00f6 der Empoot jon och, dof\u00f6r bruch mer en Enschtallazjuhn met Abiword<\/i><\/a>.", "pad.modals.connected": "Verbonge.", "pad.modals.reconnecting": "Ben wider aam Verbenge …", "pad.modals.forcereconnect": "Wider verbenge", + "pad.modals.userdup": "En enem andere Finster en \u00c4rbeid", "pad.modals.userdup.explanation": "Heh dat Padd schingk en mieh wi einem Finster vun enem Brauser op heh d\u00e4m R\u00e4\u00e4schner op ze sin.", "pad.modals.userdup.advice": "En heh d\u00e4m Finster wider verbenge.", "pad.modals.unauth": "Nit ber\u00e4\u00e4schtesch", @@ -72,10 +78,12 @@ "pad.share.emebdcode": "URL enboue", "pad.chat": "Klaaf", "pad.chat.title": "Maach d\u00e4 Klaaf f\u00f6r heh dat P\u00e4dd op", + "pad.chat.loadmessages": "Mieh Nohresschte laade...", "timeslider.pageTitle": "{{appTitle}} - Verjangeheid affschpelle", "timeslider.toolbar.returnbutton": "Jangk retuur nohm P\u00e4dd", "timeslider.toolbar.authors": "Schriiver:", "timeslider.toolbar.authorsList": "Kein Schriivere", + "timeslider.toolbar.exportlink.title": "\u00c4xpoot", "timeslider.exportCurrent": "Donn de meu\u00dfte V\u00e4sjohn \u00e4xpotteere al\u00df:", "timeslider.version": "V\u00e4sjon {{version}}", "timeslider.saved": "Fa\u00dfjehallde aam {{day}}. {{month}} {{year}}", @@ -92,11 +100,19 @@ "timeslider.month.october": "Oktoober", "timeslider.month.november": "Nov\u00e4mber", "timeslider.month.december": "Dez\u00e4mber", + "timeslider.unnamedauthor": "{{num}} naameloose Schriever", + "timeslider.unnamedauthors": "{{num}} naameloose Schriever", + "pad.savedrevs.marked": "Heh di V\u00e4sjohn es j\u00e4z fa\u00dfjehallde.", "pad.userlist.entername": "Jif Dinge Naame en", "pad.userlist.unnamed": "naamelo\u00df\u00df", "pad.userlist.guest": "Ja\u00df\u00df", "pad.userlist.deny": "Aflehne", + "pad.userlist.approve": "Joodhei\u00dfe", + "pad.editbar.clearcolors": "Sulle mer de F\u00e4rve f\u00f6r de Schriiver uss_em janze T\u00e4x fott maache?", + "pad.impexp.importbutton": "J\u00e4z empoteere", "pad.impexp.importing": "Ben aam Empotteere …", + "pad.impexp.confirmimport": "En Dattei ze empotteere m\u00e4\u00e4t der janze T\u00e4x em P\u00e4dd fott. Wess De dat verfaftesch hann?", + "pad.impexp.convertFailed": "Mer kunnte di Dattei nit empoteere. Nemm en ander Dattei-Fommaat udder donn d\u00e4 T\u00e4x vun Hand kopeere un ennf\u00f6\u00f6je.", "pad.impexp.uploadFailed": "Et Huhlaade es don\u00e4vve jejange, bes esu jood un probeer et norr_ens", "pad.impexp.importfailed": "Et Empoteere es don\u00e4vve jejange", "pad.impexp.copypaste": "Bes esu jood un donn et koppeere un enf\u00f6\u00f6je", diff --git a/src/locales/pt-br.json b/src/locales/pt-br.json index 6562681a6..e029165db 100644 --- a/src/locales/pt-br.json +++ b/src/locales/pt-br.json @@ -19,7 +19,7 @@ "pad.toolbar.clearAuthorship.title": "Limpar as cores de identifica\u00e7\u00e3o de autoria", "pad.toolbar.import_export.title": "Importar\/Exportar de\/para diferentes formatos de arquivo", "pad.toolbar.timeslider.title": "Linha do tempo", - "pad.toolbar.savedRevision.title": "Revis\u00f5es Salvas", + "pad.toolbar.savedRevision.title": "Salvar revis\u00e3o", "pad.toolbar.settings.title": "Configura\u00e7\u00f5es", "pad.toolbar.embed.title": "Incorporar esta Nota", "pad.toolbar.showusers.title": "Mostrar os usuarios nesta Nota", @@ -100,6 +100,8 @@ "timeslider.month.october": "Outubro", "timeslider.month.november": "Novembro", "timeslider.month.december": "Dezembro", + "timeslider.unnamedauthor": "{{num}} autor desconhecido", + "timeslider.unnamedauthors": "{{num}} autores desconhecidos", "pad.savedrevs.marked": "Esta revis\u00e3o foi marcada como salva", "pad.userlist.entername": "Insira o seu nome", "pad.userlist.unnamed": "Sem t\u00edtulo", diff --git a/src/locales/zh-hans.json b/src/locales/zh-hans.json index 7e29a3aef..a17358266 100644 --- a/src/locales/zh-hans.json +++ b/src/locales/zh-hans.json @@ -20,7 +20,7 @@ "pad.toolbar.redo.title": "\u91cd\u505a (Ctrl-Y)", "pad.toolbar.clearAuthorship.title": "\u6e05\u9664\u4f5c\u540d\u989c\u8272", "pad.toolbar.timeslider.title": "\u65f6\u95f4\u8f74", - "pad.toolbar.savedRevision.title": "\u5df2\u4fdd\u5b58\u7684\u4fee\u8ba2", + "pad.toolbar.savedRevision.title": "\u4fdd\u5b58\u4fee\u8ba2", "pad.toolbar.settings.title": "\u8bbe\u7f6e", "pad.toolbar.embed.title": "\u5d4c\u5165\u6b64\u8bb0\u4e8b\u672c", "pad.toolbar.showusers.title": "\u663e\u793a\u6b64\u8bb0\u4e8b\u672c\u7684\u7528\u6237", diff --git a/src/locales/zh-hant.json b/src/locales/zh-hant.json index a5027a521..7c01860e0 100644 --- a/src/locales/zh-hant.json +++ b/src/locales/zh-hant.json @@ -1,7 +1,8 @@ { "@metadata": { "authors": { - "1": "Simon Shek" + "0": "Shirayuki", + "2": "Simon Shek" } }, "index.newPad": "\u65b0Pad", @@ -86,8 +87,8 @@ "timeslider.toolbar.exportlink.title": "\u532f\u51fa", "timeslider.exportCurrent": "\u532f\u51fa\u7576\u524d\u7248\u672c\u70ba\uff1a", "timeslider.version": "\u7248\u672c{{version}}", - "timeslider.saved": "{{year}}{{month}}{{day}}\u4fdd\u5b58", - "timeslider.dateformat": "{{year}}{{month}}{{day}} {{hours}}:{{minutes}}:{{seconds}}", + "timeslider.saved": "{{year}}\u5e74{{month}}{{day}}\u65e5\u4fdd\u5b58", + "timeslider.dateformat": "{{year}}\u5e74{{month}}\u6708{{day}}\u65e5 {{hours}}:{{minutes}}:{{seconds}}", "timeslider.month.january": "1\u6708", "timeslider.month.february": "2\u6708", "timeslider.month.march": "3\u6708", diff --git a/src/node/handler/APIHandler.js b/src/node/handler/APIHandler.js index 9f86277a0..8be5b5fe3 100644 --- a/src/node/handler/APIHandler.js +++ b/src/node/handler/APIHandler.js @@ -216,6 +216,9 @@ var version = } }; +// set the latest available API version here +exports.latestApiVersion = '1.2.7'; + /** * Handles a HTTP API call * @param functionName the name of the called function diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 7cd945af3..eaf24b7a2 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -1429,7 +1429,7 @@ function composePadChangesets(padId, startNum, endNum, callback) */ exports.padUsersCount = function (padID, callback) { callback(null, { - padUsersCount: socketio.sockets.clients(padId).length + padUsersCount: socketio.sockets.clients(padID).length }); } diff --git a/src/node/hooks/express/apicalls.js b/src/node/hooks/express/apicalls.js index e57e1d350..0971a877b 100644 --- a/src/node/hooks/express/apicalls.js +++ b/src/node/hooks/express/apicalls.js @@ -57,4 +57,9 @@ exports.expressCreateServer = function (hook_name, args, cb) { res.end("OK"); }); }); + + //Provide a possibility to query the latest available API version + args.app.get('/api', function (req, res) { + res.json({"currentVersion" : apiHandler.latestApiVersion}); + }); } diff --git a/src/package.json b/src/package.json index 03df87f9b..5b21334d8 100644 --- a/src/package.json +++ b/src/package.json @@ -16,7 +16,7 @@ "require-kernel" : "1.0.5", "resolve" : "0.2.x", "socket.io" : "0.9.x", - "ueberDB" : "0.1.91", + "ueberDB" : "0.1.92", "async" : "0.1.x", "express" : "3.x", "connect" : "2.4.x", diff --git a/src/static/css/iframe_editor.css b/src/static/css/iframe_editor.css index dd7452b25..3e19cbbea 100644 --- a/src/static/css/iframe_editor.css +++ b/src/static/css/iframe_editor.css @@ -177,6 +177,10 @@ p { #overlaysdiv { position: absolute; left: -1000px; top: -1000px; } +/* Stops super long lines without being spaces such as aaaaaaaaaaaaaa*100 breaking the editor + Commented out because it stops IE from being able to render the document, crazy IE bug is crazy. */ +/* .ace-line{ - overflow:hidden; /* Stops super long lines without being spaces such as aaaaaaaaaaaaaa*100 breaking the editor */ + overflow:hidden; } +*/ diff --git a/src/static/js/l10n.js b/src/static/js/l10n.js index a67a7c1a4..c79ea706d 100644 --- a/src/static/js/l10n.js +++ b/src/static/js/l10n.js @@ -1,8 +1,8 @@ (function(document) { // Set language for l10n - var language = document.cookie.match(/language=((\w{2,3})(-w+)?)/); + var language = document.cookie.match(/language=((\w{2,3})(-\w+)?)/); if(language) language = language[1]; - + html10n.bind('indexed', function() { html10n.localize([language, navigator.language, navigator.userLanguage, 'en']) })