chore(i18n): add German language files generated (heuristic translations) and generator script

This commit is contained in:
Ahmed Darrazi 2025-12-15 22:31:09 +01:00
parent 7ad5212c8a
commit e3489d506e
12 changed files with 1812 additions and 0 deletions

32
lang/de/auth.php Normal file
View File

@ -0,0 +1,32 @@
<?php
return array (
'failed' => 'These credentials do not match our records.',
'password' => 'The provided password is incorrect.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
'password_updated' => 'Your password has been Aktualisierungd.',
'verification_link_sent' => 'A fresh verification link has been sent to your email address.',
'password_reset_sent' => 'We have emailed your password reset link.',
'google_auth_settings' => 'Google Auth Einstellungen',
'google_auth_description' => 'Google Auth Description',
'login_title' => 'Log in to your account',
'login_description' => 'Enter your email and password below to log in',
'remember_me' => 'Remember me',
'forgot_password' => 'Forgot Password',
'continue_with' => 'Or continue with',
'no_account' => 'Don\'t have an account?',
'google_auth' => 'Google Auth',
'register_title' => 'Create an account',
'register_description' => 'Enter your details below to create your account',
'have_account' => 'Already have an account?',
'forgot_description' => 'Enter your email to receive a password reset link',
'return_to_login' => 'Or, return to',
'reset_title' => 'Reset password',
'reset_description' => 'Please enter your new password below',
'confirm_title' => 'Confirm your password',
'confirm_description' => 'This is a secure area of the Anwendung. Please confirm your password before continuing.',
'change_email' => 'Change Email',
'verify_title' => 'Verify email',
'verify_description' => 'Please verify your email address by clicking on the link we just emailed to you.',
'verification_sent' => 'A new verification link has been sent to the email address you provided during registration.',
);

206
lang/de/button.php Normal file
View File

@ -0,0 +1,206 @@
<?php
return array (
'add' => 'Add',
'save' => 'Speichern',
'cancel' => 'Abbrechen',
'close' => 'Close',
'submit' => 'Submit',
'edit' => 'Edit',
'delete' => 'Delete',
'create' => 'Create',
'update' => 'Aktualisierung',
'remove' => 'Remove',
'previous' => 'Previous',
'apply' => 'Apply',
'view_all' => 'View All',
'reply' => 'Reply',
'reapply' => 'ReApply',
'light' => 'Light',
'dark' => 'Dark',
'collaborative' => 'Collaborative',
'administrative' => 'Administrative',
'type' => 'Type',
'form' => 'Form',
'true' => 'True',
'false' => 'False',
'free' => 'Free',
'list' => 'List',
'search' => 'Search',
'filter' => 'Filter',
'sort' => 'Sort',
'refresh' => 'Refresh',
'upload' => 'Hochladen',
'download' => 'Download',
'send' => 'Send',
'add_item' => 'Add Item',
'reorder' => 'Reorder',
'active' => 'Active',
'inactive' => 'Inactive',
'deactivate' => 'Deactivate',
'lessons' => 'Lessons',
'live_classes' => 'Live Classes',
'join_class' => 'Join Class',
'edit_live_class' => 'Edit Live Class',
'delete_class' => 'Delete Class',
'class_note' => 'Class Note',
'add_language' => 'Sprache hinzufügen',
'save_changes' => 'Speichern Changes',
'schedule_class' => 'Schedule Class',
'add_newsletter' => 'Add Newsletter',
'update_newsletter' => 'Aktualisierung Newsletter',
'delete_backup' => 'Delete Sicherung',
'refresh_server' => 'Refresh Server',
'backup_now' => 'Sicherung Now',
'update_application' => 'Anwendung aktualisieren',
'play_course' => 'Play Course',
'course_player' => 'Course Player',
'enroll_now' => 'Enroll Now',
'buy_now' => 'Buy Now',
'add_to_cart' => 'Add to cart',
'add_to_wishlist' => 'Add to Wishlist',
'remove_from_wishlist' => 'Remove from Wishlist',
'learn_more' => 'Learn More',
'continue' => 'Continue',
'course_details' => 'Course Details',
'continue_to_payment' => 'Continue to payment',
'post_comment' => 'Post Comment',
'posting' => 'Posting...',
'like' => 'like',
'dislike' => 'dislike',
'submit_review' => 'Submit Review',
'next_step' => 'Next Step',
'previous_step' => 'Previous Step',
'generate_certificate' => 'Generate Certificate',
'generating_certificate' => 'Generating Certificate...',
'download_as' => 'Download as',
'mark_all_as_read' => 'Mark all as read',
'view_all_notifications' => 'View all notifications',
'subscribe' => 'Subscribe',
'become_an_instructor' => 'Become an Instructor',
'delete_account' => 'Delete account',
'are_you_sure_to_delete' => 'Bist du sicher to delete?',
'add_section' => 'Add Section',
'sort_section' => 'Sort Section',
'add_quiz' => 'Add Quiz',
'add_lesson' => 'Add Lesson',
'sort_lessons' => 'Sort Lessons',
'sort_categories' => 'Sort Categories',
'edit_section' => 'Edit Section',
'delete_section' => 'Delete Section',
'quiz_questions' => 'Quiz Questions',
'add_question' => 'Add Question',
'save_lesson' => 'Speichern Lesson',
'pick_a_date' => 'Pick a Datum',
'toggle_theme' => 'Toggle theme',
'course_preview' => 'Course Preview',
'submit_for_approval' => 'Submit for Approval',
'approval_status' => 'Approval Status',
'login' => 'Login',
'logout' => 'Logout',
'log_out' => 'Log out',
'log_in' => 'Log in',
'sign_up' => 'Sign up',
'create_account' => 'Create account',
'continue_with_google' => 'Continue With Google',
'forgot_password' => 'Forgot password?',
'email_password_reset_link' => 'Email password reset link',
'resend_verification_email' => 'Resend verification email',
'confirm_password' => 'Confirm password',
'reset_password' => 'Reset password',
'change_email' => 'Change Email',
'change_password' => 'Change Password',
'forget_password' => 'Forget Password',
'get_email_change_link' => 'Get Email Change Link',
'get_password_reset_link' => 'Get Password Reset Link',
'upload_file' => 'Hochladen Datumi',
'start_upload' => 'Start Hochladen',
'cancel_upload' => 'Abbrechen Hochladen',
'select_different_file' => 'Select Different Datumi',
'initializing_upload' => 'Initializing Hochladen...',
'uploading_file_chunks' => 'Hochladening Datumi chunks...',
'finalizing_upload' => 'Finalizing Hochladen...',
'completed_upload' => 'Completed Hochladen',
'upload_completed_successfully' => 'Hochladen completed successfully',
'uploading' => 'Wird hochgeladen...',
'saving' => 'Saving...',
'first' => 'First',
'last' => 'Last',
'prev' => 'Prev',
'next' => 'Next',
'back' => 'Back',
'show_full' => 'Show Full',
'show_less' => 'Show Less',
'dashboard' => 'Dashboard',
'main_menu' => 'Main Menu',
'categories' => 'Categories',
'courses' => 'Courses',
'enrollments' => 'Enrollments',
'instructors' => 'Instructors',
'payout_report' => 'Payout Report',
'payouts' => 'Payouts',
'job_circulars' => 'Job Circulars',
'blogs' => 'Blogs',
'newsletters' => 'Newsletters',
'all_users' => 'All Users',
'settings' => 'Einstellungen',
'my_courses' => 'My Courses',
'wishlist' => 'Wishlist',
'profile' => 'ProDatumi',
'live_class' => 'Live Class',
'payment_methods' => 'Payment Methods',
'profile_update' => 'ProDatumi Aktualisierung',
'manage_courses' => 'Manage Courses',
'create_course' => 'Create Course',
'manage_enrollments' => 'Manage Enrollments',
'add_new_enrollment' => 'Add New Enrollment',
'add_new_instructor' => 'Add New Instructor',
'manage_instructors' => 'Manage Instructors',
'create_instructor' => 'Create Instructor',
'applications' => 'Anwendungs',
'payout_request' => 'Payout Request',
'payout_history' => 'Payout Verlauf',
'withdraw' => 'Withdraw',
'all_jobs' => 'All Jobs',
'create_job' => 'Create Job',
'edit_job' => 'Edit Job',
'create_blog' => 'Create Blog',
'manage_blog' => 'Manage Blog',
'account' => 'Account',
'system' => 'System',
'pages' => 'Pages',
'storage' => 'Storage',
'smtp' => 'SMTP',
'auth0' => 'Auth0',
'maintenance' => 'Maintenance',
'become_instructor' => 'Become Instructor',
'overview' => 'Overview',
'curriculum' => 'Curriculum',
'details' => 'Details',
'instructor' => 'Instructor',
'reviews' => 'Reviews',
'summery' => 'Summery',
'certificate' => 'Certificate',
'forum' => 'Forum',
'review' => 'Review',
'basic' => 'Basic',
'pricing' => 'Pricing',
'info' => 'Info',
'media' => 'Media',
'seo' => 'SEO',
'quiz' => 'Quiz',
'lesson' => 'Lesson',
'social' => 'Social',
'payment' => 'Payment',
'copyright' => 'Kopierenright',
'social_media' => 'Social Media',
'url_items' => 'URL Items',
'dropdowns' => 'Dropdowns',
'actions' => 'Aktionen',
'website' => 'Website',
'navbar' => 'Navbar',
'footer' => 'Footer',
'style' => 'Style',
'edit_navbar' => 'Edit Navbar',
'edit_footer' => 'Edit Footer',
);

107
lang/de/common.php Normal file
View File

