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