← All changes
|
backend/src/Services/Translations/BackendStrings.php
+158
-2
1.4.1
→
1.5
View file →
| @@ -50,8 +50,9 @@ | ||
| 50 | 50 | 'form_updated' => __('Form updated successfully', 'ivyforms'), |
| 51 | 51 | 'increase_value' => __('Increase value', 'ivyforms'), |
| 52 | 52 | 'invalid_form_id' => __('Invalid form ID.', 'ivyforms'), |
| 53 | 53 | 'invalid_request_data' => __('Invalid request data.', 'ivyforms'), |
| 54 | + 'invalid_middleware_signature' => __('Invalid middleware signature', 'ivyforms'), | |
| 54 | 55 | 'enable' => __('Enable', 'ivyforms'), |
| 55 | 56 | 'leave' => __('Leave', 'ivyforms'), |
| 56 | 57 | 'learn_more' => __('Learn more', 'ivyforms'), |
| 57 | 58 | 'limit_min_max_date' => __('Limit min and/or max date', 'ivyforms'), |
| @@ -115,9 +116,9 @@ | ||
| 115 | 116 | 'imported_form' => __('Imported form', 'ivyforms'), |
| 116 | 117 | 'import_forms_instructions' => __('Upload your JSON file to import forms into this site. Imported forms are always created as new forms.', 'ivyforms'), |
| 117 | 118 | 'import_compatibility_title' => __('Your form is ready to be imported into IvyForms.', 'ivyforms'), |
| 118 | 119 | 'import_compatibility_notice' => __('All supported fields, settings, and configurations will be imported automatically. Platform-specific fields or features that do not have a direct IvyForms equivalent may be skipped or adjusted during the import process. We recommend reviewing your form after import to ensure everything is configured as expected.', 'ivyforms'), |
| 119 | - 'unsupported_import_file' => __('Unsupported file. Please upload a JSON export from IvyForms, WS Form, or Fluent Forms.', 'ivyforms'), | |
| 120 | + 'unsupported_import_file' => __('Unsupported file. Please upload a JSON export from IvyForms, WS Form, Fluent Forms, WPForms, or Gravity Forms.', 'ivyforms'), | |
| 120 | 121 | 'export_forms_instructions' => __('Export your forms, fields, settings, styles, confirmations, and notifications so you can easily import them on another site.', 'ivyforms'), |
| 121 | 122 | 'select_file' => __('Select file', 'ivyforms'), |
| 122 | 123 | 'choose_ivyforms_file' => __('Choose a form export file', 'ivyforms'), |
| 123 | 124 | 'maximum_file_size' => __('Maximum file size is 5 MB', 'ivyforms'), |
| @@ -280,8 +281,10 @@ | ||
| 280 | 281 | 'awesome' => __('Awesome', 'ivyforms'), |
| 281 | 282 | 'build' => __('Build', 'ivyforms'), |
| 282 | 283 | 'button_label' => __('Button label', 'ivyforms'), |
| 283 | 284 | 'button_position' => __('Button position', 'ivyforms'), |
| 285 | + 'calculate' => __('Calculate Field', 'ivyforms'), | |
| 286 | + 'calculated_field' => __('Calculated Field', 'ivyforms'), | |
| 284 | 287 | 'center' => __('Center', 'ivyforms'), |
| 285 | 288 | 'characters' => __('Characters', 'ivyforms'), |
| 286 | 289 | 'checkbox' => __('Checkbox', 'ivyforms'), |
| 287 | 290 | 'choose_date' => __('Choose date', 'ivyforms'), |
| @@ -773,8 +776,10 @@ | ||
| 773 | 776 | 'mailchimp_integration_settings' => __('Mailchimp integration settings', 'ivyforms'), |
| 774 | 777 | 'message' => __('Message', 'ivyforms'), |
| 775 | 778 | 'message_tooltip' => __('Message displayed to the user after a successful form submission.', 'ivyforms'), |
| 776 | 779 | 'new_notification' => __('New notification', 'ivyforms'), |
| 780 | + 'attach_uploaded_files' => __('Attach uploaded file(s) to this notification', 'ivyforms'), | |
| 781 | + 'attach_uploaded_files_description' => __('Uploading large files may affect deliverability.', 'ivyforms'), | |
| 777 | 782 | 'notification_deleted' => __('Notification deleted successfully', 'ivyforms'), |
| 778 | 783 | 'notification_duplicated' => __('Notification duplicated successfully', 'ivyforms'), |
| 779 | 784 | 'notification_loaded' => __('Notifications loaded successfully', 'ivyforms'), |
| 780 | 785 | 'notifications' => __('Notifications', 'ivyforms'), |
| @@ -1037,8 +1042,13 @@ | ||
| 1037 | 1042 | 'google_sheets_limit_reached' => __('Lite plan supports {limit} Google Sheet per form. Upgrade to connect multiple sheets.', 'ivyforms'), |
| 1038 | 1043 | 'spreadsheet_name' => __('Spreadsheet Name', 'ivyforms'), |
| 1039 | 1044 | 'worksheet_name' => __('Worksheet Name', 'ivyforms'), |
| 1040 | 1045 | 'spreadsheet' => __('Spreadsheet', 'ivyforms'), |
| 1046 | + 'select_spreadsheet' => __('Select spreadsheet', 'ivyforms'), | |
| 1047 | + 'change_spreadsheet' => __('Change spreadsheet', 'ivyforms'), | |
| 1048 | + 'choose_spreadsheet' => __('Choose a spreadsheet', 'ivyforms'), | |
| 1049 | + 'google_sheets_picker_not_configured' => __('Google Sheets picker is not configured. Please contact support.', 'ivyforms'), | |
| 1050 | + 'google_sheets_picker_error' => __('Could not open Google Drive picker. Reconnect your Google account and try again.', 'ivyforms'), | |
| 1041 | 1051 | 'choose_value' => __('Choose Value', 'ivyforms'), |
| 1042 | 1052 | 'map_fields' => __('Map Fields', 'ivyforms'), |
| 1043 | 1053 | 'map_fields_description' => __('Map form fields to spreadsheet columns.', 'ivyforms'), |
| 1044 | 1054 | 'form_fields' => __('Form fields', 'ivyforms'), |
| @@ -1059,12 +1069,130 @@ | ||
| 1059 | 1069 | 'delete_google_sheet_subtitle' => __('This will stop syncing submissions to this spreadsheet.', 'ivyforms'), |
| 1060 | 1070 | 'zapier' => __('Zapier', 'ivyforms'), |
| 1061 | 1071 | 'zapier_label' => __('Zapier', 'ivyforms'), |
| 1062 | 1072 | 'zapier_description' => __('Connect your forms to 5,000+ apps with Zapier automation workflows', 'ivyforms'), |
| 1073 | + 'square_label' => __('Square', 'ivyforms'), | |
| 1074 | + 'square_description' => __('Accept card payments on your forms with Square', 'ivyforms'), | |
| 1075 | + 'stripe_label' => __('Stripe', 'ivyforms'), | |
| 1076 | + 'stripe_description' => __('Accept card payments on your forms with Stripe', 'ivyforms'), | |
| 1077 | + 'paypal_label' => __('PayPal', 'ivyforms'), | |
| 1078 | + 'paypal_description' => __('Accept PayPal Checkout payments on your forms', 'ivyforms'), | |
| 1063 | 1079 | ]; |
| 1064 | 1080 | } |
| 1065 | 1081 | |
| 1066 | 1082 | /** |
| 1083 | + * Payment and Square integration strings. | |
| 1084 | + * | |
| 1085 | + * @return mixed[] | |
| 1086 | + */ | |
| 1087 | + public static function getPaymentStrings(): array | |
| 1088 | + { | |
| 1089 | + return [ | |
| 1090 | + 'payments' => __('Payments', 'ivyforms'), | |
| 1091 | + 'payment' => __('Payment', 'ivyforms'), | |
| 1092 | + 'payment_method' => __('Payment method', 'ivyforms'), | |
| 1093 | + 'payment_method_field' => __('Payment Method', 'ivyforms'), | |
| 1094 | + 'connect_with_square' => __('Connect with Square', 'ivyforms'), | |
| 1095 | + 'disconnect_square' => __('Disconnect Square', 'ivyforms'), | |
| 1096 | + 'square_connected' => __('Square connected', 'ivyforms'), | |
| 1097 | + 'square_disconnected' => __('Square disconnected', 'ivyforms'), | |
| 1098 | + 'square_not_connected' => __('Square is not connected. Connect Square in Settings → Payment.', 'ivyforms'), | |
| 1099 | + 'square_connect_description' => __('Connect your Square account below to accept card payments on your forms.', 'ivyforms'), | |
| 1100 | + 'square_auth_url_failed' => __('Could not start Square authorization.', 'ivyforms'), | |
| 1101 | + 'square_service_unavailable' => __( | |
| 1102 | + 'Square is temporarily unavailable. Please try again in a few minutes.', | |
| 1103 | + 'ivyforms' | |
| 1104 | + ), | |
| 1105 | + 'square_connect_failed' => __('Square connection failed. Please try again.', 'ivyforms'), | |
| 1106 | + 'square_disconnect_email_subject' => __('Square disconnected from IvyForms', 'ivyforms'), | |
| 1107 | + 'square_disconnect_email_body' => __('Your Square account was disconnected from IvyForms.', 'ivyforms'), | |
| 1108 | + 'connect_with_stripe' => __('Connect with Stripe', 'ivyforms'), | |
| 1109 | + 'switch_stripe_account' => __('Switch account', 'ivyforms'), | |
| 1110 | + 'disconnect_stripe' => __('Disconnect Stripe', 'ivyforms'), | |
| 1111 | + 'stripe_connected' => __('Stripe connected', 'ivyforms'), | |
| 1112 | + 'stripe_disconnected' => __('Stripe disconnected', 'ivyforms'), | |
| 1113 | + 'unable_to_disconnect_stripe' => __('Unable to disconnect Stripe', 'ivyforms'), | |
| 1114 | + 'stripe_connect_description' => __('Connect your Stripe account below to accept card payments on your forms.', 'ivyforms'), | |
| 1115 | + 'stripe_auth_url_failed' => __('Could not start Stripe authorization.', 'ivyforms'), | |
| 1116 | + 'stripe_disconnected_warning' => __('Stripe is disconnected. Connect Stripe to accept payments on this form.', 'ivyforms'), | |
| 1117 | + 'stripe_currency_mismatch_warning' => __('This form\'s currency does not match your Stripe account currency.', 'ivyforms'), | |
| 1118 | + 'stripe_account_name' => __('Account name', 'ivyforms'), | |
| 1119 | + 'stripe_account_id' => __('Account ID', 'ivyforms'), | |
| 1120 | + 'send_stripe_receipt_email' => __('Send Stripe receipt email', 'ivyforms'), | |
| 1121 | + 'connect_with_paypal' => __('Connect with PayPal', 'ivyforms'), | |
| 1122 | + 'disconnect_paypal' => __('Disconnect PayPal', 'ivyforms'), | |
| 1123 | + 'paypal_connected' => __('PayPal connected', 'ivyforms'), | |
| 1124 | + 'paypal_disconnected' => __('PayPal disconnected', 'ivyforms'), | |
| 1125 | + 'paypal_connect_description' => __('Connect your PayPal Business account to accept Checkout payments on your forms.', 'ivyforms'), | |
| 1126 | + 'paypal_auth_url_failed' => __('Could not start PayPal authorization.', 'ivyforms'), | |
| 1127 | + 'paypal_disconnected_warning' => __('PayPal is disconnected. Connect PayPal to accept payments on this form.', 'ivyforms'), | |
| 1128 | + 'paypal_account_name' => __('Account name', 'ivyforms'), | |
| 1129 | + 'paypal_merchant_id' => __('Merchant ID', 'ivyforms'), | |
| 1130 | + 'paypal_environment' => __('Environment', 'ivyforms'), | |
| 1131 | + 'paypal_sandbox' => __('Sandbox', 'ivyforms'), | |
| 1132 | + 'paypal_live' => __('Live', 'ivyforms'), | |
| 1133 | + 'paypal' => __('PayPal', 'ivyforms'), | |
| 1134 | + 'paypal_complete_payment' => __('Complete PayPal checkout to continue.', 'ivyforms'), | |
| 1135 | + 'paypal_complete_form' => __('Fill in the required fields before paying with PayPal.', 'ivyforms'), | |
| 1136 | + 'view_in_paypal' => __('View in PayPal', 'ivyforms'), | |
| 1137 | + 'view_in_stripe' => __('View in Stripe', 'ivyforms'), | |
| 1138 | + 'send_paypal_receipt_email' => __('Send PayPal receipt email', 'ivyforms'), | |
| 1139 | + 'payment_failed' => __('Payment could not be processed. Please check your card and try again.', 'ivyforms'), | |
| 1140 | + 'payment_token_missing' => __('Payment details are missing. Please refresh and try again.', 'ivyforms'), | |
| 1141 | + 'payment_gateway_unavailable' => __('The selected payment method is not available.', 'ivyforms'), | |
| 1142 | + 'duplicate_payment_transaction' => __('This payment was already recorded. Please do not submit again.', 'ivyforms'), | |
| 1143 | + 'invalid_payment_amount' => __('Payment amount must be greater than zero.', 'ivyforms'), | |
| 1144 | + 'currency_mismatch' => __('Form currency does not match your Square account currency.', 'ivyforms'), | |
| 1145 | + 'currency_mismatch_warning' => __('This form\'s currency does not match your Square account currency.', 'ivyforms'), | |
| 1146 | + 'square_disconnected_warning' => __('Square is disconnected. Connect Square to accept payments on this form.', 'ivyforms'), | |
| 1147 | + 'transaction_id' => __('Transaction ID', 'ivyforms'), | |
| 1148 | + 'view_in_square' => __('View in Square', 'ivyforms'), | |
| 1149 | + 'payment_description' => __('Payment description', 'ivyforms'), | |
| 1150 | + 'buyer_email_field' => __('Buyer email field', 'ivyforms'), | |
| 1151 | + 'billing_name_field' => __('Billing name field', 'ivyforms'), | |
| 1152 | + 'billing_address_field' => __('Billing address field', 'ivyforms'), | |
| 1153 | + 'merchant_name' => __('Merchant name', 'ivyforms'), | |
| 1154 | + 'location' => __('Location', 'ivyforms'), | |
| 1155 | + 'amount' => __('Amount', 'ivyforms'), | |
| 1156 | + 'date' => __('Date', 'ivyforms'), | |
| 1157 | + 'form_name' => __('Form name', 'ivyforms'), | |
| 1158 | + 'square_card' => __('Square Card', 'ivyforms'), | |
| 1159 | + 'card_number' => __('Card number', 'ivyforms'), | |
| 1160 | + 'expiration_date' => __('Expiration date', 'ivyforms'), | |
| 1161 | + 'cvv' => __('CVV', 'ivyforms'), | |
| 1162 | + 'postal_code' => __('Postal code', 'ivyforms'), | |
| 1163 | + 'transactions' => __('Transactions', 'ivyforms'), | |
| 1164 | + 'search_payments' => __('Search Payments', 'ivyforms'), | |
| 1165 | + 'export_csv' => __('Export CSV', 'ivyforms'), | |
| 1166 | + 'charge' => __('Charge', 'ivyforms'), | |
| 1167 | + 'type' => __('Type', 'ivyforms'), | |
| 1168 | + 'customer' => __('Customer', 'ivyforms'), | |
| 1169 | + 'source' => __('Source', 'ivyforms'), | |
| 1170 | + 'coupons' => __('Coupons', 'ivyforms'), | |
| 1171 | + 'payment_methods' => __('Payment Methods', 'ivyforms'), | |
| 1172 | + 'payment_methods_tooltip' => __( | |
| 1173 | + 'Select which payment providers are available on this field. Only connected providers can be used.', | |
| 1174 | + 'ivyforms' | |
| 1175 | + ), | |
| 1176 | + 'go_to_global_settings' => __('Go to Global Settings', 'ivyforms'), | |
| 1177 | + 'hide_title' => __('Hide Title', 'ivyforms'), | |
| 1178 | + 'hide_labels' => __('Hide Labels', 'ivyforms'), | |
| 1179 | + 'square' => __('Square', 'ivyforms'), | |
| 1180 | + 'stripe' => __('Stripe', 'ivyforms'), | |
| 1181 | + 'empty_state_payments_title' => __('No payments yet', 'ivyforms'), | |
| 1182 | + 'empty_state_payments_subtitle' => __( | |
| 1183 | + 'Successful payments from your forms will appear here.', | |
| 1184 | + 'ivyforms' | |
| 1185 | + ), | |
| 1186 | + 'empty_state_filters_payments_title' => __('No payments match your filters', 'ivyforms'), | |
| 1187 | + 'empty_state_filters_payments_subtitle' => __( | |
| 1188 | + 'Try adjusting your search, date range, or form filter.', | |
| 1189 | + 'ivyforms' | |
| 1190 | + ), | |
| 1191 | + ]; | |
| 1192 | + } | |
| 1193 | + | |
| 1194 | + /** | |
| 1067 | 1195 | * Returns the array for the "Security" page strings |
| 1068 | 1196 | * |
| 1069 | 1197 | * @return mixed[] |
| 1070 | 1198 | */ |
| @@ -1347,8 +1475,10 @@ | ||
| 1347 | 1475 | 'product_type_checkbox' => __('Checkbox', 'ivyforms'), |
| 1348 | 1476 | 'product_type_radio' => __('Radio', 'ivyforms'), |
| 1349 | 1477 | 'product_type_select' => __('Select', 'ivyforms'), |
| 1350 | 1478 | 'product_type_user_defined' => __('User defined', 'ivyforms'), |
| 1479 | + 'product_min_amount' => __('Minimum amount', 'ivyforms'), | |
| 1480 | + 'product_max_amount' => __('Maximum amount', 'ivyforms'), | |
| 1351 | 1481 | 'product_choice_layout' => __('Layout', 'ivyforms'), |
| 1352 | 1482 | 'product_layout_inline' => __('Inline', 'ivyforms'), |
| 1353 | 1483 | 'product_layout_columns' => __('Columns', 'ivyforms'), |
| 1354 | 1484 | 'product_layout_button' => __('Button-style layout', 'ivyforms'), |
| @@ -1488,9 +1618,9 @@ | ||
| 1488 | 1618 | 'invalid_request_data' => __('Invalid request data.', 'ivyforms'), |
| 1489 | 1619 | 'invalid_or_missing_ids' => __('Invalid or missing IDs', 'ivyforms'), |
| 1490 | 1620 | 'no_form_ids_for_export' => __('No form IDs provided for export.', 'ivyforms'), |
| 1491 | 1621 | 'no_import_data_provided' => __('No import data provided.', 'ivyforms'), |
| 1492 | - 'unsupported_import_format' => __('Unsupported import file. Please upload a JSON export from IvyForms, WS Form, or Fluent Forms.', 'ivyforms'), | |
| 1622 | + 'unsupported_import_format' => __('Unsupported import file. Please upload a JSON export from IvyForms, WS Form, Fluent Forms, WPForms, or Gravity Forms.', 'ivyforms'), | |
| 1493 | 1623 | 'import_no_supported_fields' => __('No supported fields were found in the import file. Nothing was imported.', 'ivyforms'), |
| 1494 | 1624 | 'invalid_import_data_structure' => __('Invalid import data structure.', 'ivyforms'), |
| 1495 | 1625 | 'import_structure_form_missing' => __('Invalid import structure: missing form section.', 'ivyforms'), |
| 1496 | 1626 | 'import_structure_form_invalid' => __('Invalid import structure: form section must be an object.', 'ivyforms'), |
| @@ -1612,8 +1742,34 @@ | ||
| 1612 | 1742 | 'ai_update_wordpress' => __('Update WordPress', 'ivyforms'), |
| 1613 | 1743 | 'ai_install_plugin' => __('Install AI plugin', 'ivyforms'), |
| 1614 | 1744 | 'ai_open_connectors' => __('Open Connectors', 'ivyforms'), |
| 1615 | 1745 | 'ai_default_page_label' => __('Page %d', 'ivyforms'), |
| 1746 | + 'ai_choices_prompt_title' => __('Describe your choices', 'ivyforms'), | |
| 1747 | + 'ai_choices_prompt_subtitle' => __('Describe the choices you would like to create or use one of the examples below to get started.', 'ivyforms'), | |
| 1748 | + 'ai_choices_learn_more' => __('Learn more about IvyForms AI', 'ivyforms'), | |
| 1749 | + 'ai_choices_prompt_placeholder' => __('e.g. top 50 books of all time', 'ivyforms'), | |
| 1750 | + 'ai_choices_suggestion_books' => __('Top 50 books of all time', 'ivyforms'), | |
| 1751 | + 'ai_choices_suggestion_genres' => __('Top 50 movie genres', 'ivyforms'), | |
| 1752 | + 'ai_choices_suggestion_dogs' => __('Top 30 dog breeds', 'ivyforms'), | |
| 1753 | + 'ai_choices_suggestion_industries' => __('List of industries', 'ivyforms'), | |
| 1754 | + 'ai_choices_generate' => __('Generate choices', 'ivyforms'), | |
| 1755 | + 'ai_choices_try_again' => __('Try again', 'ivyforms'), | |
| 1756 | + 'ai_choices_insert' => __('Insert Choices', 'ivyforms'), | |
| 1757 | + 'ai_choices_close' => __('Close', 'ivyforms'), | |
| 1758 | + 'ai_choices_edit' => __('Edit choices', 'ivyforms'), | |
| 1759 | + 'ai_choices_save' => __('Save choices', 'ivyforms'), | |
| 1760 | + 'ai_choices_generating_title' => __('Generating your choices', 'ivyforms'), | |
| 1761 | + 'ai_choices_generating_step_searching' => __('Searching most popular…', 'ivyforms'), | |
| 1762 | + 'ai_choices_generating_step_collecting' => __('Collecting options…', 'ivyforms'), | |
| 1763 | + 'ai_choices_generating_step_finalizing' => __('Almost done…', 'ivyforms'), | |
| 1764 | + 'ai_choices_prompt_required' => __('Please enter a prompt describing the choices.', 'ivyforms'), | |
| 1765 | + 'ai_choices_prompt_not_understood' => __('We couldn\'t understand that description. Try describing the list of choices you need.', 'ivyforms'), | |
| 1766 | + 'ai_choices_generation_failed' => __('Failed to generate choices. Please try again.', 'ivyforms'), | |
| 1767 | + 'ai_choices_default_title' => __('Generated choices', 'ivyforms'), | |
| 1768 | + 'ai_choices_overwrite_title' => __('Replace existing choices?', 'ivyforms'), | |
| 1769 | + 'ai_choices_overwrite_message' => __('Inserting these choices will replace the current options for this field.', 'ivyforms'), | |
| 1770 | + 'ai_choices_overwrite_confirm' => __('Replace choices', 'ivyforms'), | |
| 1771 | + 'ai_choices_locked_title' => __('AI choice generation is locked', 'ivyforms'), | |
| 1616 | 1772 | ]; |
| 1617 | 1773 | } |
| 1618 | 1774 | |
| 1619 | 1775 | /** |