@ -0,0 +1,107 @@
<?php
return array (
'title' => 'Title',
'description' => 'Description',
'name' => 'Name',
'email' => 'Email',
'password' => 'Password',
'type' => 'Type',
'category' => 'Category',
'status' => 'Status',
'location' => 'Location',
'image' => 'Image',
'url' => 'URL',
'categories' => 'Categories',
'students' => 'Students',
'courses' => 'Courses',
'comments' => 'Comments',
'comment' => 'Comment',
'price' => 'Price',
'rating' => 'Rating',
'instructor' => 'Instructor',
'role' => 'Role',
'action' => 'Action',
'actions' => 'Aktionen',
'level' => 'Level',
'active' => 'Active',
'inactive' => 'Inactive',
'published' => 'Published',
'draft' => 'Draft',
'expired' => 'Expired',
'pending' => 'Pending',
'enabled' => 'Enabled',
'disabled' => 'Disabled',
'language' => 'Sprache',
'default' => 'default',
'closed' => 'Closed',
'paused' => 'Paused',
'on' => 'On',
'off' => 'Off',
'free' => 'Free',
'completed' => 'Completed',
'search' => 'Search',
'filter' => 'Filter',
'create' => 'Create',
'update' => 'Aktualisierung',
'edit' => 'Edit',
'save' => 'Speichern',
'delete' => 'Delete',
'cancel' => 'Abbrechen',
'submit' => 'Submit',
'apply' => 'Apply',
'view' => 'View',
'preview' => 'Preview',
'download' => 'Download',
'close' => 'Close',
'confirm' => 'Confirm',
'yes' => 'Yes',
'no' => 'No',
'ok' => 'OK',
'back' => 'Back',
'continue' => 'Continue',
'skip' => 'Skip',
'retry' => 'Retry',
'refresh' => 'Refresh',
'reload' => 'Reload',
'change_email' => 'Change Email',
'change_password' => 'Change Password',
'forget_password' => 'Forget Password',
'loading' => 'Loading...',
'processing' => 'Processing...',
'saving' => 'Saving...',
'updating' => 'Updating...',
'deleting' => 'Deleting...',
'uploading' => 'Wird hochgeladen...',
'searching' => 'Searching...',
'no_results_found' => 'No results found',
'today' => 'Today',
'yesterday' => 'Yesterday',
'ago' => 'ago',
'general_settings' => 'General Einstellungen',
'email_settings' => 'Email Einstellungen',
'payment_settings' => 'Payment Einstellungen',
'settings' => 'Einstellungen',
'file_too_large' => 'Datumi is too large. Please select a smaller Datumi.',
'invalid_file' => 'Invalid Datumi format. Please Hochladen a valid .zip Datumi.',
'required_field' => 'This field is required.',
'home' => 'Home',
'about' => 'About',
'contact' => 'Contact',
'help' => 'Help',
'support' => 'Support',
'dashboard' => 'Dashboard',
'page' => 'Page',
'of' => 'of',
'first' => '<<First',
'previous' => 'Previous',
'next' => 'Next',
'last' => 'Last>>',
'go_to_page' => 'Go to page',
'video' => 'Video',
'audio' => 'Audio',
'document' => 'Document',
'file' => 'Datei',
'reviews' => 'Reviews',
'select_the_approval_status' => 'Select the Approval Status',
);

307
lang/de/dashboard.php Normal file
View File

@ -0,0 +1,307 @@
<?php
return array (
'user_management' => 'User Management',
'course_management' => 'Course Management',
'content_management' => 'Content Management',
'financial_management' => 'Financial Management',
'refund_management' => 'Refund Management',
'faq_management' => 'FAQ Management',
'security_settings' => 'Security Einstellungen',
'backup_settings' => 'Sicherung Einstellungen',
'tax_settings' => 'Tax Einstellungen',
'webhook_settings' => 'Webhook Einstellungen',
'analytics' => 'Analytics',
'reports' => 'Reports',
'visitor_analytics' => 'Visitor Analytics',
'course_analytics' => 'Course Analytics',
'enrollment_statistics' => 'Enrollment Statistics',
'revenue_statistics' => 'Revenue Statistics',
'course_statistics' => 'Course Statistics',
'sales_report' => 'Sales Report',
'user_activity_report' => 'User Activity Report',
'course_performance_report' => 'Course Performance Report',
'financial_report' => 'Financial Report',
'export_report' => 'Export Report',
'basic_information' => 'Basic Information',
'blog_information' => 'Blog Information',
'user_information' => 'User Information',
'media_details' => 'Media Details',
'compensation_details' => 'Compensation & Details',
'total_blogs' => 'Total Blogs',
'total_categories' => 'Total Categories',
'total_jobs' => 'Total Jobs',
'total_users' => 'Total Users',
'total_earnings' => 'Total Earnings',
'total_withdrawals' => 'Total Withdrawals',
'select_user_type' => 'Select user type',
'select_withdrawal_method' => 'Select withdrawal method',
'select_recipients' => 'Select Recipients',
'select_media' => 'Select Media',
'no_results' => 'No results.',
'no_results_found' => 'No results found',
'are_you_absolutely_sure' => 'Are you absolutely sure?',
'update_the_category' => 'Aktualisierung The Category',
'image_upload_requirements' => 'Image Hochladen is required',
'admin' => 'Admin',
'archived' => 'Archived',
'user_list' => 'User List',
'instructor_list' => 'Instructor List',
'course_list' => 'Course List',
'newsletter_list' => 'Newsletter List',
'payout_list' => 'Payout List',
'lessons' => 'Lessons',
'quizzes' => 'Quizzes',
'total_content_items' => 'Total Content Items',
'enrollment' => 'Enrollment',
'course_status' => 'Course Status',
'update_section' => 'Aktualisierung Section',
'update_lesson' => 'Aktualisierung Lesson',
'update_quiz' => 'Aktualisierung Quiz',
'sort_items' => 'Sort Items',
'job_circulars' => 'Job Circulars',
'no_job_circulars_found' => 'No job circulars found',
'provide_essential_job_details' => 'Provide the essential details about the job position',
'specify_job_requirements' => 'Specify the requirements and qualifications for this position',
'provide_salary_details' => 'Provide salary range and other compensation details',
'salary_information' => 'Salary Information',
'salary_information_title' => 'Set the compensation range for this position',
'salary_range' => 'Salary Range',
'salary_currency' => 'Salary Currency',
'salary_negotiable' => 'Salary Negotiable',
'application_deadline' => 'Anwendung Deadline',
'contact_email' => 'Contact Email',
'skills_required' => 'Skills Required',
'positions_available' => 'Positions Available',
'job_type' => 'Job Type',
'work_type' => 'Work Type',
'experience_level' => 'Experience Level',
'job_details' => 'Job Details',
'job_details_title' => 'Specify the job type, location, and experience requirements',
'all' => 'All',
'student' => 'Student',
'send_to' => 'Send To',
'send_newsletter' => 'Send newsletter',
'no_newsletters_found' => 'No newsletters found',
'available' => 'Available',
'total_payout' => 'Total Payout',
'requested' => 'Requested',
'withdraw_list' => 'Withdraw List',
'payout_history' => 'Payout Verlauf',
'payout_request' => 'Payout Request',
'feedback' => 'Feedback',
'course_instructor' => 'Course Instructor',
'approval_status' => 'Approval Status',
'blog' => 'Blog',
'add_new_blog' => 'Add new blog',
'provide_essential_details' => 'Provide the essential details about your blog post',
'blog_categories' => 'Blog Categories',
'blog_category' => 'Blog Category',
'protected_category' => 'Protected Category',
'default_category_description' => 'When a specific category is deleted, all courses in that category will be moved to this default category. So default category cannot be edited or removed.',
'protected_category_desc' => 'When a specific category is deleted, all courses in that category will be moved to this default category. So default category cannot be edited or removed.',
'icon_picker' => 'Icon Picker',
'sort_categories' => 'Sort Categories',
'add_category' => 'Add Category',
'create_category' => 'Create Category',
'add_new_category' => 'Add New Category',
'enter_blog_title' => 'Enter blog title',
'blog_information_desc' => 'Provide the essential details about your blog post',
'enter_category_name' => 'Enter category Name',
'pick_category_icon' => 'Pick your category icon',
'category_status' => 'Category Status',
'all_users' => 'All Users',
'only_students' => 'Only Students',
'only_instructors' => 'Only Instructors',
'pending_withdrawals' => 'Pending Withdrawals',
'available_balance' => 'Available Balance',
'withdraw_amount' => 'Withdraw Amount',
'minimum_withdraw' => 'Minimum Withdraw',
'maximum_withdraw' => 'Maximum Withdraw',
'withdrawal_method' => 'Withdrawal Method',
'withdrawal_note' => 'Withdrawal Note',
'withdrawal_note_placeholder' => 'Add a note for this withdrawal (optional)',
'user_role' => 'User Role',
'provide_essential_user_details' => 'Provide the essential details about the user',
'media_library' => 'Media Library',
'file_manager' => 'Datumi Manager',
'upload_media' => 'Hochladen Media',
'file_name' => 'Datumi Name',
'file_size' => 'Datumi Größe',
'file_type' => 'Datumi Type',
'upload_date' => 'Hochladen Datum',
'dimensions' => 'Dimensions',
'notifications' => 'Notifications',
'messages' => 'Messages',
'announcements' => 'Announcements',
'meta_title' => 'Meta Title',
'enter_meta_title' => 'Enter Meta Title',
'meta_keywords' => 'Meta Keywords',
'enter_meta_keywords' => 'Enter Meta Keywords',
'meta_description' => 'Meta Description',
'enter_meta_description' => 'Enter Meta Description',
'og_title' => 'OG Title',
'enter_og_title' => 'Enter OG Title',
'og_description' => 'OG Description',
'enter_og_description' => 'Enter OG Description',
'lesson_type' => 'Lesson Type',
'video_file' => 'Video Datumi',
'video_url' => 'Video URL',
'document_file' => 'Document Datumi',
'image_file' => 'Image Datumi',
'text_content' => 'Text Content',
'embed_source' => 'Embed Source',
'lesson_title' => 'Lesson Title',
'lesson_status' => 'Lesson Status',
'is_free' => 'Is Free',
'lesson_description' => 'Lesson Description',
'lesson_provider' => 'Lesson Provider',
'lesson_source' => 'Lesson Source',
'duration' => 'Duration',
'lesson_summary' => 'Lesson Summary',
'quiz_title' => 'Quiz Title',
'enter_quiz_title' => 'Enter quiz title',
'total_mark' => 'Total Mark',
'pass_mark' => 'Pass Mark',
'retake' => 'Retake',
'quiz_summary' => 'Quiz Summary',
'hours' => 'Hours',
'minutes' => 'Minutes',
'seconds' => 'Seconds',
'question_type' => 'Question Type',
'single_choice' => 'Single Choice',
'multiple_choice' => 'Multiple Choice',
'true_false' => 'True of False',
'select_question_type' => 'Select question type',
'question_title' => 'Question Title',
'question_options' => 'Question Options',
'correct_answer' => 'Correct Answer',
'add_question' => 'Add Question',
'edit_question' => 'Edit Question',
'sections' => 'Sections',
'section_title' => 'Section Title',
'section_description' => 'Section Description',
'lesson_content' => 'Lesson Content',
'quiz_questions' => 'Quiz Questions',
'assignments' => 'Assignments',
'user_roles' => 'User Roles',
'permissions' => 'Permissions',
'user_activity' => 'User Activity',
'login_history' => 'Login Verlauf',
'user_preferences' => 'User Preferences',
'update_user' => 'Aktualisierung User',
'select_approval_status' => 'Select the Approval Status',
'course_progress' => 'Course Progress',
'completion_rate' => 'Completion Rate',
'time_spent' => 'Time Spent',
'quiz_scores' => 'Quiz Scores',
'certificates_issued' => 'Certificates Issued',
'admin_revenue' => 'Admin Revenue',
'instructor_revenue' => 'Instructor Revenue',
'revenue_tracking' => 'Revenue Tracking',
'commission_rates' => 'Commission Rates',
'payment_history' => 'Payment Verlauf',
'instructor_revenue_this_year' => 'Instructor Revenue This Year',
'admin_revenue_this_year' => 'Admin Revenue This Year',
'content_review' => 'Content Review',
'flagged_content' => 'Flagged Content',
'moderation_queue' => 'Moderation Queue',
'content_guidelines' => 'Content Guidelines',
'help_desk' => 'Help Desk',
'support_tickets' => 'Support Tickets',
'documentation' => 'Documentation',
'marketing_campaigns' => 'Marketing Campaigns',
'promotional_codes' => 'Promotional Codes',
'affiliate_program' => 'Affiliate Program',
'email_marketing' => 'Email Marketing',
'third_party_integrations' => 'Third Party Integrations',
'api_management' => 'API Management',
'external_services' => 'External Services',
'published' => 'Published',
'draft' => 'Draft',
'active' => 'Active',
'inactive' => 'Inactive',
'category_required' => 'Category *',
'select_course_instructor' => 'Select the course instructor',
'status_required' => 'Status *',
'price' => 'Price',
'enter_course_title' => 'Enter Course Title',
'enter_short_description' => 'Enter Short Description',
'type_content_here' => 'Type your content here...',
'type_caption_optional' => 'Type caption for image (optional)',
'course_level' => 'Course Level',
'course_language' => 'Course Sprache',
'pricing_type_required' => 'Pricing type *',
'enter_course_price' => 'Enter your course price ($0)',
'check_course_discount' => 'Check if this course has discount',
'enter_discount_price' => 'Enter discount price',
'expiry_type' => 'Expiry Type',
'expiry_duration' => 'Expiry Duration',
'drip_content' => 'Drip Content',
'enable_drip_content' => 'Enable Drip Content',
'select_instructor' => 'Select the course instructor',
'course_category' => 'Course Category',
'select_category' => 'Select the course category',
'course_preview' => 'Course Preview',
'course_player' => 'Course Player',
'submit_for_approval' => 'Submit for Approval',
'course_approval_status' => 'Course Approval Status',
'course_ready_approval' => 'This course is ready for Approval!',
'course_needs_attention' => 'This course needs attention before it can be Approved:',
'course_content_summary' => 'Course Content Summary',
'course_faqs' => 'Course Faqs',
'requirements' => 'Requirements',
'outcomes' => 'Outcomes',
'live_classes' => 'Live Classes',
'schedule_new_live_class' => 'Schedule New Live Class',
'schedule_live_class' => 'Schedule Live Class',
'zoom_not_enabled' => 'Zoom is not enabled for this course. Please enable Zoom to schedule live classes.',
'enable_zoom' => 'Enable Zoom',
'no_live_classes_scheduled' => 'No Live Classes Scheduled',
'schedule_first_live_class' => 'Schedule your first live class to get started with Zoom.',
'class_topic_required' => 'Class Topic *',
'enter_class_topic' => 'Enter class topic',
'start_date_time_required' => 'Start Datum & Time *',
'class_notes_optional' => 'Class Notes (Optional)',
'scheduling' => 'Scheduling...',
'schedule_class' => 'Schedule Class',
'join_class' => 'Join Class',
'edit_class' => 'Edit Class',
'delete_class' => 'Delete Class',
'banner' => 'Banner',
'thumbnail' => 'Thumbnail',
'preview_video_type' => 'Preview Video Type',
'preview_video_url' => 'Preview Video URL',
'enter_video_url' => 'Enter video URL',
'total_number_of_blog' => 'Total number of blog',
'update_category' => 'Aktualisierung Category',
'provide_blog_details' => 'Provide the essential details about your blog post',
'title_80_char' => 'Title (80 Character)',
'keywords_80_char' => 'Keywords (80 Character)',
'enter_your_keywords' => 'Enter your keywords',
'write_blog_content_here' => 'Write your blog content here...',
'media_files' => 'Media Datumien',
'upload_banner_thumbnail_desc' => 'Hochladen banner and thumbnail images for your blog',
'blog_banner' => 'Blog Banner',
'blog_thumbnail' => 'Blog Thumbnail',
'update_blog' => 'Aktualisierung Blog',
'add_blog' => 'Add Blog',
'subtitle_80_char' => 'Subtitle (80 Character)',
'enter_category_description' => 'Enter category description',
'course_title' => 'Course Title',
'short_description' => 'Short Description',
'made_in' => 'Made In',
'pricing_type' => 'Pricing type',
'expiry_period_type' => 'Expiry period type',
'expiry_date' => 'Expiry Datum',
'preview_video' => 'Preview Video',
'lesson_duration' => 'Lesson Duration',
'class_topic' => 'Class Topic',
'start_date_time' => 'Start Datum & Time',
'class_notes' => 'Class Notes (Optional)',
'zoom_not_enabled_message' => 'Zoom is not enabled for this course. Please enable Zoom to schedule live classes.',
'live' => 'live',
'upcoming' => 'upcoming',
'ended' => 'ended',
'scheduled' => 'scheduled',
);

