Compare commits

...

16 Commits

Author SHA1 Message Date
github-actions[bot]
03f5b5e958 chore(master): release 0.38.5 2026-04-16 18:16:49 +03:00
Nextcloud bot
44102609f5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-14 02:30:50 +00:00
Nextcloud bot
3e880e0013 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-13 02:10:06 +00:00
Nextcloud bot
8e9e5fe9dc fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-12 02:13:43 +00:00
08e71782df chore(deps): update dependencies 2026-04-11 21:12:45 +03:00
Nextcloud bot
0166b9582e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-11 02:10:01 +00:00
Nextcloud bot
49e1cf1e65 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-10 02:10:36 +00:00
github-actions[bot]
04502eb55a chore(master): release 0.38.4 2026-04-10 00:28:09 +03:00
a933d451bd fix: re-apply possibly failed category migrations 2026-04-10 00:15:55 +03:00
dd5f682186 fix: add/update error notifications across the app 2026-04-09 23:25:53 +03:00
github-actions[bot]
40237c5391 chore(master): release 0.38.3 2026-04-09 18:26:38 +03:00
7566679d99 fix: show childless headers on admin category page 2026-04-09 18:23:36 +03:00
Nextcloud bot
658f345d60 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-08 02:09:53 +00:00
github-actions[bot]
e04cfb961e chore(master): release 0.38.2 2026-04-08 02:04:18 +03:00
95a9c2ef21 fix: allow closing all dialogs by outside click 2026-04-07 01:33:16 +03:00
5f78d4c9f5 build: replace husky with lefthook 2026-04-07 01:31:33 +03:00
60 changed files with 1015 additions and 757 deletions

View File

@@ -1,3 +0,0 @@
#!/usr/bin/env bash
export PHP_CS_FIXER_IGNORE_ENV=1
pnpm lint-staged -- --relative

View File

@@ -1,17 +0,0 @@
module.exports = {
'*.{ts,vue}': ['eslint --fix'],
'*.{scss,vue,ts,md}': ['prettier --write'],
'*.json': (files) => {
const filtered = files.filter(file => !file.includes('openapi.json'))
return filtered.length > 0 ? `prettier --write ${filtered.join(' ')}` : []
},
'*.php': (files) => {
const nonGenFiles = files.filter(file => !file.includes('/gen/'))
const commands = []
if (nonGenFiles.length > 0) {
commands.push('make php-cs-fixer', 'make test')
}
return commands
},
'*Controller.php': [() => 'make openapi', () => 'git add openapi.json openapi-*.json'],
}

View File

@@ -1 +1 @@
{".":"0.38.1"}
{".":"0.38.5"}

View File

