9ecd3b2d84
All four files split into focused sibling modules so every file lands
comfortably under the 300-LOC soft target (hard cap 500):
hooks.ts (474→43) → hooks-core / hooks-dsgvo / hooks-compliance
hooks-rag-security / hooks-ui
dsr-portal.ts (464→129) → dsr-portal-translations / dsr-portal-render
provider.tsx (462→247) → provider-effects / provider-callbacks
sync.ts (435→299) → sync-storage / sync-conflict
Zero behaviour changes. All public APIs remain importable from the
original paths (hooks.ts re-exports every hook, provider.tsx keeps all
named exports, sync.ts preserves StateSyncManager + factory).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
102 lines
3.6 KiB
TypeScript
102 lines
3.6 KiB
TypeScript
/**
|
|
* Translations for <breakpilot-dsr-portal>
|
|
*
|
|
* Supported languages: 'de' | 'en'
|
|
*/
|
|
|
|
export const DSR_TRANSLATIONS = {
|
|
de: {
|
|
title: 'Betroffenenrechte-Portal',
|
|
subtitle:
|
|
'Hier können Sie Ihre Rechte gemäß DSGVO wahrnehmen. Wählen Sie die gewünschte Anfrage und füllen Sie das Formular aus.',
|
|
requestType: 'Art der Anfrage',
|
|
name: 'Ihr Name',
|
|
namePlaceholder: 'Max Mustermann',
|
|
email: 'E-Mail-Adresse',
|
|
emailPlaceholder: 'max@example.com',
|
|
additionalInfo: 'Zusätzliche Informationen (optional)',
|
|
additionalInfoPlaceholder: 'Weitere Details zu Ihrer Anfrage...',
|
|
submit: 'Anfrage einreichen',
|
|
submitting: 'Wird gesendet...',
|
|
successTitle: 'Anfrage eingereicht',
|
|
successMessage:
|
|
'Wir werden Ihre Anfrage innerhalb von 30 Tagen bearbeiten. Sie erhalten eine Bestätigung per E-Mail an',
|
|
disclaimer:
|
|
'Ihre Anfrage wird gemäß Art. 12 DSGVO innerhalb von einem Monat bearbeitet. In komplexen Fällen kann diese Frist um weitere zwei Monate verlängert werden.',
|
|
types: {
|
|
ACCESS: {
|
|
name: 'Auskunft (Art. 15)',
|
|
description: 'Welche Daten haben Sie über mich gespeichert?',
|
|
},
|
|
RECTIFICATION: {
|
|
name: 'Berichtigung (Art. 16)',
|
|
description: 'Korrigieren Sie falsche Daten über mich.',
|
|
},
|
|
ERASURE: {
|
|
name: 'Löschung (Art. 17)',
|
|
description: 'Löschen Sie alle meine personenbezogenen Daten.',
|
|
},
|
|
PORTABILITY: {
|
|
name: 'Datenübertragbarkeit (Art. 20)',
|
|
description: 'Exportieren Sie meine Daten in einem maschinenlesbaren Format.',
|
|
},
|
|
RESTRICTION: {
|
|
name: 'Einschränkung (Art. 18)',
|
|
description: 'Schränken Sie die Verarbeitung meiner Daten ein.',
|
|
},
|
|
OBJECTION: {
|
|
name: 'Widerspruch (Art. 21)',
|
|
description: 'Ich widerspreche der Verarbeitung meiner Daten.',
|
|
},
|
|
},
|
|
},
|
|
en: {
|
|
title: 'Data Subject Rights Portal',
|
|
subtitle:
|
|
'Here you can exercise your rights under GDPR. Select the type of request and fill out the form.',
|
|
requestType: 'Request Type',
|
|
name: 'Your Name',
|
|
namePlaceholder: 'John Doe',
|
|
email: 'Email Address',
|
|
emailPlaceholder: 'john@example.com',
|
|
additionalInfo: 'Additional Information (optional)',
|
|
additionalInfoPlaceholder: 'Any additional details about your request...',
|
|
submit: 'Submit Request',
|
|
submitting: 'Submitting...',
|
|
successTitle: 'Request Submitted',
|
|
successMessage:
|
|
'We will process your request within 30 days. You will receive a confirmation email at',
|
|
disclaimer:
|
|
'Your request will be processed in accordance with Article 12 GDPR within one month. In complex cases, this period may be extended by up to two additional months.',
|
|
types: {
|
|
ACCESS: {
|
|
name: 'Access (Art. 15)',
|
|
description: 'What data do you have about me?',
|
|
},
|
|
RECTIFICATION: {
|
|
name: 'Rectification (Art. 16)',
|
|
description: 'Correct inaccurate data about me.',
|
|
},
|
|
ERASURE: {
|
|
name: 'Erasure (Art. 17)',
|
|
description: 'Delete all my personal data.',
|
|
},
|
|
PORTABILITY: {
|
|
name: 'Data Portability (Art. 20)',
|
|
description: 'Export my data in a machine-readable format.',
|
|
},
|
|
RESTRICTION: {
|
|
name: 'Restriction (Art. 18)',
|
|
description: 'Restrict the processing of my data.',
|
|
},
|
|
OBJECTION: {
|
|
name: 'Objection (Art. 21)',
|
|
description: 'I object to the processing of my data.',
|
|
},
|
|
},
|
|
},
|
|
} as const
|
|
|
|
export type DSRLanguage = keyof typeof DSR_TRANSLATIONS
|
|
export type DSRTranslations = (typeof DSR_TRANSLATIONS)[DSRLanguage]
|