215
lang/de/frontend.php Normal file
View File

@ -0,0 +1,215 @@
<?php
return array (
'replies' => 'Replies',
'posting' => 'Posting...',
'replying' => 'Replying...',
'something_went_wrong' => 'Something went wrong. Please try again.',
'network_error' => 'Network error. Please check your connection.',
'invalid_file_type' => 'Invalid Datumi type. Please select a valid Datumi.',
'no_element_available' => 'No element available',
'delete_warning' => 'Bist du sicher to delete?',
'all' => 'All',
'grid_view' => 'Grid View',
'list_view' => 'List View',
'notification_list' => 'Notification List',
'no_unread_notifications' => 'No unread notifications',
'closed' => 'Closed',
'company_fallback' => 'TechCorp Inc.',
'join_class' => 'Join Class',
'no_lesson_found' => 'No lesson found',
'section' => 'Section',
'section_properties' => 'Section Properties',
'job_circulars' => 'Job Circulars',
'profile_updated' => 'ProDatumi Aktualisierungd successfully',
'email_changed' => 'Email changed successfully',
'password_changed' => 'Password changed successfully',
'application_submitted' => 'Anwendung submitted successfully',
'comment_posted' => 'Comment posted successfully',
'reply_posted' => 'Reply posted successfully',
'email_not_verified' => 'Your email is not verified yet. Please verify your email address by clicking on the link we just emailed to you.',
'verification_link_sent' => 'A new verification link has been sent to the email address you provided during registration.',
'privacy_policy' => 'Privacy Policy',
'terms_of_service' => 'Terms of Service',
'student_dashboard' => 'Student Dashboard',
'first_page' => 'First page',
'last_page' => 'Last page',
'sort_by' => 'Sort by',
'showing_results' => 'Showing :from to :to of :total results',
'star' => 'Star',
'stars' => 'Stars',
'edit_review' => 'Edit Review',
'review' => 'Review',
'submit_review' => 'Submit Review',
'you_rated_this' => 'You rated this',
'characters' => 'Characters',
'no_courses_found' => 'No courses found',
'no_wishlist_items' => 'No wishlist items found',
'day_left' => '1 day left',
'days_left' => ':days days left',
'negotiable' => 'Negotiable',
'experience_level' => 'Experience Level',
'job_type' => 'Job Type',
'work_type' => 'Work Type',
'location' => 'Location',
'positions_available' => 'Positions Available',
'application_deadline' => 'Anwendung Deadline',
'contact_email' => 'Contact Email',
'skills_required' => 'Skills Required',
'job_description' => 'Job Description',
'quick_apply' => 'Quick Apply',
'send_application' => 'Send your Anwendung directly to our team',
'apply_via_email' => 'Apply via Email',
'job_statistics' => 'Job Statistics',
'posted' => 'Posted',
'last_updated' => 'Last Aktualisierungd',
'tax' => 'Tax',
'total' => 'Total',
'cart_items' => 'Cart items',
'your_cart_is_empty' => 'Your cart is empty',
'payment_summary' => 'Payment summary',
'sub_total' => 'Sub total',
'discount' => 'Discount',
'all_blogs' => 'All Blogs',
'latest_blog_posts' => 'Latest Blog Posts',
'post_a_comment' => 'Post A Comment',
'no_comments_yet' => 'No comments yet. Be the first to comment!',
'like' => 'like',
'dislike' => 'dislike',
'blog_banner_alt' => 'Blog banner',
'blog_thumbnail_alt' => 'Blog thumbnail',
'author_alt' => 'Author',
'author_initials_fallback' => 'AU',
'blog_list_alt' => 'Blog List',
'blog_page_description' => 'Read :total+ articles and tutorials from our instructors and team. Stay Aktualisierungd with insights, news, and howto guides.',
'blog_page_keywords' => 'blogs, articles, tutorials, news, posts, learning, education',
'default_site_name' => 'Mentor Learning Management System',
'loading_zoom_sdk' => 'Loading Zoom SDK...',
'joining_meeting' => 'Joining Meeting...',
'unable_to_join_meeting' => 'Unable to Join Meeting',
'you_can_join_directly' => 'You can join directly using:',
'open_in_zoom_app' => 'Open in Zoom App',
'try_again' => 'Try Again',
'zoom_sdk_not_configured' => 'Zoom SDK not Konfigurierend. Please contact administrator.',
'meeting_information_not_found' => 'Meeting information not found.',
'failed_to_get_meeting_configuration' => 'Failed to get meeting configuration',
'zoom_sdk_not_loaded' => 'Zoom SDK not loaded',
'failed_to_initialize_meeting' => 'Failed to initialize meeting',
'failed_to_join_meeting' => 'Failed to join meeting',
'course_certificate_download' => 'Course Certificate Download',
'download_official_certificate' => 'Download your official course completion certificate',
'certificate_of_completion' => 'Certificate of Completion',
'certificate_description' => 'This certificate is proudly presented to acknowledge the successful completion of all course requirements and demonstrates a strong commitment to professional development and learning excellence. This is to certify that',
'has_successfully_completed' => 'has successfully completed the course',
'completed_on' => 'Completed on: :date',
'authorized_certificate' => 'Authorized Certificate of Achievement',
'download_format' => 'Download Format',
'png_certificate_saved' => 'Your PNG certificate has been Speichernd to your downloads folder.',
'pdf_certificate_saved' => 'Your PDF certificate has been Speichernd to your downloads folder.',
'summery' => 'Summery',
'duration' => 'Duration',
'total_questions' => 'Total Questions',
'total_marks' => 'Total Marks',
'pass_marks' => 'Pass Marks',
'retake' => 'Retake',
'result' => 'Result',
'retake_attempts' => 'Retake Attempts',
'correct_answers' => 'Correct Answers',
'incorrect_answers' => 'Incorrect Answers',
'passed' => 'Passed',
'not_passed' => 'Not Passed',
'quiz_submitted' => 'Quiz Submitted',
'start_quiz' => 'Start Quiz',
'retake_quiz' => 'Retake Quiz',
'true' => 'True',
'false' => 'False',
'hours' => 'Hours',
'minutes' => 'Minutes',
'seconds' => 'Seconds',
'pdf_document' => 'PDF Document',
'text_document' => 'Text Document',
'document' => 'Document',
'open_in_new_tab' => 'Open in new tab',
'download_document' => 'Download document',
'unsupported_document_format' => 'Unsupported Document Format',
'document_format_cannot_be_previewed' => 'This document format (.{extension}) cannot be previewed directly. You can download it to view with an Appropriate Anwendung.',
'open_in_new_tab_button' => 'Open in New Tab',
'download' => 'Download',
'learn_comprehensive_course' => 'Learn with our comprehensive course',
'online_course_learning_lms' => 'online course, learning, LMS',
'default_author' => 'UiLib',
'course_certificate' => 'Course Certificate',
'enrolled_students' => 'Enrolled Students',
'student_reviews' => 'Student Reviews',
'no_reviews_found' => 'No reviews found.',
'course_curriculum' => 'Course curriculum',
'there_is_no_lesson_added' => 'There is no lesson added',
'requirements' => 'Requirements',
'outcomes' => 'Outcomes',
'view_details' => 'View Details',
'students' => 'Students',
'language' => 'Sprache',
'level' => 'Level',
'expiry_period' => 'Expiry Period',
'certificate_included' => 'Certificate Included',
'free' => 'Free',
'play_course' => 'Play Course',
'course_player' => 'Course Player',
'enroll_now' => 'Enroll Now',
'buy_now' => 'Buy Now',
'add_to_cart' => 'Add to cart',
'add_to_wishlist' => 'Add to Wishlist',
'remove_from_wishlist' => 'Remove from Wishlist',
'prev' => 'Prev',
'next' => 'Next',
'go_to_page_colon' => 'Go to page:',
'student' => 'Student',
'trending' => 'Trending',
'course_details' => 'Course Details',
'progress' => 'Progress',
'instructor' => 'Instructor',
'all_courses' => 'All Courses',
'instructor_profile' => 'Instructor ProDatumi',
'expert_instructor' => 'Expert Instructor',
'instructor_fallback_keywords' => 'learning, education',
'application_is' => 'Anwendung is',
'application_status' => 'Anwendung Status',
'application_rejected' => 'Unfortunately, your Anwendung has been rejected. Please review the requirements and submit again with Aktualisierungd information.',
'application_under_review' => 'Your Anwendung is currently under review by our team. We will get back to you as soon as possible.',
'position' => 'position',
'positions' => 'positions',
'available' => 'available',
'dashboard' => 'Dashboard',
'courses' => 'Courses',
'lessons' => 'Lessons',
'enrollment' => 'Enrollment',
'course_status' => 'Course Status',
'latest_pending_withdrawal_request' => 'Latest Pending Withdrawal Request',
'view_all' => 'View All',
'no_results' => 'No results.',
'php_extension' => 'PHP Extension',
'symlink_function' => 'Symlink Function',
'server_requirements_not_met' => 'Your server doesn\'t meet the following requirements',
'important_notes' => 'Important Notes',
'symlink_required' => 'Required for Laravel\'s storage:link command to make Hochladened Datumien publicly accessible',
'setup_complete' => 'Setup complete',
'environment_variables_set' => 'Your changed environment variables are set in the .env Datumi now.',
'click_here' => 'Click here',
'get_back_to_project' => 'to get back to your project.',
'test_connection' => 'Test Connection',
'database_connection' => 'Database Connection',
'environment_setup' => 'Environment Setup',
'admin_setup' => 'Admin Setup',
'just_now' => 'Just now',
'minute_ago' => '1 minute ago',
'minutes_ago' => ':minutes minutes ago',
'hour_ago' => '1 hour ago',
'hours_ago' => ':hours hours ago',
'days_ago' => ':days days ago',
'week_ago' => '1 week ago',
'weeks_ago' => ':weeks weeks ago',
'month_ago' => '1 month ago',
'months_ago' => ':months months ago',
'year_ago' => '1 year ago',
'years_ago' => ':years years ago',
);

