Merge branch 'develop'

This commit is contained in:
SamTV12345 2024-12-22 17:08:31 +01:00
commit 0da15a4a60
34 changed files with 1825 additions and 1328 deletions

View file

@ -1,3 +1,16 @@
# 2.2.7
### Notable enhancements and fixes
- We migrated all important pages to React 19 and React Router v7
Besides that only dependency updates.
-> Have a merry Christmas and a happy new year. 🎄 🎁
# 2.2.6 # 2.2.6
### Notable enhancements and fixes ### Notable enhancements and fixes

View file

@ -1,7 +1,7 @@
{ {
"name": "admin", "name": "admin",
"private": true, "private": true,
"version": "2.2.6", "version": "2.2.7",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
@ -11,32 +11,32 @@
"preview": "vite preview" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"@radix-ui/react-switch": "^1.1.1" "@radix-ui/react-switch": "^1.1.2"
}, },
"devDependencies": { "devDependencies": {
"@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-dialog": "^1.1.4",
"@radix-ui/react-toast": "^1.2.2", "@radix-ui/react-toast": "^1.2.4",
"@types/react": "^18.3.12", "@types/react": "^19.0.2",
"@types/react-dom": "^18.3.1", "@types/react-dom": "^19.0.2",
"@typescript-eslint/eslint-plugin": "^8.11.0", "@typescript-eslint/eslint-plugin": "^8.18.1",
"@typescript-eslint/parser": "^8.11.0", "@typescript-eslint/parser": "^8.18.1",
"@vitejs/plugin-react-swc": "^3.7.1", "@vitejs/plugin-react-swc": "^3.7.2",
"eslint": "^9.13.0", "eslint": "^9.17.0",
"eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-hooks": "^5.1.0",
"eslint-plugin-react-refresh": "^0.4.13", "eslint-plugin-react-refresh": "^0.4.16",
"i18next": "^23.16.2", "i18next": "^24.2.0",
"i18next-browser-languagedetector": "^8.0.0", "i18next-browser-languagedetector": "^8.0.2",
"lucide-react": "^0.453.0", "lucide-react": "^0.469.0",
"react": "^18.2.0", "react": "^19.0.0",
"react-dom": "^18.2.0", "react-dom": "^19.0.0",
"react-hook-form": "^7.53.1", "react-hook-form": "^7.54.1",
"react-i18next": "^15.1.0", "react-i18next": "^15.2.0",
"react-router-dom": "^6.27.0", "react-router-dom": "^7.0.2",
"socket.io-client": "^4.8.0", "socket.io-client": "^4.8.1",
"typescript": "^5.6.3", "typescript": "^5.7.2",
"vite": "^5.4.10", "vite": "^6.0.5",
"vite-plugin-static-copy": "^2.0.0", "vite-plugin-static-copy": "^2.2.0",
"vite-plugin-svgr": "^4.2.0", "vite-plugin-svgr": "^4.3.0",
"zustand": "^5.0.0" "zustand": "^5.0.2"
} }
} }

View file

