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