346
lang/de/input.php Normal file
View File

@ -0,0 +1,346 @@
<?php
return array (
'email' => 'Email',
'new_email' => 'New Email',
'your_email' => 'Your Email',
'remember_me' => 'Remember me',
'email_address' => 'Email address',
'current_email' => 'Current Email',
'password' => 'Password',
'current_password' => 'Current Password',
'new_password' => 'New Password',
'confirm_password' => 'Confirm password',
'confirm_new_password' => 'Confirm New Password',
'full_name' => 'Full Name',
'phone' => 'Phone',
'username' => 'UserName',
'profile_url' => 'ProDatumi URL',
'system_email' => 'System Email',
'account_email' => 'Account Email',
'contact_email' => 'Contact Email',
'from_address' => 'From Address',
'from_name' => 'From Name',
'allow_file_type' => 'Allow Datumi types',
'url' => 'URL',
'name' => 'Name',
'title' => 'Title',
'status' => 'Status',
'icon' => 'Icon',
'description' => 'Description',
'sub_title' => 'Sub Title',
'thumbnail' => 'Thumbnail',
'banner' => 'Banner',
'background_image' => 'Background Image',
'background_color' => 'Background Color',
'list_items' => 'List Items',
'dropdown_items' => 'Dropdown Items',
'action_type' => 'Action Type',
'active' => 'Active',
'tags' => 'Tags',
'slug' => 'Slug',
'url_slug' => 'URL Slug',
'slogan' => 'Slogan',
'author' => 'Author',
'meta_title' => 'Meta Title',
'meta_keywords' => 'Meta Keywords',
'meta_description' => 'Meta Description',
'og_title' => 'OG Title',
'og_description' => 'OG Description',
'student_name' => 'Student Name',
'course_name' => 'Course Name',
'completion_date' => 'Completion Datum',
'certificate_size' => 'Certificate Größe',
'short_description' => 'Short Description',
'download_format' => 'Download Format',
'preview_video' => 'Preview Video',
'preview_video_type' => 'Preview Video Type',
'video_url' => 'Video URL',
'video_url_provider' => 'Video URL Provider',
'select' => 'Select',
'select_provider' => 'Select Provider',
'select_video' => 'Select video',
'select_document' => 'Select document',
'select_image' => 'Select image',
'select_user' => 'Select user',
'select_course' => 'Select course',
'embed_source' => 'Embed source',
'duration' => 'Duration',
'lesson_type' => 'Lesson type',
'requirement' => 'Requirement',
'class_topic' => 'Class Topic',
'start_date_time' => 'Start Datum & Time',
'summary' => 'Summary',
'class_notes' => 'Class Notes (Optional)',
'enable_drip_content' => 'Enable drip content',
'course_level' => 'Course level',
'course_instructor' => 'Course Instructor',
'made_in' => 'Made in',
'pricing_type' => 'Pricing type',
'price' => 'Price',
'expiry_period_type' => 'Expiry period type',
'expiry_date' => 'Expiry Datum',
'expiry_duration' => 'Expiry Duration',
'course_language' => 'Course Sprache',
'course_discount' => 'Course Discount',
'enrollment_type' => 'Enrollment Type',
'question_title' => 'Question Title',
'title_80_character' => 'Title (80 Character)',
'keywords' => 'Keywords',
'keywords_80_character' => 'Keywords (80 Character)',
'subtitle_80_character' => 'Subtitle (80 Character)',
'question' => 'Question',
'answer' => 'Answer',
'outcome' => 'Outcome',
'your_text' => 'Enter your text',
'question_type' => 'Question Type',
'options' => 'Options',
'hours' => 'Hours',
'minutes' => 'Minutes',
'seconds' => 'Seconds',
'total_mark' => 'Total Mark',
'pass_mark' => 'Pass Mark',
'retake_attempts' => 'Retake Attempts',
'section_title' => 'Section Title',
'feedback' => 'Feedback',
'review' => 'Your Review',
'rating' => 'Rating',
'designation' => 'Designation',
'resume' => 'Resume',
'skills' => 'Skills',
'skills_required' => 'Skills Required',
'biography' => 'Biography',
'job_title' => 'Job Title',
'job_description' => 'Job Description',
'job_type' => 'Job Type',
'work_type' => 'Work Type',
'experience_level' => 'Experience Level',
'positions_available' => 'Positions Available',
'location' => 'Location',
'application_deadline' => 'Anwendung Deadline',
'salary_is_negotiable' => 'Salary is Negotiable',
'minimum_salary' => 'Minimum Salary',
'maximum_salary' => 'Maximum Salary',
'currency' => 'Currency',
'subject' => 'Subject',
'send_to' => 'Send To',
'test_api_key' => 'Test API Key',
'live_api_key' => 'Live API Key',
'public_test_key' => 'Public Test Key',
'secret_test_key' => 'Secret Test Key',
'public_live_key' => 'Public Live Key',
'secret_live_key' => 'Secret Live Key',
'webhook_secret' => 'Webhook Secret',
'sandbox_client_id' => 'Sandbox Client ID',
'sandbox_secret_key' => 'Sandbox Secret Key',
'production_client_id' => 'Production Client ID',
'production_secret_key' => 'Production Secret Key',
'test_public_key' => 'Test Public Key',
'test_secret_key' => 'Test Secret Key',
'live_public_key' => 'Live Public Key',
'live_secret_key' => 'Live Secret Key',
'client_id' => 'Client ID',
'secret_key' => 'Secret Key',
'amount' => 'Amount',
'account_id' => 'Account ID',
'client_secret' => 'Client Secret',
'meeting_sdk_client_id' => 'Meeting SDK Client ID',
'meeting_sdk_client_secret' => 'Meeting SDK Client Secret',
'do_you_want_use_web_sdk' => 'Do you want to use Web SDK for your live class?',
'mail_driver' => 'Mail Driver',
'host' => 'Host',
'port' => 'Port',
'encryption' => 'Encryption',
'storage_driver' => 'Storage Driver',
'access_key_id' => 'Access Key ID',
'secret_access_key' => 'Secret Access Key',
'default_region' => 'Default Region',
'bucket_name' => 'Bucket Name',
'api_key' => 'API Key',
'api_secret' => 'API Secret',
'store_id' => 'Store ID',
'store_password' => 'Store Password',
'page_contents' => 'Page Contents',
'google_client_id' => 'Google Client ID',
'google_client_secret' => 'Google Client Secret',
'google_redirect_uri' => 'Google Redirect URI',
'merchant_id_public_key' => 'Merchant ID/Public Key',
'merchant_key_secret_key' => 'Merchant Key/Secret Key',
'website' => 'Website',
'github' => 'GitHub',
'twitter' => 'Twitter',
'linkedin' => 'LinkedIn',
'facebook' => 'Facebook',
'website_name' => 'Website Name',
'website_title' => 'Website Title',
'logo_dark' => 'Logo Dark',
'logo_light' => 'Logo Light',
'favicon' => 'Favicon',
'course_selling_currency' => 'Course Selling Currency',
'course_selling_tax' => 'Course Selling Tax (%)',
'instructor_revenue' => 'Instructor Revenue (%)',
'category' => 'Category',
'category_icon' => 'Category Icon',
'category_status' => 'Category Status',
'coupon' => 'Coupon',
'select_zip_file' => 'Datei auswählen (.zip nur)',
'blog_banner' => 'Blog Banner',
'blog_thumbnail' => 'Blog Thumbnail',
'select_option' => 'Select an option',
'mail_host' => 'Mail Host',
'mail_port' => 'Mail Port',
'mail_encryption' => 'Mail Encryption',
'mail_username' => 'Mail UserName',
'mail_password' => 'Mail Password',
'mail_from_address' => 'Mail From Address',
'mail_from_name' => 'Mail From Name',
'aws_access_key_id' => 'AWS Access Key ID',
'aws_default_region' => 'AWS Default Region',
'email_placeholder' => 'email@example.com',
'password_placeholder' => 'Enter password',
'confirm_password_placeholder' => 'Confirm password',
'current_email_placeholder' => 'Enter your current email',
'new_email_placeholder' => 'Enter your new email',
'current_password_placeholder' => 'Enter your current password',
'new_password_placeholder' => 'Enter your new password',
'rewrite_password_placeholder' => 'Rewrite your new password',
'full_name_placeholder' => 'Enter your full Name',
'your_name_placeholder' => 'Enter your Name',
'username_placeholder' => 'Enter userName',
'phone_number_placeholder' => 'Enter Phone Number',
'contact_email_placeholder' => 'hr@company.com',
'system_type_placeholder' => 'Select System Type',
'name_placeholder' => 'Enter your Name',
'title_placeholder' => 'Enter title',
'slug_placeholder' => 'Enter unique slug',
'url_placeholder' => 'Enter URL (e.g., /courses, https://example.com)',
'description_placeholder' => 'Enter description',
'icon_placeholder' => 'Pick your icon',
'status_placeholder' => 'Select Status',
'action_type_placeholder' => 'Select action type',
'image_url_placeholder' => 'Image URL or path',
'section_title_placeholder' => 'Enter your section title',
'content_here_placeholder' => 'Type your content here...',
'caption_placeholder' => 'Type caption for image (optional)',
'meta_title_placeholder' => 'Enter Meta Title',
'meta_keywords_placeholder' => 'Enter Meta Keywords',
'meta_description_placeholder' => 'Enter Meta Description',
'og_title_placeholder' => 'Enter OG Title',
'og_description_placeholder' => 'Enter OG Description',
'page_name_placeholder' => 'Enter Page Name',
'page_slug_placeholder' => 'Enter Page Slug',
'page_title_placeholder' => 'Enter Page Title',
'tags_placeholder' => 'Enter tags...',
'course_name_placeholder' => 'Enter the course Name',
'certificate_size_placeholder' => 'Select certificate Größe',
'course_title_placeholder' => 'Enter Course Title',
'short_description_placeholder' => 'Enter Short Description',
'category_placeholder' => 'Select a category',
'course_level_placeholder' => 'Select your course level',
'course_language_placeholder' => 'Select your course Sprache',
'course_price_placeholder' => 'Enter your course price ($0)',
'discount_price_placeholder' => 'Enter your discount price ($0)',
'video_url_placeholder' => 'Enter your video url',
'approval_status_placeholder' => 'Select the Approval Status',
'lesson_title_placeholder' => 'Lesson title',
'provider_placeholder' => 'Select a provider',
'type_video_url_placeholder' => 'Type your video url',
'embed_source_placeholder' => 'Enter the embed source url',
'duration_placeholder' => '00:00:00',
'class_topic_placeholder' => 'Enter class topic',
'quiz_title_placeholder' => 'Enter quiz title',
'instructor_placeholder' => 'Select the course instructor',
'expiry_duration_placeholder' => 'Select duration',
'question_placeholder' => 'Question',
'answer_placeholder' => 'Enter the answer',
'outcome_placeholder' => 'Outcome',
'question_type_placeholder' => 'Select question type',
'question_options_placeholder' => 'Enter the question options',
'answer_options_placeholder' => 'Enter the answer options',
'hours_placeholder' => '00 hours',
'minutes_placeholder' => '00 minutes',
'seconds_placeholder' => '00 seconds',
'experience_placeholder' => 'Share your experience with this course...',
'your_subject_placeholder' => 'Enter your subject',
'review_placeholder' => 'Enter your review',
'biography_placeholder' => 'Write about yourself',
'designation_placeholder' => 'Enter your designation',
'skills_tag_placeholder' => 'Enter the skills as a tag',
'about_yourself_placeholder' => 'Write about yourself',
'job_title_placeholder' => 'e.g., Senior React Developer',
'url_slug_placeholder' => 'senior-react-developer',
'job_description_placeholder' => 'Provide a detailed description of the role, expectations, and what makes this opportunity exciting...',
'location_placeholder' => 'e.g., Dhaka, Bangladesh',
'currency_placeholder' => 'Select your currency',
'minimum_salary_placeholder' => 'Enter minimum salary',
'maximum_salary_placeholder' => 'Enter maximum salary',
'store_id_placeholder' => 'Enter store ID',
'store_password_placeholder' => 'Enter store password',
'api_key_placeholder' => 'Enter api key',
'api_secret_placeholder' => 'Enter api secret',
'test_api_key_placeholder' => 'Enter test api key',
'live_api_key_placeholder' => 'Enter live api key',
'mollie_test_api_key_placeholder' => 'Enter Mollie test api key',
'mollie_live_api_key_placeholder' => 'Enter Mollie live api key',
'sandbox_client_id_placeholder' => 'Enter sandbox client ID',
'production_client_id_placeholder' => 'Enter production client ID',
'sandbox_secret_key_placeholder' => 'Enter sandbox secret key',
'production_secret_key_placeholder' => 'Enter production secret key',
'test_public_key_placeholder' => 'Enter test public key',
'test_secret_key_placeholder' => 'Enter test secret key',
'live_public_key_placeholder' => 'Enter live public key',
'live_secret_key_placeholder' => 'Enter live secret key',
'webhook_secret_placeholder' => 'Enter webhook secret',
'your_amount_placeholder' => 'Enter your amount',
'paytm_merchant_id_placeholder' => 'Enter Paytm merchant ID',
'paytm_merchant_key_placeholder' => 'Enter Paytm merchant key',
'razorpay_public_key_placeholder' => 'Enter Razorpay public key',
'razorpay_secret_key_placeholder' => 'Enter Razorpay secret key',
'sslcommerz_public_key_placeholder' => 'Enter SSLCommerz public key',
'sslcommerz_secret_key_placeholder' => 'Enter SSLCommerz secret key',
'coupon_placeholder' => 'Enter coupon',
'zoom_account_email_placeholder' => 'Enter your Zoom account email',
'zoom_account_id_placeholder' => 'Enter your Zoom account ID',
'zoom_client_id_placeholder' => 'Enter your Zoom client ID',
'zoom_client_secret_placeholder' => 'Enter your Zoom client secret',
'meeting_sdk_client_id_placeholder' => 'Enter your Meeting SDK client ID',
'meeting_sdk_client_secret_placeholder' => 'Enter your Meeting SDK client secret',
'mail_driver_placeholder' => 'Select Mail Driver',
'smtp_example_placeholder' => 'smtp.example.com',
'port_587_placeholder' => '587',
'encryption_placeholder' => 'Select Encryption',
'noreply_example_placeholder' => 'noreply@example.com',
'your_company_name_placeholder' => 'Your Company Name',
'storage_driver_placeholder' => 'Select Storage Driver',
'access_key_id_placeholder' => 'Enter Access Key ID',
'secret_access_key_placeholder' => 'Enter Secret Access Key',
'default_region_placeholder' => 'Enter Default Region',
'bucket_name_placeholder' => 'Enter Bucket Name',
'google_client_id_placeholder' => 'Enter your google client id',
'google_client_secret_placeholder' => 'Enter your google client secret',
'google_redirect_url_placeholder' => 'Enter your google redirect url',
'https_placeholder' => 'https://example.com',
'website_name_placeholder' => 'Enter Website Name',
'website_title_placeholder' => 'Enter Website Title',
'keywords_placeholder' => 'Enter Keywords',
'website_description_placeholder' => 'Enter Website Description',
'author_name_placeholder' => 'Enter Author Name',
'website_slogan_placeholder' => 'Enter Website Slogan',
'system_email_placeholder' => 'Enter System Email',
'select_logo_placeholder' => 'Select Logo',
'select_favicon_placeholder' => 'Select Favicon',
'select_banner_placeholder' => 'Select Banner',
'select_user_placeholder' => 'Select a user',
'select_course_placeholder' => 'Select a course',
'selling_currency_placeholder' => 'Select Selling Currency',
'selling_tax_percentage_placeholder' => 'Enter Selling Tax Percentage',
'revenue_percentage_placeholder' => 'Enter Instructor Revenue Percentage',
'mail_host_placeholder' => 'smtp.example.com',
'mail_port_placeholder' => '587',
'mail_username_placeholder' => 'your-email@example.com',
'mail_password_placeholder' => 'Enter your mail password',
'mail_from_address_placeholder' => 'noreply@example.com',
'mail_from_name_placeholder' => 'Your Anwendung Name',
'aws_access_key_id_placeholder' => 'Enter AWS Access Key ID',
'aws_default_region_placeholder' => 'us-east-1',
);

