<?php

return [
    'title' => 'Products/Services',
    'buttons_create' => 'New Product',
    'buttons_create_group' => 'New Group',
    'buttons_edit' => 'Edit',
    'buttons_delete' => 'Delete',
    'buttons_duplicate' => 'Duplicate',
    'buttons_save' => 'Save',
    'buttons_cancel' => 'Cancel',
    'buttons_update' => 'Update',
    'buttons_back' => 'Go Back',
    'server_groups_vps' => 'VPS Servers',
    'server_groups_shared_hosting' => 'Shared Hosting Servers',
    'fields_name' => 'Product Name',
    'fields_type' => 'Type',
    'fields_pay_type' => 'Payment Type',
    'fields_stock' => 'Stock',
    'fields_auto_setup' => 'Auto Setup',
    'fields_actions' => 'Actions',
    'fields_group' => 'Group',
    'fields_description' => 'Description',
    'fields_group_name' => 'Group Name',
    'fields_select_product' => 'Select Product',
    'fields_new_name' => 'New Name',
    'fields_auto_setup_enabled' => 'Auto Setup Enabled',
    'fields_auto_setup_disabled' => 'Auto Setup Disabled',
    'fields_slug' => 'Slug',
    'fields_welcome_email' => 'Welcome Email',
    'fields_none' => 'None',
    'fields_require_domain' => 'Require Domain',
    'fields_require_domain_desc' => 'Is domain required for this product?',
    'fields_stock_control' => 'Stock Control',
    'fields_stock_control_desc' => 'Enable stock control for this product?',
    'fields_total_stock' => 'Total Stock',
    'fields_hidden' => 'Hidden',
    'fields_hidden_desc' => 'Hide this product in client area?',
    'fields_featured' => 'Featured',
    'fields_featured_desc' => 'Show this product in featured products?',
    'fields_features' => 'Features',
    'fields_years' => 'Year',
    'fields_setup_fee' => 'Setup Fee',
    'fields_price' => 'Price',
    'fields_currency' => 'Currency',
    'fields_onetime_price' => 'One-time Price',
    'fields_module' => 'Module',
    'fields_module_configuration' => 'Module Configuration',
    'fields_server_group' => 'Server Group',
    'fields_auto_setup_order' => 'Auto Setup on Order',
    'fields_auto_setup_payment' => 'Auto Setup on Payment',
    'fields_auto_setup_manual' => 'Manual Setup',
    'fields_auto_setup_none' => 'No Setup',
    'fields_no_welcome_email' => 'Do Not Send Welcome Email',
    'fields_setup_delay' => 'Setup Delay',
    'fields_minutes' => 'minutes',
    'fields_order' => 'Order',
    'fields_order_desc' => 'Display order of products',

    // PRC-382 / M4 — per-product late fee
    'late_fee_section' => 'Late Fee',
    'late_fee_mode' => 'Mode',
    'late_fee_mode_inherit' => 'Inherit global settings',
    'late_fee_mode_custom' => 'Custom for this product',
    'late_fee_mode_disabled' => 'Never apply to this product',
    'late_fee_mode_desc' => 'Inherit = read from /admin/settings → Invoice → Late Fee. Custom = use the values below. Disabled = no late fee is ever added for this product, even when overdue.',
    'late_fee_type' => 'Type',
    'late_fee_type_fixed' => 'Fixed amount',
    'late_fee_type_percentage' => 'Percentage (%)',
    'late_fee_amount' => 'Amount',
    'late_fee_amount_desc' => 'Currency value when type is fixed; 0–100 percentage when type is percentage.',
    'late_fee_minimum' => 'Per-line minimum',
    'late_fee_minimum_desc' => 'If the invoice line price is below this threshold, the late fee is skipped for that line. 0 disables the threshold.',

    'fields_adaptive_pricing' => 'Adaptive Pricing',
    'fields_adaptive_term_pricing' => 'Auto Term Pricing (from monthly ×months)',
    'validation_term_monthly_required' => 'When auto term pricing is on, an active monthly price is required in at least one currency.',
    'fields_hide_setup_fees' => 'Hide Setup Fees',
    'fields_recurring_pricing' => 'Recurring Pricing',
    'fields_onetime_pricing' => 'One-time Pricing',
    'fields_month' => 'Month',
    'fields_months' => 'Months',
    'fields_enable' => 'Enable',
    'fields_default' => 'Default',
    'fields_status' => 'Status',
    'fields_year' => 'Year',
    'fields_tax_excluded' => 'Tax Excluded',
    'fields_tax_excluded_desc' => 'Do not include tax in prices for this product (tax excluded price).',
    'fields_trial_enabled' => 'Trial Enabled',
    'fields_trial_enabled_desc' => 'Enable trial period for this product.',
    'fields_trial_mode' => 'Trial Mode',
    'fields_trial_mode_none' => 'None (Trial Disabled)',
    'fields_trial_mode_free' => 'Free Trial',
    'fields_trial_mode_paid' => 'Paid Trial',
    'fields_trial_period_days' => 'Trial Period (Days)',
    'fields_trial_ccsave' => 'Credit Card Save Required',
    'fields_trial_ccsave_desc' => 'Require credit card save for trial.',
    'fields_trial_paid_discount_percent' => 'Paid Trial Discount (%)',
    'fields_trial_paid_discount_periods' => 'Periods Where Discount Applies',
    'fields_trial_paid_discount_periods_help' => 'First-period discount applies only to checked periods.',
    'fields_trial_paid_discount_periods_all_help' => 'None checked → discount applies to all periods (default).',
    'fields_trial_paid_discount_periods_no_pricing' => 'No pricing periods defined for this product yet. Add periods from the Pricing tab first.',
    'fields_trial_paid_discount_periods_month_unit' => 'mo',
    'fields_trial_default_period' => 'Default Billing Period',
    'fields_auto_suspension_days' => 'Auto Suspension (Days)',
    'fields_auto_suspension_days_help' => 'Days after invoice due date before the service is auto-suspended. 0 = auto-suspension disabled.',
    'fields_auto_termination_days' => 'Auto Termination (Days)',
    'fields_auto_termination_days_help' => 'Days after due date before the service is auto-terminated. 0 = auto-termination disabled.',
    'fields_auto_management' => 'Auto Management',
    'tabs_details' => 'Details',
    'tabs_pricing' => 'Pricing',
    'tabs_setup' => 'Setup',
    'tabs_module_settings' => 'Module Settings',
    'tabs_custom_fields' => 'Custom Fields',
    'tabs_configurable_options' => 'Configurable Options',
    'tabs_contracts' => 'Contracts',
    'tabs_upgrades' => 'Upgrades',
    'tabs_affiliate' => 'Affiliate Commission',
    'tabs_other' => 'Other',
    'tabs_custom_fields_info' => 'Manage custom fields for this product',
    'tabs_configurable_options_info' => 'Manage configurable options for this product',
    'tabs_upgrades_info' => 'Manage upgrade options for this product',
    'tabs_trial' => 'Trial',
    'configurable_options_select_groups_help' => 'Select configurable option groups to associate with this product. You can choose multiple.',
    'contracts_help' => 'Select the contracts customers must accept when purchasing this product. Only active SLA / AUP / custom contracts are listed.',
    'contracts_required' => 'Required',
    'contracts_no_contracts_available' => 'No active SLA / AUP / custom contracts. Create one first under admin/contracts.',
    'types_hosting' => 'Hosting',
    'types_server' => 'Server',
    'types_ssl' => 'SSL Certificate',
    'types_software' => 'Software',
    'types_license' => 'License',
    'types_email' => 'Email Hosting',
    'modals_create_title' => 'Create New Product',
    'modals_delete_title' => 'Delete Product',
    'modals_delete_message' => 'Are you sure you want to delete this product?',
    'modals_create_group_title' => 'Create New Group',
    'modals_edit_group_title' => 'Edit Group',
    'modals_delete_group_title' => 'Delete Group',
    'modals_delete_group_message' => 'Are you sure you want to delete this group?',
    'modals_duplicate_title' => 'Duplicate Product',
    'pay_types_free' => 'Free',
    'pay_types_onetime' => 'One Time',
    'pay_types_recurring' => 'Recurring',
    'time_units_monthly' => 'Monthly',
    'time_units_yearly' => 'Yearly',
    'time_units_month' => 'Month',
    'time_units_months' => 'Months',
    'time_month' => 'Month',
    'descriptions_auto_setup' => 'Determines when the setup process will be performed after the product order.',
    'descriptions_auto_setup_order' => 'Setup starts immediately when the order is confirmed.',
    'descriptions_auto_setup_payment' => 'Setup starts when payment is completed.',
    'descriptions_auto_setup_manual' => 'Setup must be started manually by the administrator.',
    'descriptions_auto_setup_none' => 'No setup process is performed for this product.',
    'descriptions_auto_management' => 'Automatic suspension and termination settings.',
    'descriptions_welcome_email' => 'Select the welcome email to be sent to the customer when setup is completed.',
    'descriptions_welcome_email_note' => 'Welcome email is sent automatically after setup is successfully completed.',
    'descriptions_setup_delay' => 'Time to wait before setup starts (in minutes).',
    'descriptions_setup_delay_note' => 'This time is applied when automatic setup is selected. A value of 0 means instant setup.',
    'features_available' => 'Available',
    'features_not_available' => 'Not Available',
    'features_create_account' => 'Create Account',
    'features_suspend_account' => 'Suspend Account',
    'features_unsuspend_account' => 'Unsuspend Account',
    'features_terminate_account' => 'Terminate Account',
    'features_change_password' => 'Change Password',
    'features_change_package' => 'Change Package',
    'features_test_connection' => 'Test Connection',
    'features_sso_login' => 'SSO Login',
    'features_admin_fields' => 'Admin Fields',
    'features_client_fields' => 'Client Fields',
    'features_admin_output' => 'Admin Output',
    'features_client_output' => 'Client Output',
    'messages_create_success' => 'Product created successfully.',
    'messages_create_error' => 'An error occurred while creating the product.',
    'validation_recurring_pricing_required' => 'At least one price must be set for the recurring payment type.',
    // PRC-558 — SSL = Common Name = domain. require_domain=true mandatory.
    'validation_ssl_requires_domain' => 'SSL products always require a domain (Common Name). "Require Domain" must be checked, otherwise checkout won\'t collect a domain and certificate provisioning will fail.',
    'messages_delete_confirm' => 'Are you sure you want to delete this product?',
    'messages_delete_success' => 'Product deleted successfully.',
    'messages_delete_error' => 'An error occurred while deleting the product.',
    'messages_no_features' => 'No features added yet.',
    'messages_no_pricing_records' => 'No pricing records added yet.',
    'messages_no_default_currency' => 'No default currency defined',
    'messages_update_success' => 'Product updated successfully.',
    'messages_update_error' => 'An error occurred while updating the product.',
    'messages_price_detail' => 'Price Detail',
    'messages_module_config_loading' => 'Loading module configuration...',
    'messages_module_config_error' => 'An error occurred while loading module configuration',
    'messages_duplicate_error' => 'An error occurred while duplicating the product: :error',
    'validation_module_config_required' => 'Field ":field" is required in module settings.',
    'custom_fields_title' => 'Custom Fields',
    'custom_fields_add_field' => 'Add New Field',
    'custom_fields_drag_to_reorder' => 'Drag to reorder',
    'custom_fields_fields_type' => 'Field Type',
    'custom_fields_fields_validation_rules' => 'Validation Rules',
    'custom_fields_fields_dropdown_options' => 'Dropdown Options',
    'custom_fields_fields_default_value' => 'Default Value',
    'custom_fields_fields_default_checked' => 'Checked by default',
    'custom_fields_help_default_value' => 'The order-form field is pre-filled with this value. For dropdown, one of the option values; for checkbox, checked/unchecked. The customer can change it.',
    'custom_fields_default_value_invalid' => 'The default value is not compatible with the field type (must be a dropdown option or checkbox 0/1).',
    'custom_fields_fields_admin_only' => 'Admin Only',
    'custom_fields_fields_visible_on_client' => 'Visible on Client',
    'custom_fields_fields_required_from_client' => 'Required from Client',
    'custom_fields_fields_visible_on_invoice' => 'Visible on Invoice',
    'custom_fields_fields_client_locked' => 'Client Cannot Edit',
    'custom_fields_fields_description' => 'Description',
    'custom_fields_fields_order' => 'Order',
    'custom_fields_fields_actions' => 'Actions',
    'custom_fields_fields_title' => 'Title',
    'custom_fields_fields_ai_translate' => 'AI Translate',
    'custom_fields_sections_translations' => 'Translations',
    'custom_fields_types_text' => 'Text',
    'custom_fields_types_textarea' => 'Textarea',
    'custom_fields_types_dropdown' => 'Dropdown',
    'custom_fields_types_checkbox' => 'Checkbox',
    'custom_fields_placeholders_validation_rules' => 'Regex rules (e.g: /^[0-9]+$/)',
    'custom_fields_placeholders_dropdown_options' => 'Write one option per line',
    'custom_fields_buttons_save' => 'Save',
    'custom_fields_buttons_cancel' => 'Cancel',
    'custom_fields_buttons_delete' => 'Delete',
    'custom_fields_modals_translations_title' => 'Manage Translations',
    'custom_fields_modals_translations_save' => 'Save Translations',
    'custom_fields_modals_translations_cancel' => 'Cancel',
    'custom_fields_modals_delete_title' => 'Delete Field',
    'custom_fields_modals_delete_message' => 'Are you sure you want to delete this custom field? This action cannot be undone.',
    'custom_fields_messages_manual_translation_info' => 'Since AI translation is disabled, you need to enter manual translations for each language.',
    'custom_fields_help_validation_rules' => 'Regex validation rules. Only applicable for text and textarea fields.',
    'custom_fields_help_admin_only' => 'When active, only administrators can see this field.',
    'custom_fields_help_visible_on_client' => 'This field will be visible in client area.',
    'custom_fields_help_required_from_client' => 'This field will be required for clients to fill.',
    'custom_fields_help_visible_on_invoice' => 'This field will be displayed on invoices.',
    'custom_fields_help_client_locked' => 'When checked, the field is shown to the client but read-only; the client cannot change the value (also ignored server-side, the admin default is kept). Only meaningful when "Visible on Client" is enabled.',
    'custom_fields_help_dropdown_options' => 'Write one option per line.',
    'custom_fields_help_title' => 'The title to be displayed to customers for this field',
    'custom_fields_help_description' => 'Additional information and description about the field',
    'custom_fields_help_ai_translate' => 'When enabled, content in main language will be automatically translated to other languages using AI',

    // Affiliate Commission
    'affiliate_title' => 'Affiliate Commission',
    'affiliate_enabled' => 'Enable Affiliate Commission',
    'affiliate_enabled_help' => 'When disabled, affiliates will not earn commission for this product.',
    'affiliate_commission_rate' => 'Commission Rate',
    'affiliate_rate_placeholder' => 'Default',
    'affiliate_rate_help' => 'Leave blank to use the global default rate.',

    // Upgrades / Downgrades tab
    'upgrades_allow_change' => 'Allow plan changes for this product',
    'upgrades_fee_label' => 'Upgrade fee',
    'upgrades_credit_mode_label' => 'Downgrade credit mode',
    'upgrades_credit_mode_balance' => 'Credit to balance',
    'upgrades_credit_mode_gateway' => 'Gateway refund first → balance fallback',
    'upgrades_credit_mode_none' => 'Do not refund',
    'upgrades_targets_upgrade' => 'Upgrade Targets',
    'upgrades_targets_downgrade' => 'Downgrade Targets',
    'upgrades_add_target' => 'Add target',
    'upgrades_no_downgrade' => 'No downgrade target defined — customer cannot downgrade',
    'upgrades_periods_label' => 'Allowed periods',
    'upgrades_period_monthly' => 'Monthly',
    'upgrades_period_quarterly' => 'Quarterly',
    'upgrades_period_semiannually' => 'Semi-annually',
    'upgrades_period_annually' => 'Annually',
    'upgrades_period_biennially' => 'Biennially',
    'upgrades_period_triennially' => 'Triennially',
    'upgrades_preview_title'              => 'Preview',
    'upgrades_switchable_title'           => 'Switchable Products',
    'upgrades_switchable_help'            => 'Select products this can be switched to (within same group)',
    'upgrades_same_product_period_note'   => 'Switching to other periods of the same product is enabled automatically.',
    'upgrades_settings_title'             => 'Plan Change Settings',
    'upgrades_same_product_refund_label'  => 'Apply refund on same-product period downgrades too',
    'upgrades_same_product_refund_help'   => 'When off, switching to a longer period of the same product does not refund the difference.',
    'upgrades_no_eligible_products'       => 'No eligible products in this group.',
    'upgrade_paths_saved'                 => 'Plan change settings saved.',
    'upgrades_enabled_label'              => 'Enable upgrade/downgrade for this product',
    'upgrades_enabled_help'               => 'When off, the "Upgrade/Downgrade" link is hidden from the client area and direct URL access is blocked.',
    'upgrades_refund_dropped_options_label' => 'Refund unused days for dropped options',
    'upgrades_refund_dropped_options_help'  => 'When off, options removed by switching to the new package are not credited for their unused days.',

    // Module Param Mappings (PRC-35) — VM provider modules' paramSchema mapped to config options
    'module_param_mappings_title' => 'Module Parameter Mappings',
    'module_param_mappings_help' => 'Which config options should feed the parameters required by ":module"? The customer\'s selected config option value\'s "passthrough" value (or display value as fallback) is sent to the module.',
    'module_param_required_missing' => 'Required module parameter mapping is missing: :param',

    // PRC-622 Task 6 — admin notifications (CommunicationDispatcher)
    'notify_setup_failed_subject' => 'Automatic setup failed: Service #:service_id',
    'notify_setup_failed_message' => 'Automatic setup failed for service #:service_id of client #:client_id. Error: :error',
    // PRC-624 Task 6 — automatic setup success admin notification
    'notify_setup_success_subject' => 'Automatic setup successful: Service #:service_id',
    'notify_setup_success_message' => 'Service #:service_id of client #:client_id was provisioned successfully.',
    'notify_unsuspension_failed_subject' => 'Service unsuspension failed: Service #:service_id',
    'notify_unsuspension_failed_message' => 'Service #:service_id of client #:client_id could not be unsuspended. Error: :error',
    'notify_unsuspension_success_subject' => 'Service unsuspended: Service #:service_id',
    'notify_unsuspension_success_message' => 'Service #:service_id of client #:client_id was unsuspended successfully.',

    // PRC-697 — pro-rata billing
    'fields_proration_enabled' => 'Pro-Rata Billing',
    'proration_inherit' => 'Inherit (group / global setting)',
    'proration_on' => 'On',
    'proration_off' => 'Off',
    'proration_enabled_help' => 'On first order, charge a day-based prorated first amount up to the fixed renewal day (anchor). Inherit: group and global setting decide.',
    'fields_billing_anchor_day' => 'Fixed Renewal Day (Anchor)',
    'billing_anchor_day_placeholder' => 'e.g. 28',
    'billing_anchor_day_help' => 'Day of month 1-31. First invoice is prorated up to this day; subsequent periods renew on it. Empty = no anchor.',
    // PRC-812 — free/trial abuse prevention
    'abuse_prevention_title' => 'Abuse Prevention',
    'abuse_prevention_desc' => 'Controls to prevent free/trial package abuse: per-client order limit and disabling renewal to force an upgrade.',
    'max_orders_per_client_label' => 'Max Orders Per Client',
    'max_orders_per_client_placeholder' => 'Unlimited',
    'max_orders_per_client_help' => 'How many times a client may order this product. Empty = unlimited. Typically 1 for a free/trial package.',
    'allow_renewal_label' => 'Renewal',
    'allow_renewal_switch' => 'Allow renewal',
    'allow_renewal_help' => 'When off, no renewal invoice is generated at term end; the client is directed to upgrade in the client area. Default: on.',
];
