bugfix: appointment hours now use the client timezone on UTC servers.

Logical API errors throw stable codes so users see translated messages instead of a generic bad request.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-19 01:43:50 +03:30
parent d6958b2e48
commit 80167c622c
38 changed files with 833 additions and 392 deletions

View File

@@ -1080,6 +1080,101 @@
"VALIDATION_FIELD_REQUIRED": "Vul alle verplichte velden in.",
"VALIDATION_LANGUAGE_INVALID": "Selecteer een ondersteunde taal.",
"VALIDATION_INVALID_REQUEST": "Het verzoek bevat ongeldige gegevens.",
"VALIDATION_TIMEZONE_INVALID": "Uw tijdzone kon niet worden bepaald. Vernieuw de pagina en probeer opnieuw.",
"APPOINTMENT_INVALID_TIME": "De start- of eindtijd van de afspraak is ongeldig.",
"APPOINTMENT_END_BEFORE_START": "De eindtijd moet na de starttijd liggen.",
"APPOINTMENT_TOO_LONG": "Een afspraak mag niet langer dan 24 uur duren.",
"APPOINTMENT_IN_PAST": "U kunt geen afspraak in het verleden boeken.",
"APPOINTMENT_INVALID_RANGE": "Het datumbereik is ongeldig.",
"APPOINTMENT_INVALID_RANGE_ORDER": "Het einde van het bereik moet na het begin liggen.",
"APPOINTMENT_INVALID_DATE": "De geselecteerde datum is ongeldig.",
"APPOINTMENT_PROVIDER_NOT_MEMBER": "Deze zorgverlener is geen lid van de organisatie.",
"APPOINTMENT_PROVIDER_INACTIVE": "Deze zorgverlener is geen actief teamlid.",
"APPOINTMENT_PROVIDER_NO_TREATMENT_EDIT": "Deze zorgverlener kan geen behandelafspraken aannemen.",
"APPOINTMENT_PROVIDER_NO_WORKING_HOURS": "Voor deze zorgverlener zijn geen werktijden ingesteld.",
"APPOINTMENT_PROVIDER_NOT_WORKING_DAY": "Deze zorgverlener werkt niet op de geselecteerde dag.",
"APPOINTMENT_OUTSIDE_WORKING_HOURS": "Dit tijdstip valt buiten de werktijden van de zorgverlener.",
"APPOINTMENT_NOT_FOUND": "Afspraak niet gevonden.",
"APPOINTMENT_NOT_PROVIDER": "U bent niet de zorgverlener van deze afspraak.",
"PATIENT_NOT_FOUND": "Patiënt niet gevonden.",
"WORKING_HOURS_INVALID": "De werktijden zijn ongeldig. Controleer of diensten niet overlappen.",
"WORKING_HOURS_OWNER_NOT_ALLOWED": "Stel werktijden van de eigenaar in via accountinstellingen.",
"WORKING_HOURS_CONFLICTS_WITH_APPOINTMENTS": "Deze tijden conflicteren met aankomende afspraken. Plan die eerst om of verwijder ze.",
"STAFF_UNKNOWN_PERMISSIONS": "Een of meer geselecteerde rechten zijn ongeldig.",
"STAFF_NO_SUBSCRIPTION": "Kies een abonnement voordat u personeel toevoegt.",
"STAFF_SEAT_LIMIT": "Uw abonnement heeft geen vrije plaatsen. Schakel een lid uit of upgrade.",
"STAFF_INVITE_OWNER_EMAIL": "De eigenaar van de organisatie is al lid.",
"STAFF_ALREADY_MEMBER": "Deze persoon is al lid.",
"STAFF_OWNER_NO_INVITE_LINK": "De eigenaar gebruikt geen uitnodigingslink.",
"STAFF_ALREADY_ACCEPTED": "Dit lid heeft de uitnodiging al geaccepteerd.",
"STAFF_INVITE_MISSING": "Er is geen uitnodiging voor dit lid gevonden.",
"STAFF_INVITE_ALREADY_ACCEPTED": "Deze uitnodiging is al geaccepteerd.",
"STAFF_INVITE_INVALID": "Deze uitnodiging is niet meer geldig.",
"STAFF_INVITE_REVOKED": "Deze uitnodiging is ingetrokken.",
"STAFF_INVITE_EXPIRED": "Deze uitnodiging is verlopen.",
"STAFF_ALREADY_ACTIVE": "Dit lid is al actief.",
"STAFF_ALREADY_DISABLED": "Dit lid is al uitgeschakeld of in afwachting.",
"STAFF_CANNOT_DISABLE_SELF": "U kunt uw eigen toegang niet uitschakelen.",
"STAFF_MEMBER_NOT_FOUND": "Teamlid niet gevonden.",
"STAFF_CANNOT_EDIT_OWNER": "Het lidmaatschap van de eigenaar kan hier niet worden bewerkt.",
"STAFF_CANNOT_ENABLE_OWNER": "De eigenaar kan op deze manier niet worden ingeschakeld.",
"STAFF_CANNOT_DISABLE_OWNER": "De eigenaar kan niet worden uitgeschakeld.",
"STAFF_CANNOT_REMOVE_OWNER": "De eigenaar kan niet worden verwijderd.",
"ORG_CANNOT_LINK_SELF": "U kunt een organisatie niet aan zichzelf koppelen.",
"ORG_LINK_WRONG_TYPE": "U kunt alleen koppelen aan het bijbehorende type (kliniek of lab).",
"ORG_TARGET_NO_SUBSCRIPTION": "De andere organisatie heeft geen actief abonnement.",
"ORG_LINK_EXISTS": "Deze organisaties zijn al gekoppeld.",
"ORG_REQUEST_NOT_PENDING": "Alleen openstaande verbindingsverzoeken kunnen worden beantwoord.",
"ORG_CANNOT_RESPOND_OWN": "U kunt niet op uw eigen verbindingsverzoek reageren.",
"ORG_INVITE_ALREADY_ACCEPTED": "Deze uitnodiging is al geaccepteerd.",
"ORG_INVITE_INVALID": "Deze uitnodiging is niet meer geldig.",
"ORG_INVITE_REVOKED": "Deze uitnodiging is ingetrokken.",
"ORG_INVITE_EXPIRED": "Deze uitnodiging is verlopen.",
"ORG_INVITE_TYPE_MISMATCH": "Het organisatietype komt niet overeen met deze uitnodiging.",
"ORG_INVITE_OWNER_HAS_ORG": "Deze eigenaar heeft al een organisatie. Zoek die in plaats van een uitnodiging te sturen.",
"ORG_UNKNOWN_TYPE": "Onbekend organisatietype.",
"ORG_COUNTERPART_NOT_LAB": "De gekoppelde organisatie is geen lab.",
"ORG_COUNTERPART_NOT_CLINIC": "De gekoppelde organisatie is geen kliniek.",
"ORG_CONNECTION_NOT_FOUND": "Gekoppelde organisatie niet gevonden.",
"ORG_INVITE_NOT_FOUND": "Uitnodiging niet gevonden.",
"ORG_ONLY_CLINIC_COMMENT": "Alleen de kliniek kan reageren op deze case.",
"CATALOG_UNKNOWN_TREATMENT_TYPE": "Onbekend behandelingstype.",
"CATALOG_UNKNOWN_PROSTHESIS_TYPE": "Onbekend prothesetype.",
"CATALOG_TREATMENT_NOT_LAB_DEPENDENT": "Dit behandelingstype wordt in de kliniek afgerond en kan niet naar een lab worden gestuurd.",
"TREATMENT_SAVE_DETAILS_BEFORE_LAB": "Sla behandeldetails op voordat u labcases aanmaakt.",
"TREATMENT_DETAIL_ONE_CASE": "Elk behandeldetail kan tot slechts één labcase behoren.",
"TREATMENT_DETAILS_NOT_FOUND": "Een of meer behandeldetails zijn niet gevonden.",
"TREATMENT_DEST_NOT_LINKED": "Die organisatie is geen actief gekoppeld lab.",
"TREATMENT_TEETH_REQUIRED_TO_SHIP": "Selecteer tanden voordat u dit werk naar een lab stuurt.",
"TREATMENT_TOOTH_UNKNOWN_DETAIL": "Een tand is gekoppeld aan een onbekend behandeldetail.",
"TREATMENT_TOOTH_NOT_ON_DETAIL": "Een geselecteerde tand staat niet op dit behandeldetail.",
"TREATMENT_CASE_NO_DEST": "Deze labcase heeft geen bestemmingsorganisatie.",
"TREATMENT_CASE_NEEDS_DETAIL": "Een labcase moet een behandeldetail bevatten.",
"TREATMENT_CASE_ONE_DETAIL": "Een labcase mag slechts één behandeldetail bevatten.",
"TREATMENT_ONLY_PROVIDER_SEND": "Alleen de behandelaar kan deze labcase versturen.",
"TREATMENT_CASE_ALREADY_SENT": "Deze case is al naar dat lab gestuurd.",
"TREATMENT_DUE_DATE_LOCKED": "De deadline kan niet worden gewijzigd nadat alle taken zijn voltooid.",
"TREATMENT_INVALID_DUE_DATE": "De deadline is ongeldig.",
"TREATMENT_DETAIL_KEY_REQUIRED": "Voor deze upload is een behandeldetail vereist.",
"TREATMENT_FILE_REQUIRED": "Er is minstens één bestand vereist.",
"TREATMENT_ATTACHMENT_NOT_FOUND": "Bijlage niet gevonden.",
"TREATMENT_FILE_UNAVAILABLE": "Dit bestand is niet meer beschikbaar.",
"TREATMENT_CASE_INVALID_ATTACHMENTS": "Een of meer bijlagen zijn ongeldig voor deze labcase.",
"TREATMENT_TOOTH_PROSTHESIS_INCOMPLETE": "Elke tand heeft een prothesetype nodig voordat u verstuurt.",
"LAB_CASE_NOT_FOUND": "Labcase niet gevonden.",
"TASK_ASSIGNEE_INVALID": "De geselecteerde persoon kan deze taak niet toegewezen krijgen.",
"TASK_ASSIGNED_TO_OTHER": "Deze taak is aan een ander teamlid toegewezen.",
"TASK_PAGE_DATE_SORT_ONLY": "Naar een taak springen kan alleen bij sorteren op datum.",
"INVALID_SENT_FROM": "De startdatum van het bereik is ongeldig.",
"INVALID_SENT_TO": "De einddatum van het bereik is ongeldig.",
"CASE_NOT_FOUND": "Case niet gevonden.",
"CASE_ATTACHMENT_NOT_FOUND": "Bijlage niet gevonden.",
"CASE_ATTACHMENT_MISSING_FILE": "Het bijlagebestand ontbreekt.",
"CASE_TASK_NOT_FOUND": "Taak niet gevonden.",
"COMMENT_NOT_FOUND": "Reactie niet gevonden.",
"COMMENT_VISIBILITY_LAB_ONLY": "Alleen labreacties kunnen de zichtbaarheid wijzigen.",
"TODAY_INVALID_RANGE": "Het datumbereik is ongeldig.",
"TODAY_INVALID_RANGE_ORDER": "Het einde van het bereik moet na het begin liggen.",
"NOT_FOUND": "Het gevraagde item is niet gevonden.",
"CONFLICT": "Deze actie conflicteert met bestaande gegevens.",
"CONFLICT_FUTURE_APPOINTMENTS": "U kunt niet stoppen met deelnemen aan behandelingen zolang u toekomstige afspraken hebt. Wijs ze eerst opnieuw toe of annuleer ze.",