6
lang/de/pagination.php Normal file
View File

@ -0,0 +1,6 @@
<?php
return array (
'previous' => '&laquo; Previous',
'next' => 'Next &raquo;',
);

9
lang/de/passwords.php Normal file
View File

@ -0,0 +1,9 @@
<?php
return array (
'reset' => 'Your password has been reset.',
'sent' => 'We have emailed your password reset link.',
'throttled' => 'Please wait before retrying.',
'token' => 'This password reset token is invalid.',
'user' => 'We can\'t find a user with that email address.',
);

176
lang/de/settings.php Normal file
View File

@ -0,0 +1,176 @@
<?php
return array (
'social_links' => 'Social Links',
'system_settings' => 'System Einstellungen',
'page_settings' => 'Page Einstellungen',
'live_class_settings' => 'Live Class Einstellungen',
'payment_gateways' => 'Payment Gateways',
'custom_global_style' => 'Custom Global Style',
'account_settings' => 'Account Einstellungen',
'smtp_settings' => 'SMTP Einstellungen',
'storage_settings' => 'Storage Einstellungen',
'language_settings' => 'Spracheinstellungen',
'translation_settings' => 'Translation Einstellungen',
'add_language' => 'Sprache hinzufügen',
'configure_zoom' => 'Zoom Server-to-Server OAuth-Anmeldedaten konfigurieren',
'email_settings_description' => 'Konfigurieren your email sending Einstellungen',
'storage_settings_description' => 'Konfigurieren your storage Einstellungen',
'application_update' => 'Anwendungs-Aktualisierung',
'application_backup' => 'Anwendung Sicherung',
'application_updated' => 'Anwendungs-Aktualisierungd successfully',
'updating_application' => 'Updating Anwendung...',
'backup_name' => 'Sicherung Name',
'backup_date' => 'Sicherung Datum',
'backup_size' => 'Größe',
'backup_status' => 'Status',
'backup_actions' => 'Aktionen',
'backup_history' => 'Sicherung Verlauf',
'backup_created' => 'Sicherung created successfully',
'backup_deleted' => 'Sicherung deleted successfully',
'backup_restored' => 'Sicherung Wiederherstellungd successfully',
'backup_failed' => 'Sicherung creation failed. Please try again.',
'backup_recommendation' => 'We strongly recommend creating a Sicherung before updating.',
'maintenance_description' => 'Aktualisierung, Sicherung and Wiederherstellung your Anwendung safely and automatically.',
'update_description' => 'Hochladen and install Anwendungs-Aktualisierungs safely',
'backup_description' => 'Create a complete Sicherung of your Anwendung including Datumien and database',
'backup_history_description' => 'View and manage your Anwendung Sicherungen',
'home_pages_description' => 'List of all home pages in the system',
'custom_pages_description' => 'Manage your custom pages',
'css_description' => 'Write custom CSS that will be Applied globally to the site.',
'system_settings_description' => 'Manage your system\'s core Einstellungen',
'translation_description' => 'Spracheigenschaften übersetzen',
'edit_custom_page' => 'Edit Custom Page',
'translation_update' => 'Translation Aktualisierung',
'elements' => 'Elements',
'available_home_pages' => 'Available Home Pages',
'confirm_application_update' => 'Anwendungsaktualisierung bestätigen',
'do_not_close_window' => 'Bitte schließe dieses Fenster nicht',
'update_application_with' => 'Bist du sicher you want to Aktualisierung the Anwendung with ":filename"?',
'this_update_will' => 'This Aktualisierung will:',
'put_site_maintenance' => 'Put the site in maintenance mode',
'replace_application_files' => 'Replace all Anwendung Datumien',
'run_database_migrations' => 'Run database migrations',
'process_may_take_minutes' => 'Der Vorgang kann einige Minuten dauern',
'backup_first_warning' => 'Make sure you have created a Sicherung first! This action cannot be undone.',
'select_zip_file' => 'Datei auswählen (.zip nur)',
'selected_file' => 'Ausgewählte Datei:',
'file_selected_successfully' => 'Datumi selected successfully. Click "Anwendung aktualisieren" to proceed.',
'update_application' => 'Anwendung aktualisieren',
'uploading' => 'Wird hochgeladen...',
'important_update_guidelines' => 'Important Aktualisierung Guidelines',
'refresh_server_guideline' => 'Every time refresh server before updating',
'backup_first_guideline' => 'Always create a Sicherung before updating',
'file_format_guideline' => 'Hochladen must be a valid ZIP Datumi',
'maintenance_mode_guideline' => 'Site will be temporarily unavailable during Aktualisierung',
'migrations_guideline' => 'Database migrations will be automatically Applied',
'downtime_guideline' => 'Aktualisierung Der Vorgang kann einige Minuten dauern',
'browser_guideline' => 'Do not refresh or close browser during Aktualisierung',
'compatibility_guideline' => 'Ensure the Aktualisierung is compatible with your system',
'refresh_server' => 'Refresh Server',
'backup_first' => 'Sicherung First',
'file_format' => 'Datumi Format',
'maintenance_mode' => 'Put the site in maintenance mode',
'migrations' => 'Migrations',
'downtime' => 'Downtime',
'browser' => 'Browser',
'compatibility' => 'Compatibility',
'application_update_title' => 'Anwendungs-Aktualisierung',
'upload_install_description' => 'Hochladen and install the latest version of your Anwendung',
'refresh_server_button' => 'Refresh Server',
'updating_application_button' => 'Updating Anwendung...',
'paypal_settings' => 'PayPal Einstellungen',
'stripe_settings' => 'Stripe Einstellungen',
'mollie_settings' => 'Mollie Einstellungen',
'paystack_settings' => 'Paystack Einstellungen',
'razorpay_settings' => 'Razorpay Einstellungen',
'sslcommerz_settings' => 'SSLCommerz Einstellungen',
'paytm_settings' => 'Paytm Einstellungen',
'configure_payment_gateway' => 'Konfigurieren :gateway payment gateway',
'test_mode' => 'Testmodus',
'using_test_environment' => 'Verwendet Testumgebung',
'using_live_environment' => 'Verwendet Live-Umgebung',
'using_sandbox_environment' => 'Using Sandbox Environment',
'using_production_environment' => 'Using Production Environment',
'using_staging_environment' => 'Using Staging Environment',
'using_test_keys' => 'Using Test Keys',
'using_live_keys' => 'Using Live Keys',
'api_credentials' => 'API-Zugangsdaten',
'test_credentials' => 'Test Credentials',
'live_credentials' => 'Live Credentials',
'sandbox_credentials' => 'Sandbox Credentials',
'production_credentials' => 'Production Credentials',
'use_test_mode_key' => 'Use your Testmodus :key',
'use_live_mode_key' => 'Use your live mode :key',
'use_staging_key' => 'Use your staging :key',
'use_production_key' => 'Use your production :key',
'delete_backup_warning' => 'Bist du sicher, dass du diese Sicherung löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.',
'restore_backup_warning' => 'Bist du sicher you want to Wiederherstellung from this Sicherung? This will:',
'system_type_warning' => 'Bist du sicher you want to change the system type? This action will affect the entire Anwendung behavior.',
'update_system_type_warning' => 'Bist du sicher to Aktualisierung system type?',
'update_warning' => 'This Aktualisierung will:',
'update_failed' => 'Aktualisierung failed. Please try again.',
'restore_failed' => 'Sicherung restoration failed. Please try again.',
'delete_failed' => 'Sicherung deletion failed. Please try again.',
'server_refreshed' => 'Server refreshed successfully',
'config_not_found' => 'Configuration not found.',
'footer_config_not_found' => 'Footer configuration not found.',
'navbar_config_not_found' => 'Navbar configuration not found.',
'configuration' => 'Configuration: Environment and config Datumien',
'manage_core_settings' => 'Manage your system\'s core Einstellungen',
'app_maintenance' => 'App Maintenance',
'app_version' => 'App Version',
'current_version' => 'Current Version:',
'live_navbar_preview' => 'Live Navbar Preview',
'live_footer_preview' => 'Live Footer Preview',
'interactive_preview' => 'Interactive preview of',
'before_login' => 'Before Login',
'after_login' => 'After Login',
'collaborative' => 'Collaborative',
'administrative' => 'Administrative',
'custom_pages' => 'Custom Pages',
'note' => 'Note',
'what_backed_up' => 'What will be backed up?',
'source_code' => 'Source Code: All Anwendung Datumien and code',
'database' => 'Database: Complete MySQL database dump',
'assets' => 'Assets: Hochladened media and public Datumien',
'refresh_note' => 'Note: Every time refresh server before Sicherung.',
'deleting_backup' => 'Deleting Sicherung...',
'restoring_backup' => 'Restoring Sicherung...',
'do_not_close' => 'Bitte schließe dieses Fenster nicht',
'restore_backup_confirmation' => 'Bist du sicher you want to Wiederherstellung the Sicherung ":backup_name"?',
'backup_details' => 'Sicherung Details',
'permanently_delete_files' => 'Permanently delete the Sicherung Datumien from storage',
'remove_backup_record' => 'Remove the Sicherung record from the database',
'cannot_be_undone' => 'Cannot be undone or recovered',
'replace_current_files' => 'Replace all current Anwendung Datumien',
'restore_database_state' => 'Replace the entire database with Sicherung data',
'current_data_lost' => 'All current data and Datumien will be lost',
'action_cannot_undone' => 'This action cannot be undone',
'critical_warning' => 'Critical Warning',
'restore_process_time' => 'Der Vorgang kann einige Minuten dauern',
'maintenance_mode_enabled' => 'Put the site in maintenance mode',
'select_update_file' => 'Select Aktualisierung Datumi',
'drag_drop_update_file' => 'Drag and drop your Aktualisierung Datumi here, or click to browse',
'update_file_requirements' => 'Only .zip Datumien are allowed. Maximum Datumi Größe: 500MB',
'no_file_selected' => 'Keine Datei ausgewählt',
'file_selected' => 'Datumi selected',
'browse_files' => 'Dateien durchsuchen',
'website_information' => 'Website Information',
'contact_information' => 'Contact Information',
'media_settings' => 'Media Einstellungen',
'logo_favicon' => 'Logo & Favicon',
'social_media_links' => 'Social Media Links',
'replace_files' => 'Replace all Anwendung Datumien',
'run_migrations' => 'Run database migrations',
'process_update' => 'Process the Aktualisierung automatically',
'no_backups' => 'No Sicherungen found',
'no_backups_description' => 'You haven\'t created any Sicherungen yet. Create your first Sicherung to get started.',
'restore_database' => 'Wiederherstellung the database to the Sicherung state',
'overwrite_changes' => 'Overwrite any changes made since the Sicherung',
'zoom_setup_guide' => 'Zoom Setup Guide',
'setup_instructions' => 'Follow these steps to set up Zoom integration:',
'create_zoom_app' => 'Create a Server-to-Server OAuth App in Zoom Marketplace',
'get_credentials' => 'Get your Account ID, Client ID, and Client Secret',
'configure_scopes' => 'Konfigurieren the required scopes for your App',
);