@@ -1,5 +1,39 @@
# Changelog
## [0.38.5](https://github.com/chenasraf/nextcloud-forum/compare/v0.38.4...v0.38.5) (2026-04-14)
### Bug Fixes
* **l10n:** Update translations from Transifex ([4410260](https://github.com/chenasraf/nextcloud-forum/commit/44102609f52eafc2b0af65cc5e40cc951da248e5))
* **l10n:** Update translations from Transifex ([3e880e0](https://github.com/chenasraf/nextcloud-forum/commit/3e880e00130038ae338194ea533c998ca26db58b))
* **l10n:** Update translations from Transifex ([8e9e5fe](https://github.com/chenasraf/nextcloud-forum/commit/8e9e5fe9dcc453a9faabbad2facc176b68b807a3))
* **l10n:** Update translations from Transifex ([0166b95](https://github.com/chenasraf/nextcloud-forum/commit/0166b9582e3aa017ecb5603f9d43b92237e790ba))
* **l10n:** Update translations from Transifex ([49e1cf1](https://github.com/chenasraf/nextcloud-forum/commit/49e1cf1e65a12c2e4bcb3227804d1b6ab91ed466))
## [0.38.4](https://github.com/chenasraf/nextcloud-forum/compare/v0.38.3...v0.38.4) (2026-04-09)
### Bug Fixes
* add/update error notifications across the app ([dd5f682](https://github.com/chenasraf/nextcloud-forum/commit/dd5f682186cae047c94aa452dbf1aaa95fc6bf42))
* re-apply possibly failed category migrations ([a933d45](https://github.com/chenasraf/nextcloud-forum/commit/a933d451bdda818f6203934fc6b4852e3ddf3bf8))
## [0.38.3](https://github.com/chenasraf/nextcloud-forum/compare/v0.38.2...v0.38.3) (2026-04-09)
### Bug Fixes
* **l10n:** Update translations from Transifex ([658f345](https://github.com/chenasraf/nextcloud-forum/commit/658f345d60727ecd301e48e331f39c749c380668))
* show childless headers on admin category page ([7566679](https://github.com/chenasraf/nextcloud-forum/commit/7566679d99348c04be7a6366481bd900f1bcc0ce))
## [0.38.2](https://github.com/chenasraf/nextcloud-forum/compare/v0.38.1...v0.38.2) (2026-04-06)
### Bug Fixes
* allow closing all dialogs by outside click ([95a9c2e](https://github.com/chenasraf/nextcloud-forum/commit/95a9c2ef21d0af3bede08951980ad40a4a00e778))
## [0.38.1](https://github.com/chenasraf/nextcloud-forum/compare/v0.38.0...v0.38.1) (2026-04-06)

View File

@@ -309,6 +309,21 @@ test-docker:
test-frontend:
$(pnpm_cmd) vitest run
info_xsd_url=https://apps.nextcloud.com/schema/apps/info.xsd
info_xsd=$(build_tools_directory)/info.xsd
$(info_xsd):
@mkdir -p $(build_tools_directory)
curl -sS -o $(info_xsd) $(info_xsd_url)
# lint-appinfo:
# - Validate appinfo/info.xml against the Nextcloud App Store XSD schema
.PHONY: lint-appinfo
lint-appinfo: $(info_xsd)
@echo "\x1b[33mValidating appinfo/info.xml against Nextcloud schema...\x1b[0m"
@xmllint --noout --schema $(info_xsd) appinfo/info.xml
@echo "\x1b[32mappinfo/info.xml is valid.\x1b[0m"
# lint:
# - Lint JS via pnpm and PHP via composer script "lint"
.PHONY: lint

View File

@@ -43,7 +43,7 @@ Create discussions, share ideas, and collaborate with your community directly in
The forum integrates seamlessly with your Nextcloud instance, using your existing accounts and teams for authentication and access control.
]]></description>
<version>0.38.1</version>
<version>0.38.5</version>
<licence>agpl</licence>
<author mail="contact@casraf.dev" homepage="https://casraf.dev">Chen Asraf</author>
<namespace>Forum</namespace>

31
composer.lock generated
View File

@@ -180,12 +180,12 @@
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "9eff94dcc966d95c1f1621cad35f0d83160b42eb"
"reference": "d7323652d345582c97c7ca2e23f70984b76e8e3a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/9eff94dcc966d95c1f1621cad35f0d83160b42eb",
"reference": "9eff94dcc966d95c1f1621cad35f0d83160b42eb",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/d7323652d345582c97c7ca2e23f70984b76e8e3a",
"reference": "d7323652d345582c97c7ca2e23f70984b76e8e3a",
"shasum": ""
},
"require": {
@@ -220,7 +220,7 @@
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/stable32"
},
"time": "2026-03-27T01:17:35+00:00"
"time": "2026-04-09T01:10:47+00:00"
},
{
"name": "nikic/php-parser",
@@ -1035,12 +1035,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "d9a4255408288c827dba902c5be74035217198fa"
"reference": "d830a949e5c180e97c2245221daf8b589552cc2c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/d9a4255408288c827dba902c5be74035217198fa",
"reference": "d9a4255408288c827dba902c5be74035217198fa",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/d830a949e5c180e97c2245221daf8b589552cc2c",
"reference": "d830a949e5c180e97c2245221daf8b589552cc2c",
"shasum": ""
},
"conflict": {
@@ -1096,7 +1096,6 @@
"auth0/wordpress": "<=5.5",
"automad/automad": "<2.0.0.0-alpha5",
"automattic/jetpack": "<9.8",
"avideo/avideo": "<=26",
"awesome-support/awesome-support": "<=6.0.7",
"aws/aws-sdk-php": "<=3.371.3",
"ayacoo/redirect-tab": "<2.1.2|>=3,<3.1.7|>=4,<4.0.5",
@@ -1155,7 +1154,7 @@
"cesnet/simplesamlphp-module-proxystatistics": "<3.1",
"chriskacerguis/codeigniter-restserver": "<=2.7.1",
"chrome-php/chrome": "<1.14",
"ci4-cms-erp/ci4ms": "<=0.28.6",
"ci4-cms-erp/ci4ms": "<=0.31.3",
"civicrm/civicrm-core": ">=4.2,<4.2.9|>=4.3,<4.3.3",
"ckeditor/ckeditor": "<4.25",
"clickstorm/cs-seo": ">=6,<6.8|>=7,<7.5|>=8,<8.4|>=9,<9.3",
@@ -1450,6 +1449,7 @@
"juzaweb/cms": "<=3.4.2",
"jweiland/events2": "<8.3.8|>=9,<9.0.6",
"jweiland/kk-downloader": "<1.2.2",
"kantorge/yaffa": "<=2",
"kazist/phpwhois": "<=4.2.6",
"kelvinmo/simplejwt": "<=1.1",
"kelvinmo/simplexrd": "<3.1.1",
@@ -1473,6 +1473,7 @@
"laravel/fortify": "<1.11.1",
"laravel/framework": "<10.48.29|>=11,<11.44.1|>=12,<12.1.1",
"laravel/laravel": ">=5.4,<5.4.22",
"laravel/passport": "<13.7.1",
"laravel/pulse": "<1.3.1",
"laravel/reverb": "<1.7",
"laravel/socialite": ">=1,<2.0.10",
@@ -1653,7 +1654,7 @@
"phpoffice/phpexcel": "<=1.8.2",
"phpoffice/phpspreadsheet": "<1.30|>=2,<2.1.12|>=2.2,<2.4|>=3,<3.10|>=4,<5",
"phppgadmin/phppgadmin": "<=7.13",
"phpseclib/phpseclib": "<=2.0.51|>=3,<=3.0.49",
"phpseclib/phpseclib": "<2.0.53|>=3,<3.0.51",
"phpservermon/phpservermon": "<3.6",
"phpsysinfo/phpsysinfo": "<3.4.3",
"phpunit/phpunit": "<8.5.52|>=9,<9.6.33|>=10,<10.5.62|>=11,<11.5.50|>=12,<12.5.8",
@@ -1675,7 +1676,7 @@
"pixelfed/pixelfed": "<0.12.5",
"plotly/plotly.js": "<2.25.2",
"pocketmine/bedrock-protocol": "<8.0.2",
"pocketmine/pocketmine-mp": "<5.32.1",
"pocketmine/pocketmine-mp": "<5.41.1",
"pocketmine/raklib": ">=0.14,<0.14.6|>=0.15,<0.15.1",
"pressbooks/pressbooks": "<5.18",
"prestashop/autoupgrade": ">=4,<4.10.1",
@@ -1715,16 +1716,16 @@
"rap2hpoutre/laravel-log-viewer": "<0.13",
"react/http": ">=0.7,<1.9",
"really-simple-plugins/complianz-gdpr": "<6.4.2",
"redaxo/source": "<=5.20.1",
"redaxo/source": "<5.21",
"remdex/livehelperchat": "<4.29",
"renolit/reint-downloadmanager": "<4.0.2|>=5,<5.0.1",
"reportico-web/reportico": "<=8.1",
"rhukster/dom-sanitizer": "<1.0.7",
"rhukster/dom-sanitizer": "<1.0.10",
"rmccue/requests": ">=1.6,<1.8",
"roadiz/documents": "<2.3.42|>=2.4,<2.5.44|>=2.6,<2.6.28|>=2.7,<2.7.9",
"robrichards/xmlseclibs": "<3.1.5",
"roots/soil": "<4.1",
"roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11",
"roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11|>=1.7.0.0-beta,<1.7.0.0-RC5-dev",
"rudloff/alltube": "<3.0.3",
"rudloff/rtmpdump-bin": "<=2.3.1",
"s-cart/core": "<=9.0.5",
@@ -2077,7 +2078,7 @@
"type": "tidelift"
}
],
"time": "2026-04-04T06:25:27+00:00"
"time": "2026-04-10T21:13:58+00:00"
},
{
"name": "sebastian/cli-parser",

View File

@@ -1,35 +0,0 @@
OC.L10N.register(
"forum",
{
"Admin" : "প্রশাসন",
"User" : "User",
"General" : "সাধারণ",
"Forum" : "ফোরাম",
"Search" : "Search",
"Home" : "বাড়ি",
"Accounts" : "Accounts",
"Collapse" : "ভাঙো",
"Log in" : "প্রবেশ",
"Upload failed" : "আপলোড হয়নি",
"Close" : "বন্ধ",
"Cancel" : "Cancel",
"Update" : "পরিবর্ধন",
"Deleted" : "মুছে ফেলা",
"Restore" : "ফিরিয়ে দাও",
"Move" : "Move",
"Edit" : "সম্পাদনা",
"Delete" : "মুছে",
"Direct link" : "সরাসরি লিঙ্ক",
"Save" : "সংরক্ষণ",
"Name" : "নাম",
"Refresh" : "নবোদ্যম",
"Error" : "সমস্যা",
"by" : "কর্তৃক",
"Subscribe" : "গ্রাহক হোন",
"Disable" : "নিষ্ক্রিয়",
"Description" : "বিবরণ",
"Enabled" : "কার্যকর",
"Reset" : "পূণঃনির্ধানণ",
"Actions" : "পদক্ষেপসমূহ"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,33 +0,0 @@
{ "translations": {
"Admin" : "প্রশাসন",
"User" : "User",
"General" : "সাধারণ",
"Forum" : "ফোরাম",
"Search" : "Search",
"Home" : "বাড়ি",
"Accounts" : "Accounts",
"Collapse" : "ভাঙো",
"Log in" : "প্রবেশ",
"Upload failed" : "আপলোড হয়নি",
"Close" : "বন্ধ",
"Cancel" : "Cancel",
"Update" : "পরিবর্ধন",
"Deleted" : "মুছে ফেলা",
"Restore" : "ফিরিয়ে দাও",
"Move" : "Move",
"Edit" : "সম্পাদনা",
"Delete" : "মুছে",
"Direct link" : "সরাসরি লিঙ্ক",
"Save" : "সংরক্ষণ",
"Name" : "নাম",
"Refresh" : "নবোদ্যম",
"Error" : "সমস্যা",
"by" : "কর্তৃক",
"Subscribe" : "গ্রাহক হোন",
"Disable" : "নিষ্ক্রিয়",
"Description" : "বিবরণ",
"Enabled" : "কার্যকর",
"Reset" : "পূণঃনির্ধানণ",
"Actions" : "পদক্ষেপসমূহ"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -11,6 +11,7 @@ OC.L10N.register(
"Dashboard" : "Taolenn-stur",
"Accounts" : "Kontoù",
"Categories" : "Rummadoù",
"Log in" : "Kennaskañ",
"Hello world!" : "Hello world!",
"List" : "Roll",
"Upload failed" : "Pellkasaden c'hwitet",

View File

@@ -9,6 +9,7 @@
"Dashboard" : "Taolenn-stur",
"Accounts" : "Kontoù",
"Categories" : "Rummadoù",
"Log in" : "Kennaskañ",
"Hello world!" : "Hello world!",
"List" : "Roll",
"Upload failed" : "Pellkasaden c'hwitet",

View File

@@ -22,6 +22,7 @@ OC.L10N.register(
"Moderation" : "Moderació",
"Expand" : "Expandeix",
"Collapse" : "Replega",
"Log in" : "Inicia la sessió",
"Hello world!" : "Hola a tothom!",
"Code" : "Codi",
"Quote" : "Pressupost",

View File

@@ -20,6 +20,7 @@
"Moderation" : "Moderació",
"Expand" : "Expandeix",
"Collapse" : "Replega",
"Log in" : "Inicia la sessió",
"Hello world!" : "Hola a tothom!",
"Code" : "Codi",
"Quote" : "Pressupost",

View File

@@ -77,6 +77,7 @@ OC.L10N.register(
"Expand" : "Rozbalit",
"Collapse" : "Sbalit",
"(Guest)" : "(host)",
"Log in" : "Přihlásit se",
"{bStart}Please note:{bEnd} Attached files will be visible to anyone in the forum, regardless of the file's sharing settings." : "{bStart}Upozornění:{bEnd} Přiložené soubory budou viditelné komukoli na fóru, nezávisle na nastavení sdílení souboru.",
"Drop file here to upload" : "Soubor sem nahrajete přetažením",
"Hello world!" : "Dobrý den světe!",

View File

@@ -75,6 +75,7 @@
"Expand" : "Rozbalit",
"Collapse" : "Sbalit",
"(Guest)" : "(host)",
"Log in" : "Přihlásit se",
"{bStart}Please note:{bEnd} Attached files will be visible to anyone in the forum, regardless of the file's sharing settings." : "{bStart}Upozornění:{bEnd} Přiložené soubory budou viditelné komukoli na fóru, nezávisle na nastavení sdílení souboru.",
"Drop file here to upload" : "Soubor sem nahrajete přetažením",
"Hello world!" : "Dobrý den světe!",

View File

@@ -171,6 +171,7 @@ OC.L10N.register(
"Lower numbers appear first" : "Niedrigere Zahlen erscheinen zuerst",
"Create" : "Erstellen",
"Update" : "Aktualisieren",
"Failed to save header" : "Überschrift konnte nicht gespeichert werden",
"Forum setup required" : "Einrichtung des Forums erforderlich",
"Select the accounts that should have the forum admin role." : "Konten auswählen, die die Rolle der Forum-Administration übernehmen sollen.",
"Forum admin accounts:" : "Forum-Administrationskonten:",
@@ -259,6 +260,8 @@ OC.L10N.register(
"Neither (disabled)" : "Weder noch (deaktiviert)",
"Insert" : "Einfügen",
"Failed to load templates" : "Vorlagen konnten nicht geladen werden",
"Failed to save template" : "Vorlage konnte nicht gespeichert werden",
"Failed to delete template" : "Vorlage konnte nicht gelöscht werden",
"Views" : "Ansichten",
"Title" : "Titel",
"Enter thread title …" : "Titel des Themas eingeben …",
@@ -369,6 +372,7 @@ OC.L10N.register(
"Thread deleted" : "Thema gelöscht",
"Reply deleted" : "Antwort gelöscht",
"Failed to delete reply" : "Antwort konnte nicht gelöscht werden",
"Failed to submit reply" : "Antwort konnte nicht übermittelt werden",
"Failed to update thread lock status" : "Themen-Sperrstatus konnte nicht aktualisiert werden",
"Failed to update thread pin status" : "Themen-Anheftestatus konnte nicht aktualisiert werden",
"Failed to update subscription" : "Das Abonnement konnte nicht aktualisiert werden",
@@ -429,6 +433,9 @@ OC.L10N.register(
"Enabled" : "Aktiviert",
"Parse inner content" : "Inneren Inhalt analysieren",
"If enabled, BBCode tags inside this tag will also be parsed" : "Wenn aktiviert, werden auch BBCode-Schnipsel innerhalb dieses Schnipsels analysiert.",
"Failed to save BBCode" : "BBCode konnte nicht gespeichert werden",
"Failed to toggle BBCode" : "BBCode konnte nicht umgeschaltet werden",
"Failed to delete BBCode" : "BBCode konnte nicht gelöscht werden",
"Create category" : "Kategorie erstellen",
"Edit category" : "Kategorie bearbeiten",
"Configure category details" : "Kategoriedetails konfigurieren",
@@ -456,6 +463,7 @@ OC.L10N.register(
"Preview" : "Vorschau",
"Hide subcategories on category card" : "Unterkategorien auf der Kategoriekarte ausblenden",
"When enabled, child categories will not appear as links on this category's card on the home page" : "Wenn diese Option aktiviert ist, werden Unterkategorien nicht als Links auf der Karte dieser Kategorie auf der Startseite angezeigt",
"Failed to save category" : "Kategorie konnte nicht gespeichert werden",
"Manage forum categories and organization" : "Die Kategorien und die Organisation des Forums verwalten",
"Error loading categories" : "Kategorien laden fehlgeschlagen",
"No categories in this header" : "Keine Kategorien in dieser Überschrift",
@@ -482,6 +490,8 @@ OC.L10N.register(
"-- Select a header --" : "-- Eine Überschrift auswählen --",
"Move up" : "Nach oben verschieben",
"Move down" : "Nach unten verschieben",
"Failed to delete category" : "Kategorie konnte nicht gelöscht werden",
"Failed to delete header" : "Überschrift konnte nicht gelöscht werden",
"Management dashboard" : "Verwaltungs-Dashboard",
"Overview of forum activity and statistics" : "Übersicht der Forenaktivitäten und Statistiken",
"Loading statistics …" : "Lade Statistiken …",
@@ -527,6 +537,8 @@ OC.L10N.register(
"Search deleted content …" : "Gelöschten Inhalt suchen …",
"Newest first" : "Neueste zuerst",
"Oldest first" : "Älteste zuerst",
"Failed to restore thread" : "Thema konnte nicht wiederhergestellt werden",
"Failed to restore reply" : "Antwort konnte nicht wiederhergestellt werden",
"Create role" : "Rolle erstellen",
"Edit role" : "Rolle bearbeiten",
"Configure role permissions and category access" : "Rollenberechtigungen und Kategoriezugriff konfigurieren",
@@ -562,6 +574,7 @@ OC.L10N.register(
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "Gastbenutzer können erst dann auf das Forum zugreifen, wenn der Gastzugriff in den Forumseinstellungen aktiviert ist.",
"Go to forum settings" : "Zu den Foreneinstellungen gehen",
"Default role cannot moderate categories" : "Die Standardrolle darf Kategorien nicht moderieren",
"Failed to save role" : "Rolle konnte nicht gespeichert werden",
"Role management" : "Rollenverwaltung",
"Create and manage forum roles and permissions" : "Forumsrollen und -berechtigungen erstellen und verwalten",
"Loading roles …" : "Lade Rollen …",
@@ -581,6 +594,7 @@ OC.L10N.register(
"No teams found" : "Keine Teams gefunden",
"Members" : "Mitglieder",
"No Nextcloud Teams are available" : "Keine Nextcloud Teams verfügbar",
"Failed to delete role" : "Rolle konnte nicht gelöscht werden",
"Edit team" : "Team bearbeiten",
"Configure category permissions for this team" : "Kategorieberechtigungen für dieses Team verwalten",
"Error loading team" : "Fehler beim Laden des Teams",
@@ -597,6 +611,7 @@ OC.L10N.register(
"No roles" : "Keine Rollen",
"Select roles" : "Rollen auswählen",
"Edit roles" : "Rollen bearbeiten",
"Edit account roles" : "Kontenrollen bearbeiten"
"Edit account roles" : "Kontenrollen bearbeiten",
"Failed to save roles" : "Rollen konnten nicht gespeichert werden"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -169,6 +169,7 @@
"Lower numbers appear first" : "Niedrigere Zahlen erscheinen zuerst",
"Create" : "Erstellen",
"Update" : "Aktualisieren",
"Failed to save header" : "Überschrift konnte nicht gespeichert werden",
"Forum setup required" : "Einrichtung des Forums erforderlich",
"Select the accounts that should have the forum admin role." : "Konten auswählen, die die Rolle der Forum-Administration übernehmen sollen.",
"Forum admin accounts:" : "Forum-Administrationskonten:",
@@ -257,6 +258,8 @@
"Neither (disabled)" : "Weder noch (deaktiviert)",
"Insert" : "Einfügen",
"Failed to load templates" : "Vorlagen konnten nicht geladen werden",
"Failed to save template" : "Vorlage konnte nicht gespeichert werden",
"Failed to delete template" : "Vorlage konnte nicht gelöscht werden",
"Views" : "Ansichten",
"Title" : "Titel",
"Enter thread title …" : "Titel des Themas eingeben …",
@@ -367,6 +370,7 @@
"Thread deleted" : "Thema gelöscht",
"Reply deleted" : "Antwort gelöscht",
"Failed to delete reply" : "Antwort konnte nicht gelöscht werden",
"Failed to submit reply" : "Antwort konnte nicht übermittelt werden",
"Failed to update thread lock status" : "Themen-Sperrstatus konnte nicht aktualisiert werden",
"Failed to update thread pin status" : "Themen-Anheftestatus konnte nicht aktualisiert werden",
"Failed to update subscription" : "Das Abonnement konnte nicht aktualisiert werden",
@@ -427,6 +431,9 @@
"Enabled" : "Aktiviert",
"Parse inner content" : "Inneren Inhalt analysieren",
"If enabled, BBCode tags inside this tag will also be parsed" : "Wenn aktiviert, werden auch BBCode-Schnipsel innerhalb dieses Schnipsels analysiert.",
"Failed to save BBCode" : "BBCode konnte nicht gespeichert werden",
"Failed to toggle BBCode" : "BBCode konnte nicht umgeschaltet werden",
"Failed to delete BBCode" : "BBCode konnte nicht gelöscht werden",
"Create category" : "Kategorie erstellen",
"Edit category" : "Kategorie bearbeiten",
"Configure category details" : "Kategoriedetails konfigurieren",
@@ -454,6 +461,7 @@
"Preview" : "Vorschau",
"Hide subcategories on category card" : "Unterkategorien auf der Kategoriekarte ausblenden",
"When enabled, child categories will not appear as links on this category's card on the home page" : "Wenn diese Option aktiviert ist, werden Unterkategorien nicht als Links auf der Karte dieser Kategorie auf der Startseite angezeigt",
"Failed to save category" : "Kategorie konnte nicht gespeichert werden",
"Manage forum categories and organization" : "Die Kategorien und die Organisation des Forums verwalten",
"Error loading categories" : "Kategorien laden fehlgeschlagen",
"No categories in this header" : "Keine Kategorien in dieser Überschrift",
@@ -480,6 +488,8 @@
"-- Select a header --" : "-- Eine Überschrift auswählen --",
"Move up" : "Nach oben verschieben",
"Move down" : "Nach unten verschieben",
"Failed to delete category" : "Kategorie konnte nicht gelöscht werden",
"Failed to delete header" : "Überschrift konnte nicht gelöscht werden",
"Management dashboard" : "Verwaltungs-Dashboard",
"Overview of forum activity and statistics" : "Übersicht der Forenaktivitäten und Statistiken",
"Loading statistics …" : "Lade Statistiken …",
@@ -525,6 +535,8 @@
"Search deleted content …" : "Gelöschten Inhalt suchen …",
"Newest first" : "Neueste zuerst",
"Oldest first" : "Älteste zuerst",
"Failed to restore thread" : "Thema konnte nicht wiederhergestellt werden",
"Failed to restore reply" : "Antwort konnte nicht wiederhergestellt werden",
"Create role" : "Rolle erstellen",
"Edit role" : "Rolle bearbeiten",
"Configure role permissions and category access" : "Rollenberechtigungen und Kategoriezugriff konfigurieren",
@@ -560,6 +572,7 @@
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "Gastbenutzer können erst dann auf das Forum zugreifen, wenn der Gastzugriff in den Forumseinstellungen aktiviert ist.",
"Go to forum settings" : "Zu den Foreneinstellungen gehen",
"Default role cannot moderate categories" : "Die Standardrolle darf Kategorien nicht moderieren",
"Failed to save role" : "Rolle konnte nicht gespeichert werden",
"Role management" : "Rollenverwaltung",
"Create and manage forum roles and permissions" : "Forumsrollen und -berechtigungen erstellen und verwalten",
"Loading roles …" : "Lade Rollen …",
@@ -579,6 +592,7 @@
"No teams found" : "Keine Teams gefunden",
"Members" : "Mitglieder",
"No Nextcloud Teams are available" : "Keine Nextcloud Teams verfügbar",
"Failed to delete role" : "Rolle konnte nicht gelöscht werden",
"Edit team" : "Team bearbeiten",
"Configure category permissions for this team" : "Kategorieberechtigungen für dieses Team verwalten",
"Error loading team" : "Fehler beim Laden des Teams",
@@ -595,6 +609,7 @@
"No roles" : "Keine Rollen",
"Select roles" : "Rollen auswählen",
"Edit roles" : "Rollen bearbeiten",
"Edit account roles" : "Kontenrollen bearbeiten"
"Edit account roles" : "Kontenrollen bearbeiten",
"Failed to save roles" : "Rollen konnten nicht gespeichert werden"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -171,6 +171,7 @@ OC.L10N.register(
"Lower numbers appear first" : "Niedrigere Zahlen erscheinen zuerst",
"Create" : "Erstellen",
"Update" : "Aktualisieren",
"Failed to save header" : "Überschrift konnte nicht gespeichert werden",
"Forum setup required" : "Einrichtung des Forums erforderlich",
"Select the accounts that should have the forum admin role." : "Konten auswählen, die die Rolle der Forum-Administration übernehmen sollen.",
"Forum admin accounts:" : "Forum-Administrationskonten:",
@@ -259,6 +260,8 @@ OC.L10N.register(
"Neither (disabled)" : "Weder noch (deaktiviert)",
"Insert" : "Einfügen",
"Failed to load templates" : "Vorlagen konnten nicht geladen werden",
"Failed to save template" : "Vorlage konnte nicht gespeichert werden",
"Failed to delete template" : "Vorlage konnte nicht gelöscht werden",
"Views" : "Ansichten",
"Title" : "Titel",
"Enter thread title …" : "Titel des Themas eingeben …",
@@ -369,6 +372,7 @@ OC.L10N.register(
"Thread deleted" : "Thema gelöscht",
"Reply deleted" : "Antwort gelöscht",
"Failed to delete reply" : "Antwort konnte nicht gelöscht werden",
"Failed to submit reply" : "Antwort konnte nicht übermittelt werden",
"Failed to update thread lock status" : "Themen-Sperrstatus konnte nicht aktualisiert werden",
"Failed to update thread pin status" : "Themen-Anheftestatus konnte nicht aktualisiert werden",
"Failed to update subscription" : "Das Abonnement konnte nicht aktualisiert werden",
@@ -429,6 +433,9 @@ OC.L10N.register(
"Enabled" : "Aktiviert",
"Parse inner content" : "Inneren Inhalt analysieren",
"If enabled, BBCode tags inside this tag will also be parsed" : "Wenn aktiviert, werden auch BBCode-Schnipsel innerhalb dieses Schnipsels analysiert.",
"Failed to save BBCode" : "BBCode konnte nicht gespeichert werden",
"Failed to toggle BBCode" : "BBCode konnte nicht umgeschaltet werden",
"Failed to delete BBCode" : "BBCode konnte nicht gelöscht werden",
"Create category" : "Kategorie erstellen",
"Edit category" : "Kategorie bearbeiten",
"Configure category details" : "Kategoriedetails konfigurieren",
@@ -456,6 +463,7 @@ OC.L10N.register(
"Preview" : "Vorschau",
"Hide subcategories on category card" : "Unterkategorien auf der Kategoriekarte ausblenden",
"When enabled, child categories will not appear as links on this category's card on the home page" : "Wenn diese Option aktiviert ist, werden Unterkategorien nicht als Links auf der Karte dieser Kategorie auf der Startseite angezeigt",
"Failed to save category" : "Kategorie konnte nicht gespeichert werden",
"Manage forum categories and organization" : "Die Kategorien und die Organisation des Forums verwalten",
"Error loading categories" : "Kategorien laden fehlgeschlagen",
"No categories in this header" : "Keine Kategorien in dieser Überschrift",
@@ -482,6 +490,8 @@ OC.L10N.register(
"-- Select a header --" : "-- Eine Überschrift auswählen --",
"Move up" : "Nach oben verschieben",
"Move down" : "Nach unten verschieben",
"Failed to delete category" : "Kategorie konnte nicht gelöscht werden",
"Failed to delete header" : "Überschrift konnte nicht gelöscht werden",
"Management dashboard" : "Verwaltungs-Dashboard",
"Overview of forum activity and statistics" : "Übersicht der Forenaktivitäten und Statistiken",
"Loading statistics …" : "Lade Statistiken …",
@@ -527,6 +537,8 @@ OC.L10N.register(
"Search deleted content …" : "Gelöschten Inhalt suchen …",
"Newest first" : "Neueste zuerst",
"Oldest first" : "Älteste zuerst",
"Failed to restore thread" : "Thema konnte nicht wiederhergestellt werden",
"Failed to restore reply" : "Antwort konnte nicht wiederhergestellt werden",
"Create role" : "Rolle erstellen",
"Edit role" : "Rolle bearbeiten",
"Configure role permissions and category access" : "Rollenberechtigungen und Kategoriezugriff konfigurieren",
@@ -562,6 +574,7 @@ OC.L10N.register(
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "Gastbenutzer können erst dann auf das Forum zugreifen, wenn der Gastzugriff in den Forumseinstellungen aktiviert ist.",
"Go to forum settings" : "Zu den Foreneinstellungen gehen",
"Default role cannot moderate categories" : "Die Standardrolle darf Kategorien nicht moderieren",
"Failed to save role" : "Rolle konnte nicht gespeichert werden",
"Role management" : "Rollenverwaltung",
"Create and manage forum roles and permissions" : "Forumsrollen und -berechtigungen erstellen und verwalten",
"Loading roles …" : "Lade Rollen …",
@@ -581,6 +594,7 @@ OC.L10N.register(
"No teams found" : "Keine Teams gefunden",
"Members" : "Mitglieder",
"No Nextcloud Teams are available" : "Keine Nextcloud Teams verfügbar",
"Failed to delete role" : "Rolle konnte nicht gelöscht werden",
"Edit team" : "Team bearbeiten",
"Configure category permissions for this team" : "Kategorieberechtigungen für dieses Team verwalten",
"Error loading team" : "Fehler beim Laden des Teams",
@@ -597,6 +611,7 @@ OC.L10N.register(
"No roles" : "Keine Rollen",
"Select roles" : "Rollen auswählen",
"Edit roles" : "Rollen bearbeiten",
"Edit account roles" : "Kontenrollen bearbeiten"
"Edit account roles" : "Kontenrollen bearbeiten",
"Failed to save roles" : "Rollen konnten nicht gespeichert werden"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -169,6 +169,7 @@
"Lower numbers appear first" : "Niedrigere Zahlen erscheinen zuerst",
"Create" : "Erstellen",
"Update" : "Aktualisieren",
"Failed to save header" : "Überschrift konnte nicht gespeichert werden",
"Forum setup required" : "Einrichtung des Forums erforderlich",
"Select the accounts that should have the forum admin role." : "Konten auswählen, die die Rolle der Forum-Administration übernehmen sollen.",
"Forum admin accounts:" : "Forum-Administrationskonten:",
@@ -257,6 +258,8 @@
"Neither (disabled)" : "Weder noch (deaktiviert)",
"Insert" : "Einfügen",
"Failed to load templates" : "Vorlagen konnten nicht geladen werden",
"Failed to save template" : "Vorlage konnte nicht gespeichert werden",
"Failed to delete template" : "Vorlage konnte nicht gelöscht werden",
"Views" : "Ansichten",
"Title" : "Titel",
"Enter thread title …" : "Titel des Themas eingeben …",
@@ -367,6 +370,7 @@
"Thread deleted" : "Thema gelöscht",
"Reply deleted" : "Antwort gelöscht",
"Failed to delete reply" : "Antwort konnte nicht gelöscht werden",
"Failed to submit reply" : "Antwort konnte nicht übermittelt werden",
"Failed to update thread lock status" : "Themen-Sperrstatus konnte nicht aktualisiert werden",
"Failed to update thread pin status" : "Themen-Anheftestatus konnte nicht aktualisiert werden",
"Failed to update subscription" : "Das Abonnement konnte nicht aktualisiert werden",
@@ -427,6 +431,9 @@
"Enabled" : "Aktiviert",
"Parse inner content" : "Inneren Inhalt analysieren",
"If enabled, BBCode tags inside this tag will also be parsed" : "Wenn aktiviert, werden auch BBCode-Schnipsel innerhalb dieses Schnipsels analysiert.",
"Failed to save BBCode" : "BBCode konnte nicht gespeichert werden",
"Failed to toggle BBCode" : "BBCode konnte nicht umgeschaltet werden",
"Failed to delete BBCode" : "BBCode konnte nicht gelöscht werden",
"Create category" : "Kategorie erstellen",
"Edit category" : "Kategorie bearbeiten",
"Configure category details" : "Kategoriedetails konfigurieren",
@@ -454,6 +461,7 @@
"Preview" : "Vorschau",
"Hide subcategories on category card" : "Unterkategorien auf der Kategoriekarte ausblenden",
"When enabled, child categories will not appear as links on this category's card on the home page" : "Wenn diese Option aktiviert ist, werden Unterkategorien nicht als Links auf der Karte dieser Kategorie auf der Startseite angezeigt",
"Failed to save category" : "Kategorie konnte nicht gespeichert werden",
"Manage forum categories and organization" : "Die Kategorien und die Organisation des Forums verwalten",
"Error loading categories" : "Kategorien laden fehlgeschlagen",
"No categories in this header" : "Keine Kategorien in dieser Überschrift",
@@ -480,6 +488,8 @@
"-- Select a header --" : "-- Eine Überschrift auswählen --",
"Move up" : "Nach oben verschieben",
"Move down" : "Nach unten verschieben",
"Failed to delete category" : "Kategorie konnte nicht gelöscht werden",
"Failed to delete header" : "Überschrift konnte nicht gelöscht werden",
"Management dashboard" : "Verwaltungs-Dashboard",
"Overview of forum activity and statistics" : "Übersicht der Forenaktivitäten und Statistiken",
"Loading statistics …" : "Lade Statistiken …",
@@ -525,6 +535,8 @@
"Search deleted content …" : "Gelöschten Inhalt suchen …",
"Newest first" : "Neueste zuerst",
"Oldest first" : "Älteste zuerst",
"Failed to restore thread" : "Thema konnte nicht wiederhergestellt werden",
"Failed to restore reply" : "Antwort konnte nicht wiederhergestellt werden",
"Create role" : "Rolle erstellen",
"Edit role" : "Rolle bearbeiten",
"Configure role permissions and category access" : "Rollenberechtigungen und Kategoriezugriff konfigurieren",
@@ -560,6 +572,7 @@
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "Gastbenutzer können erst dann auf das Forum zugreifen, wenn der Gastzugriff in den Forumseinstellungen aktiviert ist.",
"Go to forum settings" : "Zu den Foreneinstellungen gehen",
"Default role cannot moderate categories" : "Die Standardrolle darf Kategorien nicht moderieren",
"Failed to save role" : "Rolle konnte nicht gespeichert werden",
"Role management" : "Rollenverwaltung",
"Create and manage forum roles and permissions" : "Forumsrollen und -berechtigungen erstellen und verwalten",
"Loading roles …" : "Lade Rollen …",
@@ -579,6 +592,7 @@
"No teams found" : "Keine Teams gefunden",
"Members" : "Mitglieder",
"No Nextcloud Teams are available" : "Keine Nextcloud Teams verfügbar",
"Failed to delete role" : "Rolle konnte nicht gelöscht werden",
"Edit team" : "Team bearbeiten",
"Configure category permissions for this team" : "Kategorieberechtigungen für dieses Team verwalten",
"Error loading team" : "Fehler beim Laden des Teams",
@@ -595,6 +609,7 @@
"No roles" : "Keine Rollen",
"Select roles" : "Rollen auswählen",
"Edit roles" : "Rollen bearbeiten",
"Edit account roles" : "Kontenrollen bearbeiten"
"Edit account roles" : "Kontenrollen bearbeiten",
"Failed to save roles" : "Rollen konnten nicht gespeichert werden"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -171,6 +171,7 @@ OC.L10N.register(
"Lower numbers appear first" : "Lower numbers appear first",
"Create" : "Create",
"Update" : "Update",
"Failed to save header" : "Failed to save header",
"Forum setup required" : "Forum setup required",
"Select the accounts that should have the forum admin role." : "Select the accounts that should have the forum admin role.",
"Forum admin accounts:" : "Forum admin accounts:",
@@ -259,6 +260,8 @@ OC.L10N.register(
"Neither (disabled)" : "Neither (disabled)",
"Insert" : "Insert",
"Failed to load templates" : "Failed to load templates",
"Failed to save template" : "Failed to save template",
"Failed to delete template" : "Failed to delete template",
"Views" : "Views",
"Title" : "Title",
"Enter thread title …" : "Enter thread title …",
@@ -369,6 +372,7 @@ OC.L10N.register(
"Thread deleted" : "Thread deleted",
"Reply deleted" : "Reply deleted",
"Failed to delete reply" : "Failed to delete reply",
"Failed to submit reply" : "Failed to submit reply",
"Failed to update thread lock status" : "Failed to update thread lock status",
"Failed to update thread pin status" : "Failed to update thread pin status",
"Failed to update subscription" : "Failed to update subscription",
@@ -429,6 +433,9 @@ OC.L10N.register(
"Enabled" : "Enabled",
"Parse inner content" : "Parse inner content",
"If enabled, BBCode tags inside this tag will also be parsed" : "If enabled, BBCode tags inside this tag will also be parsed",
"Failed to save BBCode" : "Failed to save BBCode",
"Failed to toggle BBCode" : "Failed to toggle BBCode",
"Failed to delete BBCode" : "Failed to delete BBCode",
"Create category" : "Create category",
"Edit category" : "Edit category",
"Configure category details" : "Configure category details",
@@ -456,6 +463,7 @@ OC.L10N.register(
"Preview" : "Preview",
"Hide subcategories on category card" : "Hide subcategories on category card",
"When enabled, child categories will not appear as links on this category's card on the home page" : "When enabled, child categories will not appear as links on this category's card on the home page",
"Failed to save category" : "Failed to save category",
"Manage forum categories and organization" : "Manage forum categories and organization",
"Error loading categories" : "Error loading categories",
"No categories in this header" : "No categories in this header",
@@ -482,6 +490,8 @@ OC.L10N.register(
"-- Select a header --" : "-- Select a header --",
"Move up" : "Move up",
"Move down" : "Move down",
"Failed to delete category" : "Failed to delete category",
"Failed to delete header" : "Failed to delete header",
"Management dashboard" : "Management dashboard",
"Overview of forum activity and statistics" : "Overview of forum activity and statistics",
"Loading statistics …" : "Loading statistics …",
@@ -527,6 +537,8 @@ OC.L10N.register(
"Search deleted content …" : "Search deleted content …",
"Newest first" : "Newest first",
"Oldest first" : "Oldest first",
"Failed to restore thread" : "Failed to restore thread",
"Failed to restore reply" : "Failed to restore reply",
"Create role" : "Create role",
"Edit role" : "Edit role",
"Configure role permissions and category access" : "Configure role permissions and category access",
@@ -562,6 +574,7 @@ OC.L10N.register(
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "Guest users will not be able to access the forum until guest access is enabled in the forum settings.",
"Go to forum settings" : "Go to forum settings",
"Default role cannot moderate categories" : "Default role cannot moderate categories",
"Failed to save role" : "Failed to save role",
"Role management" : "Role management",
"Create and manage forum roles and permissions" : "Create and manage forum roles and permissions",
"Loading roles …" : "Loading roles …",
@@ -581,6 +594,7 @@ OC.L10N.register(
"No teams found" : "No teams found",
"Members" : "Members",
"No Nextcloud Teams are available" : "No Nextcloud Teams are available",
"Failed to delete role" : "Failed to delete role",
"Edit team" : "Edit team",
"Configure category permissions for this team" : "Configure category permissions for this team",
"Error loading team" : "Error loading team",
@@ -597,6 +611,7 @@ OC.L10N.register(
"No roles" : "No roles",
"Select roles" : "Select roles",
"Edit roles" : "Edit roles",
"Edit account roles" : "Edit account roles"
"Edit account roles" : "Edit account roles",
"Failed to save roles" : "Failed to save roles"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -169,6 +169,7 @@
"Lower numbers appear first" : "Lower numbers appear first",
"Create" : "Create",
"Update" : "Update",
"Failed to save header" : "Failed to save header",
"Forum setup required" : "Forum setup required",
"Select the accounts that should have the forum admin role." : "Select the accounts that should have the forum admin role.",
"Forum admin accounts:" : "Forum admin accounts:",
@@ -257,6 +258,8 @@
"Neither (disabled)" : "Neither (disabled)",
"Insert" : "Insert",
"Failed to load templates" : "Failed to load templates",
"Failed to save template" : "Failed to save template",
"Failed to delete template" : "Failed to delete template",
"Views" : "Views",
"Title" : "Title",
"Enter thread title …" : "Enter thread title …",
@@ -367,6 +370,7 @@
"Thread deleted" : "Thread deleted",
"Reply deleted" : "Reply deleted",
"Failed to delete reply" : "Failed to delete reply",
"Failed to submit reply" : "Failed to submit reply",
"Failed to update thread lock status" : "Failed to update thread lock status",
"Failed to update thread pin status" : "Failed to update thread pin status",
"Failed to update subscription" : "Failed to update subscription",
@@ -427,6 +431,9 @@
"Enabled" : "Enabled",
"Parse inner content" : "Parse inner content",
"If enabled, BBCode tags inside this tag will also be parsed" : "If enabled, BBCode tags inside this tag will also be parsed",
"Failed to save BBCode" : "Failed to save BBCode",
"Failed to toggle BBCode" : "Failed to toggle BBCode",
"Failed to delete BBCode" : "Failed to delete BBCode",
"Create category" : "Create category",
"Edit category" : "Edit category",
"Configure category details" : "Configure category details",
@@ -454,6 +461,7 @@
"Preview" : "Preview",
"Hide subcategories on category card" : "Hide subcategories on category card",
"When enabled, child categories will not appear as links on this category's card on the home page" : "When enabled, child categories will not appear as links on this category's card on the home page",
"Failed to save category" : "Failed to save category",
"Manage forum categories and organization" : "Manage forum categories and organization",
"Error loading categories" : "Error loading categories",
"No categories in this header" : "No categories in this header",
@@ -480,6 +488,8 @@
"-- Select a header --" : "-- Select a header --",
"Move up" : "Move up",
"Move down" : "Move down",
"Failed to delete category" : "Failed to delete category",
"Failed to delete header" : "Failed to delete header",
"Management dashboard" : "Management dashboard",
"Overview of forum activity and statistics" : "Overview of forum activity and statistics",
"Loading statistics …" : "Loading statistics …",
@@ -525,6 +535,8 @@
"Search deleted content …" : "Search deleted content …",
"Newest first" : "Newest first",
"Oldest first" : "Oldest first",
"Failed to restore thread" : "Failed to restore thread",
"Failed to restore reply" : "Failed to restore reply",
"Create role" : "Create role",
"Edit role" : "Edit role",
"Configure role permissions and category access" : "Configure role permissions and category access",
@@ -560,6 +572,7 @@
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "Guest users will not be able to access the forum until guest access is enabled in the forum settings.",
"Go to forum settings" : "Go to forum settings",
"Default role cannot moderate categories" : "Default role cannot moderate categories",
"Failed to save role" : "Failed to save role",
"Role management" : "Role management",
"Create and manage forum roles and permissions" : "Create and manage forum roles and permissions",
"Loading roles …" : "Loading roles …",
@@ -579,6 +592,7 @@
"No teams found" : "No teams found",
"Members" : "Members",
"No Nextcloud Teams are available" : "No Nextcloud Teams are available",
"Failed to delete role" : "Failed to delete role",
"Edit team" : "Edit team",
"Configure category permissions for this team" : "Configure category permissions for this team",
"Error loading team" : "Error loading team",
@@ -595,6 +609,7 @@
"No roles" : "No roles",
"Select roles" : "Select roles",
"Edit roles" : "Edit roles",
"Edit account roles" : "Edit account roles"
"Edit account roles" : "Edit account roles",
"Failed to save roles" : "Failed to save roles"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -171,6 +171,7 @@ OC.L10N.register(
"Lower numbers appear first" : "Feictear uimhreacha níos ísle ar dtús",
"Create" : "Cruthaigh",
"Update" : "Nuashonrú",
"Failed to save header" : "Theip ar an gceannteideal a shábháil",
"Forum setup required" : "Socrú fóraim ag teastáil",
"Select the accounts that should have the forum admin role." : "Roghnaigh na cuntais ar cheart dóibh ról riarthóra an fhóraim a bheith acu.",
"Forum admin accounts:" : "Cuntais riarthóra an fhóraim:",
@@ -259,6 +260,8 @@ OC.L10N.register(
"Neither (disabled)" : "Ceachtar acu (míchumasaithe)",
"Insert" : "cuir isteach",
"Failed to load templates" : "Theip ar na teimpléid a lódáil",
"Failed to save template" : "Theip ar an teimpléad a shábháil",
"Failed to delete template" : "Theip ar an teimpléad a scriosadh",
"Views" : "Radhairc",
"Title" : "Teideal",
"Enter thread title …" : "Cuir isteach teideal an tsnáithe …",
@@ -369,6 +372,7 @@ OC.L10N.register(
"Thread deleted" : "Scriosadh an snáithe",
"Reply deleted" : "Scriosadh an freagra",
"Failed to delete reply" : "Theip ar an bhfreagra a scriosadh",
"Failed to submit reply" : "Theip ar an freagra a chur isteach",
"Failed to update thread lock status" : "Theip ar stádas glasála snáithe a nuashonrú",
"Failed to update thread pin status" : "Theip ar stádas bioráin an snáithe a nuashonrú",
"Failed to update subscription" : "Theip ar an síntiús a nuashonrú",
@@ -429,6 +433,9 @@ OC.L10N.register(
"Enabled" : "Cumasaithe",
"Parse inner content" : "Parsáil an t-ábhar inmheánach",
"If enabled, BBCode tags inside this tag will also be parsed" : "Má tá sé cumasaithe, déanfar clibeanna BBCode laistigh den chlib seo a pharsáil freisin.",
"Failed to save BBCode" : "Theip ar BBCode a shábháil",
"Failed to toggle BBCode" : "Theip ar BBCode a athrú",
"Failed to delete BBCode" : "Theip ar BBCode a scriosadh",
"Create category" : "Cruthaigh catagóir",
"Edit category" : "Cuir catagóir in eagar",
"Configure category details" : "Cumraigh sonraí na catagóire",
@@ -456,6 +463,7 @@ OC.L10N.register(
"Preview" : "Réamhamharc",
"Hide subcategories on category card" : "Folaigh fochatagóirí ar chárta catagóire",
"When enabled, child categories will not appear as links on this category's card on the home page" : "Nuair a bheidh sé cumasaithe, ní bheidh catagóirí linbh le feiceáil mar naisc ar chárta na catagóire seo ar an leathanach baile.",
"Failed to save category" : "Theip ar an gcatagóir a shábháil",
"Manage forum categories and organization" : "Bainistigh catagóirí agus eagrú an fhóraim",
"Error loading categories" : "Earráid ag luchtú catagóirí",
"No categories in this header" : "Gan aon chatagóirí sa cheanntásc seo",
@@ -482,6 +490,8 @@ OC.L10N.register(
"-- Select a header --" : "-- Roghnaigh ceanntásc --",
"Move up" : "Éirí suas",
"Move down" : "Bog síos",
"Failed to delete category" : "Theip ar an gcatagóir a scriosadh",
"Failed to delete header" : "Theip ar an gceannteideal a scriosadh",
"Management dashboard" : "Painéal bainistíochta",
"Overview of forum activity and statistics" : "Forbhreathnú ar ghníomhaíocht agus staitisticí an fhóraim",
"Loading statistics …" : "Staitisticí á lódáil …",
@@ -527,6 +537,8 @@ OC.L10N.register(
"Search deleted content …" : "Cuardaigh ábhar scriosta …",
"Newest first" : "Is nua ar dtús",
"Oldest first" : "Is sine ar dtús",
"Failed to restore thread" : "Theip ar an snáithe a athbhunú",
"Failed to restore reply" : "Theip ar an bhfreagra a athbhunú",
"Create role" : "Cruthaigh ról",
"Edit role" : "Cuir ról in eagar",
"Configure role permissions and category access" : "Cumraigh ceadanna róil agus rochtain catagóire",
@@ -562,6 +574,7 @@ OC.L10N.register(
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "Ní bheidh úsáideoirí aoi in ann rochtain a fháil ar an bhfóram go dtí go mbeidh rochtain aoi cumasaithe i socruithe an fhóraim.",
"Go to forum settings" : "Téigh chuig socruithe an fhóraim",
"Default role cannot moderate categories" : "Ní féidir le ról réamhshocraithe catagóirí a mhodhnú",
"Failed to save role" : "Theip ar an ról a shábháil",
"Role management" : "Bainistíocht rólanna",
"Create and manage forum roles and permissions" : "Róil agus ceadanna fóraim a chruthú agus a bhainistiú",
"Loading roles …" : "Ag lódáil róil …",
@@ -581,6 +594,7 @@ OC.L10N.register(
"No teams found" : "Níor aimsíodh foirne",
"Members" : "Baill",
"No Nextcloud Teams are available" : "Níl aon Fhoireann Nextcloud ar fáil",
"Failed to delete role" : "Theip ar an ról a scriosadh",
"Edit team" : "Foireann a chur in eagar",
"Configure category permissions for this team" : "Cumraigh ceadanna catagóire don fhoireann seo",
"Error loading team" : "Earráid ag lódáil na foirne",
@@ -597,6 +611,7 @@ OC.L10N.register(
"No roles" : "Gan róil",
"Select roles" : "Roghnaigh róil",
"Edit roles" : "Cuir róil in eagar",
"Edit account roles" : "Cuir róil chuntais in eagar"
"Edit account roles" : "Cuir róil chuntais in eagar",
"Failed to save roles" : "Theip ar róil a shábháil"
},
"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);");

View File

@@ -169,6 +169,7 @@
"Lower numbers appear first" : "Feictear uimhreacha níos ísle ar dtús",
"Create" : "Cruthaigh",
"Update" : "Nuashonrú",
"Failed to save header" : "Theip ar an gceannteideal a shábháil",
"Forum setup required" : "Socrú fóraim ag teastáil",
"Select the accounts that should have the forum admin role." : "Roghnaigh na cuntais ar cheart dóibh ról riarthóra an fhóraim a bheith acu.",
"Forum admin accounts:" : "Cuntais riarthóra an fhóraim:",
@@ -257,6 +258,8 @@
"Neither (disabled)" : "Ceachtar acu (míchumasaithe)",
"Insert" : "cuir isteach",
"Failed to load templates" : "Theip ar na teimpléid a lódáil",
"Failed to save template" : "Theip ar an teimpléad a shábháil",
"Failed to delete template" : "Theip ar an teimpléad a scriosadh",
"Views" : "Radhairc",
"Title" : "Teideal",
"Enter thread title …" : "Cuir isteach teideal an tsnáithe …",
@@ -367,6 +370,7 @@
"Thread deleted" : "Scriosadh an snáithe",
"Reply deleted" : "Scriosadh an freagra",
"Failed to delete reply" : "Theip ar an bhfreagra a scriosadh",
"Failed to submit reply" : "Theip ar an freagra a chur isteach",
"Failed to update thread lock status" : "Theip ar stádas glasála snáithe a nuashonrú",
"Failed to update thread pin status" : "Theip ar stádas bioráin an snáithe a nuashonrú",
"Failed to update subscription" : "Theip ar an síntiús a nuashonrú",
@@ -427,6 +431,9 @@
"Enabled" : "Cumasaithe",
"Parse inner content" : "Parsáil an t-ábhar inmheánach",
"If enabled, BBCode tags inside this tag will also be parsed" : "Má tá sé cumasaithe, déanfar clibeanna BBCode laistigh den chlib seo a pharsáil freisin.",
"Failed to save BBCode" : "Theip ar BBCode a shábháil",
"Failed to toggle BBCode" : "Theip ar BBCode a athrú",
"Failed to delete BBCode" : "Theip ar BBCode a scriosadh",
"Create category" : "Cruthaigh catagóir",
"Edit category" : "Cuir catagóir in eagar",
"Configure category details" : "Cumraigh sonraí na catagóire",
@@ -454,6 +461,7 @@
"Preview" : "Réamhamharc",
"Hide subcategories on category card" : "Folaigh fochatagóirí ar chárta catagóire",
"When enabled, child categories will not appear as links on this category's card on the home page" : "Nuair a bheidh sé cumasaithe, ní bheidh catagóirí linbh le feiceáil mar naisc ar chárta na catagóire seo ar an leathanach baile.",
"Failed to save category" : "Theip ar an gcatagóir a shábháil",
"Manage forum categories and organization" : "Bainistigh catagóirí agus eagrú an fhóraim",
"Error loading categories" : "Earráid ag luchtú catagóirí",
"No categories in this header" : "Gan aon chatagóirí sa cheanntásc seo",
@@ -480,6 +488,8 @@
"-- Select a header --" : "-- Roghnaigh ceanntásc --",
"Move up" : "Éirí suas",
"Move down" : "Bog síos",
"Failed to delete category" : "Theip ar an gcatagóir a scriosadh",
"Failed to delete header" : "Theip ar an gceannteideal a scriosadh",
"Management dashboard" : "Painéal bainistíochta",
"Overview of forum activity and statistics" : "Forbhreathnú ar ghníomhaíocht agus staitisticí an fhóraim",
"Loading statistics …" : "Staitisticí á lódáil …",
@@ -525,6 +535,8 @@
"Search deleted content …" : "Cuardaigh ábhar scriosta …",
"Newest first" : "Is nua ar dtús",
"Oldest first" : "Is sine ar dtús",
"Failed to restore thread" : "Theip ar an snáithe a athbhunú",
"Failed to restore reply" : "Theip ar an bhfreagra a athbhunú",
"Create role" : "Cruthaigh ról",
"Edit role" : "Cuir ról in eagar",
"Configure role permissions and category access" : "Cumraigh ceadanna róil agus rochtain catagóire",
@@ -560,6 +572,7 @@
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "Ní bheidh úsáideoirí aoi in ann rochtain a fháil ar an bhfóram go dtí go mbeidh rochtain aoi cumasaithe i socruithe an fhóraim.",
"Go to forum settings" : "Téigh chuig socruithe an fhóraim",
"Default role cannot moderate categories" : "Ní féidir le ról réamhshocraithe catagóirí a mhodhnú",
"Failed to save role" : "Theip ar an ról a shábháil",
"Role management" : "Bainistíocht rólanna",
"Create and manage forum roles and permissions" : "Róil agus ceadanna fóraim a chruthú agus a bhainistiú",
"Loading roles …" : "Ag lódáil róil …",
@@ -579,6 +592,7 @@
"No teams found" : "Níor aimsíodh foirne",
"Members" : "Baill",
"No Nextcloud Teams are available" : "Níl aon Fhoireann Nextcloud ar fáil",
"Failed to delete role" : "Theip ar an ról a scriosadh",
"Edit team" : "Foireann a chur in eagar",
"Configure category permissions for this team" : "Cumraigh ceadanna catagóire don fhoireann seo",
"Error loading team" : "Earráid ag lódáil na foirne",
@@ -595,6 +609,7 @@
"No roles" : "Gan róil",
"Select roles" : "Roghnaigh róil",
"Edit roles" : "Cuir róil in eagar",
"Edit account roles" : "Cuir róil chuntais in eagar"
"Edit account roles" : "Cuir róil chuntais in eagar",
"Failed to save roles" : "Theip ar róil a shábháil"
},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"
}

View File

@@ -54,6 +54,7 @@ OC.L10N.register(
"Saving draft …" : "Saving draft …",
"Draft saved" : "Draft saved",
"Refresh" : "Refresh",
"Back to {name}" : "{name}-ზე დაბრუნება",
"Error" : "Error",
"Created" : "Created",
"Searching …" : "Searching …",
@@ -66,6 +67,7 @@ OC.L10N.register(
"Edit title" : "Edit title",
"Move thread" : "Move thread",
"Notifications" : "შეტყობინებები",
"Files" : "ფაილები",
"Signature" : "Signature",
"Privacy" : "Privacy",
"Enable" : "Enable",

View File

@@ -52,6 +52,7 @@
"Saving draft …" : "Saving draft …",
"Draft saved" : "Draft saved",
"Refresh" : "Refresh",
"Back to {name}" : "{name}-ზე დაბრუნება",
"Error" : "Error",
"Created" : "Created",
"Searching …" : "Searching …",
@@ -64,6 +65,7 @@
"Edit title" : "Edit title",
"Move thread" : "Move thread",
"Notifications" : "შეტყობინებები",
"Files" : "ფაილები",
"Signature" : "Signature",
"Privacy" : "Privacy",
"Enable" : "Enable",

View File

@@ -1,35 +0,0 @@
OC.L10N.register(
"forum",
{
"Admin" : "Admin",
"User" : "User",
"General" : "Allgemeng",
"Search" : "Sichen",
"Home" : "Doheem",
"Accounts" : "Accounts",
"Collapse" : "Zesumme falen",
"Log in" : "Umellen",
"Upload failed" : "Eropluede feelgeschloen",
"Close" : "Zoumaachen",
"Cancel" : "Cancel",
"Update" : "Update",
"Deleted" : "Geläscht",
"Restore" : "Zrécksetzen",
"Move" : "Verschieben",
"Edit" : "Änneren",
"Delete" : "Läschen",
"Direct link" : "Direkte Link",
"Save" : "Späicheren",
"Name" : "Numm",
"Refresh" : "Opfrëschen",
"Error" : "Fehler",
"by" : "vun",
"Subscribe" : "Umellen",
"Files" : "Dateien",
"Disable" : "Ofschalten",
"Description" : "Beschreiwung",
"Enabled" : "Aktivéiert",
"Reset" : "Zeréck setzen",
"Actions" : "Aktiounen"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,33 +0,0 @@
{ "translations": {
"Admin" : "Admin",
"User" : "User",
"General" : "Allgemeng",
"Search" : "Sichen",
"Home" : "Doheem",
"Accounts" : "Accounts",
"Collapse" : "Zesumme falen",
"Log in" : "Umellen",
"Upload failed" : "Eropluede feelgeschloen",
"Close" : "Zoumaachen",
"Cancel" : "Cancel",
"Update" : "Update",
"Deleted" : "Geläscht",
"Restore" : "Zrécksetzen",
"Move" : "Verschieben",
"Edit" : "Änneren",
"Delete" : "Läschen",
"Direct link" : "Direkte Link",
"Save" : "Späicheren",
"Name" : "Numm",
"Refresh" : "Opfrëschen",
"Error" : "Fehler",
"by" : "vun",
"Subscribe" : "Umellen",
"Files" : "Dateien",
"Disable" : "Ofschalten",
"Description" : "Beschreiwung",
"Enabled" : "Aktivéiert",
"Reset" : "Zeréck setzen",
"Actions" : "Aktiounen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -5,6 +5,7 @@ OC.L10N.register(
"%1$s (Guest)" : "%1$s (Svečias)",
"Admin" : "Administratorius",
"User" : "Naudotojas",
"Guest" : "Svečias",
"General" : "Bendra",
"Support" : "Palaikymas",
"Attachment" : "Priedas",
@@ -51,6 +52,7 @@ OC.L10N.register(
"Back" : "Atgal",
"Edit" : "Taisyti",
"Delete" : "Ištrinti",
"Unread" : "Neskaityta",
"Direct link" : "Tiesioginė nuoroda",
"Direct link copied to clipboard" : "Tiesioginė nuoroda nukopijuota į iškarpinę",
"Save" : "Įrašyti",

View File

@@ -3,6 +3,7 @@
"%1$s (Guest)" : "%1$s (Svečias)",
"Admin" : "Administratorius",
"User" : "Naudotojas",
"Guest" : "Svečias",
"General" : "Bendra",
"Support" : "Palaikymas",
"Attachment" : "Priedas",
@@ -49,6 +50,7 @@
"Back" : "Atgal",
"Edit" : "Taisyti",
"Delete" : "Ištrinti",
"Unread" : "Neskaityta",
"Direct link" : "Tiesioginė nuoroda",
"Direct link copied to clipboard" : "Tiesioginė nuoroda nukopijuota į iškarpinę",
"Save" : "Įrašyti",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -64,7 +64,10 @@ OC.L10N.register(
"Repair Database Initial Data" : "修復資料庫初始資料",
"Rebuild Statistics" : "重建統計資料",
"Recalculate all forum statistics including account post counts, thread counts, and category counters. Use this if statistics appear incorrect or out of sync." : "重新計算所有論壇統計資料,包括帳號發文數、討論串數及分類計數器。若統計資料顯示不正確或未同步,請使用此功能。",
"Account Roles" : "帳號角色",
"Assign forum roles to accounts. This allows you to grant administrative or moderator privileges to specific accounts." : "為帳號指派論壇角色。此功能可讓您授予特定帳號管理員或版主權限。",
"Account ID" : "帳號 ID",
"Enter account ID" : "輸入帳號 ID",
"Role" : "角色",
"Select a role" : "選取角色",
"Assign Role" : "指派角色",
@@ -168,6 +171,7 @@ OC.L10N.register(
"Lower numbers appear first" : "數字由低到高排序",
"Create" : "建立",
"Update" : "更新",
"Failed to save header" : "儲存標題失敗",
"Forum setup required" : "需要設定論壇",
"Select the accounts that should have the forum admin role." : "請選擇應賦予論壇管理員角色的帳號。",
"Forum admin accounts:" : "論壇管理員帳號:",
@@ -234,6 +238,7 @@ OC.L10N.register(
"Submit reply" : "遞交回覆",
"Are you sure you want to discard your reply?" : "您確定您想要放棄回覆?",
"Thread unavailable" : "無法取得討論串",
"Deleted account" : "已刪除的帳號",
"Pinned thread" : "已釘選討論串",
"Locked thread" : "已鎖定討論串",
"Uncategorized" : "未分類",
@@ -255,6 +260,8 @@ OC.L10N.register(
"Neither (disabled)" : "皆非(已停用)",
"Insert" : "插入",
"Failed to load templates" : "載入範本失敗",
"Failed to save template" : "儲存範本失敗",
"Failed to delete template" : "刪除範本失敗",
"Views" : "檢視",
"Title" : "標題",
"Enter thread title …" : "輸入討論串標題……",
@@ -282,6 +289,8 @@ OC.L10N.register(
"Error loading category" : "載入分類時發生錯誤",
"No threads yet" : "尚無討論串",
"Be the first to start a discussion in this category." : "成為第一個在此分類開始討論的人。",
"Subcategories" : "子分類",
"Back to {name}" : "回到 {name}",
"No category ID or slug provided" : "未提供分類 ID 或別名",
"Failed to load threads" : "載入討論串失敗",
"Create New Thread" : "建立新討論串",
@@ -296,7 +305,10 @@ OC.L10N.register(
"Threads ({count})" : "討論串 ({count})",
"Replies ({count})" : "回覆 ({count})",
"No threads" : "無討論串",
"This account has not created any threads yet" : "此帳號尚未建立任何討論串",
"No replies" : "無回覆",
"This account has not written any replies yet" : "此帳號尚未發表任何回覆",
"Failed to load profile" : "載入個人資料失敗",
"Enter search query …" : "輸入搜尋關鍵字……",
"Search in threads" : "在討論串中搜尋",
"Search in replies" : "在回覆中搜尋",
@@ -360,6 +372,7 @@ OC.L10N.register(
"Thread deleted" : "討論串已刪除",
"Reply deleted" : "已刪除回覆",
"Failed to delete reply" : "無法刪除回覆",
"Failed to submit reply" : "遞交回覆失敗",
"Failed to update thread lock status" : "無法更新討論串鎖定狀態",
"Failed to update thread pin status" : "無法更新討論串釘選狀態",
"Failed to update subscription" : "無法更新訂閱",
@@ -420,10 +433,15 @@ OC.L10N.register(
"Enabled" : "已啟用",
"Parse inner content" : "解析內部內容",
"If enabled, BBCode tags inside this tag will also be parsed" : "若啟用,也會解析此標籤內的 BBCode 標籤",
"Failed to save BBCode" : "儲存 BBCode 失敗",
"Failed to toggle BBCode" : "切換 BBCode 失敗",
"Failed to delete BBCode" : "刪除 BBCode 失敗",
"Create category" : "建立分類",
"Edit category" : "編輯分類",
"Configure category details" : "設定分類詳細資訊",
"Basic information" : "基礎資訊",
"Parent" : "上層",
"-- Select a parent --" : "-- 選取上層 --",
"Enter category name" : "輸入分類名稱",
"Slug" : "別名",
"URL-friendly identifier (e.g., \"{slug}\")" : "適合作為 URL 的識別字串(例如「{slug}」)",
@@ -443,6 +461,9 @@ OC.L10N.register(
"Dark text" : "深色文字",
"Light text" : "淺色文字",
"Preview" : "預覽",
"Hide subcategories on category card" : "在分類卡片上隱藏子分類",
"When enabled, child categories will not appear as links on this category's card on the home page" : "啟用後,子分類將不會在首頁的此分類卡片上以連結形式顯示",
"Failed to save category" : "儲存分類失敗",
"Manage forum categories and organization" : "管理論壇分類與組織",
"Error loading categories" : "載入分類時發生錯誤",
"No categories in this header" : "此標題中無分類",
@@ -469,12 +490,15 @@ OC.L10N.register(
"-- Select a header --" : "-- 選取標題 --",
"Move up" : "向上移動",
"Move down" : "向下移動",
"Failed to delete category" : "刪除分類失敗",
"Failed to delete header" : "刪除標題失敗",
"Management dashboard" : "管理儀表板",
"Overview of forum activity and statistics" : "論壇活動與統計資料的概覽",
"Loading statistics …" : "正在載入統計資料……",
"Error loading dashboard" : "載入儀表板時發生錯誤",
"Total statistics" : "總統計資料",
"Recent activity (last 7 days)" : "最近活動(過去 7 天)",
"New accounts" : "新帳號",
"New threads" : "新討論串",
"New replies" : "新回覆",
"Top contributors" : "主要貢獻者",
@@ -486,6 +510,7 @@ OC.L10N.register(
"Loading settings …" : "正在載入設定……",
"Error loading settings" : "載入設定時發生錯誤",
"Appearance" : "外觀",
"Customize how your forum looks to people" : "自訂論壇的顯示方式",
"Forum title" : "論壇標題",
"Displayed at the top of the forum home page" : "顯示在論壇首頁頂部",
"Forum subtitle" : "論壇副標題",
@@ -512,6 +537,8 @@ OC.L10N.register(
"Search deleted content …" : "搜尋已刪除的內容……",
"Newest first" : "新的在前",
"Oldest first" : "舊的在前",
"Failed to restore thread" : "還原討論串失敗",
"Failed to restore reply" : "還原回覆失敗",
"Create role" : "建立角色",
"Edit role" : "編輯角色",
"Configure role permissions and category access" : "設定角色權限與分類存取權",
@@ -547,6 +574,7 @@ OC.L10N.register(
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "在論壇設定中啟用訪客存取權前,訪客將無法存取論壇。",
"Go to forum settings" : "前往論壇設定",
"Default role cannot moderate categories" : "預設角色無法管理分類",
"Failed to save role" : "儲存角色失敗",
"Role management" : "角色管理",
"Create and manage forum roles and permissions" : "建立與管理論壇角色與權限",
"Loading roles …" : "正在載入角色……",
@@ -566,18 +594,24 @@ OC.L10N.register(
"No teams found" : "找不到團隊",
"Members" : "成員",
"No Nextcloud Teams are available" : "Nextcloud Teams 無法使用",
"Failed to delete role" : "刪除角色失敗",
"Edit team" : "編輯團隊",
"Configure category permissions for this team" : "為此團隊設定分類權限",
"Error loading team" : "載入團隊時發生錯誤",
"Editing category permissions for this team. Team membership is managed via Nextcloud Teams." : "編輯此團隊的分類權限。團隊成員資格透過 Nextcloud Teams 進行管理。",
"Set which categories this team can access" : "設定此團隊可存取的分類",
"Manage forum accounts, roles and permissions" : "管理論壇帳號、角色與權限",
"Loading accounts …" : "少女祈禱中...",
"Error loading accounts" : "載入帳號時發生錯誤",
"There are no forum accounts yet" : "目前尚無論壇帳號",
"Roles" : "角色",
"Joined" : "已加入",
"Status" : "狀態",
"Active" : "作用中",
"No roles" : "沒有角色",
"Select roles" : "選取角色",
"Edit roles" : "編輯角色"
"Edit roles" : "編輯角色",
"Edit account roles" : "編輯帳號角色",
"Failed to save roles" : "儲存角色失敗"
},
"nplurals=1; plural=0;");

View File

@@ -62,7 +62,10 @@
"Repair Database Initial Data" : "修復資料庫初始資料",
"Rebuild Statistics" : "重建統計資料",
"Recalculate all forum statistics including account post counts, thread counts, and category counters. Use this if statistics appear incorrect or out of sync." : "重新計算所有論壇統計資料,包括帳號發文數、討論串數及分類計數器。若統計資料顯示不正確或未同步,請使用此功能。",
"Account Roles" : "帳號角色",
"Assign forum roles to accounts. This allows you to grant administrative or moderator privileges to specific accounts." : "為帳號指派論壇角色。此功能可讓您授予特定帳號管理員或版主權限。",
"Account ID" : "帳號 ID",
"Enter account ID" : "輸入帳號 ID",
"Role" : "角色",
"Select a role" : "選取角色",
"Assign Role" : "指派角色",
@@ -166,6 +169,7 @@
"Lower numbers appear first" : "數字由低到高排序",
"Create" : "建立",
"Update" : "更新",
"Failed to save header" : "儲存標題失敗",
"Forum setup required" : "需要設定論壇",
"Select the accounts that should have the forum admin role." : "請選擇應賦予論壇管理員角色的帳號。",
"Forum admin accounts:" : "論壇管理員帳號:",
@@ -232,6 +236,7 @@
"Submit reply" : "遞交回覆",
"Are you sure you want to discard your reply?" : "您確定您想要放棄回覆?",
"Thread unavailable" : "無法取得討論串",
"Deleted account" : "已刪除的帳號",
"Pinned thread" : "已釘選討論串",
"Locked thread" : "已鎖定討論串",
"Uncategorized" : "未分類",
@@ -253,6 +258,8 @@
"Neither (disabled)" : "皆非(已停用)",
"Insert" : "插入",
"Failed to load templates" : "載入範本失敗",
"Failed to save template" : "儲存範本失敗",
"Failed to delete template" : "刪除範本失敗",
"Views" : "檢視",
"Title" : "標題",
"Enter thread title …" : "輸入討論串標題……",
@@ -280,6 +287,8 @@
"Error loading category" : "載入分類時發生錯誤",
"No threads yet" : "尚無討論串",
"Be the first to start a discussion in this category." : "成為第一個在此分類開始討論的人。",
"Subcategories" : "子分類",
"Back to {name}" : "回到 {name}",
"No category ID or slug provided" : "未提供分類 ID 或別名",
"Failed to load threads" : "載入討論串失敗",
"Create New Thread" : "建立新討論串",
@@ -294,7 +303,10 @@
"Threads ({count})" : "討論串 ({count})",
"Replies ({count})" : "回覆 ({count})",
"No threads" : "無討論串",
"This account has not created any threads yet" : "此帳號尚未建立任何討論串",
"No replies" : "無回覆",
"This account has not written any replies yet" : "此帳號尚未發表任何回覆",
"Failed to load profile" : "載入個人資料失敗",
"Enter search query …" : "輸入搜尋關鍵字……",
"Search in threads" : "在討論串中搜尋",
"Search in replies" : "在回覆中搜尋",
@@ -358,6 +370,7 @@
"Thread deleted" : "討論串已刪除",
"Reply deleted" : "已刪除回覆",
"Failed to delete reply" : "無法刪除回覆",
"Failed to submit reply" : "遞交回覆失敗",
"Failed to update thread lock status" : "無法更新討論串鎖定狀態",
"Failed to update thread pin status" : "無法更新討論串釘選狀態",
"Failed to update subscription" : "無法更新訂閱",
@@ -418,10 +431,15 @@
"Enabled" : "已啟用",
"Parse inner content" : "解析內部內容",
"If enabled, BBCode tags inside this tag will also be parsed" : "若啟用,也會解析此標籤內的 BBCode 標籤",
"Failed to save BBCode" : "儲存 BBCode 失敗",
"Failed to toggle BBCode" : "切換 BBCode 失敗",
"Failed to delete BBCode" : "刪除 BBCode 失敗",
"Create category" : "建立分類",
"Edit category" : "編輯分類",
"Configure category details" : "設定分類詳細資訊",
"Basic information" : "基礎資訊",
"Parent" : "上層",
"-- Select a parent --" : "-- 選取上層 --",
"Enter category name" : "輸入分類名稱",
"Slug" : "別名",
"URL-friendly identifier (e.g., \"{slug}\")" : "適合作為 URL 的識別字串(例如「{slug}」)",
@@ -441,6 +459,9 @@
"Dark text" : "深色文字",
"Light text" : "淺色文字",
"Preview" : "預覽",
"Hide subcategories on category card" : "在分類卡片上隱藏子分類",
"When enabled, child categories will not appear as links on this category's card on the home page" : "啟用後,子分類將不會在首頁的此分類卡片上以連結形式顯示",
"Failed to save category" : "儲存分類失敗",
"Manage forum categories and organization" : "管理論壇分類與組織",
"Error loading categories" : "載入分類時發生錯誤",
"No categories in this header" : "此標題中無分類",
@@ -467,12 +488,15 @@
"-- Select a header --" : "-- 選取標題 --",
"Move up" : "向上移動",
"Move down" : "向下移動",
"Failed to delete category" : "刪除分類失敗",
"Failed to delete header" : "刪除標題失敗",
"Management dashboard" : "管理儀表板",
"Overview of forum activity and statistics" : "論壇活動與統計資料的概覽",
"Loading statistics …" : "正在載入統計資料……",
"Error loading dashboard" : "載入儀表板時發生錯誤",
"Total statistics" : "總統計資料",
"Recent activity (last 7 days)" : "最近活動(過去 7 天)",
"New accounts" : "新帳號",
"New threads" : "新討論串",
"New replies" : "新回覆",
"Top contributors" : "主要貢獻者",
@@ -484,6 +508,7 @@
"Loading settings …" : "正在載入設定……",
"Error loading settings" : "載入設定時發生錯誤",
"Appearance" : "外觀",
"Customize how your forum looks to people" : "自訂論壇的顯示方式",
"Forum title" : "論壇標題",
"Displayed at the top of the forum home page" : "顯示在論壇首頁頂部",
"Forum subtitle" : "論壇副標題",
@@ -510,6 +535,8 @@
"Search deleted content …" : "搜尋已刪除的內容……",
"Newest first" : "新的在前",
"Oldest first" : "舊的在前",
"Failed to restore thread" : "還原討論串失敗",
"Failed to restore reply" : "還原回覆失敗",
"Create role" : "建立角色",
"Edit role" : "編輯角色",
"Configure role permissions and category access" : "設定角色權限與分類存取權",
@@ -545,6 +572,7 @@
"Guest users will not be able to access the forum until guest access is enabled in the forum settings." : "在論壇設定中啟用訪客存取權前,訪客將無法存取論壇。",
"Go to forum settings" : "前往論壇設定",
"Default role cannot moderate categories" : "預設角色無法管理分類",
"Failed to save role" : "儲存角色失敗",
"Role management" : "角色管理",
"Create and manage forum roles and permissions" : "建立與管理論壇角色與權限",
"Loading roles …" : "正在載入角色……",
@@ -564,18 +592,24 @@
"No teams found" : "找不到團隊",
"Members" : "成員",
"No Nextcloud Teams are available" : "Nextcloud Teams 無法使用",
"Failed to delete role" : "刪除角色失敗",
"Edit team" : "編輯團隊",
"Configure category permissions for this team" : "為此團隊設定分類權限",
"Error loading team" : "載入團隊時發生錯誤",
"Editing category permissions for this team. Team membership is managed via Nextcloud Teams." : "編輯此團隊的分類權限。團隊成員資格透過 Nextcloud Teams 進行管理。",
"Set which categories this team can access" : "設定此團隊可存取的分類",
"Manage forum accounts, roles and permissions" : "管理論壇帳號、角色與權限",
"Loading accounts …" : "少女祈禱中...",
"Error loading accounts" : "載入帳號時發生錯誤",
"There are no forum accounts yet" : "目前尚無論壇帳號",
"Roles" : "角色",
"Joined" : "已加入",
"Status" : "狀態",
"Active" : "作用中",
"No roles" : "沒有角色",
"Select roles" : "選取角色",
"Edit roles" : "編輯角色"
"Edit roles" : "編輯角色",
"Edit account roles" : "編輯帳號角色",
"Failed to save roles" : "儲存角色失敗"
},"pluralForm" :"nplurals=1; plural=0;"
}

25
lefthook.yml Normal file
View File

@@ -0,0 +1,25 @@
pre-commit:
parallel: true
commands:
eslint:
glob: "*.{ts,vue}"
run: pnpm eslint --fix {staged_files} && git add {staged_files}
prettier:
glob: "*.{scss,vue,ts,md}"
run: pnpm prettier --write {staged_files} && git add {staged_files}
prettier-json:
glob: "*.json"
exclude: "openapi.json"
run: pnpm prettier --write {staged_files} && git add {staged_files}
php-cs-fixer:
glob: "*.php"
exclude: "/gen/"
env:
PHP_CS_FIXER_IGNORE_ENV: "1"
run: make php-cs-fixer && make test
openapi:
glob: "*Controller.php"
run: make openapi && git add openapi.json
lint-appinfo:
glob: "appinfo/info.xml"
run: make lint-appinfo

View File

@@ -106,13 +106,10 @@ class CategoryController extends OCSController {
$categoriesByHeader[$headerId][] = $categoryData;
}
// Build result with nested categories (only include headers that have accessible categories)
// Build result with nested categories
$result = [];
foreach ($headers as $header) {
$categories = $categoriesByHeader[$header->getId()] ?? [];
if (empty($categories)) {
continue;
}
$headerData = $header->jsonSerialize();
$headerData['categories'] = $categories;
$result[] = $headerData;

View File

@@ -0,0 +1,88 @@
<?php
declare(strict_types=1);
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
// SPDX-License-Identifier: AGPL-3.0-or-later
namespace OCA\Forum\Migration;
use Closure;
use OCP\DB\ISchemaWrapper;
use OCP\IDBConnection;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
use Psr\Log\LoggerInterface;
/**
* Version 30 Migration:
* Repair migration to ensure Version 29 columns exist.
* On some PostgreSQL instances, Version 29 may have failed silently,
* leaving parent_id and hide_children_on_card columns missing.
*
* The header_id nullable change is handled separately in postSchemaChange
* via raw SQL so that a failure there cannot block the new column additions.
*/
class Version30Date20260410000000 extends SimpleMigrationStep {
public function __construct(
private IDBConnection $db,
private LoggerInterface $logger,
) {
}
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
$changed = false;
if ($schema->hasTable('forum_categories')) {
$table = $schema->getTable('forum_categories');
if (!$table->hasColumn('parent_id')) {
$table->addColumn('parent_id', 'integer', [
'notnull' => false,
'unsigned' => true,
'default' => null,
]);
$table->addIndex(['parent_id'], 'forum_cat_parent_id_idx');
$changed = true;
}
if (!$table->hasColumn('hide_children_on_card')) {
$table->addColumn('hide_children_on_card', 'boolean', [
'notnull' => false,
'default' => false,
]);
$changed = true;
}
}
return $changed ? $schema : null;
}
public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
// Make header_id nullable via raw SQL so a failure here
// does not roll back the column additions above.
try {
$platform = $this->db->getDatabasePlatform();
$tableName = '*PREFIX*forum_categories';
if ($platform instanceof \Doctrine\DBAL\Platforms\PostgreSQLPlatform) {
$this->db->executeStatement(
'ALTER TABLE "' . $tableName . '" ALTER COLUMN "header_id" DROP NOT NULL'
);
} else {
// MySQL / MariaDB / SQLite
$this->db->executeStatement(
'ALTER TABLE `' . $tableName . '` MODIFY `header_id` INT DEFAULT NULL'
);
}
} catch (\Exception $e) {
// Non-fatal: header_id may already be nullable, or the ALTER may not be
// supported in this exact form. Category nesting (parentId) still works
// for new categories as long as the column additions succeeded.
$this->logger->warning('Version30: Could not make header_id nullable (may already be nullable): ' . $e->getMessage());
}
}
}

View File

@@ -14,7 +14,7 @@
"lint": "eslint src",
"lint:fix": "eslint --fix src",
"format": "prettier --write {vite.config.ts,src/,README.md,nextcloud-forum.wiki/**/*.md}",
"prepare": "husky",
"prepare": "lefthook install",
"gen": "simple-scaffold -c . -k",
"test": "vitest",
"test:run": "vitest run"
@@ -46,18 +46,22 @@
"@vue/tsconfig": "^0.9.1",
"eslint": "^10.2.0",
"happy-dom": "^20.8.9",
"husky": "^9.1.7",
"lint-staged": "^16.4.0",
"prettier": "^3.8.1",
"lefthook": "^2.1.5",
"prettier": "^3.8.2",
"prettier-plugin-vue": "^1.1.6",
"rollup-plugin-visualizer": "^7.0.1",
"sass": "^1.99.0",
"sass-embedded": "^1.99.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.58.0",
"vite": "^7.3.1",
"typescript-eslint": "^8.58.1",
"vite": "^7.3.2",
"vite-plugin-checker": "^0.12.0",
"vitest": "^4.1.2",
"vitest": "^4.1.4",
"vue-tsc": "^3.2.6"
},
"pnpm": {
"onlyBuiltDependencies": [
"lefthook"
]
}
}

955
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,11 @@
<template>
<NcDialog :name="strings.title" size="large" :open="open" @update:open="handleClose">
<NcDialog
:name="strings.title"
size="large"
:open="open"
close-on-click-outside
@update:open="handleClose"
>
<div class="bbcode-help">
<!-- Built-in BBCodes Section -->
<section class="bbcode-section">

View File

@@ -107,6 +107,7 @@
:open="uploadDialog"
:name="uploadError ? strings.uploadError : strings.uploadingFile"
:can-close="!!uploadError"
close-on-click-outside
@update:open="uploadDialog = $event"
size="small"
>

View File

@@ -1,5 +1,11 @@
<template>
<NcDialog :name="strings.title" :open="open" size="normal" @update:open="handleClose">
<NcDialog
:name="strings.title"
:open="open"
size="normal"
close-on-click-outside
@update:open="handleClose"
>
<div class="guest-reassign-dialog">
<p class="description">
{{ strings.description }}

View File

@@ -2,6 +2,7 @@
<NcDialog
:name="isEditing ? strings.editTitle : strings.createTitle"
:open="open"
close-on-click-outside
@update:open="handleClose"
size="small"
>
@@ -58,6 +59,7 @@ import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'
import NcTextField from '@nextcloud/vue/components/NcTextField'
import NcTextArea from '@nextcloud/vue/components/NcTextArea'
import { t } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
import { ocs } from '@/axios'
import type { CatHeader } from '@/types'
@@ -176,9 +178,10 @@ export default defineComponent({
this.$emit('saved', savedHeader)
this.$emit('update:open', false)
} catch (e) {
} catch (e: any) {
console.error('Failed to save header', e)
// TODO: Show error notification
const message = e?.response?.data?.error || e?.response?.data?.message || e?.message || ''
showError(t('forum', 'Failed to save header') + (message ? `: ${message}` : ''))
} finally {
this.submitting = false
}

View File

@@ -3,6 +3,7 @@
:name="strings.title"
:open="open"
size="large"
close-on-click-outside
@update:open="$emit('update:open', $event)"
>
<!-- Loading -->

View File

@@ -1,5 +1,11 @@
<template>
<NcDialog :name="title" :open="open" size="large" @update:open="$emit('update:open', $event)">
<NcDialog
:name="title"
:open="open"
size="large"
close-on-click-outside
@update:open="$emit('update:open', $event)"
>
<!-- Loading -->
<div v-if="loading" class="center mt-16 mb-16">
<NcLoadingIcon :size="32" />

View File

@@ -1,5 +1,11 @@
<template>
<NcDialog :name="strings.title" :open="open" @update:open="handleClose" size="small">
<NcDialog
:name="strings.title"
:open="open"
close-on-click-outside
@update:open="handleClose"
size="small"
>
<div class="move-category-dialog">
<p class="dialog-description">{{ strings.description }}</p>

View File

@@ -1,5 +1,11 @@
<template>
<NcDialog :name="strings.title" :open="open" @update:open="handleClose" size="large">
<NcDialog
:name="strings.title"
:open="open"
close-on-click-outside
@update:open="handleClose"
size="large"
>
<div class="post-history-dialog">
<!-- Loading state -->
<div v-if="loading" class="loading-state" aria-live="polite" aria-busy="true">

View File

@@ -9,6 +9,7 @@
"
size="normal"
:open="open"
close-on-click-outside
@update:open="handleClose"
>
<!-- List View -->
@@ -159,6 +160,7 @@ import TextBoxIcon from '@icons/TextBox.vue'
import ArrowDownIcon from '@icons/ArrowDown.vue'
import Pagination from '@/components/Pagination'
import { t } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
import { ocs } from '@/axios'
import type { Template } from '@/types'
@@ -353,8 +355,9 @@ export default defineComponent({
this.currentView = 'list'
this.editingTemplate = null
await this.fetchTemplates()
} catch (e) {
} catch (e: any) {
console.error('Failed to save template:', e)
showError(t('forum', 'Failed to save template'))
} finally {
this.saving = false
}
@@ -372,8 +375,9 @@ export default defineComponent({
if (this.currentPage > this.totalPages) {
this.currentPage = this.totalPages
}
} catch (e) {
} catch (e: any) {
console.error('Failed to delete template:', e)
showError(t('forum', 'Failed to delete template'))
}
},

View File

@@ -988,7 +988,7 @@ export default defineComponent({
if (replyForm && typeof replyForm.setSubmitting === 'function') {
replyForm.setSubmitting(false)
}
// TODO: Show error notification
showError(t('forum', 'Failed to submit reply'))
}
},

View File

@@ -45,7 +45,6 @@ vi.mock('@/components/SearchPostResult', () =>
import SearchView from '../SearchView.vue'
import { ocs } from '@/axios'
import { showError } from '@nextcloud/dialogs'
const mockOcsGet = vi.mocked(ocs.get)

View File

@@ -153,6 +153,7 @@
<NcDialog
v-if="deleteDialog.show"
:name="strings.deleteDialogTitle"
close-on-click-outside
@close="deleteDialog.show = false"
>
<div class="delete-dialog-content">
@@ -174,6 +175,7 @@
<NcDialog
v-if="editDialog.show"
:name="editDialog.isEditing ? strings.editBBCodeTitle : strings.createBBCodeTitle"
close-on-click-outside
@close="editDialog.show = false"
>
<div class="bbcode-dialog-content">
@@ -275,6 +277,7 @@ import PageHeader from '@/components/PageHeader'
import AppToolbar from '@/components/AppToolbar'
import { ocs } from '@/axios'
import { t } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
interface BBCode {
id: number
@@ -469,9 +472,9 @@ export default defineComponent({
this.editDialog.show = false
this.refresh()
} catch (e) {
} catch (e: any) {
console.error('Failed to save BBCode', e)
// TODO: Show error notification
showError(t('forum', 'Failed to save BBCode'))
} finally {
this.editDialog.submitting = false
}
@@ -483,9 +486,9 @@ export default defineComponent({
enabled: !bbcode.enabled,
})
this.refresh()
} catch (e) {
} catch (e: any) {
console.error('Failed to toggle BBCode', e)
// TODO: Show error notification
showError(t('forum', 'Failed to toggle BBCode'))
}
},
@@ -501,9 +504,9 @@ export default defineComponent({
await ocs.delete(`/bbcodes/${this.deleteDialog.bbcode.id}`)
this.deleteDialog.show = false
this.refresh()
} catch (e) {
} catch (e: any) {
console.error('Failed to delete BBCode', e)
// TODO: Show error notification
showError(t('forum', 'Failed to delete BBCode'))
}
},
},

View File

@@ -239,6 +239,7 @@ import NcTextArea from '@nextcloud/vue/components/NcTextArea'
import ArrowLeftIcon from '@icons/ArrowLeft.vue'
import { ocs } from '@/axios'
import { t } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
import { isAdminRole, isModeratorRole, isDefaultRole, isGuestRole } from '@/constants'
import { useCategories } from '@/composables/useCategories'
import type { Category, CategoryPerm, CatHeader, Role, Team } from '@/types'
@@ -796,9 +797,10 @@ export default defineComponent({
// Navigate back to category list
this.$router.push('/admin/categories')
} catch (e) {
} catch (e: any) {
console.error('Failed to save category', e)
// TODO: Show error notification
const message = e?.response?.data?.error || e?.response?.data?.message || e?.message || ''
showError(t('forum', 'Failed to save category') + (message ? `: ${message}` : ''))
} finally {
this.submitting = false
}

View File

@@ -175,6 +175,7 @@
<NcDialog
v-if="deleteDialog.show"
:name="strings.deleteDialogTitle"
close-on-click-outside
@close="deleteDialog.show = false"
>
<div class="delete-dialog-content">
@@ -257,6 +258,7 @@
<NcDialog
v-if="deleteHeaderDialog.show"
:name="strings.deleteHeaderTitle"
close-on-click-outside
@close="deleteHeaderDialog.show = false"
>
<div class="delete-dialog-content">
@@ -349,6 +351,7 @@ import DeleteIcon from '@icons/Delete.vue'
import InformationIcon from '@icons/Information.vue'
import { ocs } from '@/axios'
import { t, n } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
import { useCategories } from '@/composables/useCategories'
import type { CategoryHeader, Category, CatHeader } from '@/types'
@@ -557,9 +560,9 @@ export default defineComponent({
this.deleteDialog.show = false
this.refresh()
} catch (e) {
} catch (e: any) {
console.error('Failed to delete category', e)
// TODO: Show error notification
showError(t('forum', 'Failed to delete category'))
}
},
@@ -617,9 +620,9 @@ export default defineComponent({
this.deleteHeaderDialog.show = false
this.refresh()
} catch (e) {
} catch (e: any) {
console.error('Failed to delete header', e)
// TODO: Show error notification
showError(t('forum', 'Failed to delete header'))
}
},

View File

@@ -80,6 +80,7 @@ import SortCalendarDescendingIcon from '@icons/SortCalendarDescending.vue'
import SortCalendarAscendingIcon from '@icons/SortCalendarAscending.vue'
import { ocs } from '@/axios'
import { t } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
let debounceTimer: ReturnType<typeof setTimeout> | null = null
@@ -211,8 +212,9 @@ export default defineComponent({
this.restoring = id
await ocs.post(`/moderation/threads/${id}/restore`)
await this.loadData()
} catch (e) {
} catch (e: any) {
console.error('Failed to restore thread', e)
showError(t('forum', 'Failed to restore thread'))
} finally {
this.restoring = null
}
@@ -223,8 +225,9 @@ export default defineComponent({
this.restoring = id
await ocs.post(`/moderation/replies/${id}/restore`)
await this.loadData()
} catch (e) {
} catch (e: any) {
console.error('Failed to restore reply', e)
showError(t('forum', 'Failed to restore reply'))
} finally {
this.restoring = null
}

View File

@@ -229,6 +229,7 @@ import CategoryPermissionsTable, {
} from '@/components/CategoryPermissionsTable'
import { ocs } from '@/axios'
import { t } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
import { isAdminRole, isGuestRole, isDefaultRole, systemRoleFallbackColors } from '@/constants'
import { usePublicSettings } from '@/composables/usePublicSettings'
import type { Role, CategoryHeader } from '@/types'
@@ -607,9 +608,9 @@ export default defineComponent({
// Navigate back to role list
this.$router.push('/admin/roles')
} catch (e) {
} catch (e: any) {
console.error('Failed to save role', e)
// TODO: Show error notification
showError(t('forum', 'Failed to save role'))
} finally {
this.submitting = false
}

View File

@@ -186,6 +186,7 @@ import PageHeader from '@/components/PageHeader'
import AppToolbar from '@/components/AppToolbar'
import { ocs } from '@/axios'
import { t } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
import type { Role, Team } from '@/types'
export default defineComponent({
@@ -342,9 +343,9 @@ export default defineComponent({
try {
await ocs.delete(`/roles/${roleId}`)
await this.refresh()
} catch (e) {
} catch (e: any) {
console.error('Failed to delete role', e)
// TODO: Show error notification
showError(t('forum', 'Failed to delete role'))
}
},
},

View File

@@ -104,7 +104,12 @@
/>
<!-- Edit Roles Dialog -->
<NcDialog v-if="editingUserId !== null" :name="strings.editRolesTitle" @close="cancelEdit">
<NcDialog
v-if="editingUserId !== null"
:name="strings.editRolesTitle"
close-on-click-outside
@close="cancelEdit"
>
<div class="edit-roles-dialog">
<NcSelect
v-model="editingRoles"
@@ -148,6 +153,7 @@ import PageWrapper from '@/components/PageWrapper'
import PageHeader from '@/components/PageHeader'
import { ocs } from '@/axios'
import { t } from '@nextcloud/l10n'
import { showError } from '@nextcloud/dialogs'
import { isGuestRole } from '@/constants'
import type { Role } from '@/types'
@@ -325,9 +331,9 @@ export default defineComponent({
}
this.cancelEdit()
} catch (e) {
} catch (e: any) {
console.error('Failed to save roles', e)
// TODO: Show error notification
showError(t('forum', 'Failed to save roles'))
}
},
},

View File

@@ -106,16 +106,16 @@
},
{
"name": "php-cs-fixer/shim",
"version": "v3.94.2",
"version": "v3.95.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/shim.git",
"reference": "80fd29f44a736136a2f05bae5464816a444b91d1"
"reference": "0e72cd8e7984dbbc41dbb55dbf5045b2c11cb0e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/80fd29f44a736136a2f05bae5464816a444b91d1",
"reference": "80fd29f44a736136a2f05bae5464816a444b91d1",
"url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/0e72cd8e7984dbbc41dbb55dbf5045b2c11cb0e3",
"reference": "0e72cd8e7984dbbc41dbb55dbf5045b2c11cb0e3",
"shasum": ""
},
"require": {
@@ -152,9 +152,9 @@
"description": "A tool to automatically fix PHP code style",
"support": {
"issues": "https://github.com/PHP-CS-Fixer/shim/issues",
"source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.94.2"
"source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.95.0"
},
"time": "2026-02-20T16:14:17+00:00"
"time": "2026-04-11T17:31:04+00:00"
}
],
"aliases": [],

View File

@@ -86,12 +86,12 @@
"source": {
"type": "git",
"url": "https://github.com/nextcloud/openapi-extractor.git",
"reference": "bf0034b22e0c6f5b2efdeda53b12a33407fd71d4"
"reference": "259e773f753907c057aa58be8bae889b716a74c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud/openapi-extractor/zipball/bf0034b22e0c6f5b2efdeda53b12a33407fd71d4",
"reference": "bf0034b22e0c6f5b2efdeda53b12a33407fd71d4",
"url": "https://api.github.com/repos/nextcloud/openapi-extractor/zipball/259e773f753907c057aa58be8bae889b716a74c9",
"reference": "259e773f753907c057aa58be8bae889b716a74c9",
"shasum": ""
},
"require": {
@@ -142,7 +142,7 @@
"source": "https://github.com/nextcloud/openapi-extractor/tree/main",
"issues": "https://github.com/nextcloud/openapi-extractor/issues"
},
"time": "2026-03-29T04:09:29+00:00"
"time": "2026-04-11T01:56:10+00:00"
},
{
"name": "nikic/php-parser",

View File

@@ -1430,16 +1430,16 @@
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.33.0",
"version": "v1.34.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
"reference": "141046a8f9477948ff284fa65be2095baafb94f2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2",
"reference": "141046a8f9477948ff284fa65be2095baafb94f2",
"shasum": ""
},
"require": {
@@ -1489,7 +1489,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.34.0"
},
"funding": [
{
@@ -1509,20 +1509,20 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.33.0",
"version": "v1.34.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70"
"reference": "ad1b7b9092976d6c948b8a187cec9faaea9ec1df"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70",
"reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/ad1b7b9092976d6c948b8a187cec9faaea9ec1df",
"reference": "ad1b7b9092976d6c948b8a187cec9faaea9ec1df",
"shasum": ""
},
"require": {
@@ -1571,7 +1571,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.34.0"
},
"funding": [
{
@@ -1591,11 +1591,11 @@
"type": "tidelift"
}
],
"time": "2025-06-27T09:58:17+00:00"
"time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.33.0",
"version": "v1.34.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -1656,7 +1656,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.34.0"
},
"funding": [
{
@@ -1680,16 +1680,16 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.33.0",
"version": "v1.34.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
"reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315",
"reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315",
"shasum": ""
},
"require": {
@@ -1741,7 +1741,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.34.0"
},
"funding": [
{
@@ -1761,7 +1761,7 @@
"type": "tidelift"
}
],
"time": "2024-12-23T08:48:59+00:00"
"time": "2026-04-10T17:25:58+00:00"
},
{
"name": "symfony/service-contracts",

View File

@@ -1 +1 @@
0.38.1
0.38.5