@ -1,4 +1,4 @@
import {FC, ReactElement} from "react"; import {FC, JSX, ReactElement} from "react";
export type IconButtonProps = { export type IconButtonProps = {
icon: JSX.Element, icon: JSX.Element,

View file

@ -1,23 +1,23 @@
{ {
"name": "bin", "name": "bin",
"version": "2.2.6", "version": "2.2.7",
"description": "", "description": "",
"main": "checkAllPads.js", "main": "checkAllPads.js",
"directories": { "directories": {
"doc": "doc" "doc": "doc"
}, },
"dependencies": { "dependencies": {
"axios": "^1.7.7", "axios": "^1.7.9",
"ep_etherpad-lite": "workspace:../src", "ep_etherpad-lite": "workspace:../src",
"log4js": "^6.9.1", "log4js": "^6.9.1",
"semver": "^7.6.3", "semver": "^7.6.3",
"tsx": "^4.19.1", "tsx": "^4.19.2",
"ueberdb2": "^5.0.6" "ueberdb2": "^5.0.6"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^22.7.9", "@types/node": "^22.10.2",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"typescript": "^5.6.3" "typescript": "^5.7.2"
}, },
"scripts": { "scripts": {
"makeDocs": "node --import tsx make_docs.ts", "makeDocs": "node --import tsx make_docs.ts",

View file

@ -1,6 +1,6 @@
{ {
"devDependencies": { "devDependencies": {
"vitepress": "^1.4.1" "vitepress": "^1.5.0"
}, },
"scripts": { "scripts": {
"docs:dev": "vitepress dev", "docs:dev": "vitepress dev",

View file

@ -50,6 +50,6 @@
"type": "git", "type": "git",
"url": "https://github.com/ether/etherpad-lite.git" "url": "https://github.com/ether/etherpad-lite.git"
}, },
"version": "2.2.6", "version": "2.2.7",
"license": "Apache-2.0" "license": "Apache-2.0"
} }

File diff suppressed because it is too large Load diff

View file

@ -83,6 +83,8 @@
"pad.settings.fontType": "نوع الخط:", "pad.settings.fontType": "نوع الخط:",
"pad.settings.fontType.normal": "عادي", "pad.settings.fontType.normal": "عادي",
"pad.settings.language": "اللغة:", "pad.settings.language": "اللغة:",
"pad.settings.deletePad": "حذف الوسادة",
"pad.delete.confirm": "هل تريد حقا حذف هذه الوسادة؟",
"pad.settings.about": "حول", "pad.settings.about": "حول",
"pad.settings.poweredBy": "مدعوم من", "pad.settings.poweredBy": "مدعوم من",
"pad.importExport.import_export": "استيراد/تصدير", "pad.importExport.import_export": "استيراد/تصدير",

49
src/locales/ce.json Normal file
View file

@ -0,0 +1,49 @@
{
"@metadata": {
"authors": [
"Умар"
]
},
"admin.page-title": "Администраторан панель — Etherpad",
"admin_plugins": "Плагинийн менеджер",
"admin_plugins.available": "ТӀекхочуш йолу плагинаш",
"admin_plugins.available_not-found": "Плагинаш ца карийна.",
"admin_plugins.available_fetching": "Схьаоьцуш...",
"admin_plugins.available_install.value": "ДӀахӀоттайе",
"admin_plugins.installed_uninstall.value": "ДӀайаккха",
"admin_plugins.last-update": "ТӀаьххьара карлайаккхар",
"admin_plugins.name": "ЦӀе",
"admin_plugins.page-title": "Плагинийн менеджер — Etherpad",
"admin_plugins.version": "Верси",
"admin_plugins_info.version_number": "Версин лоьмар",
"admin_settings": "Нисдаран гӀирс",
"admin_settings.current": "Карара конфигураци",
"pad.colorpicker.save": "Ӏалашйан",
"pad.colorpicker.cancel": "Йухайаккхар",
"pad.loading": "Чуйолуш…",
"pad.permissionDenied": "Хьан бакъонаш йац тӀекхача",
"pad.settings.padSettings": "Документан нисдаран гӀирс",
"pad.settings.myView": "Сан васт",
"pad.settings.stickychat": "Гуттара а гайта чат",
"pad.settings.language": "Мотт:",
"pad.settings.about": "Проектах лаьцна",
"pad.importExport.importSuccessful": "Кхиамца!",
"pad.modals.cancel": "Йухайаккхар",
"pad.share.link": "Хьажорг",
"pad.chat": "Чат",
"timeslider.toolbar.authors": "Авторш:",
"timeslider.toolbar.exportlink.title": "Экспорт",
"timeslider.month.january": "январь",
"timeslider.month.february": "февраль",
"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": "декабрь",
"pad.impexp.importing": "Импорт йар..."
}

View file

@ -82,11 +82,10 @@
"pad.settings.colorcheck": "Autorenfarben anzeigen", "pad.settings.colorcheck": "Autorenfarben anzeigen",
"pad.settings.linenocheck": "Zeilennummern", "pad.settings.linenocheck": "Zeilennummern",
"pad.settings.rtlcheck": "Inhalt von rechts nach links lesen?", "pad.settings.rtlcheck": "Inhalt von rechts nach links lesen?",
"pad.settings.delete": "Pad löschen", "pad.settings.fontType": "Schriftart:",
"pad.delete.confirm": "Möchtest du dieses Pad wirklich löschen?",
"pad.settings.fontType": "Schriftart:",
"pad.settings.fontType.normal": "Normal", "pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Sprache:", "pad.settings.language": "Sprache:",
"pad.delete.confirm": "Möchtest du dieses Pad wirklich löschen?",
"pad.settings.about": "Über", "pad.settings.about": "Über",
"pad.settings.poweredBy": "Betrieben von", "pad.settings.poweredBy": "Betrieben von",
"pad.importExport.import_export": "Import/Export", "pad.importExport.import_export": "Import/Export",

View file

@ -3,6 +3,7 @@
"authors": [ "authors": [
"1917 Ekim Devrimi", "1917 Ekim Devrimi",
"Erdemaslancan", "Erdemaslancan",
"GolyatGeri",
"Gorizon", "Gorizon",
"Gırd", "Gırd",
"Kumkumuk", "Kumkumuk",
@ -78,6 +79,8 @@
"pad.settings.fontType": "Babeta nuşti:", "pad.settings.fontType": "Babeta nuşti:",
"pad.settings.fontType.normal": "Normal", "pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Zıwan:", "pad.settings.language": "Zıwan:",
"pad.settings.deletePad": "Defteri bıesterê",
"pad.delete.confirm": ıma raşti wazenê ke nê defteri bıesterên?",
"pad.settings.about": "Heqa", "pad.settings.about": "Heqa",
"pad.settings.poweredBy": "Pheştidayoğ", "pad.settings.poweredBy": "Pheştidayoğ",
"pad.importExport.import_export": "Zerredayış/Teberdayış", "pad.importExport.import_export": "Zerredayış/Teberdayış",

View file

@ -72,6 +72,8 @@
"pad.settings.fontType": "Pismowa družyna:", "pad.settings.fontType": "Pismowa družyna:",
"pad.settings.fontType.normal": "Normalny", "pad.settings.fontType.normal": "Normalny",
"pad.settings.language": "Rěc:", "pad.settings.language": "Rěc:",
"pad.settings.deletePad": "Zapisnik lašowaś",
"pad.delete.confirm": "Cośo napšawdu toś ten zapisnik lašowaś?",
"pad.settings.about": "Wó", "pad.settings.about": "Wó",
"pad.settings.poweredBy": "Pódpěrany wót", "pad.settings.poweredBy": "Pódpěrany wót",
"pad.importExport.import_export": "Import/Eksport", "pad.importExport.import_export": "Import/Eksport",

View file

@ -14,6 +14,7 @@
"Jean-Frédéric", "Jean-Frédéric",
"Leviathan", "Leviathan",
"Macofe", "Macofe",
"Mahabarata",
"Maxim21", "Maxim21",
"McDutchie", "McDutchie",
"Metroitendo", "Metroitendo",
@ -98,6 +99,8 @@
"pad.settings.fontType": "Type de police:", "pad.settings.fontType": "Type de police:",
"pad.settings.fontType.normal": "Normal", "pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Langue:", "pad.settings.language": "Langue:",
"pad.settings.deletePad": "Supprimer le bloc-notes",
"pad.delete.confirm": "Voulez-vous vraiment supprimer ce bloc-notes ?",
"pad.settings.about": "À propos", "pad.settings.about": "À propos",
"pad.settings.poweredBy": "Propulsé par", "pad.settings.poweredBy": "Propulsé par",
"pad.importExport.import_export": "Importer/Exporter", "pad.importExport.import_export": "Importer/Exporter",

View file

@ -42,9 +42,9 @@
"index.newPad": "Novo documento", "index.newPad": "Novo documento",
"index.createOpenPad": "ou crea/abre un documento co nome:", "index.createOpenPad": "ou crea/abre un documento co nome:",
"index.openPad": "abrir un Pad existente co nome:", "index.openPad": "abrir un Pad existente co nome:",
"pad.toolbar.bold.title": "Resaltado (Ctrl-B)", "pad.toolbar.bold.title": "Grosa (Ctrl+B)",
"pad.toolbar.italic.title": "Cursiva (Ctrl-I)", "pad.toolbar.italic.title": "Cursiva (Ctrl+I)",
"pad.toolbar.underline.title": "Subliñar (Ctrl-U)", "pad.toolbar.underline.title": "Subliñar (Ctrl+U)",
"pad.toolbar.strikethrough.title": "Riscar (Ctrl+5)", "pad.toolbar.strikethrough.title": "Riscar (Ctrl+5)",
"pad.toolbar.ol.title": "Lista ordenada (Ctrl+Shift+N)", "pad.toolbar.ol.title": "Lista ordenada (Ctrl+Shift+N)",
"pad.toolbar.ul.title": "Lista sen ordenar (Ctrl+Shift+L)", "pad.toolbar.ul.title": "Lista sen ordenar (Ctrl+Shift+L)",
@ -74,6 +74,8 @@
"pad.settings.fontType": "Tipo de letra:", "pad.settings.fontType": "Tipo de letra:",
"pad.settings.fontType.normal": "Normal", "pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Lingua:", "pad.settings.language": "Lingua:",
"pad.settings.deletePad": "Borrar o documento",
"pad.delete.confirm": "Queres borrar este documento?",
"pad.settings.about": "Acerca de", "pad.settings.about": "Acerca de",
"pad.settings.poweredBy": "Grazas a", "pad.settings.poweredBy": "Grazas a",
"pad.importExport.import_export": "Importar/Exportar", "pad.importExport.import_export": "Importar/Exportar",
@ -88,7 +90,7 @@
"pad.importExport.exportopen": "ODF (Open Document Format)", "pad.importExport.exportopen": "ODF (Open Document Format)",
"pad.importExport.abiword.innerHTML": "Só podes importar texto simple ou formatos HTML. Para obter máis información sobre as características de importación avanzadas <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">instala AbiWord</a>.", "pad.importExport.abiword.innerHTML": "Só podes importar texto simple ou formatos HTML. Para obter máis información sobre as características de importación avanzadas <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">instala AbiWord</a>.",
"pad.modals.connected": "Conectado.", "pad.modals.connected": "Conectado.",
"pad.modals.reconnecting": "Reconectando co seu documento...", "pad.modals.reconnecting": "Reconectando co teu documento...",
"pad.modals.forcereconnect": "Forzar a reconexión", "pad.modals.forcereconnect": "Forzar a reconexión",
"pad.modals.reconnecttimer": "Intentarase reconectar en", "pad.modals.reconnecttimer": "Intentarase reconectar en",
"pad.modals.cancel": "Cancelar", "pad.modals.cancel": "Cancelar",

View file

@ -76,6 +76,8 @@
"pad.settings.fontType": "סוג גופן:", "pad.settings.fontType": "סוג גופן:",
"pad.settings.fontType.normal": "רגיל", "pad.settings.fontType.normal": "רגיל",
"pad.settings.language": "שפה:", "pad.settings.language": "שפה:",
"pad.settings.deletePad": "מחיקת פנקס",
"pad.delete.confirm": "למחוק את הפנקס הזה?",
"pad.settings.about": "על אודות", "pad.settings.about": "על אודות",
"pad.settings.poweredBy": "מופעל על גבי", "pad.settings.poweredBy": "מופעל על גבי",
"pad.importExport.import_export": "יבוא/יצוא", "pad.importExport.import_export": "יבוא/יצוא",

View file

@ -72,6 +72,8 @@
"pad.settings.fontType": "Pismowa družina:", "pad.settings.fontType": "Pismowa družina:",
"pad.settings.fontType.normal": "Normalny", "pad.settings.fontType.normal": "Normalny",
"pad.settings.language": "Rěč:", "pad.settings.language": "Rěč:",
"pad.settings.deletePad": "Zapisnik zhašeć",
"pad.delete.confirm": "Chceće woprawdźe tutón zapisnik zhašeć?",
"pad.settings.about": "Wo", "pad.settings.about": "Wo",
"pad.settings.poweredBy": "Spěchowany wot", "pad.settings.poweredBy": "Spěchowany wot",
"pad.importExport.import_export": "Import/Eksport", "pad.importExport.import_export": "Import/Eksport",

View file

@ -1,6 +1,7 @@
{ {
"@metadata": { "@metadata": {
"authors": [ "authors": [
"Akmaie Ajam",
"Atriwidada", "Atriwidada",
"Bennylin", "Bennylin",
"IvanLanin", "IvanLanin",
@ -19,6 +20,7 @@
"admin_plugins.installed": "Plugin terpasang", "admin_plugins.installed": "Plugin terpasang",
"admin_plugins.installed_fetching": "Mengambil plugin yang terpasang…", "admin_plugins.installed_fetching": "Mengambil plugin yang terpasang…",
"admin_plugins.installed_nothing": "Anda belum memasang plugin apa pun.", "admin_plugins.installed_nothing": "Anda belum memasang plugin apa pun.",
"admin_plugins.installed_uninstall.value": "Uninstal",
"admin_plugins.last-update": "Pembaruan terakhir", "admin_plugins.last-update": "Pembaruan terakhir",
"admin_plugins.name": "Nama", "admin_plugins.name": "Nama",
"admin_plugins.page-title": "Manajer plugin - Etherpad", "admin_plugins.page-title": "Manajer plugin - Etherpad",
@ -74,6 +76,8 @@
"pad.settings.rtlcheck": "Membaca dari kanan ke kiri?", "pad.settings.rtlcheck": "Membaca dari kanan ke kiri?",
"pad.settings.fontType": "Jenis fonta:", "pad.settings.fontType": "Jenis fonta:",
"pad.settings.language": "Bahasa:", "pad.settings.language": "Bahasa:",
"pad.settings.deletePad": "Hapus Pad",
"pad.delete.confirm": "Apakah Anda benar-benar ingin menghapus pad ini?",
"pad.settings.about": "Tentang", "pad.settings.about": "Tentang",
"pad.settings.poweredBy": "Ditenagai oleh", "pad.settings.poweredBy": "Ditenagai oleh",
"pad.importExport.import_export": "Impor/Ekspor", "pad.importExport.import_export": "Impor/Ekspor",

View file

@ -82,6 +82,8 @@
"pad.settings.fontType": "글꼴 종류:", "pad.settings.fontType": "글꼴 종류:",
"pad.settings.fontType.normal": "보통", "pad.settings.fontType.normal": "보통",
"pad.settings.language": "언어:", "pad.settings.language": "언어:",
"pad.settings.deletePad": "패드 삭제",
"pad.delete.confirm": "이 패드를 삭제하시겠습니까?",
"pad.settings.about": "소개", "pad.settings.about": "소개",
"pad.settings.poweredBy": "제공:", "pad.settings.poweredBy": "제공:",
"pad.importExport.import_export": "가져오기/내보내기", "pad.importExport.import_export": "가져오기/내보내기",

View file

@ -82,7 +82,7 @@
"timeslider.toolbar.exportlink.title": "Exportéieren", "timeslider.toolbar.exportlink.title": "Exportéieren",
"timeslider.exportCurrent": "Exportéiert déi aktuell Versioun als:", "timeslider.exportCurrent": "Exportéiert déi aktuell Versioun als:",
"timeslider.version": "Versioun {{version}}", "timeslider.version": "Versioun {{version}}",
"timeslider.saved": "Gespäichert de(n) {{day}} {{month}} {{year}}", "timeslider.saved": "Gespäichert de(n) {{day}}. {{month}} {{year}}",
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}", "timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "Januar", "timeslider.month.january": "Januar",
"timeslider.month.february": "Februar", "timeslider.month.february": "Februar",

View file

@ -74,6 +74,8 @@
"pad.settings.fontType": "Тип на фонт:", "pad.settings.fontType": "Тип на фонт:",
"pad.settings.fontType.normal": "Нормален", "pad.settings.fontType.normal": "Нормален",
"pad.settings.language": "Јазик:", "pad.settings.language": "Јазик:",
"pad.settings.deletePad": "Избриши тетратка",
"pad.delete.confirm": "Дали навистина сакате да ја избришете тетраткава?",
"pad.settings.about": "За додатоков", "pad.settings.about": "За додатоков",
"pad.settings.poweredBy": "Овозможено од", "pad.settings.poweredBy": "Овозможено од",
"pad.importExport.import_export": "Увоз/Извоз", "pad.importExport.import_export": "Увоз/Извоз",

View file

@ -85,6 +85,8 @@
"pad.settings.fontType": "Lettertype:", "pad.settings.fontType": "Lettertype:",
"pad.settings.fontType.normal": "Normaal", "pad.settings.fontType.normal": "Normaal",
"pad.settings.language": "Taal:", "pad.settings.language": "Taal:",
"pad.settings.deletePad": "Pad verwijderen",
"pad.delete.confirm": "Wilt u dit pad echt verwijderen?",
"pad.settings.about": "Over", "pad.settings.about": "Over",
"pad.settings.poweredBy": "Aangedreven door", "pad.settings.poweredBy": "Aangedreven door",
"pad.importExport.import_export": "Importeren/exporteren", "pad.importExport.import_export": "Importeren/exporteren",

View file

@ -9,6 +9,14 @@
"ਪ੍ਰਚਾਰਕ" "ਪ੍ਰਚਾਰਕ"
] ]
}, },
"admin_plugins.description": "ਵੇਰਵਾ",
"admin_plugins.last-update": "ਆਖਰੀ ਵਾਰ ਨਵਿਆਈਆ ਗਿਆ",
"admin_plugins.name": "ਨਾਂ",
"admin_plugins_info": "ਸਮੱਸਿਆ ਨਿਵਾਰਣ ਜਾਣਕਾਰੀ",
"admin_settings": "ਤਰਜੀਹਾਂ",
"admin_settings.current": "ਮੌਜੂਦਾ ਬਣਤਰ",
"admin_settings.current_save.value": "ਤਰਜੀਹਾਂ ਸੰਭਾਲੋ",
"admin_settings.page-title": "ਤਰਜੀਹਾਂ - ਈਥਰਪੈਡ",
"index.newPad": "ਨਵਾਂ ਪੈਡ", "index.newPad": "ਨਵਾਂ ਪੈਡ",
"index.createOpenPad": "ਜਾਂ ਨਾਂ ਨਾਲ ਨਵਾਂ ਪੈਡ ਬਣਾਓ/ਖੋਲ੍ਹੋ:", "index.createOpenPad": "ਜਾਂ ਨਾਂ ਨਾਲ ਨਵਾਂ ਪੈਡ ਬਣਾਓ/ਖੋਲ੍ਹੋ:",
"pad.toolbar.bold.title": "ਗੂੜ੍ਹਾ (Ctrl-B)", "pad.toolbar.bold.title": "ਗੂੜ੍ਹਾ (Ctrl-B)",
@ -43,7 +51,8 @@
"pad.settings.fontType": "ਫੋਂਟ ਕਿਸਮ:", "pad.settings.fontType": "ਫੋਂਟ ਕਿਸਮ:",
"pad.settings.fontType.normal": "ਆਮ", "pad.settings.fontType.normal": "ਆਮ",
"pad.settings.language": "ਭਾਸ਼ਾ:", "pad.settings.language": "ਭਾਸ਼ਾ:",
"pad.importExport.import_export": "ਇੰਪੋਰਟ/ਐਕਸਪੋਰਟ", "pad.settings.about": "ਬਾਬਤ",
"pad.importExport.import_export": "ਦਰਾਮਦ/ਬਰਾਮਦ",
"pad.importExport.import": "ਕੋਈ ਵੀ ਟੈਕਸਟ ਫਾਇਲ ਜਾਂ ਦਸਤਾਵੇਜ਼ ਅੱਪਲੋਡ ਕਰੋ", "pad.importExport.import": "ਕੋਈ ਵੀ ਟੈਕਸਟ ਫਾਇਲ ਜਾਂ ਦਸਤਾਵੇਜ਼ ਅੱਪਲੋਡ ਕਰੋ",
"pad.importExport.importSuccessful": "ਸਫ਼ਲ!", "pad.importExport.importSuccessful": "ਸਫ਼ਲ!",
"pad.importExport.export": "ਮੌਜੂਦਾ ਪੈਡ ਨੂੰ ਐਕਸਪੋਰਟ ਕਰੋ:", "pad.importExport.export": "ਮੌਜੂਦਾ ਪੈਡ ਨੂੰ ਐਕਸਪੋਰਟ ਕਰੋ:",
@ -57,6 +66,7 @@
"pad.modals.connected": "ਕੁਨੈਕਟ ਹੈ।", "pad.modals.connected": "ਕੁਨੈਕਟ ਹੈ।",
"pad.modals.reconnecting": "..ਤੁਹਾਡੇ ਪੈਡ ਨਾਲ ਮੁੜ-ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ", "pad.modals.reconnecting": "..ਤੁਹਾਡੇ ਪੈਡ ਨਾਲ ਮੁੜ-ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
"pad.modals.forcereconnect": "ਧੱਕੇ ਨਾਲ ਮੁੜ-ਕੁਨੈਕਟ ਕਰੋ", "pad.modals.forcereconnect": "ਧੱਕੇ ਨਾਲ ਮੁੜ-ਕੁਨੈਕਟ ਕਰੋ",
"pad.modals.cancel": "ਰੱਦ ਕਰੋ",
"pad.modals.userdup": "ਹੋਰ ਵਿੰਡੋ ਵਿੱਚ ਖੁੱਲ੍ਹਿਆ ਹੈ", "pad.modals.userdup": "ਹੋਰ ਵਿੰਡੋ ਵਿੱਚ ਖੁੱਲ੍ਹਿਆ ਹੈ",
"pad.modals.userdup.explanation": "ਇਹ ਪੈਡ ਇਸ ਕੰਪਿਊਟਰ 'ਤੇ ਇੱਕ ਤੋਂ ਵੱਧ ਫਰੋਲੂ ਬਾਰੀ ਵਿੱਚ ਖੁੱਲ੍ਹਿਆ ਜਾਪਦਾ ਹੈ।", "pad.modals.userdup.explanation": "ਇਹ ਪੈਡ ਇਸ ਕੰਪਿਊਟਰ 'ਤੇ ਇੱਕ ਤੋਂ ਵੱਧ ਫਰੋਲੂ ਬਾਰੀ ਵਿੱਚ ਖੁੱਲ੍ਹਿਆ ਜਾਪਦਾ ਹੈ।",
"pad.modals.userdup.advice": "ਸਗੋਂ ਇਹ ਬਾਰੀ ਵਰਤਣ ਵਾਸਤੇ ਮੁੜ ਜੁੜੋ।", "pad.modals.userdup.advice": "ਸਗੋਂ ਇਹ ਬਾਰੀ ਵਰਤਣ ਵਾਸਤੇ ਮੁੜ ਜੁੜੋ।",
@ -85,6 +95,7 @@
"pad.chat": "ਗੱਲਬਾਤ", "pad.chat": "ਗੱਲਬਾਤ",
"pad.chat.title": "ਇਹ ਪੈਡ ਲਈ ਗੱਲਬਾਤ ਖੋਲ੍ਹੋ।", "pad.chat.title": "ਇਹ ਪੈਡ ਲਈ ਗੱਲਬਾਤ ਖੋਲ੍ਹੋ।",
"pad.chat.loadmessages": "ਹੋਰ ਸੁਨੇਹੇ ਲੱਦੋ", "pad.chat.loadmessages": "ਹੋਰ ਸੁਨੇਹੇ ਲੱਦੋ",
"pad.chat.writeMessage.placeholder": "ਆਪਣਾ ਸੁਨੇਹਾ ਇੱਥੇ ਲਿਖੋ",
"timeslider.pageTitle": "{{appTitle}} ਸਮਾਂ-ਲਕੀਰ", "timeslider.pageTitle": "{{appTitle}} ਸਮਾਂ-ਲਕੀਰ",
"timeslider.toolbar.returnbutton": "ਪੈਡ ਉੱਤੇ ਵਾਪਸ", "timeslider.toolbar.returnbutton": "ਪੈਡ ਉੱਤੇ ਵਾਪਸ",
"timeslider.toolbar.authors": "ਲੇਖਕ:", "timeslider.toolbar.authors": "ਲੇਖਕ:",
@ -110,7 +121,7 @@
"timeslider.month.november": "ਨਵੰਬਰ", "timeslider.month.november": "ਨਵੰਬਰ",
"timeslider.month.december": "ਦਸੰਬਰ", "timeslider.month.december": "ਦਸੰਬਰ",
"timeslider.unnamedauthors": "{{num}} ਬੇਨਾਮ {[plural(num) one: ਲੇਖਕ, other: ਲੇਖਕ ]}", "timeslider.unnamedauthors": "{{num}} ਬੇਨਾਮ {[plural(num) one: ਲੇਖਕ, other: ਲੇਖਕ ]}",
"pad.savedrevs.marked": "ਇਹ ਰੀਵਿਜ਼ਨ ਨੂੰ ਹੁਣ ਸੰਭਾਲੇ ਹੋਏ ਰੀਵਿਜ਼ਨ ਵਜੋਂ ਮੰਨਿਆ ਗਿਆ ਹੈ", "pad.savedrevs.marked": "ਇਹ ਦੁਹਰਾਅ ਨੂੰ ਹੁਣ ਸੰਭਾਲੇ ਹੋਏ ਦੁਹਰਾਅ ਵਜੋਂ ਮੰਨਿਆ ਗਿਆ ਹੈ",
"pad.savedrevs.timeslider": "ਤੁਸੀੰ ਸਾੰਭੀਆੰ ਹੋਈਆੰ ਵਰਜਨਾੰ ਸਮਾੰਸਲਾਈਡਰ ਤੇ ਜਾ ਕੇ ਵੇਖ ਸਕਦੇ ਹੋ", "pad.savedrevs.timeslider": "ਤੁਸੀੰ ਸਾੰਭੀਆੰ ਹੋਈਆੰ ਵਰਜਨਾੰ ਸਮਾੰਸਲਾਈਡਰ ਤੇ ਜਾ ਕੇ ਵੇਖ ਸਕਦੇ ਹੋ",
"pad.userlist.entername": "ਆਪਣਾ ਨਾਂ ਦਿਉ", "pad.userlist.entername": "ਆਪਣਾ ਨਾਂ ਦਿਉ",
"pad.userlist.unnamed": "ਬੇਨਾਮ", "pad.userlist.unnamed": "ਬੇਨਾਮ",

View file

@ -23,22 +23,22 @@
] ]
}, },
"admin.page-title": "Painel administrativo - Etherpad", "admin.page-title": "Painel administrativo - Etherpad",
"admin_plugins": "Gerente de complementos", "admin_plugins": "Gerenciador de complementos",
"admin_plugins.available": "Plugins disponíveis", "admin_plugins.available": "Plugins disponíveis",
"admin_plugins.available_not-found": "Nenhuma complementos encontrado.", "admin_plugins.available_not-found": "Nenhum plugin encontrado.",
"admin_plugins.available_fetching": "Buscando…", "admin_plugins.available_fetching": "Buscando…",
"admin_plugins.available_install.value": "Instalar", "admin_plugins.available_install.value": "Instalar",
"admin_plugins.available_search.placeholder": "Procure por plug-ins para instalar", "admin_plugins.available_search.placeholder": "Procure plugins para instalar",
"admin_plugins.description": "Descrição", "admin_plugins.description": "Descrição",
"admin_plugins.installed": "Complementos instalados", "admin_plugins.installed": "Plugins instalados",
"admin_plugins.installed_fetching": "Buscando plug-ins instalados…", "admin_plugins.installed_fetching": "Buscando plugins instalados…",
"admin_plugins.installed_nothing": "Você ainda não instalou nenhum plug-in.", "admin_plugins.installed_nothing": "Você ainda não instalou nenhum plugin.",
"admin_plugins.installed_uninstall.value": "Desinstalar", "admin_plugins.installed_uninstall.value": "Desinstalar",
"admin_plugins.last-update": "Última atualização", "admin_plugins.last-update": "Última atualização",
"admin_plugins.name": "Nome", "admin_plugins.name": "Nome",
"admin_plugins.page-title": "Gerenciador de plug-ins - Etherpad", "admin_plugins.page-title": "Gerenciador de plugins - Etherpad",
"admin_plugins.version": "Versão", "admin_plugins.version": "Versão",
"admin_plugins_info": "Informações sobre solução", "admin_plugins_info": "Resolução de problemas",
"admin_plugins_info.hooks": "Ganchos instalados", "admin_plugins_info.hooks": "Ganchos instalados",
"admin_plugins_info.hooks_client": "Ganchos do lado do cliente", "admin_plugins_info.hooks_client": "Ganchos do lado do cliente",
"admin_plugins_info.hooks_server": "Ganchos do lado do servidor", "admin_plugins_info.hooks_server": "Ganchos do lado do servidor",
@ -90,6 +90,8 @@
"pad.settings.fontType": "Tipo de fonte:", "pad.settings.fontType": "Tipo de fonte:",
"pad.settings.fontType.normal": "Normal", "pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Idioma:", "pad.settings.language": "Idioma:",
"pad.settings.deletePad": "Apagar Pad",
"pad.delete.confirm": "Tem certeza de que quer deletar este pad?",
"pad.settings.about": "Sobre", "pad.settings.about": "Sobre",
"pad.settings.poweredBy": "Fornecido por", "pad.settings.poweredBy": "Fornecido por",
"pad.importExport.import_export": "Importar/Exportar", "pad.importExport.import_export": "Importar/Exportar",
@ -127,7 +129,7 @@
"pad.modals.deleted": "Excluído.", "pad.modals.deleted": "Excluído.",
"pad.modals.deleted.explanation": "Esta nota foi removida.", "pad.modals.deleted.explanation": "Esta nota foi removida.",
"pad.modals.rateLimited": "Limitado.", "pad.modals.rateLimited": "Limitado.",
"pad.modals.rateLimited.explanation": "Você enviou muitas mensagens para este pad por isso será desconectado.", "pad.modals.rateLimited.explanation": "Você enviou muitas mensagens para esta nota por isso será desconectado.",
"pad.modals.rejected.explanation": "O servidor rejeitou uma mensagem que foi enviada pelo seu navegador.", "pad.modals.rejected.explanation": "O servidor rejeitou uma mensagem que foi enviada pelo seu navegador.",
"pad.modals.rejected.cause": "O server pode ter sido atualizado enquanto visualizava esta nota, ou talvez seja apenas um bug do Etherpad. Tenta recarregar a página.", "pad.modals.rejected.cause": "O server pode ter sido atualizado enquanto visualizava esta nota, ou talvez seja apenas um bug do Etherpad. Tenta recarregar a página.",
"pad.modals.disconnected": "Você foi desconectado.", "pad.modals.disconnected": "Você foi desconectado.",
@ -142,7 +144,7 @@
"pad.chat.loadmessages": "Carregar mais mensagens", "pad.chat.loadmessages": "Carregar mais mensagens",
"pad.chat.stick.title": "Cole o bate-papo na tela", "pad.chat.stick.title": "Cole o bate-papo na tela",
"pad.chat.writeMessage.placeholder": "Escreva sua mensagem aqui", "pad.chat.writeMessage.placeholder": "Escreva sua mensagem aqui",
"timeslider.followContents": "Siga as atualizações de conteúdo do pad", "timeslider.followContents": "Siga as atualizações de conteúdo da nota",
"timeslider.pageTitle": "Linha do tempo de {{appTitle}}", "timeslider.pageTitle": "Linha do tempo de {{appTitle}}",
"timeslider.toolbar.returnbutton": "Retornar para a nota", "timeslider.toolbar.returnbutton": "Retornar para a nota",
"timeslider.toolbar.authors": "Autores:", "timeslider.toolbar.authors": "Autores:",
@ -151,9 +153,9 @@
"timeslider.exportCurrent": "Exportar a versão atual em formato:", "timeslider.exportCurrent": "Exportar a versão atual em formato:",
"timeslider.version": "Versão {{version}}", "timeslider.version": "Versão {{version}}",
"timeslider.saved": "Salvo em {{day}} de {{month}} de {{year}}", "timeslider.saved": "Salvo em {{day}} de {{month}} de {{year}}",
"timeslider.playPause": "Reproduzir / Pausar conteúdo no Pad", "timeslider.playPause": "Reproduzir / Pausar conteúdos da Nota",
"timeslider.backRevision": "Voltar a uma revisão anterior neste Pad", "timeslider.backRevision": "Voltar a uma revisão anterior nesta Nota",
"timeslider.forwardRevision": "Ir a uma revisão posterior neste Pad", "timeslider.forwardRevision": "Ir a uma revisão posterior nesta Nota",
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}", "timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "Janeiro", "timeslider.month.january": "Janeiro",
"timeslider.month.february": "Fevereiro", "timeslider.month.february": "Fevereiro",

View file

@ -87,6 +87,8 @@
"pad.settings.fontType": "Тип шрифта:", "pad.settings.fontType": "Тип шрифта:",
"pad.settings.fontType.normal": "Обычный", "pad.settings.fontType.normal": "Обычный",
"pad.settings.language": "Язык:", "pad.settings.language": "Язык:",
"pad.settings.deletePad": "Удалить документ",
"pad.delete.confirm": "Вы действительно хотите удалить этот документ?",
"pad.settings.about": "О проекте", "pad.settings.about": "О проекте",
"pad.settings.poweredBy": "Проект основан на", "pad.settings.poweredBy": "Проект основан на",
"pad.importExport.import_export": "Импорт/экспорт", "pad.importExport.import_export": "Импорт/экспорт",

View file

@ -77,6 +77,8 @@
"pad.settings.fontType": "Vrsta pisave:", "pad.settings.fontType": "Vrsta pisave:",
"pad.settings.fontType.normal": "Normalno", "pad.settings.fontType.normal": "Normalno",
"pad.settings.language": "Jezik:", "pad.settings.language": "Jezik:",
"pad.settings.deletePad": "Izbriši ploščico",
"pad.delete.confirm": "Res želite izbrisati to ploščico?",
"pad.settings.about": "Kolofon", "pad.settings.about": "Kolofon",
"pad.settings.poweredBy": "Omogoča", "pad.settings.poweredBy": "Omogoča",
"pad.importExport.import_export": "Uvoz/Izvoz", "pad.importExport.import_export": "Uvoz/Izvoz",

View file

@ -76,6 +76,8 @@
"pad.settings.fontType": "Typsnitt:", "pad.settings.fontType": "Typsnitt:",
"pad.settings.fontType.normal": "Normal", "pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Språk:", "pad.settings.language": "Språk:",
"pad.settings.deletePad": "Radera block",
"pad.delete.confirm": "Vill du verkligen radera detta block?",
"pad.settings.about": "Om", "pad.settings.about": "Om",
"pad.settings.poweredBy": "Drivs av", "pad.settings.poweredBy": "Drivs av",
"pad.importExport.import_export": "Importera/Exportera", "pad.importExport.import_export": "Importera/Exportera",

View file

@ -16,6 +16,7 @@
"Shangkuanlc", "Shangkuanlc",
"Shizhao", "Shizhao",
"Stang", "Stang",
"TFX202X",
"VulpesVulpes825", "VulpesVulpes825",
"Yfdyh000", "Yfdyh000",
"乌拉跨氪", "乌拉跨氪",
@ -92,6 +93,8 @@
"pad.settings.fontType": "字体类型:", "pad.settings.fontType": "字体类型:",
"pad.settings.fontType.normal": "正常", "pad.settings.fontType.normal": "正常",
"pad.settings.language": "语言:", "pad.settings.language": "语言:",
"pad.settings.deletePad": "删除记事本",
"pad.delete.confirm": "您确定要删除此记事本吗?",
"pad.settings.about": "关于", "pad.settings.about": "关于",
"pad.settings.poweredBy": "技术支持来自", "pad.settings.poweredBy": "技术支持来自",
"pad.importExport.import_export": "导入/导出", "pad.importExport.import_export": "导入/导出",

View file

@ -82,6 +82,8 @@
"pad.settings.fontType": "字型類型:", "pad.settings.fontType": "字型類型:",
"pad.settings.fontType.normal": "正常", "pad.settings.fontType.normal": "正常",
"pad.settings.language": "語言:", "pad.settings.language": "語言:",
"pad.settings.deletePad": "刪除記事本",
"pad.delete.confirm": "您確定要刪除此記事本?",
"pad.settings.about": "關於", "pad.settings.about": "關於",
"pad.settings.poweredBy": "技術支援來自", "pad.settings.poweredBy": "技術支援來自",
"pad.importExport.import_export": "導入/匯出", "pad.importExport.import_export": "導入/匯出",

View file

@ -41,7 +41,7 @@ exports.expressPreSession = async (hookName:string, {app}:ArgsExpressType) => {
app.get('/robots.txt', (req:any, res:any) => { app.get('/robots.txt', (req:any, res:any) => {
let filePath = let filePath =
path.join(settings.root, 'src', 'static', 'skins', settings.skinName, 'robots.txt'); path.join(settings.root, 'src', 'static', 'skins', settings.skinName, 'robots.txt');
res.sendFile(filePath, (err:any) => { res.sendFile(filePath, (err:any) => {
// there is no custom robots.txt, send the default robots.txt which dissallows all // there is no custom robots.txt, send the default robots.txt which dissallows all
if (err) { if (err) {
@ -244,37 +244,37 @@ const convertTypescriptWatched = (content: string, cb: (output:string, hash: str
}) })
} }
exports.expressCreateServer = async (hookName: string, args: ArgsExpressType, cb: Function) => { exports.expressCreateServer = async (_hookName: string, args: ArgsExpressType, cb: Function) => {
const padString = eejs.require('ep_etherpad-lite/templates/padBootstrap.js', { const padString = eejs.require('ep_etherpad-lite/templates/padBootstrap.js', {
pluginModules: (() => { pluginModules: (() => {
const pluginModules = new Set(); const pluginModules = new Set();
for (const part of plugins.parts) { for (const part of plugins.parts) {
for (const [, hookFnName] of Object.entries(part.client_hooks || {})) { for (const [, hookFnName] of Object.entries(part.client_hooks || {})) {
// @ts-ignore // @ts-ignore
pluginModules.add(hookFnName.split(':')[0]); pluginModules.add(hookFnName.split(':')[0]);
}
} }
return [...pluginModules]; }
})(), return [...pluginModules];
settings, })(),
}) settings,
})
const indexString = eejs.require('ep_etherpad-lite/templates/indexBootstrap.js', { const indexString = eejs.require('ep_etherpad-lite/templates/indexBootstrap.js', {
}) })
const timeSliderString = eejs.require('ep_etherpad-lite/templates/timeSliderBootstrap.js', { const timeSliderString = eejs.require('ep_etherpad-lite/templates/timeSliderBootstrap.js', {
pluginModules: (() => { pluginModules: (() => {
const pluginModules = new Set(); const pluginModules = new Set();
for (const part of plugins.parts) { for (const part of plugins.parts) {
for (const [, hookFnName] of Object.entries(part.client_hooks || {})) { for (const [, hookFnName] of Object.entries(part.client_hooks || {})) {
// @ts-ignore // @ts-ignore
pluginModules.add(hookFnName.split(':')[0]); pluginModules.add(hookFnName.split(':')[0]);
}
} }
return [...pluginModules]; }
})(), return [...pluginModules];
settings, })(),
}) settings,
})
@ -295,32 +295,20 @@ exports.expressCreateServer = async (hookName: string, args: ArgsExpressType, cb
fileNamePad = `padbootstrap-${padSliderWrite.hash}.min.js` fileNamePad = `padbootstrap-${padSliderWrite.hash}.min.js`
fileNameTimeSlider = `timeSliderBootstrap-${timeSliderWrite.hash}.min.js` fileNameTimeSlider = `timeSliderBootstrap-${timeSliderWrite.hash}.min.js`
fileNameIndex = `indexBootstrap-${indexWrite.hash}.min.js` fileNameIndex = `indexBootstrap-${indexWrite.hash}.min.js`
const pathNamePad = path.join(outdir, fileNamePad)
const pathNameTimeSlider = path.join(outdir, fileNameTimeSlider)
const pathNameIndex = path.join(outdir, 'index.js')
if (!fs.existsSync(pathNamePad)) { args.app.get("/"+fileNamePad, (_req, res) => {
fs.writeFileSync(pathNamePad, padSliderWrite.output); res.header('Content-Type', 'application/javascript');
} res.send(padSliderWrite.output)
if (!fs.existsSync(pathNameIndex)) {
fs.writeFileSync(pathNameIndex, indexWrite.output);
}
if (!fs.existsSync(pathNameTimeSlider)) {
fs.writeFileSync(pathNameTimeSlider,timeSliderWrite.output)
}
args.app.get("/"+fileNamePad, (req: any, res: any) => {
res.sendFile(pathNamePad)
}) })
args.app.get("/"+fileNameIndex, (req: any, res: any) => { args.app.get("/"+fileNameIndex, (_req, res) => {
res.sendFile(pathNameIndex) res.header('Content-Type', 'application/javascript');
res.send(indexWrite.output)
}) })
args.app.get("/"+fileNameTimeSlider, (req: any, res: any) => { args.app.get("/"+fileNameTimeSlider, (_req, res) => {
res.sendFile(pathNameTimeSlider) res.header('Content-Type', 'application/javascript');
res.send(timeSliderWrite.output)
}) })
// serve index.html under / // serve index.html under /

View file

@ -32,14 +32,14 @@
"dependencies": { "dependencies": {
"@etherpad/express-session": "^1.18.4", "@etherpad/express-session": "^1.18.4",
"async": "^3.2.6", "async": "^3.2.6",
"axios": "^1.7.7", "axios": "^1.7.9",
"cookie-parser": "^1.4.7", "cookie-parser": "^1.4.7",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"cross-spawn": "^7.0.3", "cross-spawn": "^7.0.6",
"ejs": "^3.1.10", "ejs": "^3.1.10",
"esbuild": "^0.24.0", "esbuild": "^0.24.1",
"express": "4.21.1", "express": "4.21.2",
"express-rate-limit": "^7.4.1", "express-rate-limit": "^7.5.0",
"fast-deep-equal": "^3.1.3", "fast-deep-equal": "^3.1.3",
"find-root": "1.1.0", "find-root": "1.1.0",
"formidable": "^3.5.2", "formidable": "^3.5.2",
@ -53,38 +53,38 @@
"live-plugin-manager": "^1.0.0", "live-plugin-manager": "^1.0.0",
"lodash.clonedeep": "4.5.0", "lodash.clonedeep": "4.5.0",
"log4js": "^6.9.1", "log4js": "^6.9.1",
"lru-cache": "^11.0.1", "lru-cache": "^11.0.2",
"measured-core": "^2.0.0", "measured-core": "^2.0.0",
"mime-types": "^2.1.35", "mime-types": "^2.1.35",
"oidc-provider": "^8.5.2", "oidc-provider": "^8.6.0",
"openapi-backend": "^5.11.0", "openapi-backend": "^5.11.1",
"proxy-addr": "^2.0.7", "proxy-addr": "^2.0.7",
"rate-limiter-flexible": "^5.0.4", "rate-limiter-flexible": "^5.0.4",
"rehype": "^13.0.2", "rehype": "^13.0.2",
"rehype-minify-whitespace": "^6.0.2", "rehype-minify-whitespace": "^6.0.2",
"resolve": "1.22.8", "resolve": "1.22.10",
"rusty-store-kv": "^1.3.1", "rusty-store-kv": "^1.3.1",
"security": "1.0.0", "security": "1.0.0",
"semver": "^7.6.3", "semver": "^7.6.3",
"socket.io": "^4.8.0", "socket.io": "^4.8.1",
"socket.io-client": "^4.8.0", "socket.io-client": "^4.8.1",
"superagent": "10.1.1", "superagent": "10.1.1",
"swagger-ui-express": "^5.0.1", "swagger-ui-express": "^5.0.1",
"tinycon": "0.6.8", "tinycon": "0.6.8",
"tsx": "4.19.1", "tsx": "4.19.2",
"ueberdb2": "^5.0.6", "ueberdb2": "^5.0.6",
"underscore": "1.13.7", "underscore": "1.13.7",
"unorm": "1.6.0", "unorm": "1.6.0",
"wtfnode": "^0.9.3" "wtfnode": "^0.9.4"
}, },
"bin": { "bin": {
"etherpad-healthcheck": "../bin/etherpad-healthcheck", "etherpad-healthcheck": "../bin/etherpad-healthcheck",
"etherpad-lite": "node/server.ts" "etherpad-lite": "node/server.ts"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.48.1", "@playwright/test": "^1.49.1",
"@types/async": "^3.2.24", "@types/async": "^3.2.24",
"@types/express": "4.17.21", "@types/express": "^4.17.21",
"@types/formidable": "^3.4.5", "@types/formidable": "^3.4.5",
"@types/http-errors": "^2.0.4", "@types/http-errors": "^2.0.4",
"@types/jquery": "^3.5.32", "@types/jquery": "^3.5.32",
@ -93,19 +93,19 @@
"@types/jsonwebtoken": "^9.0.7", "@types/jsonwebtoken": "^9.0.7",
"@types/mime-types": "^2.1.4", "@types/mime-types": "^2.1.4",
"@types/mocha": "^10.0.9", "@types/mocha": "^10.0.9",
"@types/node": "^22.7.9", "@types/node": "^22.10.2",
"@types/oidc-provider": "^8.5.2", "@types/oidc-provider": "^8.5.2",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"@types/sinon": "^17.0.3", "@types/sinon": "^17.0.3",
"@types/supertest": "^6.0.2", "@types/supertest": "^6.0.2",
"@types/swagger-ui-express": "^4.1.6", "@types/swagger-ui-express": "^4.1.7",
"@types/underscore": "^1.13.0", "@types/underscore": "^1.13.0",
"@types/whatwg-mimetype": "^3.0.2", "@types/whatwg-mimetype": "^3.0.2",
"chokidar": "^4.0.1", "chokidar": "^4.0.3",
"eslint": "^9.13.0", "eslint": "^9.17.0",
"eslint-config-etherpad": "^4.0.4", "eslint-config-etherpad": "^4.0.4",
"etherpad-cli-client": "^3.0.2", "etherpad-cli-client": "^3.0.2",
"mocha": "^10.7.3", "mocha": "^11.0.1",
"mocha-froth": "^0.2.10", "mocha-froth": "^0.2.10",
"nodeify": "^1.0.1", "nodeify": "^1.0.1",
"openapi-schema-validation": "^0.4.2", "openapi-schema-validation": "^0.4.2",
@ -113,8 +113,8 @@
"sinon": "^19.0.2", "sinon": "^19.0.2",
"split-grid": "^1.0.11", "split-grid": "^1.0.11",
"supertest": "^7.0.0", "supertest": "^7.0.0",
"typescript": "^5.6.3", "typescript": "^5.7.2",
"vitest": "^2.1.3" "vitest": "^2.1.8"
}, },
"engines": { "engines": {
"node": ">=18.18.2", "node": ">=18.18.2",
@ -141,6 +141,6 @@
"debug:socketio": "cross-env DEBUG=socket.io* node --require tsx/cjs node/server.ts", "debug:socketio": "cross-env DEBUG=socket.io* node --require tsx/cjs node/server.ts",
"test:vitest": "vitest" "test:vitest": "vitest"
}, },
"version": "2.2.6", "version": "2.2.7",
"license": "Apache-2.0" "license": "Apache-2.0"
} }

View file

@ -3475,7 +3475,7 @@ function Ace2Inner(editorInfo, cssManagers) {
// use that for displaying the side div line number inline with the first line // use that for displaying the side div line number inline with the first line
// of content -- This is used in ep_headings, ep_font_size etc. where the line // of content -- This is used in ep_headings, ep_font_size etc. where the line
// height is increased. // height is increased.
const elementStyle = window.getComputedStyle(docLine.firstChild); const elementStyle = window.getComputedStyle(docLine.firstElementChild);
const lineHeight = parseInt(elementStyle.getPropertyValue('line-height')); const lineHeight = parseInt(elementStyle.getPropertyValue('line-height'));
const marginBottom = parseInt(elementStyle.getPropertyValue('margin-bottom')); const marginBottom = parseInt(elementStyle.getPropertyValue('margin-bottom'));
lineHeights.push(lineHeight + marginBottom); lineHeights.push(lineHeight + marginBottom);

View file

@ -538,7 +538,7 @@ export class Html10n {
for (let i=0, n=langs.length; i < n; i++) { for (let i=0, n=langs.length; i < n; i++) {
lang = langs[i] lang = langs[i]
if(!lang) continue; if(!lang) continue;
if(!(lang in langs)) {// uh, we don't have this lang availbable.. if(!langs.includes(lang)) {// uh, we don't have this lang availbable..
// then check for related langs // then check for related langs
if(~lang.indexOf('-') != -1) { if(~lang.indexOf('-') != -1) {
lang = lang.split('-')[0]; lang = lang.split('-')[0];

View file

@ -11,7 +11,7 @@
}, },
"devDependencies": { "devDependencies": {
"ep_etherpad-lite": "workspace:../src", "ep_etherpad-lite": "workspace:../src",
"typescript": "^5.6.3", "typescript": "^5.7.2",
"vite": "^5.4.10" "vite": "^6.0.5"
} }
} }

2
var/js/.gitignore vendored
View file

@ -1,2 +0,0 @@
*.js
*.map