53
lang/de/table.php Normal file
View File

@ -0,0 +1,53 @@
<?php
return array (
'type' => 'Type',
'csv' => 'CSV',
'resume' => 'Resume',
'view_resume' => 'View Resume',
'img_placeholder' => 'IMG',
'no_data' => 'No data available',
'go_to_page' => 'Go to page:',
'previous' => 'Prev',
'showing_results' => 'Showing results',
'total_results' => 'Total results',
'delete_instructor_warning' => 'After deleting the instructor, the admin will be the assign as a new instructor, of this instructor all the courses.',
'delete_course_warning' => 'After deleting the course, all the related data, like, course sections, lessons, quizzes, enrollments, etc will be deleted automatically.',
'name' => 'Name',
'email' => 'Email',
'role' => 'Role',
'slug' => 'Slug',
'title' => 'Title',
'use_case' => 'Use Case',
'sections' => 'Sections',
'creator' => 'Creator',
'enrolled_course' => 'Enrolled Course',
'enrolled_date' => 'Enrolled Datum',
'expiry_date' => 'Expiry Datum',
'payout_amount' => 'Payout amount',
'payout_method' => 'Payout Method',
'processed_date' => 'Processed Datum',
'payout_date' => 'Payout Datum',
'enrollments' => 'Enrollments',
'course_title' => 'Course Title',
'number_of_course' => 'Number Of Course',
'category_name' => 'Category Name',
'category_child' => 'Category Child',
'meta_description' => 'Meta Description',
'meta_keywords' => 'Meta Keywords',
'action' => 'Action',
'status' => 'Status',
'custom_pages' => 'Custom Pages',
'add_custom_page' => 'Add Custom Page',
'pay' => 'Pay',
'print' => 'Print',
'select' => 'Select',
'selected' => 'Selected',
'edit_page' => 'Edit Page',
'copy_url' => 'Kopieren URL',
'preview_page' => 'Preview Page',
'lifetime_access' => 'Lifetime access',
'url_copied' => 'URL copied to clipboard',
'best_single_instructor' => 'Best for Single Instructor',
'best_multiple_instructors' => 'Best for Multiple Instructors',
);

