- DB: users.username (unique), users.preferred_locale (default from app.locale) - Backend: validation, model fillable; share supportedLocales; SetLocaleFromUser - Frontend: profile page fields + types - Filament: SuperAdmin profile page with username/language feat(admin-nav): move Tasks to Bibliothek and add menu labels fix(tasks-table): show localized title/emotion/event type; add translated headers feat(l10n): add missing table headers for emotions and event types; normalize en/de files refactor: tidy translations for tasks/emotions/event types
210 lines
6.0 KiB
PHP
210 lines
6.0 KiB
PHP
<?php
|
|
|
|
return [
|
|
'nav' => [
|
|
'platform' => 'Platform',
|
|
'library' => 'Library',
|
|
'content' => 'Content',
|
|
],
|
|
|
|
'common' => [
|
|
'key' => 'Key',
|
|
'value' => 'Value',
|
|
'locale' => 'Locale',
|
|
'german' => 'German',
|
|
'english' => 'English',
|
|
'import' => 'Import',
|
|
'import_csv' => 'Import CSV',
|
|
'download_csv_template' => 'Download CSV Template',
|
|
'csv_file' => 'CSV file',
|
|
'close' => 'Close',
|
|
'hash' => '#',
|
|
'slug' => 'Slug',
|
|
'event' => 'Event',
|
|
'tenant' => 'Tenant',
|
|
'uploads' => 'Uploads',
|
|
'uploads_today' => 'Uploads today',
|
|
'thumb' => 'Thumb',
|
|
'likes' => 'Likes',
|
|
'emotion' => 'Emotion',
|
|
'event_type' => 'Event Type',
|
|
'last_activity' => 'Last activity',
|
|
'credits' => 'Credits',
|
|
'settings' => 'Settings',
|
|
'join' => 'Join',
|
|
'unnamed' => 'Unnamed',
|
|
],
|
|
|
|
'photos' => [
|
|
'fields' => [
|
|
'event' => 'Event',
|
|
'photo' => 'Photo',
|
|
'is_featured' => 'Is Featured',
|
|
'metadata' => 'Metadata',
|
|
'likes' => 'Likes',
|
|
],
|
|
'actions' => [
|
|
'feature' => 'Feature',
|
|
'unfeature' => 'Unfeature',
|
|
'feature_selected' => 'Feature selected',
|
|
'unfeature_selected' => 'Unfeature selected',
|
|
],
|
|
'table' => [
|
|
'photo' => 'Photo',
|
|
'event' => 'Event',
|
|
'likes' => 'Likes',
|
|
],
|
|
],
|
|
|
|
'events' => [
|
|
'fields' => [
|
|
'tenant' => 'Tenant',
|
|
'name' => 'Event Name',
|
|
'slug' => 'Slug',
|
|
'date' => 'Event Date',
|
|
'type' => 'Event Type',
|
|
'default_locale' => 'Default Locale',
|
|
'is_active' => 'Is Active',
|
|
'settings' => 'Settings',
|
|
],
|
|
'table' => [
|
|
'tenant' => 'Tenant',
|
|
'join' => 'Join',
|
|
],
|
|
'actions' => [
|
|
'toggle_active' => 'Toggle Active',
|
|
'join_link_qr' => 'Join Link / QR',
|
|
],
|
|
'modal' => [
|
|
'join_link_heading' => 'Event Join Link',
|
|
],
|
|
'messages' => [
|
|
'join_link_copied' => 'Join link copied',
|
|
],
|
|
'join_link' => [
|
|
'link_label' => 'Join Link',
|
|
'qr_code_label' => 'QR Code',
|
|
'note_html' => 'Note: The QR code is generated via an external QR service. For a self-hosted option, we can add internal generation later.',
|
|
],
|
|
],
|
|
|
|
'legal_pages' => [
|
|
'fields' => [
|
|
'slug' => 'Slug',
|
|
'title_localized' => 'Title (de/en)',
|
|
'content_localization' => 'Content Localization',
|
|
'content_de' => 'Content (German)',
|
|
'content_en' => 'Content (English)',
|
|
'is_published' => 'Is Published',
|
|
'effective_from' => 'Effective From',
|
|
'version' => 'Version',
|
|
],
|
|
],
|
|
|
|
'emotions' => [
|
|
'sections' => [
|
|
'content_localization' => 'Content Localization',
|
|
],
|
|
'fields' => [
|
|
'name_de' => 'Name (German)',
|
|
'description_de' => 'Description (German)',
|
|
'name_en' => 'Name (English)',
|
|
'description_en' => 'Description (English)',
|
|
'icon_emoji' => 'Icon/Emoji',
|
|
'color' => 'Color',
|
|
'sort_order' => 'Sort Order',
|
|
'is_active' => 'Is Active',
|
|
'event_types' => 'Event Types',
|
|
],
|
|
'table' => [
|
|
'name' => 'Name',
|
|
'icon' => 'Icon',
|
|
'color' => 'Color',
|
|
'is_active' => 'Active',
|
|
'sort_order' => 'Sort Order',
|
|
],
|
|
'import' => [
|
|
'heading' => 'Import Emotions (CSV)',
|
|
],
|
|
],
|
|
|
|
'event_types' => [
|
|
'sections' => [
|
|
'name_localization' => 'Name Localization',
|
|
],
|
|
'fields' => [
|
|
'name_de' => 'Name (German)',
|
|
'name_en' => 'Name (English)',
|
|
'slug' => 'Slug',
|
|
'icon' => 'Icon',
|
|
'settings' => 'Settings',
|
|
'emotions' => 'Emotions',
|
|
],
|
|
],
|
|
|
|
'tasks' => [
|
|
'menu' => 'Tasks',
|
|
'fields' => [
|
|
'event_type_optional' => 'Event Type (optional)',
|
|
'content_localization' => 'Content Localization',
|
|
'title_de' => 'Title (German)',
|
|
'description_de' => 'Description (German)',
|
|
'example_de' => 'Example Text (German)',
|
|
'title_en' => 'Title (English)',
|
|
'description_en' => 'Description (English)',
|
|
'example_en' => 'Example Text (English)',
|
|
'emotion' => 'Emotion',
|
|
'event_type' => 'Event Type',
|
|
'difficulty' => [
|
|
'label' => 'Difficulty',
|
|
'easy' => 'Easy',
|
|
'medium' => 'Medium',
|
|
'hard' => 'Hard',
|
|
],
|
|
],
|
|
'table' => [
|
|
'title' => 'Title',
|
|
'is_active' => 'Active',
|
|
'sort_order' => 'Sort Order',
|
|
],
|
|
'import' => [
|
|
'heading' => 'Import Tasks (CSV)',
|
|
],
|
|
],
|
|
|
|
'widgets' => [
|
|
'events_active_today' => [
|
|
'heading' => 'Events active today',
|
|
],
|
|
'recent_uploads' => [
|
|
'heading' => 'Recent uploads',
|
|
],
|
|
'top_tenants_by_uploads' => [
|
|
'heading' => 'Top tenants by uploads',
|
|
],
|
|
'uploads_per_day' => [
|
|
'heading' => 'Uploads (14 days)',
|
|
],
|
|
],
|
|
|
|
'notifications' => [
|
|
'file_not_found' => 'File not found',
|
|
'imported_rows' => 'Imported :count rows',
|
|
'failed_count' => ':count failed',
|
|
],
|
|
|
|
'tenants' => [
|
|
'fields' => [
|
|
'name' => 'Tenant Name',
|
|
'slug' => 'Slug',
|
|
'contact_email' => 'Contact Email',
|
|
'event_credits_balance' => 'Event Credits Balance',
|
|
'features' => 'Features',
|
|
],
|
|
],
|
|
|
|
'shell' => [
|
|
'tenant_admin_title' => 'Tenant Admin',
|
|
],
|
|
];
|