From 6ea5efbcc3f22906c6ff938a06ea5ca31608ce55 Mon Sep 17 00:00:00 2001 From: spruce Date: Mon, 22 Apr 2013 23:01:41 +0300 Subject: [PATCH 01/72] Update SocketIORouter.js Changed the setting of client.remoteAddress --- src/node/handler/SocketIORouter.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/node/handler/SocketIORouter.js b/src/node/handler/SocketIORouter.js index 483bb1d17..5998a4c4f 100644 --- a/src/node/handler/SocketIORouter.js +++ b/src/node/handler/SocketIORouter.js @@ -55,7 +55,12 @@ exports.setSocketIO = function(_socket) socket.sockets.on('connection', function(client) { - client.set('remoteAddress', client.handshake.address.address); + if(client.handshake.headers['x-forwarded-for'] === undefined){ + client.set('remoteAddress', client.handshake.address.address); + } + else{ + client.set('remoteAddress', client.handshake.headers['x-forwarded-for']); + } var clientAuthorized = false; //wrap the original send function to log the messages From fb0bc3105687c1a49d2189a22750e95c3df67351 Mon Sep 17 00:00:00 2001 From: "Spruce (Felix Fichte)" Date: Wed, 24 Apr 2013 12:19:41 +0200 Subject: [PATCH 02/72] updated to use settings updated handler/SocketIORouter.js to use new setting updated hooks/express.js to use new setting updated utils/Settings.js to accept new setting updated settings.json.template so new setting is present --- settings.json.template | 5 ++++- src/node/handler/SocketIORouter.js | 13 +++++++------ src/node/hooks/express.js | 4 ++++ src/node/utils/Settings.js | 5 +++++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/settings.json.template b/settings.json.template index ec0e6f837..011c9e6e2 100644 --- a/settings.json.template +++ b/settings.json.template @@ -78,7 +78,10 @@ /* Require authorization by a module, or a user with is_admin set, see below. */ "requireAuthorization": false, - + + /*when you use NginX or another proxy/ load-balancer set this to true*/ + "trustProxy": false, + /* Users for basic authentication. is_admin = true gives access to /admin. If you do not uncomment this, /admin will not be available! */ /* diff --git a/src/node/handler/SocketIORouter.js b/src/node/handler/SocketIORouter.js index 5998a4c4f..03da0a4f6 100644 --- a/src/node/handler/SocketIORouter.js +++ b/src/node/handler/SocketIORouter.js @@ -23,6 +23,7 @@ var ERR = require("async-stacktrace"); var log4js = require('log4js'); var messageLogger = log4js.getLogger("message"); var securityManager = require("../db/SecurityManager"); +var settings = require('../utils/Settings'); /** * Saves all components @@ -55,12 +56,12 @@ exports.setSocketIO = function(_socket) socket.sockets.on('connection', function(client) { - if(client.handshake.headers['x-forwarded-for'] === undefined){ - client.set('remoteAddress', client.handshake.address.address); - } - else{ - client.set('remoteAddress', client.handshake.headers['x-forwarded-for']); - } + if(settings.trustProxy && client.handshake.headers['x-forwarded-for'] !== undefined){ + client.set('remoteAddress', client.handshake.headers['x-forwarded-for']); + } + else{ + client.set('remoteAddress', client.handshake.address.address); + } var clientAuthorized = false; //wrap the original send function to log the messages diff --git a/src/node/hooks/express.js b/src/node/hooks/express.js index 34baca40f..9e55a2baa 100644 --- a/src/node/hooks/express.js +++ b/src/node/hooks/express.js @@ -75,6 +75,10 @@ exports.restartServer = function () { next(); }); + if(settings.trustProxy){ + app.enable('trust proxy'); + } + app.configure(function() { hooks.callAll("expressConfigure", {"app": app}); }); diff --git a/src/node/utils/Settings.js b/src/node/utils/Settings.js index 72053ad30..50cfec7a9 100644 --- a/src/node/utils/Settings.js +++ b/src/node/utils/Settings.js @@ -119,6 +119,11 @@ exports.logconfig = { appenders: [{ type: "console" }]}; */ exports.sessionKey = false; +/* +* Trust Proxy, whether or not trust the x-forwarded-for header. +*/ +exports.trustProxy = false; + /* This setting is used if you need authentication and/or * authorization. Note: /admin always requires authentication, and * either authorization by a module, or a user with is_admin set */ From a554552bedcfca519488151b1c24abefa946dff0 Mon Sep 17 00:00:00 2001 From: "j@mailb.org" Date: Mon, 17 Jun 2013 14:28:04 +0200 Subject: [PATCH 03/72] Simpify CSS for sticky chat --- src/static/css/pad.css | 2 +- src/static/js/chat.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/static/css/pad.css b/src/static/css/pad.css index dafb77ef4..c69b8d8fd 100644 --- a/src/static/css/pad.css +++ b/src/static/css/pad.css @@ -168,9 +168,9 @@ a img { } #editorcontainer { position: absolute; - width: 100%; top: 37px; /* + 1px border */ left: 0px; + right: 0px; bottom: 0px; z-index: 1; } diff --git a/src/static/js/chat.js b/src/static/js/chat.js index 38d6f38d3..ed9b258f0 100644 --- a/src/static/js/chat.js +++ b/src/static/js/chat.js @@ -42,13 +42,13 @@ var chat = (function() padcookie.setPref("chatAlwaysVisible", true); $('#chatbox').addClass("stickyChat"); $('#chattext').css({"top":"0px"}); - $('#editorcontainer').css({"right":"192px", "width":"auto"}); + $('#editorcontainer').css({"right":"192px"}); isStuck = true; } else { // Unstick it padcookie.setPref("chatAlwaysVisible", false); $('#chatbox').removeClass("stickyChat"); $('#chattext').css({"top":"25px"}); - $('#editorcontainer').css({"right":"0px", "width":"100%"}); + $('#editorcontainer').css({"right":"0px"}); isStuck = false; } }, From bc5dc74f902b40f3a493328f5ca1b120e9b53d30 Mon Sep 17 00:00:00 2001 From: "j@mailb.org" Date: Mon, 17 Jun 2013 14:30:13 +0200 Subject: [PATCH 04/72] pass pad in postAceInit hook no way for plugins to access current pad otherwise. --- doc/api/hooks_client-side.md | 1 + src/static/js/pad.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/api/hooks_client-side.md b/doc/api/hooks_client-side.md index 80dcc52ac..c0a4227a4 100644 --- a/doc/api/hooks_client-side.md +++ b/doc/api/hooks_client-side.md @@ -126,6 +126,7 @@ Called from: src/static/js/pad.js Things in context: 1. ace - the ace object that is applied to this editor. +2. pad - the pad object of the current pad. There doesn't appear to be any example available of this particular hook being used, but it gets fired after the editor is all set up. diff --git a/src/static/js/pad.js b/src/static/js/pad.js index 9a42bccce..4d5df7eb1 100644 --- a/src/static/js/pad.js +++ b/src/static/js/pad.js @@ -524,7 +524,7 @@ var pad = { if(padcookie.getPref("showAuthorshipColors") == false){ pad.changeViewOption('showAuthorColors', false); } - hooks.aCallAll("postAceInit", {ace: padeditor.ace}); + hooks.aCallAll("postAceInit", {ace: padeditor.ace, pad: pad}); } }, dispose: function() From 9dd6471921e6e850e6b2b6657270bf0a2c4e390c Mon Sep 17 00:00:00 2001 From: "j@mailb.org" Date: Mon, 17 Jun 2013 14:32:11 +0200 Subject: [PATCH 05/72] Add userLeave hook --- src/static/js/pad_userlist.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/static/js/pad_userlist.js b/src/static/js/pad_userlist.js index 77ebb190e..f54b3e540 100644 --- a/src/static/js/pad_userlist.js +++ b/src/static/js/pad_userlist.js @@ -633,6 +633,9 @@ var paduserlist = (function() otherUsersInfo.splice(newExistingIndex, 1); otherUsersData.splice(newExistingIndex, 1); rowManager.removeRow(newExistingIndex); + hooks.callAll('userLeave', { + userInfo: info + }); updateInviteNotice(); } } From a62593e9a08f0d84eae6945e6e669d37149076f7 Mon Sep 17 00:00:00 2001 From: j Date: Mon, 17 Jun 2013 16:48:58 +0200 Subject: [PATCH 06/72] export sessioninfos so plugins can access it allows plugins to map client.id to author id --- src/node/handler/PadMessageHandler.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index b6d22c14d..525228ba8 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -48,6 +48,7 @@ var channels = require("channels"); * author = the author name of this session */ var sessioninfos = {}; +exports.sessioninfos = sessioninfos; /** * A changeset queue per pad that is processed by handleUserChanges() From 98a9a24d025da8f533a405c3e6d03af8b99b5774 Mon Sep 17 00:00:00 2001 From: John McLear Date: Wed, 26 Jun 2013 20:19:38 +0100 Subject: [PATCH 07/72] repo url as latest npm shows warn if non existant --- src/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/package.json b/src/package.json index 2dd9ac8ec..586720d4d 100644 --- a/src/package.json +++ b/src/package.json @@ -47,5 +47,8 @@ "engines" : { "node" : ">=0.6.3", "npm" : ">=1.0" }, + "repository" : { "type" : "git", + "url" : "http://github.com/ether/etherpad-lite.git" + }, "version" : "1.2.11" } From fb917b3d78575290f70e02a66e23773f2c14f76c Mon Sep 17 00:00:00 2001 From: John McLear Date: Wed, 26 Jun 2013 23:34:35 +0100 Subject: [PATCH 08/72] Update LICENSE --- LICENSE | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index a35c25535..366aa1a47 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,3 @@ - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -187,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2012 THE ETHERPAD FOUNDATION + Copyright 2013 THE ETHERPAD FOUNDATION Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From d5a3d9d03b5f77ac248dd53ea499b9f68a891418 Mon Sep 17 00:00:00 2001 From: John McLear Date: Mon, 1 Jul 2013 19:54:09 +0100 Subject: [PATCH 09/72] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75be57534..42abf83e4 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ There's also a full-featured plugin framework, allowing you to easily add your o Finally, Etherpad comes with translations into most languages! Users are automatically delivered the correct language for their local settings. -**Visit [beta.etherpad.org](http://beta.etherpad.org) to test it live** +**Visit [beta.etherpad.org](http://beta.etherpad.org) to test it live. Hosted by [Joyent](http://joyent.com)** Also, check out the **[FAQ](https://github.com/ether/etherpad-lite/wiki/FAQ)**, really! From 3a47e719d4dd56d22e138049439a825db1c3d68b Mon Sep 17 00:00:00 2001 From: Dave Longley Date: Sun, 14 Jul 2013 01:51:39 -0400 Subject: [PATCH 10/72] Make pads with long lines usable with chrome. - Do not use incorpIfQuick on keyup because it's not ever quick on chrome. Calling incorpIfQuick calls incorporateUserChanges which sets a flag on the current callstack state indicating that the selection has changed (since something was typed). Whenever this flag is set, the event handler will run code to update the selection (and possibly scroll the view as well), which is a very costly operation in webkit browsers. Instead let the user changes be incorporated by the idle worker, scheduling it to run ASAP on keyup. This isn't a perfect solution, but may make pads running on webkit browsers more usable with otherwise fairly unnoticeable changes in the UI. --- src/static/js/ace2_inner.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js index 97540191a..f53e9de8e 100644 --- a/src/static/js/ace2_inner.js +++ b/src/static/js/ace2_inner.js @@ -3855,7 +3855,7 @@ function Ace2Inner(){ } else if (type == "keyup") { - var wait = 200; + var wait = 0; idleWorkTimer.atLeast(wait); idleWorkTimer.atMost(wait); } @@ -3875,7 +3875,7 @@ function Ace2Inner(){ if ((!specialHandled) && (!thisKeyDoesntTriggerNormalize) && (!inInternationalComposition)) { - if (type != "keyup" || !incorpIfQuick()) + if (type != "keyup") { observeChangesAroundSelection(); } From 5688350bf18322821f11941b57668fb14793f82a Mon Sep 17 00:00:00 2001 From: Dave Longley Date: Sun, 14 Jul 2013 16:46:12 -0400 Subject: [PATCH 11/72] Adapt and add slowness test from @JohnMcLear. - The test now ensures that all three key events are fired when sending keys. Previously, only the 'keypress' event was sent, which failed to trigger very slow code on webkit browsers (as it is triggered by 'keyup'). All three events should really be sent whenever sending keys to the browser to ensure that we're adequately testing real behavior. See the 'sendkeys' plugin for more; it only sends 'keypress'. --- tests/frontend/specs/responsiveness.js | 80 ++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 tests/frontend/specs/responsiveness.js diff --git a/tests/frontend/specs/responsiveness.js b/tests/frontend/specs/responsiveness.js new file mode 100644 index 000000000..44bdd6111 --- /dev/null +++ b/tests/frontend/specs/responsiveness.js @@ -0,0 +1,80 @@ +// Test for https://github.com/ether/etherpad-lite/issues/1763 + +// This test fails in Opera, IE and Safari +// Opera fails due to a weird way of handling the order of execution, yet actual performance seems fine +// Safari fails due the delay being too great yet the actual performance seems fine +// Firefox might panic that the script is taking too long so will fail +// IE will fail due to running out of memory as it can't fit 2M chars in memory. + +// Just FYI Google Docs crashes on large docs whilst trying to Save, it's likely the limitations we are +// experiencing are more to do with browser limitations than improper implementation. +// A ueber fix for this would be to have a separate lower cpu priority thread that handles operations that aren't +// visible to the user. + +// Adapted from John McLear's original test case. + +describe('Responsiveness of Editor', function() { + // create a new pad before each test run + beforeEach(function(cb) { + helper.newPad(cb); + this.timeout(6000); + }); + it('Fast response to keypress in pad with large amount of contents', function(done) { + var inner$ = helper.padInner$; + var chrome$ = helper.padChrome$; + var chars = '0000000000'; // row of placeholder chars + var amount = 200000; //number of blocks of chars we will insert + var length = (amount * (chars.length) +1); // include a counter for each space + var text = ''; // the text we're gonna insert + this.timeout(amount * 100); + + // get keys to send + var keyMultiplier = 10; // multiplier * 10 == total number of key events + var keysToSend = ''; + for(var i=0; i <= keyMultiplier; i++) { + keysToSend += chars; + } + + var textElement = inner$('div'); + textElement.sendkeys('{selectall}'); // select all + textElement.sendkeys('{del}'); // clear the pad text + + for(var i=0; i <= amount; i++) { + text = text + chars + ' '; // add the chars and space to the text contents + } + inner$('div').first().text(text); // Put the text contents into the pad + + helper.waitFor(function(){ // Wait for the new contents to be on the pad + return inner$('div').text().length > length; + }).done(function(){ + + expect( inner$('div').text().length ).to.be.greaterThan( length ); // has the text changed? + var start = new Date().getTime(); // get the start time + + // send some new text to the screen (ensure all 3 key events are sent) + var el = inner$('div').first(); + for(var i = 0; i < keysToSend.length; ++i) { + var x = keysToSend.charCodeAt(i); + ['keyup', 'keypress', 'keydown'].forEach(function(type) { + var e = $.Event(type); + e.keyCode = x; + el.trigger(e); + }); + } + + helper.waitFor(function(){ // Wait for the ability to process + return true; // Ghetto but works for now + }).done(function(){ + var end = new Date().getTime(); // get the current time + var delay = end - start; // get the delay as the current time minus the start time + + console.log('delay:', delay); + expect(delay).to.be.below(200); + done(); + }, 1000); + + }, 10000); + }); + +}); + From 3a9ef306a63f76f47c05c217dadeca53a88110ee Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Sun, 14 Jul 2013 21:25:00 +0000 Subject: [PATCH 12/72] Localisation updates from http://translatewiki.net. --- src/locales/fa.json | 7 ++++--- src/locales/uk.json | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/locales/fa.json b/src/locales/fa.json index 48220dab4..b4da24d7c 100644 --- a/src/locales/fa.json +++ b/src/locales/fa.json @@ -4,8 +4,9 @@ "0": "BMRG14", "1": "Dalba", "2": "Ebraminio", - "4": "ZxxZxxZ", - "5": "\u0627\u0644\u0646\u0627\u0632" + "3": "Reza1615", + "5": "ZxxZxxZ", + "6": "\u0627\u0644\u0646\u0627\u0632" } }, "index.newPad": "\u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u062a\u0627\u0632\u0647", @@ -25,7 +26,7 @@ "pad.toolbar.timeslider.title": "\u0627\u0633\u0644\u0627\u06cc\u062f\u0631 \u0632\u0645\u0627\u0646", "pad.toolbar.savedRevision.title": "\u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u0646\u0633\u062e\u0647", "pad.toolbar.settings.title": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a", - "pad.toolbar.embed.title": "\u062c\u0627\u0633\u0627\u0632\u06cc \u0627\u06cc\u0646 \u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a", + "pad.toolbar.embed.title": "\u0627\u0634\u062a\u0631\u0627\u06a9 \u0648 \u062c\u0627\u0633\u0627\u0632\u06cc \u0627\u06cc\u0646 \u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a", "pad.toolbar.showusers.title": "\u0646\u0645\u0627\u06cc\u0634 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a", "pad.colorpicker.save": "\u0630\u062e\u06cc\u0631\u0647", "pad.colorpicker.cancel": "\u0644\u063a\u0648", diff --git a/src/locales/uk.json b/src/locales/uk.json index 641533b0c..04ffc0356 100644 --- a/src/locales/uk.json +++ b/src/locales/uk.json @@ -3,7 +3,8 @@ "authors": { "0": "Base", "1": "Olvin", - "3": "Steve.rusyn" + "3": "Steve.rusyn", + "4": "SteveR" } }, "index.newPad": "\u0421\u0442\u0432\u043e\u0440\u0438\u0442\u0438", From 406c9e38eabbb638e5aec53815019e8802073a18 Mon Sep 17 00:00:00 2001 From: Kyle Kelley Date: Thu, 18 Jul 2013 13:44:13 -0500 Subject: [PATCH 13/72] Grammar fix --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4e59afbfc..e185d9c56 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ (Please talk to people on the mailing list before you change this page, see our section on [how to get in touch](https://github.com/ether/etherpad-lite#get-in-touch)) ## Important note for pull requests -**Pull requests should issued against the develop branch**. We never pull directly into master. +**Pull requests should be issued against the develop branch**. We never pull directly into master. **Our goal is to iterate in small steps. Release often, release early. Evolution instead of a revolution** From 5e3abb7054027f3ea4a22b0748b769c3900d35c9 Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Mon, 22 Jul 2013 15:52:48 +0200 Subject: [PATCH 14/72] Update en.sjon translation pad.importExport.abiword.innerHTML --- src/locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/en.json b/src/locales/en.json index d08ebe657..986642055 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -45,7 +45,7 @@ "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Open Document Format)", "pad.importExport.exportdokuwiki": "DokuWiki", - "pad.importExport.abiword.innerHTML": "You only can import from plain text or html formats. For more advanced import features please install abiword.", + "pad.importExport.abiword.innerHTML": "You only can import from plain text or HTML formats. For more advanced import features please install abiword.", "pad.modals.connected": "Connected.", "pad.modals.reconnecting": "Reconnecting to your pad..", "pad.modals.forcereconnect": "Force reconnect", From 100c4627ece2bd438a799339e1f575280c41fa34 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Mon, 22 Jul 2013 15:44:42 +0000 Subject: [PATCH 15/72] Localisation updates from http://translatewiki.net. --- src/locales/da.json | 2 +- src/locales/gl.json | 2 +- src/locales/lt.json | 4 ++++ src/locales/lv.json | 12 +++++++++++- src/locales/ml.json | 3 ++- src/locales/nl.json | 2 +- src/locales/zh-hans.json | 3 +++ 7 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/locales/da.json b/src/locales/da.json index 1e5c0614a..28b161e9b 100644 --- a/src/locales/da.json +++ b/src/locales/da.json @@ -23,7 +23,7 @@ "pad.toolbar.timeslider.title": "Timeslider", "pad.toolbar.savedRevision.title": "Gem Revision", "pad.toolbar.settings.title": "Indstillinger", - "pad.toolbar.embed.title": "Integrer denne pad", + "pad.toolbar.embed.title": "Del og integrer denne pad", "pad.toolbar.showusers.title": "Vis brugere p\u00e5 denne pad", "pad.colorpicker.save": "Gem", "pad.colorpicker.cancel": "Afbryd", diff --git a/src/locales/gl.json b/src/locales/gl.json index dc5d640cb..5d6d05269 100644 --- a/src/locales/gl.json +++ b/src/locales/gl.json @@ -21,7 +21,7 @@ "pad.toolbar.timeslider.title": "Li\u00f1a do tempo", "pad.toolbar.savedRevision.title": "Gardar a revisi\u00f3n", "pad.toolbar.settings.title": "Configuraci\u00f3ns", - "pad.toolbar.embed.title": "Incorporar este documento", + "pad.toolbar.embed.title": "Compartir e incorporar este documento", "pad.toolbar.showusers.title": "Mostrar os usuarios deste documento", "pad.colorpicker.save": "Gardar", "pad.colorpicker.cancel": "Cancelar", diff --git a/src/locales/lt.json b/src/locales/lt.json index f75ff214a..3d442c06b 100644 --- a/src/locales/lt.json +++ b/src/locales/lt.json @@ -1,6 +1,7 @@ { "@metadata": { "authors": [ + "Eitvys200", "Mantak111" ] }, @@ -14,7 +15,10 @@ "pad.colorpicker.save": "I\u0161saugoti", "pad.colorpicker.cancel": "At\u0161aukti", "pad.loading": "\u012ekraunama...", + "pad.settings.myView": "Mano Vaizdas", + "pad.settings.fontType": "\u0160rifto tipas:", "pad.settings.fontType.normal": "Normalus", + "pad.settings.globalView": "Bendras Vaizdas", "pad.settings.language": "Kalba:", "pad.importExport.import_export": "Importuoti/Eksportuoti", "pad.importExport.import": "\u012ekelkite bet kok\u012f tekstin\u012f fail\u0105 arba dokument\u0105", diff --git a/src/locales/lv.json b/src/locales/lv.json index 32d178d8f..6f34109b1 100644 --- a/src/locales/lv.json +++ b/src/locales/lv.json @@ -1,7 +1,8 @@ { "@metadata": { "authors": [ - "Admresdeserv." + "Admresdeserv.", + "Jmg.cmdi" ] }, "pad.toolbar.bold.title": "Treknrakst\u0101 (CTRL + B)", @@ -16,19 +17,28 @@ "pad.toolbar.redo.title": "Atcelt atsauk\u0161anu (CTRL + Y)", "pad.toolbar.clearAuthorship.title": "Not\u012brit autoru kr\u0101sas", "pad.toolbar.import_export.title": "Import\u0113\u0161anas/eksport\u0113\u0161anas no un uz citu failu form\u0101tiem", + "pad.toolbar.savedRevision.title": "Saglab\u0101t p\u0101rskat\u012b\u0161anu", "pad.toolbar.settings.title": "Iestat\u012bjumi", + "pad.toolbar.embed.title": "Koplietot un iegut \u0161o pad", + "pad.toolbar.showusers.title": "Par\u0101d\u012bt \u0161o padu lietot\u0101jus", "pad.colorpicker.save": "Saglab\u0101t", "pad.colorpicker.cancel": "Atcelt", "pad.loading": "Iel\u0101d\u0113\u2026", "pad.passwordRequired": "Ir nepiecie\u0161ama parole, lai piek\u013c\u016btu \u0161im pad", "pad.permissionDenied": "Atvaino, bet tev nav pieejas \u0161im pad.", "pad.wrongPassword": "J\u016bsu parole bija nepareiza", + "pad.settings.padSettings": "Pad Iestatijumi", + "pad.settings.myView": "Mans viedoklis", + "pad.settings.stickychat": "\u010cats vienm\u0113r ekr\u0101n\u0101", + "pad.settings.colorcheck": "Autor\u012bbas kr\u0101sas", "pad.settings.linenocheck": "Rindi\u0146u numurus", "pad.settings.rtlcheck": "Las\u012bt saturu no lab\u0101s puses uz kreiso?", "pad.settings.fontType": "Fonta tips:", "pad.settings.fontType.normal": "Norm\u0101ls", "pad.settings.globalView": "Glob\u0101lu skat\u012bjumu", "pad.settings.language": "Valoda:", + "pad.importExport.import_export": "Importet/Eksportet", + "pad.importExport.import": "Aug\u0161upiel\u0101d\u0113t jebkuru teksta failu vai dokumentu", "pad.importExport.importSuccessful": "Veiksm\u012bgi!", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Vienk\u0101r\u0161a teksta", diff --git a/src/locales/ml.json b/src/locales/ml.json index 4567dc7c2..195436cd3 100644 --- a/src/locales/ml.json +++ b/src/locales/ml.json @@ -1,6 +1,7 @@ { "@metadata": { "authors": [ + "Akhilan", "Hrishikesh.kb", "Praveenp", "Santhosh.thottingal" @@ -8,7 +9,7 @@ }, "index.newPad": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d2a\u0d3e\u0d21\u0d4d", "index.createOpenPad": "\u0d05\u0d32\u0d4d\u0d32\u0d46\u0d19\u0d4d\u0d15\u0d3f\u0d7d \u0d2a\u0d47\u0d30\u0d41\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d2a\u0d3e\u0d21\u0d4d \u0d38\u0d43\u0d37\u0d4d\u0d1f\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15/\u0d24\u0d41\u0d31\u0d15\u0d4d\u0d15\u0d41\u0d15:", - "pad.toolbar.bold.title": "\u0d15\u0d1f\u0d4d\u0d1f\u0d3f\u0d15\u0d42\u0d1f\u0d4d\u0d1f\u0d3f\u0d2f\u0d46\u0d34\u0d41\u0d24\u0d41\u0d15 (Ctrl-B)", + "pad.toolbar.bold.title": "\u0d15\u0d1f\u0d41\u0d2a\u0d4d\u0d2a\u0d24\u0d4d\u0d24\u0d3f\u0d7d (Ctrl-B)", "pad.toolbar.italic.title": "\u0d1a\u0d46\u0d30\u0d3f\u0d1a\u0d4d\u0d1a\u0d46\u0d34\u0d41\u0d24\u0d41\u0d15 (Ctrl-I)", "pad.toolbar.underline.title": "\u0d05\u0d1f\u0d3f\u0d35\u0d30\u0d2f\u0d3f\u0d1f\u0d41\u0d15 (Ctrl-U)", "pad.toolbar.strikethrough.title": "\u0d35\u0d46\u0d1f\u0d4d\u0d1f\u0d41\u0d15", diff --git a/src/locales/nl.json b/src/locales/nl.json index 499bf567d..a6ab8db58 100644 --- a/src/locales/nl.json +++ b/src/locales/nl.json @@ -47,7 +47,7 @@ "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Tekst zonder opmaak", "pad.importExport.exportword": "Microsoft Word", - "pad.importExport.exportpdf": "PDF", + "pad.importExport.exportpdf": "Pdf", "pad.importExport.exportopen": "ODF (Open Document Format)", "pad.importExport.exportdokuwiki": "DokuWiki", "pad.importExport.abiword.innerHTML": "U kunt alleen importeren vanuit platte tekst of een HTML-opmaak. \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\"\u003EInstalleer abiword\u003C/a\u003E om meer geavanceerde importmogelijkheden te krijgen.", diff --git a/src/locales/zh-hans.json b/src/locales/zh-hans.json index 43975328b..4358c74cc 100644 --- a/src/locales/zh-hans.json +++ b/src/locales/zh-hans.json @@ -3,6 +3,7 @@ "authors": [ "Dimension", "Hydra", + "Liuxinyu970226", "Shangkuanlc", "Yfdyh000", "\u4e4c\u62c9\u8de8\u6c2a", @@ -10,6 +11,7 @@ ] }, "index.newPad": "\u65b0\u8bb0\u4e8b\u672c", + "index.createOpenPad": "\u6216\u8005\u521b\u5efa/\u6253\u5f00\u5e26\u540d\u5b57\u7684\u8bb0\u4e8b\u672c\uff1a", "pad.toolbar.bold.title": "\u7c97\u4f53\uff08Ctrl-B\uff09", "pad.toolbar.italic.title": "\u659c\u4f53 (Ctrl-I)", "pad.toolbar.underline.title": "\u5e95\u7ebf\uff08Ctrl-U\uff09", @@ -80,6 +82,7 @@ "pad.chat": "\u804a\u5929", "pad.chat.title": "\u6253\u5f00\u6b64\u8bb0\u4e8b\u7c3f\u7684\u804a\u5929\u3002", "pad.chat.loadmessages": "\u52a0\u8f7d\u66f4\u591a\u4fe1\u606f", + "timeslider.pageTitle": "{{appTitle}} \u65f6\u95f4\u6ed1\u5757", "timeslider.toolbar.returnbutton": "\u8fd4\u56de\u8bb0\u4e8b\u672c", "timeslider.toolbar.authors": "\u4f5c\u8005\uff1a", "timeslider.toolbar.authorsList": "\u6ca1\u6709\u4f5c\u8005", From dabba91152d992d092a03e813d05701d7487d9c8 Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Tue, 23 Jul 2013 12:42:55 +0200 Subject: [PATCH 16/72] Update html10n.js --- src/static/js/html10n.js | 147 ++++++++++++++++++++++----------------- 1 file changed, 84 insertions(+), 63 deletions(-) diff --git a/src/static/js/html10n.js b/src/static/js/html10n.js index 90d51e221..bee1fef38 100644 --- a/src/static/js/html10n.js +++ b/src/static/js/html10n.js @@ -46,7 +46,20 @@ window.html10n = (function(window, document, undefined) { , consoleError = interceptConsole('warn') - // fix Array.prototype.instanceOf in, guess what, IE! <3 + // fix Array#forEach in IE + // taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach + if (!Array.prototype.forEach) { + Array.prototype.forEach = function(fn, scope) { + for(var i = 0, len = this.length; i < len; ++i) { + if (i in this) { + fn.call(scope, this[i], i, this); + } + } + }; + } + + // fix Array#indexOf in, guess what, IE! <3 + // taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) { "use strict"; @@ -79,15 +92,6 @@ window.html10n = (function(window, document, undefined) { return -1; } } - - // fix Array.prototype.forEach in IE - if (!('forEach' in Array.prototype)) { - Array.prototype.forEach= function(action, that /*opt*/) { - for (var i= 0, n= this.length; i Date: Tue, 23 Jul 2013 12:43:30 +0200 Subject: [PATCH 17/72] Make use of the new plural macro --- src/locales/en.json | 3 +-- src/static/js/broadcast_slider.js | 6 +----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/locales/en.json b/src/locales/en.json index 986642055..043929e47 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -96,8 +96,7 @@ "timeslider.month.october": "October", "timeslider.month.november": "November", "timeslider.month.december": "December", - "timeslider.unnamedauthor": "{{num}} unnamed author", - "timeslider.unnamedauthors": "{{num}} unnamed authors", + "timeslider.unnamedauthors": "{{num}} unnamed {[plural(num) one: author, other: authors ]}", "pad.savedrevs.marked": "This revision is now marked as a saved revision", "pad.userlist.entername": "Enter your name", "pad.userlist.unnamed": "unnamed", diff --git a/src/static/js/broadcast_slider.js b/src/static/js/broadcast_slider.js index 9427c1914..73f352f86 100644 --- a/src/static/js/broadcast_slider.js +++ b/src/static/js/broadcast_slider.js @@ -198,11 +198,7 @@ function loadBroadcastSliderJS(fireWhenAllScriptsAreLoaded) }); if (numAnonymous > 0) { - var anonymousAuthorString; - if(numAnonymous == 1) - anonymousAuthorString = html10n.get("timeslider.unnamedauthor", { num: numAnonymous }); - else - anonymousAuthorString = html10n.get("timeslider.unnamedauthors", { num: numAnonymous }); + var anonymousAuthorString = html10n.get("timeslider.unnamedauthors", { num: numAnonymous }); if (numNamed !== 0){ authorsList.append(' + ' + anonymousAuthorString); From cb3ab51ee14aefb2f9e71bdd9907c0a83c3aebb3 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Tue, 30 Jul 2013 17:46:04 +0000 Subject: [PATCH 18/72] Localisation updates from http://translatewiki.net. --- src/locales/ast.json | 1 - src/locales/az.json | 1 - src/locales/br.json | 1 - src/locales/ca.json | 1 - src/locales/cs.json | 1 - src/locales/da.json | 1 - src/locales/de.json | 3 +- src/locales/el.json | 1 - src/locales/es.json | 1 - src/locales/eu.json | 1 - src/locales/fa.json | 1 - src/locales/fi.json | 1 - src/locales/fo.json | 1 - src/locales/fr.json | 3 +- src/locales/gl.json | 1 - src/locales/he.json | 1 - src/locales/ia.json | 5 +- src/locales/it.json | 1 - src/locales/ja.json | 3 +- src/locales/ko.json | 1 - src/locales/ksh.json | 1 - src/locales/lt.json | 1 - src/locales/mk.json | 1 - src/locales/ml.json | 1 - src/locales/ms.json | 1 - src/locales/nb.json | 1 - src/locales/nl.json | 3 +- src/locales/oc.json | 1 - src/locales/os.json | 1 - src/locales/pa.json | 1 - src/locales/pl.json | 1 - src/locales/ps.json | 1 - src/locales/pt-br.json | 1 - src/locales/ru.json | 1 - src/locales/sk.json | 120 +++++++++++++++++++++++++++++++++++++++ src/locales/sl.json | 1 - src/locales/sv.json | 1 - src/locales/uk.json | 1 - src/locales/vi.json | 1 - src/locales/zh-hans.json | 1 - src/locales/zh-hant.json | 1 - 41 files changed, 126 insertions(+), 46 deletions(-) create mode 100644 src/locales/sk.json diff --git a/src/locales/ast.json b/src/locales/ast.json index 61635f9e2..250e3045e 100644 --- a/src/locales/ast.json +++ b/src/locales/ast.json @@ -101,7 +101,6 @@ "timeslider.month.october": "d'ochobre", "timeslider.month.november": "de payares", "timeslider.month.december": "d'avientu", - "timeslider.unnamedauthor": "{{num}} autor an\u00f3nimu", "timeslider.unnamedauthors": "{{num}} autores an\u00f3nimos", "pad.savedrevs.marked": "Esta revisi\u00f3n marcose como revisi\u00f3n guardada", "pad.userlist.entername": "Escribi'l to nome", diff --git a/src/locales/az.json b/src/locales/az.json index 82562e79d..2693d9a2f 100644 --- a/src/locales/az.json +++ b/src/locales/az.json @@ -101,7 +101,6 @@ "timeslider.month.october": "Oktyabr", "timeslider.month.november": "Noyabr", "timeslider.month.december": "Dekabr", - "timeslider.unnamedauthor": "{{num}} ads\u0131z m\u00fc\u0259llif", "timeslider.unnamedauthors": "{{num}} ads\u0131z m\u00fc\u0259llifl\u0259r", "pad.savedrevs.marked": "Bu versiya indi yadda\u015fa saxlanm\u0131\u015f kimi ni\u015fanland\u0131", "pad.userlist.entername": "Ad\u0131n\u0131z\u0131 daxil et", diff --git a/src/locales/br.json b/src/locales/br.json index 8bf302244..dcf314fc1 100644 --- a/src/locales/br.json +++ b/src/locales/br.json @@ -104,7 +104,6 @@ "timeslider.month.october": "Here", "timeslider.month.november": "Du", "timeslider.month.december": "Kerzu", - "timeslider.unnamedauthor": "{{niver}} aozer dianav", "timeslider.unnamedauthors": "Aozerien dianav", "pad.savedrevs.marked": "Merket eo an adweladenn-ma\u00f1 evel adweladenn gwiriet", "pad.userlist.entername": "Ebarzhit hoc'h anv", diff --git a/src/locales/ca.json b/src/locales/ca.json index 6771730fe..722e8c27c 100644 --- a/src/locales/ca.json +++ b/src/locales/ca.json @@ -103,7 +103,6 @@ "timeslider.month.october": "Octubre", "timeslider.month.november": "Novembre", "timeslider.month.december": "Desembre", - "timeslider.unnamedauthor": "{{num}} autor sense nom", "timeslider.unnamedauthors": "{{num}} autors sense noms", "pad.savedrevs.marked": "Aquesta revisi\u00f3 est\u00e0 marcada ara com a revisi\u00f3 desada", "pad.userlist.entername": "Introdu\u00efu el vostre nom", diff --git a/src/locales/cs.json b/src/locales/cs.json index bd2b99d67..0de40408f 100644 --- a/src/locales/cs.json +++ b/src/locales/cs.json @@ -102,7 +102,6 @@ "timeslider.month.october": "\u0159\u00edjen", "timeslider.month.november": "listopad", "timeslider.month.december": "prosinec", - "timeslider.unnamedauthor": "{{num}} nejmenovan\u00fd autor", "timeslider.unnamedauthors": "{{num}} nejmenovan\u00fdch autor\u016f", "pad.savedrevs.marked": "Tato revize je nyn\u00ed ozna\u010dena jako ulo\u017een\u00e1", "pad.userlist.entername": "Zadejte sv\u00e9 jm\u00e9no", diff --git a/src/locales/da.json b/src/locales/da.json index 28b161e9b..233bb8dd1 100644 --- a/src/locales/da.json +++ b/src/locales/da.json @@ -103,7 +103,6 @@ "timeslider.month.october": "oktober", "timeslider.month.november": "november", "timeslider.month.december": "december", - "timeslider.unnamedauthor": "{{num}} unavngiven forfatter", "timeslider.unnamedauthors": "{{num}} unavngivne forfattere", "pad.savedrevs.marked": "Denne revision er nu markeret som en gemt revision", "pad.userlist.entername": "Indtast dit navn", diff --git a/src/locales/de.json b/src/locales/de.json index d7be7b901..efd826d6a 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -104,8 +104,7 @@ "timeslider.month.october": "Oktober", "timeslider.month.november": "November", "timeslider.month.december": "Dezember", - "timeslider.unnamedauthor": "{{num}} unbenannter Autor", - "timeslider.unnamedauthors": "{{num}} unbenannte Autoren", + "timeslider.unnamedauthors": "{{num}} {[plural(num) one: unbenannter Autor, other: unbenannte Autoren ]}", "pad.savedrevs.marked": "Diese Version wurde jetzt als gespeicherte Version gekennzeichnet", "pad.userlist.entername": "Geben Sie Ihren Namen ein", "pad.userlist.unnamed": "unbenannt", diff --git a/src/locales/el.json b/src/locales/el.json index 4dd3067ac..6741b075e 100644 --- a/src/locales/el.json +++ b/src/locales/el.json @@ -104,7 +104,6 @@ "timeslider.month.october": "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5", "timeslider.month.november": "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5", "timeslider.month.december": "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5", - "timeslider.unnamedauthor": "{{num}} \u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03c2 \u03c3\u03c5\u03b3\u03b3\u03c1\u03b1\u03c6\u03ad\u03b1\u03c2", "timeslider.unnamedauthors": "{{num}} \u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03b9 \u03c3\u03c5\u03b3\u03b3\u03c1\u03b1\u03c6\u03b5\u03af\u03c2", "pad.savedrevs.marked": "\u0391\u03c5\u03c4\u03ae \u03b7 \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7 \u03b5\u03c0\u03b9\u03c3\u03b7\u03bc\u03ac\u03bd\u03b8\u03b7\u03ba\u03b5 \u03c9\u03c2 \u03b1\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03c5\u03bc\u03ad\u03bd\u03b7 \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7", "pad.userlist.entername": "\u0395\u03b9\u03c3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03bf \u03cc\u03bd\u03bf\u03bc\u03ac \u03c3\u03b1\u03c2", diff --git a/src/locales/es.json b/src/locales/es.json index 9f273651c..2768bcf80 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -107,7 +107,6 @@ "timeslider.month.october": "Octubre", "timeslider.month.november": "Noviembre", "timeslider.month.december": "Diciembre", - "timeslider.unnamedauthor": "{{num}} autor desconocido", "timeslider.unnamedauthors": "{{num}} autores desconocidos", "pad.savedrevs.marked": "Revisi\u00f3n guardada", "pad.userlist.entername": "Escribe tu nombre", diff --git a/src/locales/eu.json b/src/locales/eu.json index 99a76e0d1..9485bb5f5 100644 --- a/src/locales/eu.json +++ b/src/locales/eu.json @@ -101,7 +101,6 @@ "timeslider.month.october": "Urria", "timeslider.month.november": "Azaroa", "timeslider.month.december": "Abendua", - "timeslider.unnamedauthor": "{{num}} izenik gabeko egilea", "timeslider.unnamedauthors": "{{num}} izenik gabeko egileak", "pad.savedrevs.marked": "Berrikuspen hau markatua dago gordetako berrikuspen gisa", "pad.userlist.entername": "Sartu zure erabiltzaile izena", diff --git a/src/locales/fa.json b/src/locales/fa.json index b4da24d7c..a656deccf 100644 --- a/src/locales/fa.json +++ b/src/locales/fa.json @@ -106,7 +106,6 @@ "timeslider.month.october": "\u0627\u06a9\u062a\u0628\u0631", "timeslider.month.november": "\u0646\u0648\u0627\u0645\u0628\u0631", "timeslider.month.december": "\u062f\u0633\u0627\u0645\u0628\u0631", - "timeslider.unnamedauthor": "{{num}} \u0646\u0648\u06cc\u0633\u0646\u062f\u0647\u0654 \u0628\u06cc\u200c\u0646\u0627\u0645", "timeslider.unnamedauthors": "{{num}} \u0646\u0648\u06cc\u0633\u0646\u062f\u0647\u0654 \u0628\u06cc\u200c\u0646\u0627\u0645", "pad.savedrevs.marked": "\u0627\u06cc\u0646 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0647\u0645 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u0639\u0644\u0627\u0645\u062a\u200c\u06af\u0630\u0627\u0631\u06cc \u0634\u062f", "pad.userlist.entername": "\u0646\u0627\u0645 \u062e\u0648\u062f \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f", diff --git a/src/locales/fi.json b/src/locales/fi.json index 73359e7b0..7990fd5a3 100644 --- a/src/locales/fi.json +++ b/src/locales/fi.json @@ -107,7 +107,6 @@ "timeslider.month.october": "lokakuu", "timeslider.month.november": "marraskuu", "timeslider.month.december": "joulukuu", - "timeslider.unnamedauthor": "{{num}} nimet\u00f6n tekij\u00e4", "timeslider.unnamedauthors": "{{num}} nimet\u00f6nt\u00e4 tekij\u00e4\u00e4", "pad.savedrevs.marked": "T\u00e4m\u00e4 versio on nyt merkitty tallennetuksi versioksi", "pad.userlist.entername": "Kirjoita nimesi", diff --git a/src/locales/fo.json b/src/locales/fo.json index 93b467888..6b2cf82fb 100644 --- a/src/locales/fo.json +++ b/src/locales/fo.json @@ -86,7 +86,6 @@ "timeslider.month.october": "October", "timeslider.month.november": "November", "timeslider.month.december": "Desember", - "timeslider.unnamedauthor": "{{num}} \u00f3nevndur h\u00f8vundur", "timeslider.unnamedauthors": "{{num}} \u00f3nevndir h\u00f8vundar", "pad.savedrevs.marked": "Henda endursko\u00f0anin er n\u00fa merkt sum ein goymd endursko\u00f0an", "pad.userlist.entername": "Skriva t\u00edtt navn", diff --git a/src/locales/fr.json b/src/locales/fr.json index 272faf93f..4d4ab1346 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -114,8 +114,7 @@ "timeslider.month.october": "Octobre", "timeslider.month.november": "Novembre", "timeslider.month.december": "D\u00e9cembre", - "timeslider.unnamedauthor": "{{num}} auteur anonyme", - "timeslider.unnamedauthors": "{{num}} auteurs anonymes", + "timeslider.unnamedauthors": "{{num}} {[plural(num) one: auteur anonyme, other: auteurs anonymes ]}", "pad.savedrevs.marked": "Cette r\u00e9vision est maintenant marqu\u00e9e comme r\u00e9vision enregistr\u00e9e", "pad.userlist.entername": "Entrez votre nom", "pad.userlist.unnamed": "anonyme", diff --git a/src/locales/gl.json b/src/locales/gl.json index 5d6d05269..6e4eeff4d 100644 --- a/src/locales/gl.json +++ b/src/locales/gl.json @@ -101,7 +101,6 @@ "timeslider.month.october": "outubro", "timeslider.month.november": "novembro", "timeslider.month.december": "decembro", - "timeslider.unnamedauthor": "{{num}} autor an\u00f3nimo", "timeslider.unnamedauthors": "{{num}} autores an\u00f3nimos", "pad.savedrevs.marked": "Esta revisi\u00f3n est\u00e1 agora marcada como revisi\u00f3n gardada", "pad.userlist.entername": "Insira o seu nome", diff --git a/src/locales/he.json b/src/locales/he.json index 92b30e9fb..33b13e835 100644 --- a/src/locales/he.json +++ b/src/locales/he.json @@ -103,7 +103,6 @@ "timeslider.month.october": "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8", "timeslider.month.november": "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8", "timeslider.month.december": "\u05d3\u05e6\u05de\u05d1\u05e8", - "timeslider.unnamedauthor": "\u05db\u05d5\u05ea\u05d1 \u05d7\u05e1\u05e8\u05be\u05e9\u05dd \u05d0\u05d7\u05d3", "timeslider.unnamedauthors": "{{num}} \u05db\u05d5\u05ea\u05d1\u05d9\u05dd \u05d7\u05e1\u05e8\u05d9\u05be\u05e9\u05dd", "pad.savedrevs.marked": "\u05d2\u05e8\u05e1\u05d4 \u05d6\u05d5 \u05de\u05e1\u05d5\u05de\u05e0\u05ea \u05db\u05d2\u05e8\u05e1\u05d4 \u05e9\u05de\u05d5\u05e8\u05d4", "pad.userlist.entername": "\u05e0\u05d0 \u05dc\u05d4\u05d6\u05d9\u05df \u05d0\u05ea \u05e9\u05de\u05da", diff --git a/src/locales/ia.json b/src/locales/ia.json index 3fea6648b..418f53ba8 100644 --- a/src/locales/ia.json +++ b/src/locales/ia.json @@ -21,7 +21,7 @@ "pad.toolbar.timeslider.title": "Glissa-tempore", "pad.toolbar.savedRevision.title": "Version salveguardate", "pad.toolbar.settings.title": "Configuration", - "pad.toolbar.embed.title": "Incorporar iste pad", + "pad.toolbar.embed.title": "Divider e incorporar iste pad", "pad.toolbar.showusers.title": "Monstrar le usatores de iste pad", "pad.colorpicker.save": "Salveguardar", "pad.colorpicker.cancel": "Cancellar", @@ -101,8 +101,7 @@ "timeslider.month.october": "octobre", "timeslider.month.november": "novembre", "timeslider.month.december": "decembre", - "timeslider.unnamedauthor": "{{num}} autor sin nomine", - "timeslider.unnamedauthors": "{{num}} autores sin nomine", + "timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor, other: autores ]} sin nomine", "pad.savedrevs.marked": "Iste version es ora marcate como version salveguardate", "pad.userlist.entername": "Entra tu nomine", "pad.userlist.unnamed": "sin nomine", diff --git a/src/locales/it.json b/src/locales/it.json index 9f3371b5e..ff141e053 100644 --- a/src/locales/it.json +++ b/src/locales/it.json @@ -104,7 +104,6 @@ "timeslider.month.october": "ottobre", "timeslider.month.november": "novembre", "timeslider.month.december": "dicembre", - "timeslider.unnamedauthor": "{{num}} autore senza nome", "timeslider.unnamedauthors": "{{num}} autori senza nome", "pad.savedrevs.marked": "Questa revisione \u00e8 ora contrassegnata come una versione salvata", "pad.userlist.entername": "Inserisci il tuo nome", diff --git a/src/locales/ja.json b/src/locales/ja.json index bffacb544..5a5915bae 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -101,8 +101,7 @@ "timeslider.month.october": "10\u6708", "timeslider.month.november": "11\u6708", "timeslider.month.december": "12\u6708", - "timeslider.unnamedauthor": "{{num}} \u4eba\u306e\u533f\u540d\u306e\u4f5c\u8005", - "timeslider.unnamedauthors": "{{num}} \u4eba\u306e\u533f\u540d\u306e\u4f5c\u8005", + "timeslider.unnamedauthors": "{{num}} \u4eba\u306e\u533f\u540d\u306e{[plural(num) other: \u4f5c\u8005 ]}", "pad.savedrevs.marked": "\u3053\u306e\u7248\u3092\u3001\u4fdd\u5b58\u6e08\u307f\u306e\u7248\u3068\u3057\u3066\u30de\u30fc\u30af\u3057\u307e\u3057\u305f\u3002", "pad.userlist.entername": "\u540d\u524d\u3092\u5165\u529b", "pad.userlist.unnamed": "\u540d\u524d\u306a\u3057", diff --git a/src/locales/ko.json b/src/locales/ko.json index 298440ce6..d279c6cae 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -101,7 +101,6 @@ "timeslider.month.october": "10\uc6d4", "timeslider.month.november": "11\uc6d4", "timeslider.month.december": "12\uc6d4", - "timeslider.unnamedauthor": "\uc774\ub984 \uc5c6\ub294 \uc800\uc790 {{num}}\uba85", "timeslider.unnamedauthors": "\uc774\ub984 \uc5c6\ub294 \uc800\uc790 {{num}}\uba85", "pad.savedrevs.marked": "\uc774 \ud310\uc740 \uc774\uc81c \uc800\uc7a5\ud55c \ud310\uc73c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.", "pad.userlist.entername": "\uc774\ub984\uc744 \uc785\ub825\ud558\uc138\uc694", diff --git a/src/locales/ksh.json b/src/locales/ksh.json index 9767ee9cb..b57d54c88 100644 --- a/src/locales/ksh.json +++ b/src/locales/ksh.json @@ -101,7 +101,6 @@ "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", diff --git a/src/locales/lt.json b/src/locales/lt.json index 3d442c06b..e85d99242 100644 --- a/src/locales/lt.json +++ b/src/locales/lt.json @@ -61,7 +61,6 @@ "timeslider.month.october": "Spalis", "timeslider.month.november": "Lapkritis", "timeslider.month.december": "Gruodis", - "timeslider.unnamedauthor": "{{num}} bevardis autorius", "timeslider.unnamedauthors": "{{num}} bevard\u017eiai(-i\u0173) autoriai(-i\u0173)", "pad.userlist.entername": "\u012eveskite savo vard\u0105", "pad.userlist.unnamed": "bevardis", diff --git a/src/locales/mk.json b/src/locales/mk.json index b0f9b848a..1ff577e9a 100644 --- a/src/locales/mk.json +++ b/src/locales/mk.json @@ -102,7 +102,6 @@ "timeslider.month.october": "\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438", "timeslider.month.november": "\u043d\u043e\u0435\u043c\u0432\u0440\u0438", "timeslider.month.december": "\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438", - "timeslider.unnamedauthor": "{{num}} \u043d\u0435\u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d \u0430\u0432\u0442\u043e\u0440", "timeslider.unnamedauthors": "{{num}} \u043d\u0435\u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d\u0438 \u0430\u0432\u0442\u043e\u0440\u0438", "pad.savedrevs.marked": "\u041e\u0432\u0430\u0430 \u0440\u0435\u0432\u0438\u0437\u0438\u0458\u0430 \u0441\u0435\u0433\u0430 \u0435 \u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u043a\u0430\u043a\u043e \u0437\u0430\u0447\u0443\u0432\u0430\u043d\u0430", "pad.userlist.entername": "\u0412\u043d\u0435\u0441\u0435\u0442\u0435 \u0433\u043e \u0432\u0430\u0448\u0435\u0442\u043e \u0438\u043c\u0435", diff --git a/src/locales/ml.json b/src/locales/ml.json index 195436cd3..fcf8296af 100644 --- a/src/locales/ml.json +++ b/src/locales/ml.json @@ -104,7 +104,6 @@ "timeslider.month.october": "\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c", "timeslider.month.november": "\u0d28\u0d35\u0d02\u0d2c\u0d7c", "timeslider.month.december": "\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c", - "timeslider.unnamedauthor": "{{num}} \u0d2a\u0d47\u0d30\u0d3f\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d4d\u0d24 \u0d30\u0d1a\u0d2f\u0d3f\u0d24\u0d3e\u0d35\u0d4d", "timeslider.unnamedauthors": "{{num}} \u0d2a\u0d47\u0d30\u0d3f\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d4d\u0d24 \u0d30\u0d1a\u0d2f\u0d3f\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d7e", "pad.savedrevs.marked": "\u0d08 \u0d28\u0d3e\u0d7e\u0d2a\u0d4d\u0d2a\u0d24\u0d3f\u0d2a\u0d4d\u0d2a\u0d4d \u0d38\u0d47\u0d35\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d24\u0d3f\u0d1f\u0d4d\u0d1f\u0d41\u0d33\u0d4d\u0d33 \u0d28\u0d3e\u0d7e\u0d2a\u0d4d\u0d2a\u0d24\u0d3f\u0d2a\u0d4d\u0d2a\u0d3e\u0d2f\u0d3f \u0d05\u0d1f\u0d2f\u0d3e\u0d33\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d24\u0d4d\u0d24\u0d3f\u0d2f\u0d3f\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d41", "pad.userlist.entername": "\u0d24\u0d3e\u0d19\u0d4d\u0d15\u0d33\u0d41\u0d1f\u0d46 \u0d2a\u0d47\u0d30\u0d4d \u0d28\u0d7d\u0d15\u0d41\u0d15", diff --git a/src/locales/ms.json b/src/locales/ms.json index 2c6f72a50..025008a2f 100644 --- a/src/locales/ms.json +++ b/src/locales/ms.json @@ -101,7 +101,6 @@ "timeslider.month.october": "Oktober", "timeslider.month.november": "November", "timeslider.month.december": "Disember", - "timeslider.unnamedauthor": "{{num}} orang pengarang awanama", "timeslider.unnamedauthors": "{{num}} orang pengarang awanama", "pad.savedrevs.marked": "Semakan ini telah ditandai sebagai semakan tersimpan", "pad.userlist.entername": "Taipkan nama anda", diff --git a/src/locales/nb.json b/src/locales/nb.json index 834c69170..93a6fc264 100644 --- a/src/locales/nb.json +++ b/src/locales/nb.json @@ -101,7 +101,6 @@ "timeslider.month.october": "oktober", "timeslider.month.november": "november", "timeslider.month.december": "desember", - "timeslider.unnamedauthor": "{{num}} navnl\u00f8se forfattere", "timeslider.unnamedauthors": "{{num}} navnl\u00f8se forfattere", "pad.savedrevs.marked": "Denne revisjonen er n\u00e5 markert som en lagret revisjon", "pad.userlist.entername": "Skriv inn ditt navn", diff --git a/src/locales/nl.json b/src/locales/nl.json index a6ab8db58..64bb56dd9 100644 --- a/src/locales/nl.json +++ b/src/locales/nl.json @@ -101,8 +101,7 @@ "timeslider.month.october": "oktober", "timeslider.month.november": "november", "timeslider.month.december": "december", - "timeslider.unnamedauthor": "{{num}} onbekende auteur", - "timeslider.unnamedauthors": "{{num}} onbekende auteurs", + "timeslider.unnamedauthors": "{{num}} onbekende {[plural(num) one: auteur, other: auteurs ]}", "pad.savedrevs.marked": "Deze versie is nu gemarkeerd als opgeslagen versie", "pad.userlist.entername": "Geef uw naam op", "pad.userlist.unnamed": "zonder naam", diff --git a/src/locales/oc.json b/src/locales/oc.json index 46979150d..d2bb81527 100644 --- a/src/locales/oc.json +++ b/src/locales/oc.json @@ -101,7 +101,6 @@ "timeslider.month.october": "Octobre", "timeslider.month.november": "Novembre", "timeslider.month.december": "Decembre", - "timeslider.unnamedauthor": "{{num}} autor anonime", "timeslider.unnamedauthors": "{{num}} autors anonimes", "pad.savedrevs.marked": "Aquesta revision es ara marcada coma revision enregistrada", "pad.userlist.entername": "Entratz v\u00f2stre nom", diff --git a/src/locales/os.json b/src/locales/os.json index 209f7f558..451a50aba 100644 --- a/src/locales/os.json +++ b/src/locales/os.json @@ -101,7 +101,6 @@ "timeslider.month.october": "\u043e\u043a\u0442\u044f\u0431\u0440\u044c", "timeslider.month.november": "\u043d\u043e\u044f\u0431\u0440\u044c", "timeslider.month.december": "\u0434\u0435\u043a\u0430\u0431\u0440\u044c", - "timeslider.unnamedauthor": "{{num}} \u04d5\u043d\u04d5\u043d\u043e\u043c \u0444\u044b\u0441\u0441\u04d5\u0433", "timeslider.unnamedauthors": "{{num}} \u04d5\u043d\u04d5\u043d\u043e\u043c \u0444\u044b\u0441\u0441\u04d5\u0434\u0436\u044b", "pad.savedrevs.marked": "\u0410\u0446\u044b \u0444\u04d5\u043b\u0442\u04d5\u0440 \u043d\u044b\u0440 \u043a\u0443\u044b\u0434 \u04d5\u0432\u04d5\u0440\u0434 \u0444\u04d5\u043b\u0442\u04d5\u0440 \u043d\u044b\u0441\u0430\u043d\u0433\u043e\u043d\u0434 \u04d5\u0440\u0446\u044b\u0434", "pad.userlist.entername": "\u0414\u04d5 \u043d\u043e\u043c \u0431\u0430\u0444\u044b\u0441\u0441", diff --git a/src/locales/pa.json b/src/locales/pa.json index 03f2b1adf..63ad0ecd0 100644 --- a/src/locales/pa.json +++ b/src/locales/pa.json @@ -90,7 +90,6 @@ "timeslider.month.october": "\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30", "timeslider.month.november": "\u0a28\u0a35\u0a70\u0a2c\u0a30", "timeslider.month.december": "\u0a26\u0a38\u0a70\u0a2c\u0a30", - "timeslider.unnamedauthor": "{{num}} \u0a2c\u0a47\u0a28\u0a3e\u0a2e \u0a32\u0a47\u0a16\u0a15", "timeslider.unnamedauthors": "{{num}} \u0a2c\u0a47\u0a28\u0a3e\u0a2e \u0a32\u0a47\u0a16\u0a15", "pad.savedrevs.marked": "\u0a07\u0a39 \u0a30\u0a40\u0a35\u0a3f\u0a1c\u0a3c\u0a28 \u0a28\u0a42\u0a70 \u0a39\u0a41\u0a23 \u0a38\u0a70\u0a2d\u0a3e\u0a32\u0a47 \u0a39\u0a4b\u0a0f \u0a30\u0a40\u0a35\u0a3f\u0a1c\u0a3c\u0a28 \u0a35\u0a1c\u0a4b\u0a02 \u0a2e\u0a70\u0a28\u0a3f\u0a06 \u0a17\u0a3f\u0a06 \u0a39\u0a48", "pad.userlist.entername": "\u0a06\u0a2a\u0a23\u0a3e \u0a28\u0a3e\u0a02 \u0a26\u0a3f\u0a09", diff --git a/src/locales/pl.json b/src/locales/pl.json index c16fd5a85..869a07843 100644 --- a/src/locales/pl.json +++ b/src/locales/pl.json @@ -104,7 +104,6 @@ "timeslider.month.october": "Pa\u017adziernik", "timeslider.month.november": "Listopad", "timeslider.month.december": "Grudzie\u0144", - "timeslider.unnamedauthor": "{{num}} nienazwany autor", "timeslider.unnamedauthors": "{{num}} autor\u00f3w bez nazw", "pad.savedrevs.marked": "Ta wersja zosta\u0142a w\u0142a\u015bnie oznaczona jako zapisana.", "pad.userlist.entername": "Wprowad\u017a swoj\u0105 nazw\u0119", diff --git a/src/locales/ps.json b/src/locales/ps.json index 2de36396b..1bfa5f33a 100644 --- a/src/locales/ps.json +++ b/src/locales/ps.json @@ -56,7 +56,6 @@ "timeslider.month.october": "\u0627\u06a9\u062a\u0648\u0628\u0631", "timeslider.month.november": "\u0646\u0648\u0645\u0628\u0631", "timeslider.month.december": "\u0689\u064a\u0633\u0645\u0628\u0631", - "timeslider.unnamedauthor": "{{num}} \u0628\u06d0\u0646\u0648\u0645 \u0644\u064a\u06a9\u0648\u0627\u0644", "timeslider.unnamedauthors": "{{num}} \u0628\u06d0\u0646\u0648\u0645\u0647 \u0644\u064a\u06a9\u0648\u0627\u0644\u0627\u0646", "pad.savedrevs.marked": "\u0627\u0648\u0633 \u062f\u0627 \u0645\u062e\u06a9\u062a\u0646\u0647 \u062f \u064a\u0648\u06d0 \u062e\u0648\u0646\u062f\u064a \u0634\u0648\u06d0 \u0645\u062e\u06a9\u062a\u0646\u06d0 \u067e\u0647 \u062a\u0648\u06ab\u0647 \u067e\u0647 \u0646\u069a\u0647 \u0634\u0648\u0647", "pad.userlist.entername": "\u0646\u0648\u0645 \u0645\u0648 \u0648\u0631\u06a9\u0693\u06cd", diff --git a/src/locales/pt-br.json b/src/locales/pt-br.json index 55ea017e2..f1b58711c 100644 --- a/src/locales/pt-br.json +++ b/src/locales/pt-br.json @@ -104,7 +104,6 @@ "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", diff --git a/src/locales/ru.json b/src/locales/ru.json index b4bf539a6..4dfd2b264 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -104,7 +104,6 @@ "timeslider.month.october": "\u043e\u043a\u0442\u044f\u0431\u0440\u044c", "timeslider.month.november": "\u043d\u043e\u044f\u0431\u0440\u044c", "timeslider.month.december": "\u0434\u0435\u043a\u0430\u0431\u0440\u044c", - "timeslider.unnamedauthor": "{{num}} \u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440", "timeslider.unnamedauthors": "\u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432: {{num}}", "pad.savedrevs.marked": "\u042d\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u0430 \u043a\u0430\u043a \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u0430\u044f", "pad.userlist.entername": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0430\u0448\u0435 \u0438\u043c\u044f", diff --git a/src/locales/sk.json b/src/locales/sk.json new file mode 100644 index 000000000..4025aca69 --- /dev/null +++ b/src/locales/sk.json @@ -0,0 +1,120 @@ +{ + "@metadata": { + "authors": [ + "Teslaton" + ] + }, + "index.newPad": "Nov\u00fd Pad", + "index.createOpenPad": "alebo vytvori\u0165/otvori\u0165 Pad s n\u00e1zvom:", + "pad.toolbar.bold.title": "Tu\u010dn\u00e9 (Ctrl-B)", + "pad.toolbar.italic.title": "Kurz\u00edva (Ctrl-I)", + "pad.toolbar.underline.title": "Pod\u010diarknut\u00e9 (Ctrl-U)", + "pad.toolbar.strikethrough.title": "Pre\u010diarknut\u00e9", + "pad.toolbar.ol.title": "\u010c\u00edslovan\u00fd zoznam", + "pad.toolbar.ul.title": "Odr\u00e1\u017ekov\u00fd zoznam", + "pad.toolbar.indent.title": "Zv\u00e4\u010d\u0161i\u0165 odsadenie", + "pad.toolbar.unindent.title": "Zmen\u0161i\u0165 odsadenie", + "pad.toolbar.undo.title": "Sp\u00e4\u0165 (Ctrl-Z)", + "pad.toolbar.redo.title": "Znova (Ctrl-Y)", + "pad.toolbar.clearAuthorship.title": "Odstr\u00e1ni\u0165 farby autorstva", + "pad.toolbar.import_export.title": "Import/export z/do r\u00f4znych form\u00e1tov s\u00faborov", + "pad.toolbar.timeslider.title": "\u010casov\u00e1 os", + "pad.toolbar.savedRevision.title": "Ulo\u017ei\u0165 rev\u00edziu", + "pad.toolbar.settings.title": "Nastavenia", + "pad.toolbar.embed.title": "Zdie\u013ea\u0165 alebo vlo\u017ei\u0165 tento Pad", + "pad.toolbar.showusers.title": "Zobrazi\u0165 pou\u017e\u00edvate\u013eov tohoto Padu", + "pad.colorpicker.save": "Ulo\u017ei\u0165", + "pad.colorpicker.cancel": "Zru\u0161i\u0165", + "pad.loading": "Na\u010d\u00edtava sa...", + "pad.passwordRequired": "Pr\u00edstup k tomuto Padu je chr\u00e1nen\u00fd heslom", + "pad.permissionDenied": "\u013dutujeme, nem\u00e1te opr\u00e1vnenie pristupova\u0165 k tomuto Padu", + "pad.wrongPassword": "Nespr\u00e1vne heslo", + "pad.settings.padSettings": "Nastavenia Padu", + "pad.settings.myView": "Vlastn\u00fd poh\u013ead", + "pad.settings.stickychat": "Chat st\u00e1le na obrazovke", + "pad.settings.colorcheck": "Farby autorstva", + "pad.settings.linenocheck": "\u010c\u00edsla riadkov", + "pad.settings.rtlcheck": "\u010c\u00edta\u0165 obsah sprava do\u013eava?", + "pad.settings.fontType": "Typ p\u00edsma:", + "pad.settings.fontType.normal": "Norm\u00e1lne", + "pad.settings.fontType.monospaced": "Strojov\u00e9", + "pad.settings.globalView": "Glob\u00e1lny poh\u013ead", + "pad.settings.language": "Jazyk:", + "pad.importExport.import_export": "Import/Export", + "pad.importExport.import": "Nahra\u0165 \u013eubovo\u013en\u00fd textov\u00fd s\u00fabor alebo dokument", + "pad.importExport.importSuccessful": "Import \u00faspe\u0161n\u00fd!", + "pad.importExport.export": "Exportova\u0165 aktu\u00e1lny Pad ako:", + "pad.importExport.exporthtml": "HTML", + "pad.importExport.exportplain": "\u010cist\u00fd text", + "pad.importExport.exportword": "Microsoft Word", + "pad.importExport.exportpdf": "PDF", + "pad.importExport.exportopen": "ODF (Open Document Format)", + "pad.importExport.exportdokuwiki": "DokuWiki", + "pad.importExport.abiword.innerHTML": "Importova\u0165 m\u00f4\u017eete len \u010dist\u00fd text alebo HTML. Pre pokro\u010dilej\u0161ie funkcie importu pros\u00edm nain\u0161talujte \u201e\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\"\u003EAbiword\u003C/a\u003E\u201c.", + "pad.modals.connected": "Pripojen\u00e9.", + "pad.modals.reconnecting": "Op\u00e4tovn\u00e9 prip\u00e1janie k v\u00e1\u0161mu Padu...", + "pad.modals.forcereconnect": "Vyn\u00fati\u0165 znovupripojenie", + "pad.modals.userdup": "Otvoren\u00e9 v inom okne", + "pad.modals.userdup.explanation": "Zd\u00e1 sa, \u017ee tento Pad je na tomto po\u010d\u00edta\u010di otvoren\u00fd vo viacer\u00fdch okn\u00e1ch prehliada\u010da.", + "pad.modals.userdup.advice": "Pre pou\u017eitie tohoto okna se mus\u00edte znovu pripoji\u0165.", + "pad.modals.unauth": "Nie ste autorizovan\u00fd", + "pad.modals.unauth.explanation": "Va\u0161e opr\u00e1vnenia sa po\u010das prehliadania tejto str\u00e1nky zmenili. Sk\u00faste sa pripoji\u0165 znovu.", + "pad.modals.looping": "Odpojen\u00e9.", + "pad.modals.looping.explanation": "Nastali probl\u00e9my pri komunik\u00e1cii so synchroniza\u010dn\u00fdm serverom.", + "pad.modals.looping.cause": "Mo\u017eno ste pripojen\u00ed cez nekompatibiln\u00fd firewall alebo proxy server.", + "pad.modals.initsocketfail": "Server je nedostupn\u00fd.", + "pad.modals.initsocketfail.explanation": "Nepodarilo sa pripoji\u0165 k synchroniza\u010dn\u00e9mu serveru.", + "pad.modals.initsocketfail.cause": "Pr\u00ed\u010dinou je pravdepodobne probl\u00e9m s prehliada\u010dom alebo internetov\u00fdm pripojen\u00edm.", + "pad.modals.slowcommit": "Odpojen\u00e9.", + "pad.modals.slowcommit.explanation": "Server neodpoved\u00e1.", + "pad.modals.slowcommit.cause": "Pr\u00ed\u010dinou m\u00f4\u017ee by\u0165 probl\u00e9m so sie\u0165ov\u00fdm pripojen\u00edm.", + "pad.modals.deleted": "Odstr\u00e1nen\u00e9.", + "pad.modals.deleted.explanation": "Tento Pad bol odstr\u00e1nen\u00fd.", + "pad.modals.disconnected": "Boli ste odpojen\u00ed.", + "pad.modals.disconnected.explanation": "Spojenie so serverom sa preru\u0161ilo", + "pad.modals.disconnected.cause": "Server m\u00f4\u017ee by\u0165 nedostupn\u00fd. Ak by probl\u00e9m pretrv\u00e1val, informujte n\u00e1s pros\u00edm.", + "pad.share": "Zdie\u013ea\u0165 tento Pad", + "pad.share.readonly": "Len na \u010d\u00edtanie", + "pad.share.link": "Odkaz", + "pad.share.emebdcode": "Vlo\u017ei\u0165 URL", + "pad.chat": "Chat", + "pad.chat.title": "Otvori\u0165 chat tohoto Padu.", + "pad.chat.loadmessages": "Na\u010d\u00edta\u0165 \u010fal\u0161ie spr\u00e1vy", + "timeslider.pageTitle": "\u010casov\u00e1 os {{appTitle}}", + "timeslider.toolbar.returnbutton": "N\u00e1vrat do Padu", + "timeslider.toolbar.authors": "Autori:", + "timeslider.toolbar.authorsList": "Bez autorov", + "timeslider.toolbar.exportlink.title": "Export", + "timeslider.exportCurrent": "Exportova\u0165 aktu\u00e1lnu verziu ako:", + "timeslider.version": "Verzia {{version}}", + "timeslider.saved": "Ulo\u017een\u00e9 {{day}}. {{month}} {{year}}", + "timeslider.dateformat": "{{day}}. {{month}} {{year}} {{hours}}:{{minutes}}:{{seconds}}", + "timeslider.month.january": "janu\u00e1ra", + "timeslider.month.february": "febru\u00e1ra", + "timeslider.month.march": "marca", + "timeslider.month.april": "apr\u00edla", + "timeslider.month.may": "m\u00e1ja", + "timeslider.month.june": "j\u00fana", + "timeslider.month.july": "j\u00fala", + "timeslider.month.august": "augusta", + "timeslider.month.september": "septembra", + "timeslider.month.october": "okt\u00f3bra", + "timeslider.month.november": "novembra", + "timeslider.month.december": "decembra", + "timeslider.unnamedauthors": "{{num}} nemenovan\u00fdch autorov", + "pad.savedrevs.marked": "T\u00e1to rev\u00edzia bola ozna\u010den\u00e1 ako ulo\u017een\u00e1", + "pad.userlist.entername": "Zadajte svoje meno", + "pad.userlist.unnamed": "nemenovan\u00fd", + "pad.userlist.guest": "Hos\u0165", + "pad.userlist.deny": "Zak\u00e1za\u0165", + "pad.userlist.approve": "Schv\u00e1li\u0165", + "pad.editbar.clearcolors": "Skuto\u010dne odstr\u00e1ni\u0165 autorsk\u00e9 farby z cel\u00e9ho dokumentu?", + "pad.impexp.importbutton": "Importova\u0165", + "pad.impexp.importing": "Prebieha import...", + "pad.impexp.confirmimport": "Import s\u00faboru prep\u00ed\u0161e cel\u00fd s\u00fa\u010dasn\u00fd obsah Padu. Skuto\u010dne si \u017eel\u00e1te vykona\u0165 t\u00fato akciu?", + "pad.impexp.convertFailed": "Tento s\u00fabor nie je mo\u017en\u00e9 importova\u0165. Pou\u017eite pros\u00edm in\u00fd form\u00e1t s\u00faboru alebo nakop\u00edrujte text manu\u00e1lne", + "pad.impexp.uploadFailed": "Nahr\u00e1vanie zlyhalo, sk\u00faste to pros\u00edm znovu", + "pad.impexp.importfailed": "Import zlyhal", + "pad.impexp.copypaste": "Vlo\u017ete pros\u00edm k\u00f3piu cez schr\u00e1nku", + "pad.impexp.exportdisabled": "Export do form\u00e1tu {{type}} nie je povolen\u00fd. Kontaktujte pros\u00edm administr\u00e1tora pre zistenie detailov." +} \ No newline at end of file diff --git a/src/locales/sl.json b/src/locales/sl.json index e00e9bf13..2b27c38bf 100644 --- a/src/locales/sl.json +++ b/src/locales/sl.json @@ -101,7 +101,6 @@ "timeslider.month.october": "Oktober", "timeslider.month.november": "November", "timeslider.month.december": "December", - "timeslider.unnamedauthor": "neimenovani avtor {{num}}", "timeslider.unnamedauthors": "{{num}} neimenovani avtorji", "pad.savedrevs.marked": "Ta predelava je ozna\u010dena kot shranjena predelava.", "pad.userlist.entername": "Vpi\u0161ite ime", diff --git a/src/locales/sv.json b/src/locales/sv.json index 2382ac426..42603f6a3 100644 --- a/src/locales/sv.json +++ b/src/locales/sv.json @@ -101,7 +101,6 @@ "timeslider.month.october": "oktober", "timeslider.month.november": "november", "timeslider.month.december": "december", - "timeslider.unnamedauthor": "{{num}} namnl\u00f6s f\u00f6rfattare", "timeslider.unnamedauthors": "{{num}} namnl\u00f6sa f\u00f6rfattare", "pad.savedrevs.marked": "Denna revision \u00e4r nu markerad som en sparad revision", "pad.userlist.entername": "Ange ditt namn", diff --git a/src/locales/uk.json b/src/locales/uk.json index 04ffc0356..ab2a588e6 100644 --- a/src/locales/uk.json +++ b/src/locales/uk.json @@ -104,7 +104,6 @@ "timeslider.month.october": "\u0416\u043e\u0432\u0442\u0435\u043d\u044c", "timeslider.month.november": "\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434", "timeslider.month.december": "\u0413\u0440\u0443\u0434\u0435\u043d\u044c", - "timeslider.unnamedauthor": "{{num}} \u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440", "timeslider.unnamedauthors": "\u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432: {{num}}", "pad.savedrevs.marked": "\u0426\u044e \u0432\u0435\u0440\u0441\u0456\u044e \u043f\u043e\u043c\u0456\u0447\u0435\u043d\u043e \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043e\u044e \u0432\u0435\u0440\u0441\u0456\u0454\u044e", "pad.userlist.entername": "\u0412\u0432\u0435\u0434\u0456\u0442\u044c \u0412\u0430\u0448\u0435 \u0456\u043c'\u044f", diff --git a/src/locales/vi.json b/src/locales/vi.json index 5abbb1a0a..2d176da2d 100644 --- a/src/locales/vi.json +++ b/src/locales/vi.json @@ -101,7 +101,6 @@ "timeslider.month.october": "Th\u00e1ng M\u01b0\u1eddi", "timeslider.month.november": "Th\u00e1ng M\u01b0\u1eddi M\u1ed9t", "timeslider.month.december": "Th\u00e1ng M\u01b0\u1eddi Hai", - "timeslider.unnamedauthor": "{{num}} t\u00e1c gi\u1ea3 kh\u00f4ng t\u00ean", "timeslider.unnamedauthors": "{{num}} t\u00e1c gi\u1ea3 kh\u00f4ng t\u00ean", "pad.savedrevs.marked": "Phi\u00ean b\u1ea3n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u00e1nh d\u1ea5u l\u00e0 m\u1ed9t phi\u00ean b\u1ea3n \u0111\u00e3 l\u01b0u", "pad.userlist.entername": "Nh\u1eadp t\u00ean c\u1ee7a b\u1ea1n", diff --git a/src/locales/zh-hans.json b/src/locales/zh-hans.json index 4358c74cc..e93353926 100644 --- a/src/locales/zh-hans.json +++ b/src/locales/zh-hans.json @@ -103,7 +103,6 @@ "timeslider.month.october": "\u5341\u6708", "timeslider.month.november": "\u5341\u4e00\u6708", "timeslider.month.december": "\u5341\u4e8c\u6708", - "timeslider.unnamedauthor": "{{num}}\u533f\u540d\u4f5c\u8005", "timeslider.unnamedauthors": "{{num}}\u533f\u540d\u4f5c\u8005", "pad.savedrevs.marked": "\u6b64\u4fee\u8ba2\u5df2\u6807\u8bb0\u4e3a\u4fdd\u5b58\u4fee\u8ba2", "pad.userlist.entername": "\u8f93\u5165\u60a8\u7684\u59d3\u540d", diff --git a/src/locales/zh-hant.json b/src/locales/zh-hant.json index bb48b348f..f983b0200 100644 --- a/src/locales/zh-hant.json +++ b/src/locales/zh-hant.json @@ -103,7 +103,6 @@ "timeslider.month.october": "10\u6708", "timeslider.month.november": "11\u6708", "timeslider.month.december": "12\u6708", - "timeslider.unnamedauthor": "{{num}} \u533f\u540d\u5354\u4f5c\u8005", "timeslider.unnamedauthors": "{{num}} \u533f\u540d\u5354\u4f5c\u8005", "pad.savedrevs.marked": "\u6a19\u8a18\u6b64\u4fee\u8a02\u7248\u672c\u70ba\u5df2\u5132\u5b58\u4fee\u8a02\u7248\u672c\u3002", "pad.userlist.entername": "\u8f38\u5165\u60a8\u7684\u59d3\u540d", From c3bffc262358fb066c58df229033db3eff6d1fc9 Mon Sep 17 00:00:00 2001 From: Wikinaut Date: Wed, 14 Aug 2013 21:42:59 +0200 Subject: [PATCH 19/72] adding backlinks to main page in Admin pages; fix for https://github.com/ether/etherpad-lite/issues/1277 --- src/templates/admin/index.html | 48 +++--- src/templates/admin/plugins-info.html | 2 +- src/templates/admin/plugins.html | 224 +++++++++++++------------- src/templates/admin/settings.html | 98 +++++------ 4 files changed, 186 insertions(+), 186 deletions(-) diff --git a/src/templates/admin/index.html b/src/templates/admin/index.html index 487765150..36b526291 100644 --- a/src/templates/admin/index.html +++ b/src/templates/admin/index.html @@ -1,24 +1,24 @@ - - - - Admin Dashboard - Etherpad - - - - - - -
- -
- - + + + + Admin Dashboard - Etherpad + + + + + + +
+ +
+ + diff --git a/src/templates/admin/plugins-info.html b/src/templates/admin/plugins-info.html index d1ca9a11e..24eecb674 100644 --- a/src/templates/admin/plugins-info.html +++ b/src/templates/admin/plugins-info.html @@ -11,7 +11,7 @@
diff --git a/src/templates/admin/plugins.html b/src/templates/admin/plugins.html index f4478f8b5..dc7d33b98 100644 --- a/src/templates/admin/plugins.html +++ b/src/templates/admin/plugins.html @@ -1,4 +1,4 @@ - + Plugin manager - Etherpad @@ -21,7 +21,7 @@