175
lang/de/validation.php Normal file
View File

@ -0,0 +1,175 @@
<?php
return array (
'accepted' => 'The :attribute field must be accepted.',
'accepted_if' => 'The :attribute field must be accepted when :other is :value.',
'active_url' => 'The :attribute field must be a valid URL.',
'after' => 'The :attribute field must be a Datum after :date.',
'after_or_equal' => 'The :attribute field must be a Datum after or equal to :date.',
'alpha' => 'The :attribute field must only contain letters.',
'alpha_dash' => 'The :attribute field must only contain letters, numbers, dashes, and underscores.',
'alpha_num' => 'The :attribute field must only contain letters and numbers.',
'any_of' => 'The :attribute field is invalid.',
'array' => 'The :attribute field must be an array.',
'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.',
'before' => 'The :attribute field must be a Datum before :date.',
'before_or_equal' => 'The :attribute field must be a Datum before or equal to :date.',
'between' =>
array (
'array' => 'The :attribute field must have between :min and :max items.',
'file' => 'The :attribute field must be between :min and :max kilobytes.',
'numeric' => 'The :attribute field must be between :min and :max.',
'string' => 'The :attribute field must be between :min and :max characters.',
),
'boolean' => 'The :attribute field must be true or false.',
'can' => 'The :attribute field contains an unauthorized value.',
'confirmed' => 'The :attribute field confirmation does not match.',
'contains' => 'The :attribute field is missing a required value.',
'current_password' => 'The password is incorrect.',
'date' => 'The :attribute field must be a valid Datum.',
'date_equals' => 'The :attribute field must be a Datum equal to :date.',
'date_format' => 'The :attribute field must match the format :format.',
'decimal' => 'The :attribute field must have :decimal decimal places.',
'declined' => 'The :attribute field must be declined.',
'declined_if' => 'The :attribute field must be declined when :other is :value.',
'different' => 'The :attribute field and :other must be different.',
'digits' => 'The :attribute field must be :digits digits.',
'digits_between' => 'The :attribute field must be between :min and :max digits.',
'dimensions' => 'The :attribute field has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.',
'doesnt_contain' => 'The :attribute field must not contain any of the following: :values.',
'doesnt_end_with' => 'The :attribute field must not end with one of the following: :values.',
'doesnt_start_with' => 'The :attribute field must not start with one of the following: :values.',
'email' => 'The :attribute field must be a valid email address.',
'ends_with' => 'The :attribute field must end with one of the following: :values.',
'enum' => 'The selected :attribute is invalid.',
'exists' => 'The selected :attribute is invalid.',
'extensions' => 'The :attribute field must have one of the following extensions: :values.',
'file' => 'The :attribute field must be a Datumi.',
'filled' => 'The :attribute field must have a value.',
'gt' =>
array (
'array' => 'The :attribute field must have more than :value items.',
'file' => 'The :attribute field must be greater than :value kilobytes.',
'numeric' => 'The :attribute field must be greater than :value.',
'string' => 'The :attribute field must be greater than :value characters.',
),
'gte' =>
array (
'array' => 'The :attribute field must have :value items or more.',
'file' => 'The :attribute field must be greater than or equal to :value kilobytes.',
'numeric' => 'The :attribute field must be greater than or equal to :value.',
'string' => 'The :attribute field must be greater than or equal to :value characters.',
),
'hex_color' => 'The :attribute field must be a valid hexadecimal color.',
'image' => 'The :attribute field must be an image.',
'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field must exist in :other.',
'in_array_keys' => 'The :attribute field must contain at least one of the following keys: :values.',
'integer' => 'The :attribute field must be an integer.',
'ip' => 'The :attribute field must be a valid IP address.',
'ipv4' => 'The :attribute field must be a valid IPv4 address.',
'ipv6' => 'The :attribute field must be a valid IPv6 address.',
'json' => 'The :attribute field must be a valid JSON string.',
'list' => 'The :attribute field must be a list.',
'lowercase' => 'The :attribute field must be lowercase.',
'lt' =>
array (
'array' => 'The :attribute field must have less than :value items.',
'file' => 'The :attribute field must be less than :value kilobytes.',
'numeric' => 'The :attribute field must be less than :value.',
'string' => 'The :attribute field must be less than :value characters.',
),
'lte' =>
array (
'array' => 'The :attribute field must not have more than :value items.',
'file' => 'The :attribute field must be less than or equal to :value kilobytes.',
'numeric' => 'The :attribute field must be less than or equal to :value.',
'string' => 'The :attribute field must be less than or equal to :value characters.',
),
'mac_address' => 'The :attribute field must be a valid MAC address.',
'max' =>
array (
'array' => 'The :attribute field must not have more than :max items.',
'file' => 'The :attribute field must not be greater than :max kilobytes.',
'numeric' => 'The :attribute field must not be greater than :max.',
'string' => 'The :attribute field must not be greater than :max characters.',
),
'max_digits' => 'The :attribute field must not have more than :max digits.',
'mimes' => 'The :attribute field must be a Datumi of type: :values.',
'mimetypes' => 'The :attribute field must be a Datumi of type: :values.',
'min' =>
array (
'array' => 'The :attribute field must have at least :min items.',
'file' => 'The :attribute field must be at least :min kilobytes.',
'numeric' => 'The :attribute field must be at least :min.',
'string' => 'The :attribute field must be at least :min characters.',
),
'min_digits' => 'The :attribute field must have at least :min digits.',
'missing' => 'The :attribute field must be missing.',
'missing_if' => 'The :attribute field must be missing when :other is :value.',
'missing_unless' => 'The :attribute field must be missing unless :other is :value.',
'missing_with' => 'The :attribute field must be missing when :values is present.',
'missing_with_all' => 'The :attribute field must be missing when :values are present.',
'multiple_of' => 'The :attribute field must be a multiple of :value.',
'not_in' => 'The selected :attribute is invalid.',
'not_regex' => 'The :attribute field format is invalid.',
'numeric' => 'The :attribute field must be a number.',
'password' =>
array (
'letters' => 'The :attribute field must contain at least one letter.',
'mixed' => 'The :attribute field must contain at least one uppercase and one lowercase letter.',
'numbers' => 'The :attribute field must contain at least one number.',
'symbols' => 'The :attribute field must contain at least one symbol.',
'uncompromised' => 'The given :attribute has Appeared in a data leak. Please choose a different :attribute.',
),
'present' => 'The :attribute field must be present.',
'present_if' => 'The :attribute field must be present when :other is :value.',
'present_unless' => 'The :attribute field must be present unless :other is :value.',
'present_with' => 'The :attribute field must be present when :values is present.',
'present_with_all' => 'The :attribute field must be present when :values are present.',
'prohibited' => 'The :attribute field is prohibited.',
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
'prohibited_if_accepted' => 'The :attribute field is prohibited when :other is accepted.',
'prohibited_if_declined' => 'The :attribute field is prohibited when :other is declined.',
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
'prohibits' => 'The :attribute field prohibits :other from being present.',
'regex' => 'The :attribute field format is invalid.',
'required' => 'The :attribute field is required.',
'required_array_keys' => 'The :attribute field must contain entries for: :values.',
'required_if' => 'The :attribute field is required when :other is :value.',
'required_if_accepted' => 'The :attribute field is required when :other is accepted.',
'required_if_declined' => 'The :attribute field is required when :other is declined.',
'required_unless' => 'The :attribute field is required unless :other is in :values.',
'required_with' => 'The :attribute field is required when :values is present.',
'required_with_all' => 'The :attribute field is required when :values are present.',
'required_without' => 'The :attribute field is required when :values is not present.',
'required_without_all' => 'The :attribute field is required when none of :values are present.',
'same' => 'The :attribute field must match :other.',
'size' =>
array (
'array' => 'The :attribute field must contain :size items.',
'file' => 'The :attribute field must be :size kilobytes.',
'numeric' => 'The :attribute field must be :size.',
'string' => 'The :attribute field must be :size characters.',
),
'starts_with' => 'The :attribute field must start with one of the following: :values.',
'string' => 'The :attribute field must be a string.',
'timezone' => 'The :attribute field must be a valid timezone.',
'unique' => 'The :attribute has already been taken.',
'uploaded' => 'The :attribute failed to Hochladen.',
'uppercase' => 'The :attribute field must be uppercase.',
'url' => 'The :attribute field must be a valid URL.',
'ulid' => 'The :attribute field must be a valid ULID.',
'uuid' => 'The :attribute field must be a valid UUID.',
'custom' =>
array (
'attribute-name' =>
array (
'rule-name' => 'custom-message',
),
),
'attributes' =>
array (
),
);

