feat(cms): improve catalog, editorial recovery and operations
CI / check (push) Successful in 52s
CI / deploy (push) Successful in 2m10s
CI / publish-container (push) Failing after 1m18s

This commit is contained in:
Simo committed 2026-09-09 19:36:15 +02:00
1 parent 2fead134e6
commit c389c3893d
122 files changed
+8137 -703

No files matched your search

+157 -3
View File
@@ -1137,8 +1137,42 @@
"imagePreview": "Voorbeeld van artikelafbeelding",
"previewTitle": "Artikelvoorbeeld",
"previewDescription": "Voorbeeld van de inhoud. De gepubliceerde pagina gebruikt het sitethema.",
"previewFrame": "Voorbeeld van artikelinhoud"
}
"previewFrame": "Voorbeeld van artikelinhoud",
"autosaveLoading": "Opgeslagen concepten laden…",
"autosaveReady": "Automatisch opslaan van je privéconcept is actief.",
"autosaveSaving": "Privéconcept opslaan…",
"autosaveSaved": "Privéconcept opgeslagen. Klik op Opslaan om publicatiewijzigingen toe te passen.",
"autosaveFailed": "Conceptherstel is niet beschikbaar. Houd deze pagina open en gebruik Opslaan; herlaad de pagina om herstel opnieuw te proberen.",
"autosaveConflict": "Een ander tabblad heeft dit concept gewijzigd. Automatisch opslaan is gepauzeerd: herlaad de pagina om het nieuwere concept te bekijken voordat je verdergaat.",
"recoveryFound": "Er is een onvoltooid privéconcept beschikbaar. Herstel of verwijder het om automatisch opslaan te activeren.",
"recoverDraft": "Concept herstellen",
"discardDraft": "Opgeslagen concept verwijderen",
"confirmRecovery": "De huidige inhoud van de editor vervangen door dit herstelde concept? De wijzigingen worden pas gepubliceerd als je opslaat.",
"confirmDiscardDraft": "Je opgeslagen herstelconcept definitief verwijderen? De huidige inhoud van de editor blijft behouden.",
"revisionHistory": "Vorige opgeslagen versies (laatste 20)",
"restoreRevision": "Herstellen in editor",
"confirmRevision": "De huidige inhoud vervangen door deze vorige versie als concept? Controleer de inhoud en kies een publicatiestatus voordat je opslaat.",
"editConflict": "Dit artikel is gewijzigd sinds je het hebt geopend. Je wijzigingen zijn niet toegepast. Kopieer je werk, herlaad het artikel en voeg de wijzigingen samen voordat je opnieuw opslaat.",
"retryRecovery": "Herstelgegevens opnieuw laden zonder dit formulier te wijzigen"
},
"listActionError": "De actie voor dit artikel kon niet worden voltooid.",
"listStatus": "Publicatiestatus",
"listStatus_all": "Alle artikelen",
"listStatus_draft": "Concept",
"listStatus_published": "Gepubliceerd",
"listStatus_scheduled": "Gepland",
"listSearch": "Zoeken in titel of samenvatting",
"listApply": "Toepassen",
"listLoading": "Laden…",
"listReset": "Filters wissen",
"listUnavailable": "Artikelen zijn tijdelijk niet beschikbaar. Probeer het opnieuw.",
"listRetry": "Opnieuw proberen",
"listTotal": "{count, plural, one {# gevonden artikel} other {# gevonden artikelen}}",
"listNoMatches": "Geen artikelen gevonden met deze filters. Pas de zoekopdracht aan of wis de filters.",
"listPagination": "Artikelpagina’s",
"listPrevious": "Vorige",
"listNext": "Volgende",
"listPage": "Pagina {page} van {total}"
},
"events": {
"newEvent": "+ Nieuw evenement",
@@ -2523,7 +2557,19 @@
"colDate": "Datum",
"searchPlaceholder": "Zoek op actie of doel…",
"changesCount": "{count} wijzigingen",
"notAvailable": "n.v.t."
"notAvailable": "n.v.t.",
"filtersTitle": "Activiteitenlogboek filteren",
"filterActor": "Uitvoerder (exacte gebruikersnaam of ID)",
"filterAction": "Exacte actie",
"filterFrom": "Vanaf datum (UTC)",
"filterTo": "Tot en met datum (UTC)",
"filtersHint": "Datums omvatten de volledige dag in UTC. Acties en gebruikersnamen moeten exact overeenkomen. De nieuwste activiteiten staan bovenaan.",
"applyFilters": "Filters toepassen",
"resetFilters": "Filters wissen",
"invalidDetails": "Deze oude gegevens kunnen niet worden weergegeven.",
"beforeValue": "Voor",
"afterValue": "Na",
"exportHint": "Het CSV-bestand bevat de huidige gefilterde pagina, met maximaal 100 vermeldingen."
},
"chat": {
"colMessage": "Bericht",
@@ -3319,6 +3365,71 @@
"hideItem": "Item verbergen",
"showItem": "Item tonen",
"pinned": "Vastgezet"
},
"cmsErrors": {
"firstSeen": "Eerste gebeurtenis in bewaarde gegevens",
"lastSeen": "Laatste gebeurtenis",
"affectedUsers": "Unieke geïdentificeerde gebruikers",
"unidentifiedEvents": "Gebeurtenissen zonder geverifieerde gebruikers-ID",
"metricsScope": "De tellingen gelden alleen voor de bewaarde gegevens die hier zijn geladen. Gebruikers worden uitsluitend geteld op basis van numerieke gebruikers-ID’s van de server; anonieme meldingen en browsermeldingen worden niet aan gebruikers gekoppeld.",
"assignedStaff": "Toegewezen aan medewerker #{id}",
"unassigned": "Niet toegewezen",
"assignSelf": "Aan mij toewijzen",
"clearAssignment": "Toewijzing verwijderen",
"openOperation": "Gerelateerd onderdeel openen",
"releaseOccurrences": "Gebeurtenissen per release",
"releaseScope": "Deze releases komen voor in de bewaarde gegevens. De eerste beschikbare gebeurtenis bewijst niet welke release de fout heeft geïntroduceerd."
},
"installation": {
"title": "Installatiediagnose",
"hint": "Alleen-lezen controles van deze installatie. Niet geverifieerd betekent onvoldoende bewijs; een instelling bewijst geen externe bereikbaarheid.",
"checked": "Gecontroleerd om {time} · controles voltooid in {ms} ms",
"recheck": "Opnieuw controleren",
"ok": "Controle geslaagd",
"failed": "Controle nodig",
"unknown": "Niet geverifieerd",
"missing": "Niet ingesteld",
"release": "Actieve versie",
"database": "Database",
"redis": "Redis",
"emulator": "Emulator",
"storage": "Schrijfbare opslag",
"migrations": "Databasemigraties",
"worker": "Achtergrondworker",
"renderer": "Rendererinstellingen",
"registry": "Containerregister",
"releaseHint": "De volledige identificatie van de actieve build. Vergelijk installaties en kies een vorige image voor herstel.",
"databaseHint": "Verbindingscontrole en gemeten responstijd van SELECT 1.",
"redisHint": "Optioneel voor sommige pagina’s; vereist voor imports in de wachtrij.",
"emulatorHint": "Antwoord op de ingestelde emulatorping.",
"storageHint": "Lees- en schrijfrechten voor opslag, Nitro-assets en SWF-mappen.",
"migrationsHint": "Aantal meegeleverde migraties dat ontbreekt in de databasehistorie. Voer migraties uit via het releaseproces.",
"workerHint": "Laatste workersignaal in Redis. Ouder dan twee minuten vereist onderzoek; zonder signaal is niet vast te stellen of de worker actief is.",
"rendererHint": "De client gebruikt het ingestelde adres of standaard /nitro-client/. Open het spel apart om de weergave en assets te controleren.",
"registryHint": "Registergegevens staan in CI, niet in het CMS. Controleer de publicatietaak en onveranderlijke versietag in Gitea."
},
"importHistory": {
"cancelled": "Geannuleerd",
"cancelFailed": "Annuleren kon niet worden aangevraagd. Probeer het opnieuw of vernieuw de geschiedenis.",
"cancelRequested": "Annulering aangevraagd. Het huidige item wordt afgerond; de resterende items worden niet gestart.",
"cancelHint": "Annuleren behoudt voltooide items en laat het huidige item afronden.",
"cancelRemaining": "Resterende items annuleren",
"historyLimit": "De 30 meest recent bijgewerkte taken worden getoond.",
"refreshHistory": "Geschiedenis vernieuwen",
"showMoreItems": "Nog 50 items tonen",
"uncertainOutcome": "Een onderbroken item heeft mogelijk al lokale gegevens gewijzigd. Het wordt niet opnieuw geprobeerd.",
"reviewLocalData": "Lokale gegevens controleren"
},
"operations": {
"title": "Aandacht nodig",
"hint": "Toegankelijke taken: imports uit je laatste 30 taken; fouten uit maximaal 1.000 bewaarde meldingen. Ouder werk kan buiten deze tellingen vallen.",
"empty": "Geen openstaande taken gevonden in de gecontroleerde gegevens.",
"errors": "Open CMS-foutgroepen",
"imports": "Je imports die controle nodig hebben",
"tickets": "Open ondersteuningstickets",
"publications": "Nieuwsconcepten",
"unavailable": "{source}: gegevens tijdelijk niet beschikbaar.",
"installation": "Installatiediagnose"
}
},
"mod": {
@@ -3457,6 +3568,18 @@
"failed": "Mislukt"
}
}
},
"myDashboard": {
"messagesCaughtUp": "Geen ongelezen berichten",
"roomsUnavailable": "Kamers zijn tijdelijk niet beschikbaar. Open de community om het opnieuw te proberen.",
"eventDetails": "Evenement bekijken",
"allEvents": "Alle evenementen",
"eventTitle": "Op de agenda",
"noUpcomingEvents": "Er zijn nog geen nieuwe evenementen aangekondigd.",
"eventUpcoming": "Binnenkort",
"eventsUnavailable": "De agenda is tijdelijk niet beschikbaar. Open alle evenementen om het opnieuw te proberen.",
"messagesUnavailable": "Open je inbox om te kijken",
"eventOngoing": "Nu bezig"
}
},
"toolbar": {
@@ -3472,5 +3595,36 @@
"fullscreenExit": "Volledig scherm afsluiten",
"show": "Werkbalk tonen",
"emulatorUnknown": "Emulatorstatus onbekend"
},
"admin": {
"studio": {
"completeness": {
"title": "Volledigheid en vervolgstappen",
"parts": {
"sql": "SQL-item",
"catalog": "Catalogusaanbod",
"furnidata": "Furnidata",
"icon": "Lokaal pictogram",
"nitro": "Nitro-bestand"
},
"statuses": {
"present": "Aanwezig",
"missing": "Ontbreekt",
"unknown": "Niet gecontroleerd",
"conflict": "Controle nodig"
},
"actions": {
"sql": "Importeer of herstel dit meubel om het ontbrekende itemrecord aan te maken.",
"catalog": "Importeer of herstel dit meubel om een aanbod met de automatische categorie en prijs toe te voegen.",
"furnidata": "Importeer of herstel dit meubel om de ontbrekende meubelgegevens toe te voegen.",
"icon": "Importeer of herstel dit meubel om het ontbrekende lokale pictogram op te halen.",
"nitro": "Importeer of herstel dit meubel om het bestand op te halen. Bij een bestaand item kun je ook .nitro opnieuw genereren.",
"recheck": "Controleer de lokale status opnieuw voordat je herstelt. Controleer de toegang tot lokale bestanden als het probleem aanhoudt.",
"audit": "Controleer dubbele records en overeenkomende sprite-ID’s en typen in Cataloguscontrole voordat je herstelt."
},
"openAudit": "Open Cataloguscontrole om conflicten op te lossen",
"excludedConflicts": "{count, plural, one {# item moet worden gecontroleerd en is uitgesloten van deze import.} other {# items moeten worden gecontroleerd en zijn uitgesloten van deze import.}}"
}
}
}
}