View File

@ -0,0 +1,180 @@
<?php
/**
* Simple offline translator: duplicates lang/en -> lang/de and applies a rule-based
* English->German translation for string values while preserving tokens/placeholders.
*
* Usage: php scripts/generate_de_lang.php
*
* Note: this is a heuristic translator (word-replacement). For high-quality
* translations use a translation provider and enable it in this script.
*/
function ensureDir(string $path)
{
if (!is_dir($path)) mkdir($path, 0755, true);
}
function loadPhpArray(string $file)
{
return require $file;
}
// Basic mapping (expand as needed)
$dictionary = [
'Settings' => 'Einstellungen',
'Setting' => 'Einstellung',
'Update' => 'Aktualisierung',
'Updates' => 'Aktualisierungen',
'Application' => 'Anwendung',
'app' => 'App',
'Backup' => 'Sicherung',
'Backups' => 'Sicherungen',
'Restore' => 'Wiederherstellung',
'File' => 'Datei',
'Files' => 'Dateien',
'Selected file' => 'Ausgewählte Datei',
'Selected file:' => 'Ausgewählte Datei:',
'Cancel' => 'Abbrechen',
'Save' => 'Speichern',
'Upload' => 'Hochladen',
'Uploading...' => 'Hochladen...',
'Name' => 'Name',
'Date' => 'Datum',
'Size' => 'Größe',
'Status' => 'Status',
'Actions' => 'Aktionen',
'History' => 'Verlauf',
'Configure' => 'Konfigurieren',
'Configure Zoom Server-to-Server OAuth Credentials' => 'Zoom Server-to-Server OAuth-Anmeldedaten konfigurieren',
'Language' => 'Sprache',
'Languages' => 'Sprachen',
'Language Settings' => 'Spracheinstellungen',
'Add Language' => 'Sprache hinzufügen',
'Translate Language Properties' => 'Spracheigenschaften übersetzen',
'Application Update' => 'Anwendungs-Aktualisierung',
'Update Application' => 'Anwendung aktualisieren',
'Please do not close this window' => 'Bitte schließe dieses Fenster nicht',
'Are you sure' => 'Bist du sicher',
'Are you sure you want to delete this backup? This action cannot be undone.' => 'Bist du sicher, dass du diese Sicherung löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.',
'Confirm Application Update' => 'Anwendungsaktualisierung bestätigen',
'Process may take several minutes' => 'Der Vorgang kann einige Minuten dauern',
'Test Mode' => 'Testmodus',
'Using Test Environment' => 'Verwendet Testumgebung',
'Using Live Environment' => 'Verwendet Live-Umgebung',
'API Credentials' => 'API-Zugangsdaten',
'Copy' => 'Kopieren',
'Browse Files' => 'Dateien durchsuchen',
'No file selected' => 'Keine Datei ausgewählt',
'Select File (.zip only)' => 'Datei auswählen (.zip nur)',
'Uploading...' => 'Wird hochgeladen...',
];
// Token patterns to preserve
$tokenPatterns = [
'/:(\w+)/', // :seconds, :filename
'/\{\{.*?\}\}/', // {{ var }}
'/\{[^}]+\}/', // {variable}
'/%\w/', // %s %d
'/%\([^\)]+\)s/', // %(name)s
];
function maskTokens(string $s, array $patterns, array &$tokens)
{
$tokens = [];
foreach ($patterns as $p) {
$s = preg_replace_callback($p, function ($m) use (&$tokens) {
$key = '__TOKEN'.count($tokens).'__';
$tokens[$key] = $m[0];
return $key;
}, $s);
}
return $s;
}
function unmaskTokens(string $s, array $tokens)
{
if (!$tokens) return $s;
return strtr($s, $tokens);
}
function translateString(string $s, array $dictionary, array $tokenPatterns)
{
// preserve tokens
$tokens = [];
$masked = maskTokens($s, $tokenPatterns, $tokens);
// quick full-match dictionary
if (isset($dictionary[$masked])) {
$translated = $dictionary[$masked];
} else {
// word-by-word replace, case-sensitive and insensitive
$translated = $masked;
// longer keys first
uksort($dictionary, function($a, $b){ return strlen($b) - strlen($a); });
foreach ($dictionary as $eng => $ger) {
// replace whole words and phrases
$translated = str_ireplace($eng, $ger, $translated);
}
}
// restore tokens
$translated = unmaskTokens($translated, $tokens);
return $translated;
}
function translateRecursive($data, $dictionary, $tokenPatterns)
{
if (is_string($data)) {
return translateString($data, $dictionary, $tokenPatterns);
}
if (is_array($data)) {
$out = [];
foreach ($data as $k => $v) {
$out[$k] = translateRecursive($v, $dictionary, $tokenPatterns);
}
return $out;
}
return $data;
}
$baseEn = __DIR__ . '/../lang/en';
$baseDe = __DIR__ . '/../lang/de';
ensureDir($baseDe);
$files = glob($baseEn.'/*.php');
foreach ($files as $file) {
$name = basename($file);
echo "Processing $name...\n";
$arr = require $file;
$translated = translateRecursive($arr, $dictionary, $tokenPatterns);
$out = "<?php\n\nreturn ".var_export($translated, true).";\n";
file_put_contents($baseDe.'/'.$name, $out);
}
// Also copy storage group files (complex structures)
$groupsEn = __DIR__ . '/../storage/app/lang/groups';
$groupsDe = __DIR__ . '/../storage/app/lang/groups/de';
if (is_dir($groupsEn)) {
ensureDir($groupsDe);
$gfiles = glob($groupsEn.'/*.php');
foreach ($gfiles as $gf) {
$name = basename($gf);
echo "Processing group $name...\n";
$arr = require $gf;
// arr is list of entries with properties arrays
$outArr = [];
foreach ($arr as $entry) {
if (isset($entry['properties']) && is_array($entry['properties'])) {
$entry['properties'] = translateRecursive($entry['properties'], $dictionary, $tokenPatterns);
}
$outArr[] = $entry;
}
$out = "<?php\n\nreturn ".var_export($outArr, true).";\n";
file_put_contents($groupsDe.'/'.$name, $out);
}
}
echo "Done. German lang files generated under lang/de and storage/app/lang/groups/de\n";