Changeset 3441776
- Timestamp:
- 01/18/2026 06:54:15 AM (2 months ago)
- Location:
- eh-mortgage-calculator
- Files:
-
- 2 added
- 2 deleted
- 40 edited
-
tags/3.1.0/admin/admin-styles.css (modified) (1 diff)
-
tags/3.1.0/admin/tabs/display.php (modified) (3 diffs)
-
tags/3.1.0/admin/tabs/general.php (modified) (9 diffs)
-
tags/3.1.0/admin/tabs/pro.php (deleted)
-
tags/3.1.0/admin/tabs/shortcode.php (modified) (2 diffs)
-
tags/3.1.0/admin/tabs/styling.php (modified) (5 diffs)
-
tags/3.1.0/assets/js/modules/EHMortgageCalculator.js (modified) (1 diff)
-
tags/3.1.0/assets/js/modules/validation.js (modified) (1 diff)
-
tags/3.1.0/eh-mortgage-calculator.php (modified) (2 diffs)
-
tags/3.1.0/includes/class-ehmc-admin-assets.php (added)
-
tags/3.1.0/includes/class-ehmc-admin.php (modified) (3 diffs)
-
tags/3.1.0/includes/class-ehmc-assets.php (modified) (2 diffs)
-
tags/3.1.0/includes/class-ehmc-blocks.php (modified) (2 diffs)
-
tags/3.1.0/includes/class-ehmc-loader.php (modified) (3 diffs)
-
tags/3.1.0/includes/class-ehmc-shortcode.php (modified) (1 diff)
-
tags/3.1.0/languages/eh-mortgage-calculator-es_ES.mo (modified) (previous)
-
tags/3.1.0/languages/eh-mortgage-calculator-es_ES.po (modified) (11 diffs)
-
tags/3.1.0/languages/eh-mortgage-calculator-es_MX.mo (modified) (previous)
-
tags/3.1.0/languages/eh-mortgage-calculator-es_MX.po (modified) (11 diffs)
-
tags/3.1.0/languages/eh-mortgage-calculator.pot (modified) (8 diffs)
-
tags/3.1.0/templates/calculator.php (modified) (9 diffs)
-
tags/3.1.0/uninstall.php (modified) (3 diffs)
-
trunk/admin/admin-styles.css (modified) (1 diff)
-
trunk/admin/tabs/display.php (modified) (3 diffs)
-
trunk/admin/tabs/general.php (modified) (9 diffs)
-
trunk/admin/tabs/pro.php (deleted)
-
trunk/admin/tabs/shortcode.php (modified) (2 diffs)
-
trunk/admin/tabs/styling.php (modified) (5 diffs)
-
trunk/assets/js/modules/EHMortgageCalculator.js (modified) (1 diff)
-
trunk/assets/js/modules/validation.js (modified) (1 diff)
-
trunk/eh-mortgage-calculator.php (modified) (2 diffs)
-
trunk/includes/class-ehmc-admin-assets.php (added)
-
trunk/includes/class-ehmc-admin.php (modified) (3 diffs)
-
trunk/includes/class-ehmc-assets.php (modified) (2 diffs)
-
trunk/includes/class-ehmc-blocks.php (modified) (2 diffs)
-
trunk/includes/class-ehmc-loader.php (modified) (3 diffs)
-
trunk/includes/class-ehmc-shortcode.php (modified) (1 diff)
-
trunk/languages/eh-mortgage-calculator-es_ES.mo (modified) (previous)
-
trunk/languages/eh-mortgage-calculator-es_ES.po (modified) (11 diffs)
-
trunk/languages/eh-mortgage-calculator-es_MX.mo (modified) (previous)
-
trunk/languages/eh-mortgage-calculator-es_MX.po (modified) (11 diffs)
-
trunk/languages/eh-mortgage-calculator.pot (modified) (8 diffs)
-
trunk/templates/calculator.php (modified) (9 diffs)
-
trunk/uninstall.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
eh-mortgage-calculator/tags/3.1.0/admin/admin-styles.css
r3441254 r3441776 32 32 display: block; 33 33 } 34 35 .fw-bold { 36 font-weight: 600; 37 } -
eh-mortgage-calculator/tags/3.1.0/admin/tabs/display.php
r3441254 r3441776 1 1 <?php 2 $show_summary = get_option('ehmc_show_summary', '1'); 3 $show_table = get_option('ehmc_show_table', '1'); 4 $show_chart = get_option('ehmc_show_chart', '0'); 2 // Translations 3 $title = __( 'Display Options', 'eh-mortgage-calculator' ); 4 $description = __( 'Choose which elements of the calculator should be visible on the frontend.', 'eh-mortgage-calculator' ); 5 $summary_scope = __( 'Show Summary Box', 'eh-mortgage-calculator' ); 6 $summary_label = __( 'Enable summary section (monthly payment, total interest, total cost)', 'eh-mortgage-calculator' ); 7 $amortization_scope = __( 'Show Amortization Table', 'eh-mortgage-calculator' ); 8 $amortization_label = __( 'Display full amortization schedule', 'eh-mortgage-calculator' ); 9 $chart_scope = __( 'Show Chart', 'eh-mortgage-calculator' ); 10 $chart_label = __( 'Display a visual chart', 'eh-mortgage-calculator' ); 11 $chart_description = __( 'A simple doughnut chart that visualizes the breakdown of principal and interest.', 'eh-mortgage-calculator' ); 5 12 6 $title = esc_html__( 'Display Options', 'eh-mortgage-calculator' ); 7 $description = esc_html__( 'Choose which elements of the calculator should be visible on the frontend.', 'eh-mortgage-calculator' ); 8 9 $summary_scope = esc_html__( 'Show Summary Box', 'eh-mortgage-calculator' ); 10 $summary_label = esc_html__( 'Enable summary section (monthly payment, total interest, total cost)', 'eh-mortgage-calculator' ); 11 12 $amortization_scope = esc_html__( 'Show Amortization Table', 'eh-mortgage-calculator' ); 13 $amortization_label = esc_html__( 'Display full amortization schedule', 'eh-mortgage-calculator' ); 14 15 $chart_scope = esc_html__( 'Show Chart', 'eh-mortgage-calculator' ); 16 $chart_label = esc_html__( 'Display a visual chart', 'eh-mortgage-calculator' ); 17 $chart_description = esc_html__( 'A simple doughnut chart that visualizes the breakdown of principal and interest.', 'eh-mortgage-calculator' ); 13 // Fetch saved values (with safe defaults) 14 $show_summary = get_option('ehmc_show_summary'); 15 $show_table = get_option('ehmc_show_table'); 16 $show_chart = get_option('ehmc_show_chart'); 18 17 ?> 19 18 20 19 <div class="ehmc-card"> 21 <h2><?= $title?></h2>22 <p class="description"><?= $description?></p>20 <h2><?= esc_html( $title ) ?></h2> 21 <p class="description"><?= esc_html( $description ) ?></p> 23 22 <table class="form-table"> 24 23 <!-- Show Summary Box --> 25 24 <tr> 26 <th scope="row"><?= $summary_scope?></th>25 <th scope="row"><?= esc_html( $summary_scope ) ?></th> 27 26 <td> 28 <label >29 <input type="checkbox" name="ehmc_show_summary" value="1"27 <label for="ehmc_show_summary"> 28 <input type="checkbox" name="ehmc_show_summary" id="ehmc_show_summary" value="1" 30 29 <?php checked($show_summary, '1'); ?> /> 31 <?= $summary_label?>30 <?= esc_html( $summary_label ) ?> 32 31 </label> 33 32 </td> … … 35 34 <!-- Show Amortization Table --> 36 35 <tr> 37 <th scope="row"><?= $amortization_scope?></th>36 <th scope="row"><?= esc_html( $amortization_scope ) ?></th> 38 37 <td> 39 <label >40 <input type="checkbox" name="ehmc_show_table" value="1"38 <label for="ehmc_show_table"> 39 <input type="checkbox" name="ehmc_show_table" id="ehmc_show_table" value="1" 41 40 <?php checked($show_table, '1'); ?> /> 42 <?= $amortization_label?>41 <?= esc_html( $amortization_label ) ?> 43 42 </label> 44 43 </td> … … 46 45 <!-- Show Chart --> 47 46 <tr> 48 <th scope="row"><?= $chart_scope?></th>47 <th scope="row"><?= esc_html( $chart_scope ) ?></th> 49 48 <td> 50 <label >51 <input type="checkbox" name="ehmc_show_chart" value="1"49 <label for="ehmc_show_chart" aria-describedby="summary-desc"> 50 <input type="checkbox" name="ehmc_show_chart" id="ehmc_show_chart" value="1" 52 51 <?php checked($show_chart, '1'); ?> /> 53 <?= $chart_label?>52 <?= esc_html( $chart_label ) ?> 54 53 </label> 55 <p class="description"><?= $chart_description?></p>54 <p id="summary-desc" class="description"><?= esc_html( $chart_description ) ?></p> 56 55 </td> 57 56 </tr> -
eh-mortgage-calculator/tags/3.1.0/admin/tabs/general.php
r3441254 r3441776 1 1 <?php 2 // Translations 3 $title = __( 'General Settings', 'eh-mortgage-calculator' ); 4 $description = __( 'Control the default values and labels used in the mortgage calculator.', 'eh-mortgage-calculator' ); 5 $default_label = __( 'Label', 'eh-mortgage-calculator'); 6 $button_calculate_label = __( 'Calculate Button', 'eh-mortgage-calculator'); 7 $button_reset_label = __( 'Reset Button', 'eh-mortgage-calculator'); 8 $default_amount_label = __( 'Loan Amount', 'eh-mortgage-calculator' ); 9 $default_interest_label = __( 'Interest Rate', 'eh-mortgage-calculator' ); 10 $default_years_label = __( 'Years', 'eh-mortgage-calculator' ); 11 $amount_label = __( 'Default Loan Amount', 'eh-mortgage-calculator' ); 12 $amount_description = __( 'The starting loan amount shown in the calculator.', 'eh-mortgage-calculator' ); 13 $interest_label = __( 'Default Interest Rate (%)', 'eh-mortgage-calculator' ); 14 $interest_description = __( 'The default yearly interest rate.', 'eh-mortgage-calculator' ); 15 $term_label = __( 'Default Term (Years)', 'eh-mortgage-calculator' ); 16 $term_description = __( 'The default loan term in years.', 'eh-mortgage-calculator' ); 17 $uninstall_scope = __( 'Cleanup on Uninstall', 'eh-mortgage-calculator' ); 18 $uninstall_label = __( 'Delete all plugin data when uninstalling', 'eh-mortgage-calculator' ); 19 $uninstall_description = __( 'If enabled, all EHMC settings will be permanently removed when the plugin is deleted.', 'eh-mortgage-calculator' ); 20 2 21 // Fetch saved values (with safe defaults) 3 $default_amount = get_option('ehmc_default_amount', '300000'); 4 $default_interest = get_option('ehmc_default_interest', '6.5'); 5 $default_years = get_option('ehmc_default_years', '30'); 6 7 $default_label = esc_html__( 'Label', 'eh-mortgage-calculator'); 8 9 $button_calculate_label = esc_html__( 'Calculate Button', 'eh-mortgage-calculator'); 10 $button_reset_label = esc_html__( 'Reset Button', 'eh-mortgage-calculator'); 11 12 $default_amount_label = esc_html__( 'Loan Amount', 'eh-mortgage-calculator' ); 13 $default_interest_label = esc_html__( 'Interest Rate', 'eh-mortgage-calculator' ); 14 $default_years_label = esc_html__( 'Years', 'eh-mortgage-calculator' ); 15 $default_button_calculate = esc_html__( 'Calculate', 'eh-mortgage-calculator' ); 16 $default_button_reset = esc_html__( 'Reset', 'eh-mortgage-calculator' ); 17 18 $label_amount = get_option('ehmc_label_amount', $default_amount_label); 19 $label_interest = get_option('ehmc_label_interest', $default_interest_label); 20 $label_years = get_option('ehmc_label_years', $default_years_label); 21 $label_button_calculate = get_option('ehmc_label_button_calculate', $default_button_calculate); 22 $label_button_reset = get_option('ehmc_label_button_reset', $default_button_reset); 23 24 $title = esc_html__( 'General Settings', 'eh-mortgage-calculator' ); 25 $description = esc_html__( 'Control the default values and labels used in the mortgage calculator.', 'eh-mortgage-calculator' ); 26 27 $amount_label = esc_html__( 'Default Loan Amount', 'eh-mortgage-calculator' ); 28 $amount_description = esc_html__( 'The starting loan amount shown in the calculator.', 'eh-mortgage-calculator' ); 29 30 $interest_label = esc_html__( 'Default Interest Rate (%)', 'eh-mortgage-calculator' ); 31 $interest_description = esc_html__( 'The default yearly interest rate.', 'eh-mortgage-calculator' ); 32 33 $term_label = esc_html__( 'Default Term (Years)', 'eh-mortgage-calculator' ); 34 $term_description = esc_html__( 'The default loan term in years.', 'eh-mortgage-calculator' ); 35 36 $uninstall_scope = esc_html__( 'Cleanup on Uninstall', 'eh-mortgage-calculator' ); 37 $uninstall_label = esc_html__( 'Delete all plugin data when uninstalling', 'eh-mortgage-calculator' ); 38 $uninstall_description = esc_html__( 'If enabled, all EHMC settings will be permanently removed when the plugin is deleted.', 'eh-mortgage-calculator' ); 22 $default_amount = get_option('ehmc_default_amount'); 23 $default_interest = get_option('ehmc_default_interest'); 24 $default_years = get_option('ehmc_default_years'); 25 $label_amount = get_option('ehmc_label_amount'); 26 $label_interest = get_option('ehmc_label_interest'); 27 $label_years = get_option('ehmc_label_years'); 28 $label_button_calculate = get_option('ehmc_label_button_calculate'); 29 $label_button_reset = get_option('ehmc_label_button_reset'); 39 30 ?> 40 31 41 32 <div class="ehmc-card"> 42 <h2><?= $title?></h2>43 <p class="description"><?= $description?></p>33 <h2><?= esc_html( $title ) ?></h2> 34 <p class="description"><?= esc_html( $description ) ?></p> 44 35 45 36 <table class="form-table"> … … 47 38 <!-- Default Loan Amount --> 48 39 <tr> 49 <th scope="row"><label for="ehmc_default_amount"><?= $amount_label?></label></th>40 <th scope="row"><label for="ehmc_default_amount"><?= esc_html( $amount_label ) ?></label></th> 50 41 <td> 51 <input type="number" name="ehmc_default_amount" id="ehmc_default_amount"52 value="<?php echo esc_attr( $default_amount); ?>"42 <input type="number" min="10000" max="20000000" step="1000" name="ehmc_default_amount" id="ehmc_default_amount" 43 value="<?php echo esc_attr( $default_amount ); ?>" 53 44 class="regular-text" /> 54 <p class="description"><?= $amount_description?></p>45 <p class="description"><?= esc_html( $amount_description ) ?></p> 55 46 </td> 56 47 </tr> … … 58 49 <!-- Default Interest Rate --> 59 50 <tr> 60 <th scope="row"><label for="ehmc_default_interest"><?= $interest_label?></label></th>51 <th scope="row"><label for="ehmc_default_interest"><?= esc_html( $interest_label ) ?></label></th> 61 52 <td> 62 <input type="number" step="0.01" name="ehmc_default_interest" id="ehmc_default_interest"53 <input type="number" min="1" max="25" step="0.01" name="ehmc_default_interest" id="ehmc_default_interest" 63 54 value="<?php echo esc_attr($default_interest); ?>" 64 55 class="regular-text" /> 65 <p class="description"><?= $interest_description?></p>56 <p class="description"><?= esc_html( $interest_description ) ?></p> 66 57 </td> 67 58 </tr> … … 69 60 <!-- Default Term --> 70 61 <tr> 71 <th scope="row"><label for="ehmc_default_years"><?= $term_label?></label></th>62 <th scope="row"><label for="ehmc_default_years"><?= esc_html( $term_label ) ?></label></th> 72 63 <td> 73 <input type="number" name="ehmc_default_years" id="ehmc_default_years"74 value="<? php echo esc_attr($default_years); ?>"64 <input type="number" min="1" max="45" step="1" name="ehmc_default_years" id="ehmc_default_years" 65 value="<?= esc_attr( $default_years ); ?>" 75 66 class="regular-text" /> 76 <p class="description"><?= $term_description?></p>67 <p class="description"><?= esc_html( $term_description ) ?></p> 77 68 </td> 78 69 </tr> … … 82 73 <!-- Label: Loan Amount --> 83 74 <tr> 84 <th scope="row"><label for="ehmc_label_amount"><?= $default_label . ': ' . $default_amount_label?></label></th>75 <th scope="row"><label for="ehmc_label_amount"><?= esc_html( $default_label ) ?>: <?= esc_html( $default_amount_label ) ?></label></th> 85 76 <td> 86 77 <input type="text" name="ehmc_label_amount" id="ehmc_label_amount" … … 92 83 <!-- Label: Interest Rate --> 93 84 <tr> 94 <th scope="row"><label for="ehmc_label_interest"><?= $default_label . ': ' . $default_interest_label?></label></th>85 <th scope="row"><label for="ehmc_label_interest"><?= esc_html( $default_label ) ?>: <?= esc_html( $default_interest_label ) ?></label></th> 95 86 <td> 96 87 <input type="text" name="ehmc_label_interest" id="ehmc_label_interest" … … 102 93 <!-- Label: Years --> 103 94 <tr> 104 <th scope="row"><label for="ehmc_label_years"><?= $default_label . ': ' . $default_years_label?></label></th>95 <th scope="row"><label for="ehmc_label_years"><?= esc_html( $default_label ) ?>: <?= esc_html( $default_years_label ) ?></label></th> 105 96 <td> 106 97 <input type="text" name="ehmc_label_years" id="ehmc_label_years" … … 112 103 <!-- Label: Buttons --> 113 104 <tr> 114 <th scope="row"><label for="ehmc_label_button_calculate"><?= $default_label . ': ' . $button_calculate_label?></label></th>105 <th scope="row"><label for="ehmc_label_button_calculate"><?= esc_html( $default_label ) ?>: <?= esc_html( $button_calculate_label ) ?></label></th> 115 106 <td> 116 107 <input type="text" name="ehmc_label_button_calculate" id="ehmc_label_button_calculate" 117 value="<?php echo esc_attr( $label_button_calculate); ?>"108 value="<?php echo esc_attr( $label_button_calculate ); ?>" 118 109 class="regular-text" /> 119 110 </td> 120 111 </tr> 121 112 <tr> 122 <th scope="row"><label for="ehmc_label_button_reset"><?= $default_label . ': ' . $button_reset_label?></label></th>113 <th scope="row"><label for="ehmc_label_button_reset"><?= esc_html( $default_label ) ?>: <?= esc_html( $button_reset_label ) ?></label></th> 123 114 <td> 124 115 <input type="text" name="ehmc_label_button_reset" id="ehmc_label_button_reset" 125 value="<?php echo esc_attr( $label_button_reset); ?>"116 value="<?php echo esc_attr( $label_button_reset ); ?>" 126 117 class="regular-text" /> 127 118 </td> … … 130 121 <!-- Label: Uninstall --> 131 122 <tr> 132 <th scope="row"><?= $uninstall_scope?></th>123 <th scope="row"><?= esc_html( $uninstall_scope ) ?></th> 133 124 <td> 134 125 <label> 135 126 <input type="checkbox" name="ehmc_delete_data_on_uninstall" value="1" 136 127 <?php checked( get_option('ehmc_delete_data_on_uninstall'), '1' ); ?>> 137 <?= $uninstall_label?>128 <?= esc_html( $uninstall_label ) ?> 138 129 </label> 139 <p class="description"><?= $uninstall_description?></p>130 <p class="description"><?= esc_html( $uninstall_description ) ?></p> 140 131 </td> 141 132 </tr> -
eh-mortgage-calculator/tags/3.1.0/admin/tabs/shortcode.php
r3441254 r3441776 1 1 <?php 2 $title = esc_html__( 'Shortcode', 'eh-mortgage-calculator' ); 3 $description = esc_html__( 'Use this shortcode to display the mortgage calculator anywhere on your site.', 'eh-mortgage-calculator' ); 4 5 $shortcode_scope = esc_html__('Main Shortcode', 'eh-mortgage-calculator' ); 6 $shortcode_label = esc_html__( 'Copy', 'eh-mortgage-calculator' ); 7 $shortcode_description = esc_html__( 'Paste this shortcode into any page, post, or widget.', 'eh-mortgage-calculator' ); 8 9 $example_scope = esc_html__('Example Usage', 'eh-mortgage-calculator' ); 10 $example_description = esc_html__( 'No attributes are required — the calculator uses your saved settings.', 'eh-mortgage-calculator' ); 11 2 // Translations 3 $title = __( 'Shortcode', 'eh-mortgage-calculator' ); 4 $description = __( 'Use this shortcode to display the mortgage calculator anywhere on your site.', 'eh-mortgage-calculator' ); 5 $shortcode_scope = __( 'Main Shortcode', 'eh-mortgage-calculator' ); 6 $shortcode_label = __( 'Copy', 'eh-mortgage-calculator' ); 7 $shortcode_description = __( 'Paste this shortcode into any page, post, or widget.', 'eh-mortgage-calculator' ); 8 $shortcode_copy = __( 'Copy shortcode to clipboard', 'eh-mortgage-calculator' ); 9 $example_scope = __( 'Example Usage', 'eh-mortgage-calculator' ); 10 $example_description = __( 'No attributes are required — the calculator uses your saved settings.', 'eh-mortgage-calculator' ); 12 11 ?> 13 12 <div class="ehmc-card"> 14 <h2><?= $title?></h2>15 <p class="description"><?= $description?></p>13 <h2><?= esc_html( $title ) ?></h2> 14 <p class="description"><?= esc_html( $description ) ?></p> 16 15 17 16 <table class="form-table"> 18 17 <tr> 19 <th scope="row"><?= $shortcode_scope?></th>18 <th scope="row"><?= esc_html( $shortcode_scope ) ?></th> 20 19 <td> 21 20 <input type="text" 22 21 id="ehmc-shortcode-field" 23 class="regular-text "24 value=" [eh_mortgage_calculator]"25 readonly26 style="width: 300px; font-weight: 600;"/>22 class="regular-text fw-bold" 23 value="<?= esc_attr( '[eh_mortgage_calculator]' ) ?>" 24 aria-label="<?= esc_attr__( $shortcode_copy ); ?>" 25 readonly /> 27 26 28 27 <button type="button" 29 28 class="button" 30 29 id="ehmc-copy-shortcode"> 31 <?= $shortcode_label?>30 <?= esc_html( $shortcode_label ) ?> 32 31 </button> 33 32 34 <p class="description"><?= $shortcode_description?></p>33 <p class="description"><?= esc_html( $shortcode_description ) ?></p> 35 34 </td> 36 35 </tr> … … 39 38 40 39 <tr> 41 <th scope="row"><?= $example_scope?></th>40 <th scope="row"><?= esc_html( $example_scope ) ?></th> 42 41 <td> 43 <code> [eh_mortgage_calculator]</code>44 <p class="description"><?= $example_description?></p>42 <code><?= esc_html( '[eh_mortgage_calculator]' ) ?></code> 43 <p class="description"><?= esc_html( $example_description ) ?></p> 45 44 </td> 46 45 </tr> -
eh-mortgage-calculator/tags/3.1.0/admin/tabs/styling.php
r3441254 r3441776 1 1 <?php 2 // Translations 3 $title = __( 'Styling Options', 'eh-mortgage-calculator' ); 4 $description = __( 'Customize the appearance of the mortgage calculator on the frontend.', 'eh-mortgage-calculator' ); 5 $primary_color_label = __( 'Primary Color', 'eh-mortgage-calculator' ); 6 $primary_color_description = __( 'Used for highlights and accents.', 'eh-mortgage-calculator' ); 7 $button_calculate_color_label = __( 'Calculate Button Color', 'eh-mortgage-calculator' ); 8 $button_calculate_color_description = __( 'Color of the Calculate button.', 'eh-mortgage-calculator' ); 9 $button_reset_color_label = __( 'Reset Button Color', 'eh-mortgage-calculator' ); 10 $button_reset_color_description = __( 'Color of the Reset button.', 'eh-mortgage-calculator' ); 11 $table_header_color_label = __( 'Table Header Color', 'eh-mortgage-calculator' ); 12 $table_header_color_description = __( 'Background color for the amortization table header.', 'eh-mortgage-calculator' ); 13 $border_radius_scope = __( 'Border Radius', 'eh-mortgage-calculator' ); 14 $border_radius_labels = [ 15 'none' => __( 'None', 'eh-mortgage-calculator' ), 16 'small' => __( 'Small (4px)', 'eh-mortgage-calculator' ), 17 'medium' => __( 'Medium (8px)', 'eh-mortgage-calculator' ), 18 'large' => __( 'Large (12px)', 'eh-mortgage-calculator' ) 19 ]; 20 $border_radius_description = __( 'Controls the roundness of input fields, buttons, and cards.', 'eh-mortgage-calculator' ); 21 22 // Fetch saved values (with safe defaults) 2 23 $primary_color = get_option('ehmc_primary_color', '#2271b1'); 3 24 $button_calculate_color = get_option('ehmc_button_color_calculate', '#2271b1'); … … 5 26 $table_header_color = get_option('ehmc_table_header_color', '#f1f1f1'); 6 27 $border_radius = get_option('ehmc_border_radius', 'medium'); 7 8 $title = esc_html__( 'Styling Options', 'eh-mortgage-calculator' );9 $description = esc_html__( 'Customize the appearance of the mortgage calculator on the frontend.', 'eh-mortgage-calculator' );10 11 $primary_color_label = esc_html__( 'Primary Color', 'eh-mortgage-calculator' );12 $primary_color_description = esc_html__( 'Used for highlights and accents.', 'eh-mortgage-calculator' );13 14 $button_calculate_color_label = esc_html__( 'Calculate Button Color', 'eh-mortgage-calculator' );15 $button_calculate_color_description = esc_html__( 'Color of the Calculate button.', 'eh-mortgage-calculator' );16 17 $button_reset_color_label = esc_html__( 'Reset Button Color', 'eh-mortgage-calculator' );18 $button_reset_color_description = esc_html__( 'Color of the Reset button.', 'eh-mortgage-calculator' );19 20 $table_header_color_label = esc_html__( 'Table Header Color', 'eh-mortgage-calculator' );21 $table_header_color_description = esc_html__( 'Background color for the amortization table header.', 'eh-mortgage-calculator' );22 23 $border_radius_scope = esc_html__( 'Border Radius', 'eh-mortgage-calculator' );24 $border_radius_labels = [25 'none' => esc_html__( 'None', 'eh-mortgage-calculator' ),26 'small' => esc_html__( 'Small (4px)', 'eh-mortgage-calculator' ),27 'medium' => esc_html__( 'Medium (8px)', 'eh-mortgage-calculator' ),28 'large' => esc_html__( 'Large (12px)', 'eh-mortgage-calculator' )29 ];30 $border_radius_description = esc_html__( 'Controls the roundness of input fields, buttons, and cards.', 'eh-mortgage-calculator' );31 28 ?> 32 29 33 30 <div class="ehmc-card"> 34 <h2><?= $title?></h2>35 <p class="description"><?= $description?></p>31 <h2><?= esc_html( $title ) ?></h2> 32 <p class="description"><?= esc_html( $description ) ?></p> 36 33 37 34 <table class="form-table"> 38 35 <!-- Primary Color --> 39 36 <tr> 40 <th scope="row"><label for="ehmc_primary_color" ><?= $primary_color_label?></label></th>37 <th scope="row"><label for="ehmc_primary_color" aria-describedby="primary-desc"><?= esc_html( $primary_color_label ) ?></label></th> 41 38 <td> 42 39 <input type="color" name="ehmc_primary_color" id="ehmc_primary_color" 43 40 value="<?php echo esc_attr($primary_color); ?>" /> 44 <p class="description"><?= $primary_color_description?></p>41 <p id="primary-desc" class="description"><?= esc_html( $primary_color_description ) ?></p> 45 42 </td> 46 43 </tr> … … 48 45 <!-- Buttons Color --> 49 46 <tr> 50 <th scope="row"><label for="ehmc_button_color_calculate" ><?= $button_calculate_color_label?></label></th>47 <th scope="row"><label for="ehmc_button_color_calculate" aria-describedby="button-calculate-desc"><?= esc_html( $button_calculate_color_label ) ?></label></th> 51 48 <td> 52 49 <input type="color" name="ehmc_button_color_calculate" id="ehmc_button_color_calculate" 53 50 value="<?php echo esc_attr($button_calculate_color); ?>" /> 54 <p class="description"><?= $button_calculate_color_description?></p>51 <p id="button-calculate-desc" class="description"><?= esc_html( $button_calculate_color_description ) ?></p> 55 52 </td> 56 53 </tr> 57 54 <tr> 58 <th scope="row"><label for="ehmc_button_color_reset" ><?= $button_reset_color_label?></label></th>55 <th scope="row"><label for="ehmc_button_color_reset" aria-describedby="button-reset-desc"><?= esc_html( $button_reset_color_label ) ?></label></th> 59 56 <td> 60 57 <input type="color" name="ehmc_button_color_reset" id="ehmc_button_color_reset" 61 58 value="<?php echo esc_attr($button_reset_color); ?>" /> 62 <p class="description"><?= $button_reset_color_description?></p>59 <p id="button-reset-desc" class="description"><?= esc_html( $button_reset_color_description ) ?></p> 63 60 </td> 64 61 </tr> … … 66 63 <!-- Table Header Color --> 67 64 <tr> 68 <th scope="row"><label for="ehmc_table_header_color" ><?= $table_header_color_label?></label></th>65 <th scope="row"><label for="ehmc_table_header_color" aria-describedby="table-header-desc"><?= esc_html( $table_header_color_label ) ?></label></th> 69 66 <td> 70 67 <input type="color" name="ehmc_table_header_color" id="ehmc_table_header_color" 71 68 value="<?php echo esc_attr($table_header_color); ?>" /> 72 <p class="description"><?= $table_header_color_description?></p>69 <p id="table-header-desc" class="description"><?= esc_html( $table_header_color_description ) ?></p> 73 70 </td> 74 71 </tr> … … 78 75 <!-- Border Radius --> 79 76 <tr> 80 <th scope="row"><?= $border_radius_scope?></th>77 <th scope="row"><?= esc_html( $border_radius_scope ) ?></th> 81 78 <td> 82 <fieldset> 79 <fieldset aria-labelledby="border-radius-desc"> 80 <?php $x = 0 ?> 83 81 <?php foreach( $border_radius_labels as $key => $value ): ?> 84 <label >85 <input type="radio" name="ehmc_border_radius" value="<?= $key ?>"82 <label for="ehmc_border_radius-<?= $x ?>" aria-describedby="border-radius-desc"> 83 <input id="ehmc_border_radius-<?= $x ?>" type="radio" name="ehmc_border_radius" value="<?= $key ?>" 86 84 <?php checked($border_radius, $key); ?> /> 87 <?= $value?>85 <?= esc_html( $value ) ?> 88 86 </label> 89 87 <br /> 88 <?php $x++; ?> 90 89 <?php endforeach; ?> 91 90 </fieldset> 92 <p class="description"><?= $border_radius_description?></p>91 <p id="border-radius-desc" class="description"><?= esc_html( $border_radius_description ) ?></p> 93 92 </td> 94 93 </tr> -
eh-mortgage-calculator/tags/3.1.0/assets/js/modules/EHMortgageCalculator.js
r3441675 r3441776 184 184 let i = this.interestInput.value; 185 185 let n = this.termInput.value; 186 187 const validation = validateForm(P, i, n); 186 187 let ranges = { 188 pMin: 10000, 189 pMax: 20000000, 190 iMin: 1, 191 iMax: 25, 192 nMin: 1, 193 nMax: 45 194 } 195 196 197 const validation = validateForm(P, i, n, ranges); 188 198 189 199 if (Object.values(validation).includes(false)) { -
eh-mortgage-calculator/tags/3.1.0/assets/js/modules/validation.js
r3441255 r3441776 1 1 /** 2 * Validate user input .2 * Validate user input using numeric ranges. 3 3 * 4 4 * @param {string} P Principal 5 5 * @param {string} i Interest rate 6 6 * @param {string} n Term 7 * @param {object} ranges { pMin, pMax, iMin, iMax, nMin, nMax } 7 8 * @returns {{ principal: boolean, interest: boolean, term: boolean }} 8 9 */ 9 export function validateForm(P, i, n) { 10 // principal: > 0, up to 2 decimals 11 const principalRegex = /^(?:[1-9]\d*(\.\d{1,2})?)$/; 10 export function validateForm(P, i, n, ranges) { 12 11 13 // interest: 1–25% with up to 2 decimals 14 const interestRegex = /^([1-9](\.\d{1,2})?|1\d(\.\d{1,2})?|2[0-4](\.\d{1,2})?|25)$/; 12 // Remove commas and spaces 13 const principal = parseFloat(String(P).replace(/,/g, '')); 14 const interest = parseFloat(i); 15 const term = parseInt(n, 10); 15 16 16 // term: 1–45 years 17 const termRegex = /^(?:[1-9]|[1-3][0-9]|4[0-5])$/; 17 const { 18 pMin, pMax, 19 iMin, iMax, 20 nMin, nMax 21 } = ranges; 18 22 19 23 return { 20 principal: principalRegex.test(P),21 interest: interestRegex.test(i),22 term: termRegex.test(n)24 principal: !isNaN(principal) && principal >= pMin && principal <= pMax, 25 interest: !isNaN(interest) && interest >= iMin && interest <= iMax, 26 term: !isNaN(term) && term >= nMin && term <= nMax 23 27 }; 24 28 } -
eh-mortgage-calculator/tags/3.1.0/eh-mortgage-calculator.php
r3441255 r3441776 4 4 * Description: A modern, modular mortgage calculator with amortization table. 5 5 * Version: 3.1.0 6 * Requires at least: 5.0 7 * Tested up to: 6.9 6 8 * Author: Edgar Hernandez 7 9 * Text Domain: eh-mortgage-calculator … … 12 14 } 13 15 14 define( 'EHMORTGAGECALCULATOR_ _VERSION', '3.0' );16 define( 'EHMORTGAGECALCULATOR_VERSION', '3.1.0' ); 15 17 define( 'EHMC_PATH', plugin_dir_path( __FILE__ ) ); 16 18 define( 'EHMC_URL', plugin_dir_url( __FILE__ ) ); -
eh-mortgage-calculator/tags/3.1.0/includes/class-ehmc-admin.php
r3441255 r3441776 4 4 public function __construct() { 5 5 add_action('admin_menu', [ $this, 'ehmc_register_settings_page' ]); 6 add_action('admin_enqueue_scripts', [ $this, 'ehmc_admin_assets' ]);7 6 } 8 7 9 8 public function ehmc_register_settings_page() { 9 if ( ! current_user_can( 'manage_options' ) ) { 10 return; 11 } 12 10 13 $title = esc_html__( 'Mortgage Calculator Settings', 'eh-mortgage-calculator'); 11 $menu_title = esc_html__( 'Mortgage ', 'eh-mortgage-calculator');14 $menu_title = esc_html__( 'Mortgage Calculator', 'eh-mortgage-calculator'); 12 15 13 16 add_options_page( … … 22 25 public function ehmc_register_settings() { 23 26 // General 24 register_setting('ehmc_settings_group', 'ehmc_default_amount'); 25 register_setting('ehmc_settings_group', 'ehmc_default_interest'); 26 register_setting('ehmc_settings_group', 'ehmc_default_years'); 27 register_setting('ehmc_settings_group', 'ehmc_label_amount'); 28 register_setting('ehmc_settings_group', 'ehmc_label_interest'); 29 register_setting('ehmc_settings_group', 'ehmc_label_years'); 30 register_setting('ehmc_settings_group', 'ehmc_label_button_calculate'); 31 register_setting('ehmc_settings_group', 'ehmc_label_button_reset'); 32 27 $this->ehmc_register_setting('ehmc_default_amount', 'number', 'absint', 300000); 28 $this->ehmc_register_setting('ehmc_default_interest', 'string', [ $this, 'sanitize_float' ], '6.5'); 29 $this->ehmc_register_setting('ehmc_default_years', 'number', 'absint', 30); 30 $this->ehmc_register_setting('ehmc_label_amount', 'string', 'sanitize_text_field', esc_html__( 'Loan Amount', 'eh-mortgage-calculator' )); 31 $this->ehmc_register_setting('ehmc_label_interest', 'string', 'sanitize_text_field', esc_html__( 'Interest Rate', 'eh-mortgage-calculator' )); 32 $this->ehmc_register_setting('ehmc_label_years', 'string', 'sanitize_text_field', esc_html__( 'Years', 'eh-mortgage-calculator' )); 33 $this->ehmc_register_setting('ehmc_label_button_calculate', 'string', 'sanitize_text_field', esc_html__( 'Calculate', 'eh-mortgage-calculator' )); 34 $this->ehmc_register_setting('ehmc_label_button_reset', 'string', 'sanitize_text_field', esc_html__( 'Reset', 'eh-mortgage-calculator' )); 33 35 // Display 34 register_setting('ehmc_settings_group', 'ehmc_show_summary'); 35 register_setting('ehmc_settings_group', 'ehmc_show_table'); 36 register_setting('ehmc_settings_group', 'ehmc_show_chart'); 36 $this->ehmc_register_setting('ehmc_show_summary', 'integer', 'absint', 1); 37 $this->ehmc_register_setting('ehmc_show_table', 'integer', 'absint', 1); 38 $this->ehmc_register_setting('ehmc_show_chart', 'integer', 'absint', 0); 39 // Styling 40 $this->ehmc_register_setting('ehmc_primary_color', 'string', 'sanitize_hex_color', '#2271b1'); 41 $this->ehmc_register_setting('ehmc_button_color_calculate', 'string', 'sanitize_hex_color', '#2271b1'); 42 $this->ehmc_register_setting('ehmc_button_color_reset', 'string', 'sanitize_hex_color', '#6c757d'); 43 $this->ehmc_register_setting('ehmc_table_header_color', 'string', 'sanitize_hex_color', '#f1f1f1'); 44 $this->ehmc_register_setting('ehmc_border_radius', 'string', [ $this, 'sanitize_border_radius' ], 'medium'); 45 // Uninstall 46 $this->ehmc_register_setting('ehmc_delete_data_on_uninstall', 'integer', 'absint', 0); 47 } 48 49 /** 50 * 51 * @param string $setting 52 * @param string $type 53 * @param string|array $sanitize_callback 54 * @param string|int $default 55 */ 56 public function ehmc_register_setting(string $setting, string $type, string | array $sanitize_callback, string | int $default) { 57 register_setting( 58 'ehmc_settings_group', 59 $setting, 60 [ 61 'type' => $type, 62 'sanitize_callback' => $sanitize_callback, 63 'default' => $default, 64 ] 65 ); 66 } 67 68 /** 69 * Sanitize float values (interest rate) 70 */ 71 public function sanitize_float( $value ) { 72 return is_numeric( $value ) ? $value : ''; 73 } 37 74 38 // Styling 39 register_setting('ehmc_settings_group', 'ehmc_primary_color'); 40 register_setting('ehmc_settings_group', 'ehmc_button_color_calculate'); 41 register_setting('ehmc_settings_group', 'ehmc_button_color_reset'); 42 register_setting('ehmc_settings_group', 'ehmc_table_header_color'); 43 register_setting('ehmc_settings_group', 'ehmc_border_radius'); 44 45 // Uninstall 46 register_setting('ehmc_settings_group', 'ehmc_delete_data_on_uninstall'); 75 /** 76 * Sanitize border radius option 77 */ 78 public function sanitize_border_radius( $value ) { 79 80 $allowed = [ 'none', 'small', 'medium', 'large' ]; 81 82 return in_array( $value, $allowed, true ) ? $value : 'medium'; 47 83 } 48 84 … … 60 96 echo $output; 61 97 } 62 63 64 public function ehmc_admin_assets($hook) {65 if ($hook !== 'settings_page_ehmc-settings') {66 return;67 }68 69 wp_enqueue_script(70 'ehmc-admin-js',71 EHMC_URL . 'admin/admin-scripts.js',72 [],73 EHMORTGAGECALCULATOR__VERSION,74 true75 );76 77 wp_enqueue_style(78 'ehmc-admin-css',79 EHMC_URL . 'admin/admin-styles.css',80 [],81 EHMORTGAGECALCULATOR__VERSION82 );83 }84 98 } -
eh-mortgage-calculator/tags/3.1.0/includes/class-ehmc-assets.php
r3441675 r3441776 10 10 EHMC_URL . 'assets/css/bootstrap-custom.css', 11 11 [], 12 EHMORTGAGECALCULATOR_ _VERSION12 EHMORTGAGECALCULATOR_VERSION 13 13 ); 14 14 15 wp_enqueue_script( 'wp-i18n' ); 16 15 17 // JS (ES6 module) 16 18 wp_enqueue_script_module( … … 25 27 EHMC_URL . 'assets/js/frontend.js', 26 28 ['chartjs'], 27 EHMORTGAGECALCULATOR_ _VERSION29 EHMORTGAGECALCULATOR_VERSION 28 30 ); 29 31 30 32 wp_set_script_translations( 'ehmc-frontend', 'eh-mortgage-calculator' ); 33 34 add_filter( 'script_module_data_ehmc-frontend', [ $this, 'localize_module_data' ] ); 31 35 32 // Important: load as module 33 wp_enqueue_script( 'wp-i18n' ); 34 35 // Provide data specifically for this module 36 add_filter( "script_module_data_ehmc-frontend", function ( array $data ): array { 37 $data['labels'] = [ 38 // Chart 39 'principal' => __( 'Principal', 'eh-mortgage-calculator' ), 40 'interest' => __( 'Interest', 'eh-mortgage-calculator' ), 41 // Summary 42 'monthly_payment' => __('Monthly Payment', 'eh-mortgage-calculator' ), 43 'total_interest' => __('Total Interest', 'eh-mortgage-calculator' ), 44 'total_paid' => __('Total Paid', 'eh-mortgage-calculator' ) 45 ]; 46 return $data; 47 } ); 36 } 37 38 public function localize_module_data( array $data ): array { 39 $data['labels'] = [ 40 'principal' => __( 'Principal', 'eh-mortgage-calculator' ), 41 'interest' => __( 'Interest', 'eh-mortgage-calculator' ), 42 'monthly_payment' => __( 'Monthly Payment', 'eh-mortgage-calculator' ), 43 'total_interest' => __( 'Total Interest', 'eh-mortgage-calculator' ), 44 'total_paid' => __( 'Total Paid', 'eh-mortgage-calculator' ), 45 ]; 46 return $data; 48 47 } 49 48 } -
eh-mortgage-calculator/tags/3.1.0/includes/class-ehmc-blocks.php
r3441255 r3441776 38 38 EHMC_URL . 'blocks/ehmc-calculator/editor.css', 39 39 [], 40 EHMORTGAGECALCULATOR_ _VERSION40 EHMORTGAGECALCULATOR_VERSION 41 41 ); 42 42 … … 45 45 EHMC_URL . 'blocks/ehmc-calculator/editor.js', 46 46 [ 'wp-blocks', 'wp-element', 'wp-editor' ], 47 EHMORTGAGECALCULATOR_ _VERSION,47 EHMORTGAGECALCULATOR_VERSION, 48 48 true 49 49 ); -
eh-mortgage-calculator/tags/3.1.0/includes/class-ehmc-loader.php
r3441308 r3441776 9 9 require_once EHMC_PATH . 'includes/class-ehmc-blocks.php'; 10 10 require_once EHMC_PATH . 'includes/class-ehmc-admin.php'; 11 require_once EHMC_PATH . 'includes/class-ehmc-admin-assets.php'; 11 12 } 12 13 … … 16 17 $this->load_assets(); 17 18 $this->load_shortcode(); 18 $this->load_admin(); 19 if ( is_admin() ) { 20 $this->load_admin_assets(); 21 $this->load_admin(); 22 } 19 23 } 20 24 … … 43 47 add_action( 'admin_init', [ $admin, 'ehmc_register_settings' ] ); 44 48 } 49 50 private function load_admin_assets() { 51 $admin_assets = new EHMC_Admin_Assets(); 52 add_action( 'admin_enqueue_scripts', [ $admin_assets, 'ehmc_admin_assets' ] ); 53 } 45 54 } -
eh-mortgage-calculator/tags/3.1.0/includes/class-ehmc-shortcode.php
r3428826 r3441776 7 7 public function render( $atts = [] ) { 8 8 self::$instance_counter++; 9 $instance = self::$instance_counter;9 $instance = absint( self::$instance_counter ); 10 10 11 11 // 1. Start fresh buffering -
eh-mortgage-calculator/tags/3.1.0/languages/eh-mortgage-calculator-es_ES.po
r3441255 r3441776 4 4 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/eh-mortgage-" 5 5 "calculator\n" 6 "POT-Creation-Date: 2026-01-1 6T20:00:18+00:00\n"7 "PO-Revision-Date: 2026-01-1 6 12:05-0800\n"6 "POT-Creation-Date: 2026-01-18T05:30:23+00:00\n" 7 "PO-Revision-Date: 2026-01-17 21:34-0800\n" 8 8 "Last-Translator: \n" 9 9 "Language-Team: \n" … … 35 35 msgstr "Edgar Hernandez" 36 36 37 #: admin/settings-page.php:2 includes/class-ehmc-admin.php:1 037 #: admin/settings-page.php:2 includes/class-ehmc-admin.php:13 38 38 msgid "Mortgage Calculator Settings" 39 39 msgstr "Ajustes de la calculadora hipotecaria" … … 51 51 msgstr "Estilo" 52 52 53 #: admin/settings-page.php:6 admin/tabs/shortcode.php: 253 #: admin/settings-page.php:6 admin/tabs/shortcode.php:3 54 54 msgid "Shortcode" 55 55 msgstr "Shortcode" … … 59 59 msgstr "Guardar cambios" 60 60 61 #: admin/tabs/display.php: 661 #: admin/tabs/display.php:3 62 62 msgid "Display Options" 63 63 msgstr "Opciones de Visualización" 64 64 65 #: admin/tabs/display.php: 765 #: admin/tabs/display.php:4 66 66 msgid "" 67 67 "Choose which elements of the calculator should be visible on the frontend." … … 70 70 "pública." 71 71 72 #: admin/tabs/display.php: 972 #: admin/tabs/display.php:5 73 73 msgid "Show Summary Box" 74 74 msgstr "Mostrar cuadro de resumen" 75 75 76 #: admin/tabs/display.php: 1076 #: admin/tabs/display.php:6 77 77 msgid "Enable summary section (monthly payment, total interest, total cost)" 78 78 msgstr "" 79 79 "Habilitar sección de resumen (pago mensual, interés total, costo total)" 80 80 81 #: admin/tabs/display.php: 1281 #: admin/tabs/display.php:7 82 82 msgid "Show Amortization Table" 83 83 msgstr "Mostrar tabla de amortización" 84 84 85 #: admin/tabs/display.php: 1385 #: admin/tabs/display.php:8 86 86 msgid "Display full amortization schedule" 87 87 msgstr "Mostrar calendario de amortización completo" 88 88 89 #: admin/tabs/display.php: 1589 #: admin/tabs/display.php:9 90 90 msgid "Show Chart" 91 91 msgstr "Mostrar gráfico" 92 92 93 #: admin/tabs/display.php:1 693 #: admin/tabs/display.php:10 94 94 msgid "Display a visual chart" 95 95 msgstr "Mostrar gráfico visual" 96 96 97 #: admin/tabs/display.php:1 797 #: admin/tabs/display.php:11 98 98 msgid "" 99 99 "A simple doughnut chart that visualizes the breakdown of principal and " … … 103 103 "(principal) y los intereses." 104 104 105 #: admin/tabs/general.php:7 105 #: admin/tabs/general.php:3 106 msgid "General Settings" 107 msgstr "Ajustes Generales" 108 109 #: admin/tabs/general.php:4 110 msgid "Control the default values and labels used in the mortgage calculator." 111 msgstr "" 112 "Controla los valores predeterminados y las etiquetas utilizadas en la " 113 "calculadora hipotecaria." 114 115 #: admin/tabs/general.php:5 106 116 msgid "Label" 107 117 msgstr "Etiqueta" 108 118 109 #: admin/tabs/general.php: 9119 #: admin/tabs/general.php:6 110 120 msgid "Calculate Button" 111 121 msgstr "Botón de calcular" 112 122 113 #: admin/tabs/general.php: 10123 #: admin/tabs/general.php:7 114 124 msgid "Reset Button" 115 125 msgstr "Botón de restablecer" 116 126 117 #: admin/tabs/general.php:12 templates/calculator.php:9 127 #: admin/tabs/general.php:8 includes/class-ehmc-admin.php:30 128 #: templates/calculator.php:12 118 129 msgid "Loan Amount" 119 130 msgstr "Monto del préstamo" 120 131 121 #: admin/tabs/general.php: 13132 #: admin/tabs/general.php:9 includes/class-ehmc-admin.php:31 122 133 msgid "Interest Rate" 123 134 msgstr "Tasa de interés" 124 135 125 #: admin/tabs/general.php:1 4136 #: admin/tabs/general.php:10 includes/class-ehmc-admin.php:32 126 137 msgid "Years" 127 138 msgstr "Años" 128 139 129 #: admin/tabs/general.php:15 130 msgid "Calculate" 131 msgstr "Calcular" 132 133 #: admin/tabs/general.php:16 134 msgid "Reset" 135 msgstr "Restablecer" 136 137 #: admin/tabs/general.php:24 138 msgid "General Settings" 139 msgstr "Ajustes Generales" 140 141 #: admin/tabs/general.php:25 142 msgid "Control the default values and labels used in the mortgage calculator." 143 msgstr "" 144 "Controla los valores predeterminados y las etiquetas utilizadas en la " 145 "calculadora hipotecaria." 146 147 #: admin/tabs/general.php:27 140 #: admin/tabs/general.php:11 148 141 msgid "Default Loan Amount" 149 142 msgstr "Monto de préstamo predeterminado" 150 143 151 #: admin/tabs/general.php: 28144 #: admin/tabs/general.php:12 152 145 msgid "The starting loan amount shown in the calculator." 153 146 msgstr "El monto inicial del préstamo que se muestra en la calculadora." 154 147 155 #: admin/tabs/general.php: 30148 #: admin/tabs/general.php:13 156 149 msgid "Default Interest Rate (%)" 157 150 msgstr "Tasa de interés predeterminada (%)" 158 151 159 #: admin/tabs/general.php: 31152 #: admin/tabs/general.php:14 160 153 msgid "The default yearly interest rate." 161 154 msgstr "La tasa de interés anual predeterminada." 162 155 163 #: admin/tabs/general.php: 33156 #: admin/tabs/general.php:15 164 157 msgid "Default Term (Years)" 165 158 msgstr "Plazo predeterminado (Años)" 166 159 167 #: admin/tabs/general.php: 34160 #: admin/tabs/general.php:16 168 161 msgid "The default loan term in years." 169 162 msgstr "El plazo predeterminado del préstamo en años." 170 163 171 #: admin/tabs/general.php: 36164 #: admin/tabs/general.php:17 172 165 msgid "Cleanup on Uninstall" 173 166 msgstr "Eliminar datos al desinstalar" 174 167 175 #: admin/tabs/general.php: 37168 #: admin/tabs/general.php:18 176 169 msgid "Delete all plugin data when uninstalling" 177 170 msgstr "Eliminar todos los datos del plugin al desinstalar" 178 171 179 #: admin/tabs/general.php: 38172 #: admin/tabs/general.php:19 180 173 msgid "" 181 174 "If enabled, all EHMC settings will be permanently removed when the plugin is " … … 185 178 "desinstalar el plugin." 186 179 187 #: admin/tabs/shortcode.php: 3180 #: admin/tabs/shortcode.php:4 188 181 msgid "" 189 182 "Use this shortcode to display the mortgage calculator anywhere on your site." … … 204 197 msgstr "Pega este shortcode en cualquier página, entrada o widget." 205 198 199 #: admin/tabs/shortcode.php:8 200 msgid "Copy shortcode to clipboard" 201 msgstr "Copiar shortcode al portapapeles" 202 206 203 #: admin/tabs/shortcode.php:9 207 204 msgid "Example Usage" … … 213 210 "No se requiere ningún atributo; la calculadora utiliza los ajustes guardados." 214 211 215 #: admin/tabs/styling.php: 8212 #: admin/tabs/styling.php:3 216 213 msgid "Styling Options" 217 214 msgstr "Opciones de Estilo" 218 215 219 #: admin/tabs/styling.php: 9216 #: admin/tabs/styling.php:4 220 217 msgid "Customize the appearance of the mortgage calculator on the frontend." 221 218 msgstr "" 222 219 "Personaliza la apariencia de la calculadora hipotecaria en la página pública." 223 220 224 #: admin/tabs/styling.php: 11221 #: admin/tabs/styling.php:5 225 222 msgid "Primary Color" 226 223 msgstr "Color principal" 227 224 228 #: admin/tabs/styling.php: 12225 #: admin/tabs/styling.php:6 229 226 msgid "Used for highlights and accents." 230 227 msgstr "Se utiliza para resaltar y acentuar." 231 228 232 #: admin/tabs/styling.php: 14229 #: admin/tabs/styling.php:7 233 230 msgid "Calculate Button Color" 234 231 msgstr "Color del botón Calcular" 235 232 236 #: admin/tabs/styling.php: 15233 #: admin/tabs/styling.php:8 237 234 msgid "Color of the Calculate button." 238 235 msgstr "Color para el botón Calcular." 239 236 240 #: admin/tabs/styling.php: 17237 #: admin/tabs/styling.php:9 241 238 msgid "Reset Button Color" 242 239 msgstr "Color del botón Restablecer" 243 240 244 #: admin/tabs/styling.php:1 8241 #: admin/tabs/styling.php:10 245 242 msgid "Color of the Reset button." 246 243 msgstr "Color para el botón Restablecer." 247 244 248 #: admin/tabs/styling.php: 20245 #: admin/tabs/styling.php:11 249 246 msgid "Table Header Color" 250 247 msgstr "Color del encabezado de la tabla" 251 248 252 #: admin/tabs/styling.php: 21249 #: admin/tabs/styling.php:12 253 250 msgid "Background color for the amortization table header." 254 251 msgstr "Color de fondo para el encabezado de la tabla de amortización." 255 252 256 #: admin/tabs/styling.php: 23253 #: admin/tabs/styling.php:13 257 254 msgid "Border Radius" 258 255 msgstr "Radio del borde" 259 256 260 #: admin/tabs/styling.php: 25257 #: admin/tabs/styling.php:15 261 258 msgid "None" 262 259 msgstr "Ninguno" 263 260 264 #: admin/tabs/styling.php: 26261 #: admin/tabs/styling.php:16 265 262 msgid "Small (4px)" 266 263 msgstr "Pequeño (4px)" 267 264 268 #: admin/tabs/styling.php: 27265 #: admin/tabs/styling.php:17 269 266 msgid "Medium (8px)" 270 267 msgstr "Mediano (8px)" 271 268 272 #: admin/tabs/styling.php: 28269 #: admin/tabs/styling.php:18 273 270 msgid "Large (12px)" 274 271 msgstr "Grande (12px)" 275 272 276 #: admin/tabs/styling.php: 30273 #: admin/tabs/styling.php:20 277 274 msgid "Controls the roundness of input fields, buttons, and cards." 278 275 msgstr "Controla el redondeo de los campos de entrada, botones y tarjetas." 279 276 280 #: includes/class-ehmc-admin.php:11 281 msgid "Mortgage" 282 msgstr "Hipoteca" 283 284 #: includes/class-ehmc-assets.php:40 templates/calculator.php:27 277 #: includes/class-ehmc-admin.php:14 278 msgid "Mortgage Calculator" 279 msgstr "Calculadora de hipoteca" 280 281 #: includes/class-ehmc-admin.php:33 282 msgid "Calculate" 283 msgstr "Calcular" 284 285 #: includes/class-ehmc-admin.php:34 286 msgid "Reset" 287 msgstr "Restablecer" 288 289 #: includes/class-ehmc-assets.php:40 templates/calculator.php:22 285 290 msgid "Principal" 286 291 msgstr "Principal" 287 292 288 #: includes/class-ehmc-assets.php:41 templates/calculator.php:2 8293 #: includes/class-ehmc-assets.php:41 templates/calculator.php:23 289 294 msgid "Interest" 290 295 msgstr "Interés" 291 296 292 #: includes/class-ehmc-assets.php:4 3297 #: includes/class-ehmc-assets.php:42 293 298 msgid "Monthly Payment" 294 299 msgstr "Pago Mensual" 295 300 296 #: includes/class-ehmc-assets.php:4 4301 #: includes/class-ehmc-assets.php:43 297 302 msgid "Total Interest" 298 303 msgstr "Interés Total" 299 304 300 #: includes/class-ehmc-assets.php:4 5305 #: includes/class-ehmc-assets.php:44 301 306 msgid "Total Paid" 302 307 msgstr "Total Pagado" … … 306 311 msgstr "Este bloque mostrará la calculadora en el sitio web." 307 312 313 #: templates/calculator.php:9 314 msgid "Please enter an amount between 10,000 and 20,000,000" 315 msgstr "Por favor, introduzca una cantidad entre 10.000 y 20.000.000" 316 308 317 #: templates/calculator.php:10 309 msgid "Please enter a loan amount, e.g. \"40,000\", \"50,000.23\"" 310 msgstr "Por favor, ingresa un monto de préstamo, ej. \"40.000\", \"50.000.23\"" 311 312 #: templates/calculator.php:12 318 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 319 msgstr "" 320 "Por favor, ingresa un número entre 1 y 25, ej. \"5\", \"5,5\", \"5,75\"" 321 322 #: templates/calculator.php:11 323 msgid "Please enter a number between 1 and 45: no decimals allowed" 324 msgstr "Por favor, ingresa un número entre 1 y 45: no se permiten decimales" 325 326 #: templates/calculator.php:13 313 327 msgid "Yearly Interest" 314 328 msgstr "Interés Anual" 315 329 316 #: templates/calculator.php:13 317 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 318 msgstr "" 319 "Por favor, ingresa un número entre 1 y 25, ej. \"5\", \"5,5\", \"5,75\"" 320 321 #: templates/calculator.php:15 330 #: templates/calculator.php:14 322 331 msgid "Number of years" 323 332 msgstr "Número de años" 324 333 325 #: templates/calculator.php:16 326 msgid "Please enter a number between 1 and 45: no decimals allowed" 327 msgstr "Por favor, ingresa un número entre 1 y 45: no se permiten decimales" 328 329 #: templates/calculator.php:22 334 #: templates/calculator.php:17 330 335 msgid "Payment Breakdown" 331 336 msgstr "Desglose del Pago" 332 337 333 #: templates/calculator.php: 23338 #: templates/calculator.php:18 334 339 msgid "Summary" 335 340 msgstr "Resumen" 336 341 337 #: templates/calculator.php:2 6342 #: templates/calculator.php:21 338 343 msgid "Payment" 339 344 msgstr "Pago" 340 345 341 #: templates/calculator.php:2 9346 #: templates/calculator.php:24 342 347 msgid "Balance" 343 348 msgstr "Saldo" 344 349 345 #: templates/calculator.php: 31350 #: templates/calculator.php:25 346 351 msgid "Amortization results pages" 347 352 msgstr "Páginas de resultados de amortización" 348 353 349 #: assets/js/modules/EHMortgageCalculator.js:2 26354 #: assets/js/modules/EHMortgageCalculator.js:236 350 355 msgid "Previous" 351 356 msgstr "Anterior" 352 357 353 #: assets/js/modules/EHMortgageCalculator.js:2 56358 #: assets/js/modules/EHMortgageCalculator.js:266 354 359 msgid "Next" 355 360 msgstr "Siguiente" … … 380 385 msgstr "préstamo" 381 386 387 #~ msgid "Mortgage" 388 #~ msgstr "Hipoteca" 389 382 390 #~ msgid "Loan amount:" 383 391 #~ msgstr "Monto del Préstamo:" -
eh-mortgage-calculator/tags/3.1.0/languages/eh-mortgage-calculator-es_MX.po
r3441255 r3441776 4 4 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/eh-mortgage-" 5 5 "calculator\n" 6 "POT-Creation-Date: 2026-01-1 6T20:00:18+00:00\n"7 "PO-Revision-Date: 2026-01-1 6 12:09-0800\n"6 "POT-Creation-Date: 2026-01-18T05:30:23+00:00\n" 7 "PO-Revision-Date: 2026-01-17 21:36-0800\n" 8 8 "Last-Translator: \n" 9 9 "Language-Team: \n" … … 35 35 msgstr "Edgar Hernandez" 36 36 37 #: admin/settings-page.php:2 includes/class-ehmc-admin.php:1 037 #: admin/settings-page.php:2 includes/class-ehmc-admin.php:13 38 38 msgid "Mortgage Calculator Settings" 39 39 msgstr "Ajustes de la calculadora hipotecaria" … … 51 51 msgstr "Estilo" 52 52 53 #: admin/settings-page.php:6 admin/tabs/shortcode.php: 253 #: admin/settings-page.php:6 admin/tabs/shortcode.php:3 54 54 msgid "Shortcode" 55 55 msgstr "Shortcode" … … 59 59 msgstr "Guardar cambios" 60 60 61 #: admin/tabs/display.php: 661 #: admin/tabs/display.php:3 62 62 msgid "Display Options" 63 63 msgstr "Opciones de Visualización" 64 64 65 #: admin/tabs/display.php: 765 #: admin/tabs/display.php:4 66 66 msgid "" 67 67 "Choose which elements of the calculator should be visible on the frontend." … … 70 70 "pública." 71 71 72 #: admin/tabs/display.php: 972 #: admin/tabs/display.php:5 73 73 msgid "Show Summary Box" 74 74 msgstr "Mostrar cuadro de resumen" 75 75 76 #: admin/tabs/display.php: 1076 #: admin/tabs/display.php:6 77 77 msgid "Enable summary section (monthly payment, total interest, total cost)" 78 78 msgstr "" 79 79 "Habilitar sección de resumen (pago mensual, interés total, costo total)" 80 80 81 #: admin/tabs/display.php: 1281 #: admin/tabs/display.php:7 82 82 msgid "Show Amortization Table" 83 83 msgstr "Mostrar tabla de amortización" 84 84 85 #: admin/tabs/display.php: 1385 #: admin/tabs/display.php:8 86 86 msgid "Display full amortization schedule" 87 87 msgstr "Mostrar calendario de amortización completo" 88 88 89 #: admin/tabs/display.php: 1589 #: admin/tabs/display.php:9 90 90 msgid "Show Chart" 91 91 msgstr "Mostrar gráfico" 92 92 93 #: admin/tabs/display.php:1 693 #: admin/tabs/display.php:10 94 94 msgid "Display a visual chart" 95 95 msgstr "Mostrar gráfico visual" 96 96 97 #: admin/tabs/display.php:1 797 #: admin/tabs/display.php:11 98 98 msgid "" 99 99 "A simple doughnut chart that visualizes the breakdown of principal and " … … 103 103 "(principal) y los intereses." 104 104 105 #: admin/tabs/general.php:7 105 #: admin/tabs/general.php:3 106 msgid "General Settings" 107 msgstr "Ajustes Generales" 108 109 #: admin/tabs/general.php:4 110 msgid "Control the default values and labels used in the mortgage calculator." 111 msgstr "" 112 "Controla los valores predeterminados y las etiquetas utilizadas en la " 113 "calculadora hipotecaria." 114 115 #: admin/tabs/general.php:5 106 116 msgid "Label" 107 117 msgstr "Etiqueta" 108 118 109 #: admin/tabs/general.php: 9119 #: admin/tabs/general.php:6 110 120 msgid "Calculate Button" 111 121 msgstr "Botón de calcular" 112 122 113 #: admin/tabs/general.php: 10123 #: admin/tabs/general.php:7 114 124 msgid "Reset Button" 115 125 msgstr "Botón de restablecer" 116 126 117 #: admin/tabs/general.php:12 templates/calculator.php:9 127 #: admin/tabs/general.php:8 includes/class-ehmc-admin.php:30 128 #: templates/calculator.php:12 118 129 msgid "Loan Amount" 119 130 msgstr "Monto del préstamo" 120 131 121 #: admin/tabs/general.php: 13132 #: admin/tabs/general.php:9 includes/class-ehmc-admin.php:31 122 133 msgid "Interest Rate" 123 134 msgstr "Tasa de interés" 124 135 125 #: admin/tabs/general.php:1 4136 #: admin/tabs/general.php:10 includes/class-ehmc-admin.php:32 126 137 msgid "Years" 127 138 msgstr "Años" 128 139 129 #: admin/tabs/general.php:15 130 msgid "Calculate" 131 msgstr "Calcular" 132 133 #: admin/tabs/general.php:16 134 msgid "Reset" 135 msgstr "Restablecer" 136 137 #: admin/tabs/general.php:24 138 msgid "General Settings" 139 msgstr "Ajustes Generales" 140 141 #: admin/tabs/general.php:25 142 msgid "Control the default values and labels used in the mortgage calculator." 143 msgstr "" 144 "Controla los valores predeterminados y las etiquetas utilizadas en la " 145 "calculadora hipotecaria." 146 147 #: admin/tabs/general.php:27 140 #: admin/tabs/general.php:11 148 141 msgid "Default Loan Amount" 149 142 msgstr "Monto de préstamo predeterminado" 150 143 151 #: admin/tabs/general.php: 28144 #: admin/tabs/general.php:12 152 145 msgid "The starting loan amount shown in the calculator." 153 146 msgstr "El monto inicial del préstamo que se muestra en la calculadora." 154 147 155 #: admin/tabs/general.php: 30148 #: admin/tabs/general.php:13 156 149 msgid "Default Interest Rate (%)" 157 150 msgstr "Tasa de interés predeterminada (%)" 158 151 159 #: admin/tabs/general.php: 31152 #: admin/tabs/general.php:14 160 153 msgid "The default yearly interest rate." 161 154 msgstr "La tasa de interés anual predeterminada." 162 155 163 #: admin/tabs/general.php: 33156 #: admin/tabs/general.php:15 164 157 msgid "Default Term (Years)" 165 158 msgstr "Plazo predeterminado (Años)" 166 159 167 #: admin/tabs/general.php: 34160 #: admin/tabs/general.php:16 168 161 msgid "The default loan term in years." 169 162 msgstr "El plazo predeterminado del préstamo en años." 170 163 171 #: admin/tabs/general.php: 36164 #: admin/tabs/general.php:17 172 165 msgid "Cleanup on Uninstall" 173 166 msgstr "Eliminar datos al desinstalar" 174 167 175 #: admin/tabs/general.php: 37168 #: admin/tabs/general.php:18 176 169 msgid "Delete all plugin data when uninstalling" 177 170 msgstr "Eliminar todos los datos del plugin al desinstalar" 178 171 179 #: admin/tabs/general.php: 38172 #: admin/tabs/general.php:19 180 173 msgid "" 181 174 "If enabled, all EHMC settings will be permanently removed when the plugin is " … … 185 178 "desinstalar el plugin." 186 179 187 #: admin/tabs/shortcode.php: 3180 #: admin/tabs/shortcode.php:4 188 181 msgid "" 189 182 "Use this shortcode to display the mortgage calculator anywhere on your site." … … 204 197 msgstr "Pega este shortcode en cualquier página, entrada o widget." 205 198 199 #: admin/tabs/shortcode.php:8 200 msgid "Copy shortcode to clipboard" 201 msgstr "Copiar shortcode al portapapeles" 202 206 203 #: admin/tabs/shortcode.php:9 207 204 msgid "Example Usage" … … 213 210 "No se requiere ningún atributo; la calculadora utiliza los ajustes guardados." 214 211 215 #: admin/tabs/styling.php: 8212 #: admin/tabs/styling.php:3 216 213 msgid "Styling Options" 217 214 msgstr "Opciones de Estilo" 218 215 219 #: admin/tabs/styling.php: 9216 #: admin/tabs/styling.php:4 220 217 msgid "Customize the appearance of the mortgage calculator on the frontend." 221 218 msgstr "" 222 219 "Personaliza la apariencia de la calculadora hipotecaria en la página pública." 223 220 224 #: admin/tabs/styling.php: 11221 #: admin/tabs/styling.php:5 225 222 msgid "Primary Color" 226 223 msgstr "Color principal" 227 224 228 #: admin/tabs/styling.php: 12225 #: admin/tabs/styling.php:6 229 226 msgid "Used for highlights and accents." 230 227 msgstr "Se utiliza para resaltar y acentuar." 231 228 232 #: admin/tabs/styling.php: 14229 #: admin/tabs/styling.php:7 233 230 msgid "Calculate Button Color" 234 231 msgstr "Color del botón Calcular" 235 232 236 #: admin/tabs/styling.php: 15233 #: admin/tabs/styling.php:8 237 234 msgid "Color of the Calculate button." 238 235 msgstr "Color para el botón Calcular." 239 236 240 #: admin/tabs/styling.php: 17237 #: admin/tabs/styling.php:9 241 238 msgid "Reset Button Color" 242 239 msgstr "Color del botón Restablecer" 243 240 244 #: admin/tabs/styling.php:1 8241 #: admin/tabs/styling.php:10 245 242 msgid "Color of the Reset button." 246 243 msgstr "Color para el botón Restablecer." 247 244 248 #: admin/tabs/styling.php: 20245 #: admin/tabs/styling.php:11 249 246 msgid "Table Header Color" 250 247 msgstr "Color del encabezado de la tabla" 251 248 252 #: admin/tabs/styling.php: 21249 #: admin/tabs/styling.php:12 253 250 msgid "Background color for the amortization table header." 254 251 msgstr "Color de fondo para el encabezado de la tabla de amortización." 255 252 256 #: admin/tabs/styling.php: 23253 #: admin/tabs/styling.php:13 257 254 msgid "Border Radius" 258 255 msgstr "Radio del borde" 259 256 260 #: admin/tabs/styling.php: 25257 #: admin/tabs/styling.php:15 261 258 msgid "None" 262 259 msgstr "Ninguno" 263 260 264 #: admin/tabs/styling.php: 26261 #: admin/tabs/styling.php:16 265 262 msgid "Small (4px)" 266 263 msgstr "Pequeño (4px)" 267 264 268 #: admin/tabs/styling.php: 27265 #: admin/tabs/styling.php:17 269 266 msgid "Medium (8px)" 270 267 msgstr "Mediano (8px)" 271 268 272 #: admin/tabs/styling.php: 28269 #: admin/tabs/styling.php:18 273 270 msgid "Large (12px)" 274 271 msgstr "Grande (12px)" 275 272 276 #: admin/tabs/styling.php: 30273 #: admin/tabs/styling.php:20 277 274 msgid "Controls the roundness of input fields, buttons, and cards." 278 275 msgstr "Controla el redondeo de los campos de entrada, botones y tarjetas." 279 276 280 #: includes/class-ehmc-admin.php:11 281 msgid "Mortgage" 282 msgstr "Hipoteca" 283 284 #: includes/class-ehmc-assets.php:40 templates/calculator.php:27 277 #: includes/class-ehmc-admin.php:14 278 msgid "Mortgage Calculator" 279 msgstr "Calculadora de hipoteca" 280 281 #: includes/class-ehmc-admin.php:33 282 msgid "Calculate" 283 msgstr "Calcular" 284 285 #: includes/class-ehmc-admin.php:34 286 msgid "Reset" 287 msgstr "Restablecer" 288 289 #: includes/class-ehmc-assets.php:40 templates/calculator.php:22 285 290 msgid "Principal" 286 291 msgstr "Principal" 287 292 288 #: includes/class-ehmc-assets.php:41 templates/calculator.php:2 8293 #: includes/class-ehmc-assets.php:41 templates/calculator.php:23 289 294 msgid "Interest" 290 295 msgstr "Interés" 291 296 292 #: includes/class-ehmc-assets.php:4 3297 #: includes/class-ehmc-assets.php:42 293 298 msgid "Monthly Payment" 294 299 msgstr "Pago Mensual" 295 300 296 #: includes/class-ehmc-assets.php:4 4301 #: includes/class-ehmc-assets.php:43 297 302 msgid "Total Interest" 298 303 msgstr "Interés Total" 299 304 300 #: includes/class-ehmc-assets.php:4 5305 #: includes/class-ehmc-assets.php:44 301 306 msgid "Total Paid" 302 307 msgstr "Total Pagado" … … 306 311 msgstr "Este bloque mostrará la calculadora en el sitio web." 307 312 313 #: templates/calculator.php:9 314 msgid "Please enter an amount between 10,000 and 20,000,000" 315 msgstr "Por favor, introduzca una cantidad entre 10.000 y 20.000.000" 316 308 317 #: templates/calculator.php:10 309 msgid "Please enter a loan amount, e.g. \"40,000\", \"50,000.23\"" 310 msgstr "Por favor, ingresa un monto de préstamo, ej. \"40.000\", \"50.000.23\"" 311 312 #: templates/calculator.php:12 318 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 319 msgstr "" 320 "Por favor, ingresa un número entre 1 y 25, ej. \"5\", \"5,5\", \"5,75\"" 321 322 #: templates/calculator.php:11 323 msgid "Please enter a number between 1 and 45: no decimals allowed" 324 msgstr "Por favor, ingresa un número entre 1 y 45: no se permiten decimales" 325 326 #: templates/calculator.php:13 313 327 msgid "Yearly Interest" 314 328 msgstr "Interés Anual" 315 329 316 #: templates/calculator.php:13 317 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 318 msgstr "" 319 "Por favor, ingresa un número entre 1 y 25, ej. \"5\", \"5,5\", \"5,75\"" 320 321 #: templates/calculator.php:15 330 #: templates/calculator.php:14 322 331 msgid "Number of years" 323 332 msgstr "Número de años" 324 333 325 #: templates/calculator.php:16 326 msgid "Please enter a number between 1 and 45: no decimals allowed" 327 msgstr "Por favor, ingresa un número entre 1 y 45: no se permiten decimales" 328 329 #: templates/calculator.php:22 334 #: templates/calculator.php:17 330 335 msgid "Payment Breakdown" 331 336 msgstr "Desglose del Pago" 332 337 333 #: templates/calculator.php: 23338 #: templates/calculator.php:18 334 339 msgid "Summary" 335 340 msgstr "Resumen" 336 341 337 #: templates/calculator.php:2 6342 #: templates/calculator.php:21 338 343 msgid "Payment" 339 344 msgstr "Pago" 340 345 341 #: templates/calculator.php:2 9346 #: templates/calculator.php:24 342 347 msgid "Balance" 343 348 msgstr "Saldo" 344 349 345 #: templates/calculator.php: 31350 #: templates/calculator.php:25 346 351 msgid "Amortization results pages" 347 352 msgstr "Páginas de resultados de amortización" 348 353 349 #: assets/js/modules/EHMortgageCalculator.js:2 26354 #: assets/js/modules/EHMortgageCalculator.js:236 350 355 msgid "Previous" 351 356 msgstr "Anterior" 352 357 353 #: assets/js/modules/EHMortgageCalculator.js:2 56358 #: assets/js/modules/EHMortgageCalculator.js:266 354 359 msgid "Next" 355 360 msgstr "Siguiente" … … 380 385 msgstr "préstamo" 381 386 387 #~ msgid "Mortgage" 388 #~ msgstr "Hipoteca" 389 382 390 #~ msgid "Loan amount:" 383 391 #~ msgstr "Monto del Préstamo:" -
eh-mortgage-calculator/tags/3.1.0/languages/eh-mortgage-calculator.pot
r3441255 r3441776 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: EH Mortgage Calculator 3. 0.0\n"5 "Project-Id-Version: EH Mortgage Calculator 3.1.0\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/eh-mortgage-calculator\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-01-1 6T20:00:18+00:00\n"12 "POT-Creation-Date: 2026-01-18T05:30:23+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 31 31 32 32 #: admin/settings-page.php:2 33 #: includes/class-ehmc-admin.php:1 033 #: includes/class-ehmc-admin.php:13 34 34 msgid "Mortgage Calculator Settings" 35 35 msgstr "" … … 48 48 49 49 #: admin/settings-page.php:6 50 #: admin/tabs/shortcode.php: 250 #: admin/tabs/shortcode.php:3 51 51 msgid "Shortcode" 52 52 msgstr "" … … 56 56 msgstr "" 57 57 58 #: admin/tabs/display.php:3 59 msgid "Display Options" 60 msgstr "" 61 62 #: admin/tabs/display.php:4 63 msgid "Choose which elements of the calculator should be visible on the frontend." 64 msgstr "" 65 66 #: admin/tabs/display.php:5 67 msgid "Show Summary Box" 68 msgstr "" 69 58 70 #: admin/tabs/display.php:6 59 msgid " Display Options"71 msgid "Enable summary section (monthly payment, total interest, total cost)" 60 72 msgstr "" 61 73 62 74 #: admin/tabs/display.php:7 63 msgid "Choose which elements of the calculator should be visible on the frontend." 75 msgid "Show Amortization Table" 76 msgstr "" 77 78 #: admin/tabs/display.php:8 79 msgid "Display full amortization schedule" 64 80 msgstr "" 65 81 66 82 #: admin/tabs/display.php:9 67 msgid "Show Summary Box"83 msgid "Show Chart" 68 84 msgstr "" 69 85 70 86 #: admin/tabs/display.php:10 71 msgid "Enable summary section (monthly payment, total interest, total cost)"72 msgstr ""73 74 #: admin/tabs/display.php:1275 msgid "Show Amortization Table"76 msgstr ""77 78 #: admin/tabs/display.php:1379 msgid "Display full amortization schedule"80 msgstr ""81 82 #: admin/tabs/display.php:1583 msgid "Show Chart"84 msgstr ""85 86 #: admin/tabs/display.php:1687 87 msgid "Display a visual chart" 88 88 msgstr "" 89 89 90 #: admin/tabs/display.php:1 790 #: admin/tabs/display.php:11 91 91 msgid "A simple doughnut chart that visualizes the breakdown of principal and interest." 92 92 msgstr "" 93 93 94 #: admin/tabs/general.php:3 95 msgid "General Settings" 96 msgstr "" 97 98 #: admin/tabs/general.php:4 99 msgid "Control the default values and labels used in the mortgage calculator." 100 msgstr "" 101 102 #: admin/tabs/general.php:5 103 msgid "Label" 104 msgstr "" 105 106 #: admin/tabs/general.php:6 107 msgid "Calculate Button" 108 msgstr "" 109 94 110 #: admin/tabs/general.php:7 95 msgid "Label" 111 msgid "Reset Button" 112 msgstr "" 113 114 #: admin/tabs/general.php:8 115 #: includes/class-ehmc-admin.php:30 116 #: templates/calculator.php:12 117 msgid "Loan Amount" 96 118 msgstr "" 97 119 98 120 #: admin/tabs/general.php:9 99 msgid "Calculate Button" 121 #: includes/class-ehmc-admin.php:31 122 msgid "Interest Rate" 100 123 msgstr "" 101 124 102 125 #: admin/tabs/general.php:10 103 msgid "Reset Button" 126 #: includes/class-ehmc-admin.php:32 127 msgid "Years" 128 msgstr "" 129 130 #: admin/tabs/general.php:11 131 msgid "Default Loan Amount" 104 132 msgstr "" 105 133 106 134 #: admin/tabs/general.php:12 107 #: templates/calculator.php:9 108 msgid "Loan Amount" 135 msgid "The starting loan amount shown in the calculator." 109 136 msgstr "" 110 137 111 138 #: admin/tabs/general.php:13 112 msgid " Interest Rate"139 msgid "Default Interest Rate (%)" 113 140 msgstr "" 114 141 115 142 #: admin/tabs/general.php:14 116 msgid " Years"143 msgid "The default yearly interest rate." 117 144 msgstr "" 118 145 119 146 #: admin/tabs/general.php:15 120 msgid " Calculate"147 msgid "Default Term (Years)" 121 148 msgstr "" 122 149 123 150 #: admin/tabs/general.php:16 124 msgid "Reset"125 msgstr ""126 127 #: admin/tabs/general.php:24128 msgid "General Settings"129 msgstr ""130 131 #: admin/tabs/general.php:25132 msgid "Control the default values and labels used in the mortgage calculator."133 msgstr ""134 135 #: admin/tabs/general.php:27136 msgid "Default Loan Amount"137 msgstr ""138 139 #: admin/tabs/general.php:28140 msgid "The starting loan amount shown in the calculator."141 msgstr ""142 143 #: admin/tabs/general.php:30144 msgid "Default Interest Rate (%)"145 msgstr ""146 147 #: admin/tabs/general.php:31148 msgid "The default yearly interest rate."149 msgstr ""150 151 #: admin/tabs/general.php:33152 msgid "Default Term (Years)"153 msgstr ""154 155 #: admin/tabs/general.php:34156 151 msgid "The default loan term in years." 157 152 msgstr "" 158 153 159 #: admin/tabs/general.php: 36154 #: admin/tabs/general.php:17 160 155 msgid "Cleanup on Uninstall" 161 156 msgstr "" 162 157 163 #: admin/tabs/general.php: 37158 #: admin/tabs/general.php:18 164 159 msgid "Delete all plugin data when uninstalling" 165 160 msgstr "" 166 161 167 #: admin/tabs/general.php: 38162 #: admin/tabs/general.php:19 168 163 msgid "If enabled, all EHMC settings will be permanently removed when the plugin is deleted." 169 164 msgstr "" 170 165 171 #: admin/tabs/shortcode.php: 3166 #: admin/tabs/shortcode.php:4 172 167 msgid "Use this shortcode to display the mortgage calculator anywhere on your site." 173 168 msgstr "" … … 185 180 msgstr "" 186 181 182 #: admin/tabs/shortcode.php:8 183 msgid "Copy shortcode to clipboard" 184 msgstr "" 185 187 186 #: admin/tabs/shortcode.php:9 188 187 msgid "Example Usage" … … 193 192 msgstr "" 194 193 194 #: admin/tabs/styling.php:3 195 msgid "Styling Options" 196 msgstr "" 197 198 #: admin/tabs/styling.php:4 199 msgid "Customize the appearance of the mortgage calculator on the frontend." 200 msgstr "" 201 202 #: admin/tabs/styling.php:5 203 msgid "Primary Color" 204 msgstr "" 205 206 #: admin/tabs/styling.php:6 207 msgid "Used for highlights and accents." 208 msgstr "" 209 210 #: admin/tabs/styling.php:7 211 msgid "Calculate Button Color" 212 msgstr "" 213 195 214 #: admin/tabs/styling.php:8 196 msgid " Styling Options"215 msgid "Color of the Calculate button." 197 216 msgstr "" 198 217 199 218 #: admin/tabs/styling.php:9 200 msgid "Customize the appearance of the mortgage calculator on the frontend." 219 msgid "Reset Button Color" 220 msgstr "" 221 222 #: admin/tabs/styling.php:10 223 msgid "Color of the Reset button." 201 224 msgstr "" 202 225 203 226 #: admin/tabs/styling.php:11 204 msgid " PrimaryColor"227 msgid "Table Header Color" 205 228 msgstr "" 206 229 207 230 #: admin/tabs/styling.php:12 208 msgid " Used for highlights and accents."209 msgstr "" 210 211 #: admin/tabs/styling.php:1 4212 msgid " Calculate Button Color"231 msgid "Background color for the amortization table header." 232 msgstr "" 233 234 #: admin/tabs/styling.php:13 235 msgid "Border Radius" 213 236 msgstr "" 214 237 215 238 #: admin/tabs/styling.php:15 216 msgid "Color of the Calculate button." 239 msgid "None" 240 msgstr "" 241 242 #: admin/tabs/styling.php:16 243 msgid "Small (4px)" 217 244 msgstr "" 218 245 219 246 #: admin/tabs/styling.php:17 220 msgid " Reset Button Color"247 msgid "Medium (8px)" 221 248 msgstr "" 222 249 223 250 #: admin/tabs/styling.php:18 224 msgid " Color of the Reset button."251 msgid "Large (12px)" 225 252 msgstr "" 226 253 227 254 #: admin/tabs/styling.php:20 228 msgid "Table Header Color"229 msgstr ""230 231 #: admin/tabs/styling.php:21232 msgid "Background color for the amortization table header."233 msgstr ""234 235 #: admin/tabs/styling.php:23236 msgid "Border Radius"237 msgstr ""238 239 #: admin/tabs/styling.php:25240 msgid "None"241 msgstr ""242 243 #: admin/tabs/styling.php:26244 msgid "Small (4px)"245 msgstr ""246 247 #: admin/tabs/styling.php:27248 msgid "Medium (8px)"249 msgstr ""250 251 #: admin/tabs/styling.php:28252 msgid "Large (12px)"253 msgstr ""254 255 #: admin/tabs/styling.php:30256 255 msgid "Controls the roundness of input fields, buttons, and cards." 257 256 msgstr "" 258 257 259 #: includes/class-ehmc-admin.php:11 260 msgid "Mortgage" 258 #: includes/class-ehmc-admin.php:14 259 msgid "Mortgage Calculator" 260 msgstr "" 261 262 #: includes/class-ehmc-admin.php:33 263 msgid "Calculate" 264 msgstr "" 265 266 #: includes/class-ehmc-admin.php:34 267 msgid "Reset" 261 268 msgstr "" 262 269 263 270 #: includes/class-ehmc-assets.php:40 264 #: templates/calculator.php:2 7271 #: templates/calculator.php:22 265 272 msgid "Principal" 266 273 msgstr "" 267 274 268 275 #: includes/class-ehmc-assets.php:41 269 #: templates/calculator.php:2 8276 #: templates/calculator.php:23 270 277 msgid "Interest" 271 278 msgstr "" 272 279 280 #: includes/class-ehmc-assets.php:42 281 msgid "Monthly Payment" 282 msgstr "" 283 273 284 #: includes/class-ehmc-assets.php:43 274 msgid " Monthly Payment"285 msgid "Total Interest" 275 286 msgstr "" 276 287 277 288 #: includes/class-ehmc-assets.php:44 278 msgid "Total Interest"279 msgstr ""280 281 #: includes/class-ehmc-assets.php:45282 289 msgid "Total Paid" 283 290 msgstr "" … … 287 294 msgstr "" 288 295 296 #: templates/calculator.php:9 297 msgid "Please enter an amount between 10,000 and 20,000,000" 298 msgstr "" 299 289 300 #: templates/calculator.php:10 290 msgid "Please enter a loan amount, e.g. \"40,000\", \"50,000.23\"" 291 msgstr "" 292 293 #: templates/calculator.php:12 301 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 302 msgstr "" 303 304 #: templates/calculator.php:11 305 msgid "Please enter a number between 1 and 45: no decimals allowed" 306 msgstr "" 307 308 #: templates/calculator.php:13 294 309 msgid "Yearly Interest" 295 310 msgstr "" 296 311 297 #: templates/calculator.php:13 298 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 299 msgstr "" 300 301 #: templates/calculator.php:15 312 #: templates/calculator.php:14 302 313 msgid "Number of years" 303 314 msgstr "" 304 315 305 #: templates/calculator.php:16 306 msgid "Please enter a number between 1 and 45: no decimals allowed" 307 msgstr "" 308 309 #: templates/calculator.php:22 316 #: templates/calculator.php:17 310 317 msgid "Payment Breakdown" 311 318 msgstr "" 312 319 313 #: templates/calculator.php: 23320 #: templates/calculator.php:18 314 321 msgid "Summary" 315 322 msgstr "" 316 323 317 #: templates/calculator.php:2 6324 #: templates/calculator.php:21 318 325 msgid "Payment" 319 326 msgstr "" 320 327 321 #: templates/calculator.php:2 9328 #: templates/calculator.php:24 322 329 msgid "Balance" 323 330 msgstr "" 324 331 325 #: templates/calculator.php: 31332 #: templates/calculator.php:25 326 333 msgid "Amortization results pages" 327 334 msgstr "" 328 335 329 #: assets/js/modules/EHMortgageCalculator.js:2 26336 #: assets/js/modules/EHMortgageCalculator.js:236 330 337 msgid "Previous" 331 338 msgstr "" 332 339 333 #: assets/js/modules/EHMortgageCalculator.js:2 56340 #: assets/js/modules/EHMortgageCalculator.js:266 334 341 msgid "Next" 335 342 msgstr "" -
eh-mortgage-calculator/tags/3.1.0/templates/calculator.php
r3441255 r3441776 7 7 8 8 // Form 9 $loan_amount_placeholder = esc_attr__( 'Loan Amount', 'eh-mortgage-calculator' ); 10 $loan_amount_error = esc_html__( 'Please enter a loan amount, e.g. "40,000", "50,000.23"', 'eh-mortgage-calculator' ); 11 12 $interest_placeholder = esc_attr__( 'Yearly Interest', 'eh-mortgage-calculator' ); 13 $interest_error = esc_html__( 'Please enter a number between 1 and 25, e.g. "5", "5.5", "5.75"', 'eh-mortgage-calculator' ); 14 15 $term_placeholder = esc_attr__( 'Number of years', 'eh-mortgage-calculator' ); 16 $term_error = esc_html__( 'Please enter a number between 1 and 45: no decimals allowed', 'eh-mortgage-calculator' ); 17 18 $calculate_aria_label = esc_attr( $calculate ); 19 $reset_aria_label = esc_attr( $reset ); 9 $loan_amount_error = __( 'Please enter an amount between 10,000 and 20,000,000', 'eh-mortgage-calculator' ); 10 $interest_error = __( 'Please enter a number between 1 and 25, e.g. "5", "5.5", "5.75"', 'eh-mortgage-calculator' ); 11 $term_error = __( 'Please enter a number between 1 and 45: no decimals allowed', 'eh-mortgage-calculator' ); 12 $loan_amount_placeholder = __( 'Loan Amount', 'eh-mortgage-calculator' ); 13 $interest_placeholder = __( 'Yearly Interest', 'eh-mortgage-calculator' ); 14 $term_placeholder = __( 'Number of years', 'eh-mortgage-calculator' ); 20 15 21 16 // Chart Box 22 $chart_title = esc_attr__( 'Payment Breakdown', 'eh-mortgage-calculator' );23 $summary_title = esc_attr__( 'Summary', 'eh-mortgage-calculator' );17 $chart_title = __( 'Payment Breakdown', 'eh-mortgage-calculator' ); 18 $summary_title = __( 'Summary', 'eh-mortgage-calculator' ); 24 19 25 20 // Table 26 $payment_label = esc_html__( 'Payment', 'eh-mortgage-calculator' ); 27 $principal_label = esc_html__( 'Principal', 'eh-mortgage-calculator' ); 28 $interest_label = esc_html__( 'Interest', 'eh-mortgage-calculator' ); 29 $balance_label = esc_html__( 'Balance', 'eh-mortgage-calculator' ); 21 $payment_label = __( 'Payment', 'eh-mortgage-calculator' ); 22 $principal_label = __( 'Principal', 'eh-mortgage-calculator' ); 23 $interest_label = __( 'Interest', 'eh-mortgage-calculator' ); 24 $balance_label = __( 'Balance', 'eh-mortgage-calculator' ); 25 $results_aria_label = __( 'Amortization results pages', 'eh-mortgage-calculator' ); 30 26 31 $results_aria_label = esc_attr__( 'Amortization results pages', 'eh-mortgage-calculator' );32 33 ####################################34 27 // Load saved settings 35 $default_amount = get_option('ehmc_default_amount', '300000');36 $default_interest = get_option('ehmc_default_interest', '6.5');37 $default_years = get_option('ehmc_default_years', '30');28 $default_amount = get_option('ehmc_default_amount', '300000'); 29 $default_interest = get_option('ehmc_default_interest', '6.5'); 30 $default_years = get_option('ehmc_default_years', '30'); 38 31 39 32 $label_amount = get_option('ehmc_label_amount', 'Loan Amount'); … … 43 36 $label_button_reset = get_option('ehmc_label_button_reset', 'Reset'); 44 37 45 $show_summary = get_option('ehmc_show_summary', '1');46 $show_table = get_option('ehmc_show_table', '1');47 $show_chart = get_option('ehmc_show_chart', '0');38 $show_summary = get_option('ehmc_show_summary', '1'); 39 $show_table = get_option('ehmc_show_table', '1'); 40 $show_chart = get_option('ehmc_show_chart', '0'); 48 41 49 42 $primary_color = get_option('ehmc_primary_color', '#2271b1'); … … 52 45 $table_header_color = get_option('ehmc_table_header_color', '#f1f1f1'); 53 46 $border_radius = get_option('ehmc_border_radius', 'medium'); 54 55 47 ?> 56 48 … … 66 58 <div class="mb-3" id="principal-group-<?= esc_attr( $instance ); ?>"> 67 59 <label class="form-label" for="principal-<?= esc_attr( $instance ); ?>"><?= esc_html( $label_amount ); ?></label> 68 <input type="number" class="form-control" id="principal-<?= esc_attr( $instance ); ?>"69 min="10000" max=" 1000000" step="1000" value="<?= esc_attr( $default_amount ); ?>"70 placeholder="<?= $loan_amount_placeholder?>" autofocus />71 <p class="invalid-feedback" id="principal-error-<?= esc_attr( $instance ); ?>"><?= $loan_amount_error?></p>60 <input name="principal" type="number" class="form-control" id="principal-<?= esc_attr( $instance ); ?>" 61 min="10000" max="20000000" step="1000" value="<?= esc_attr( $default_amount ); ?>" 62 placeholder="<?= esc_attr( $loan_amount_placeholder ) ?>" autofocus /> 63 <p class="invalid-feedback" id="principal-error-<?= esc_attr( $instance ); ?>"><?= esc_html( $loan_amount_error ) ?></p> 72 64 </div> 65 73 66 <div class="mb-3" id="interest-group-<?= esc_attr( $instance ); ?>"> 74 67 <label class="form-label" for="interest-<?= esc_attr( $instance ); ?>"><?= esc_html( $label_interest ); ?></label> 75 <input type="number" class="form-control" id="interest-<?= esc_attr( $instance ); ?>"76 min="1" max="25" value="<?= esc_attr( $default_interest ); ?>"77 placeholder="<?= $interest_placeholder?>" />78 <p class="invalid-feedback" id="interest-error-<?= esc_attr( $instance ); ?>"><?= $interest_error?></p>68 <input name="interest" type="number" class="form-control" id="interest-<?= esc_attr( $instance ); ?>" 69 min="1" max="25" step="0.01" value="<?= esc_attr( $default_interest ); ?>" 70 placeholder="<?= esc_attr( $interest_placeholder ) ?>" /> 71 <p class="invalid-feedback" id="interest-error-<?= esc_attr( $instance ); ?>"><?= esc_html( $interest_error ) ?></p> 79 72 </div> 73 80 74 <div class="mb-3" id="term-group-<?= esc_attr( $instance ); ?>"> 81 75 <label class="form-label" for="term-<?= esc_attr( $instance ); ?>"><?= esc_html( $label_years ); ?></label> 82 <input type="number" class="form-control" id="term-<?= esc_attr( $instance ); ?>"83 min="1" max="45" value="<?= esc_attr( $default_years ); ?>"84 placeholder="<?= $term_placeholder?>" />85 <p class="invalid-feedback" id="term-error-<?= esc_attr( $instance ); ?>"><?= $term_error?></p>76 <input name="term" type="number" class="form-control" id="term-<?= esc_attr( $instance ); ?>" 77 min="1" max="45" step="5" value="<?= esc_attr( $default_years ); ?>" 78 placeholder="<?= esc_attr( $term_placeholder ) ?>" /> 79 <p class="invalid-feedback" id="term-error-<?= esc_attr( $instance ); ?>"><?= esc_html( $term_error ) ?></p> 86 80 </div> 81 87 82 <div class="mb-3 text-center"> 88 <button type="submit" class="btn btn-primary" aria-label="<?= $calculate_aria_label?>" id="ehmc-submit-<?= esc_attr( $instance ); ?>">83 <button type="submit" class="btn btn-primary" aria-label="<?= esc_attr( $label_button_calculate ) ?>" id="ehmc-submit-<?= esc_attr( $instance ); ?>"> 89 84 <?= esc_html( $label_button_calculate ); ?> 90 85 </button> 91 <button type="reset" class="btn btn-secondary" aria-label="<?= $reset_aria_label?>" id="ehmc-reset-<?= esc_attr( $instance ); ?>">86 <button type="reset" class="btn btn-secondary" aria-label="<?= esc_attr( $label_button_reset ) ?>" id="ehmc-reset-<?= esc_attr( $instance ); ?>"> 92 87 <?= esc_html( $label_button_reset ); ?> 93 88 </button> … … 100 95 <div class="ehmc-summary-box card h-100" id="ehmc-summary-<?= esc_attr($instance); ?>" hidden> 101 96 <div class="card-body"> 102 <h5 class="card-title"><?= $summary_title?></h5>103 <p class="ehmc-summary-payment mb-1" ></p>104 <p class="ehmc-summary-total-interest mb-1" ></p>105 <p class="ehmc-summary-total-paid mb-0" ></p>97 <h5 class="card-title"><?= esc_html( $summary_title ) ?></h5> 98 <p class="ehmc-summary-payment mb-1" aria-live="polite"></p> 99 <p class="ehmc-summary-total-interest mb-1" aria-live="polite"></p> 100 <p class="ehmc-summary-total-paid mb-0" aria-live="polite"></p> 106 101 </div> 107 102 </div> … … 113 108 <div class="ehmc-chart-card card h-100" id="ehmc-chart-card-<?= esc_attr($instance); ?>" hidden> 114 109 <div class="card-body"> 115 <h5 class="card-title text-center"><?= $chart_title?></h5>110 <h5 class="card-title text-center"><?= esc_html( $chart_title ) ?></h5> 116 111 <div class="chart-wrapper"> 117 112 <canvas id="ehmc-chart-<?= esc_attr($instance); ?>"></canvas> … … 123 118 <?php endif; ?> 124 119 <?php if ( $show_table === '1' ) : ?> 125 <! <!-- Table area -->120 <!-- Table area --> 126 121 <table class="table table-striped ehmc-table" id="table-<?= esc_attr( $instance ); ?>"> 127 122 <thead> 128 123 <tr> 129 124 <th class="text-right">#</th> 130 <th class="text-right"><?= $payment_label?></th>131 <th class="text-right"><?= $principal_label?></th>132 <th class="text-right"><?= $interest_label?></th>133 <th class="text-right"><?= $balance_label?></th>125 <th class="text-right"><?= esc_html( $payment_label ) ?></th> 126 <th class="text-right"><?= esc_html( $principal_label ) ?></th> 127 <th class="text-right"><?= esc_html( $interest_label ) ?></th> 128 <th class="text-right"><?= esc_html( $balance_label ) ?></th> 134 129 </tr> 135 130 </thead> … … 137 132 <tr> 138 133 <td colspan="5"> 139 <nav aria-label="<?= $results_aria_label?>">134 <nav aria-label="<?= esc_attr( $results_aria_label ) ?>"> 140 135 <ul class="ehmc-pagination pagination justify-content-center flex-wrap" id="pagination-<?= esc_attr( $instance ); ?>"></ul> 141 136 </nav> … … 143 138 </tr> 144 139 </tfoot> 145 <tbody id="amortization-<?= esc_attr( $instance ); ?>" ></tbody>140 <tbody id="amortization-<?= esc_attr( $instance ); ?>" aria-live="polite"></tbody> 146 141 </table> 147 142 <?php endif; ?> -
eh-mortgage-calculator/tags/3.1.0/uninstall.php
r3441255 r3441776 8 8 } 9 9 10 // Only delete data if the user opted in 10 11 if ( get_option('ehmc_delete_data_on_uninstall') !== '1' ) { 11 12 return; … … 29 30 'ehmc_show_table', 30 31 'ehmc_show_chart', 32 // Delete the uninstall flag itself 33 'ehmc_delete_data_on_uninstall' 31 34 ]; 32 35 … … 35 38 delete_option( $setting ); 36 39 } 40 41 // Optional: multisite cleanup 42 if ( is_multisite() ) { 43 foreach ( $settings as $setting ) { 44 delete_site_option( $setting ); 45 } 46 } -
eh-mortgage-calculator/trunk/admin/admin-styles.css
r3441254 r3441776 32 32 display: block; 33 33 } 34 35 .fw-bold { 36 font-weight: 600; 37 } -
eh-mortgage-calculator/trunk/admin/tabs/display.php
r3441254 r3441776 1 1 <?php 2 $show_summary = get_option('ehmc_show_summary', '1'); 3 $show_table = get_option('ehmc_show_table', '1'); 4 $show_chart = get_option('ehmc_show_chart', '0'); 2 // Translations 3 $title = __( 'Display Options', 'eh-mortgage-calculator' ); 4 $description = __( 'Choose which elements of the calculator should be visible on the frontend.', 'eh-mortgage-calculator' ); 5 $summary_scope = __( 'Show Summary Box', 'eh-mortgage-calculator' ); 6 $summary_label = __( 'Enable summary section (monthly payment, total interest, total cost)', 'eh-mortgage-calculator' ); 7 $amortization_scope = __( 'Show Amortization Table', 'eh-mortgage-calculator' ); 8 $amortization_label = __( 'Display full amortization schedule', 'eh-mortgage-calculator' ); 9 $chart_scope = __( 'Show Chart', 'eh-mortgage-calculator' ); 10 $chart_label = __( 'Display a visual chart', 'eh-mortgage-calculator' ); 11 $chart_description = __( 'A simple doughnut chart that visualizes the breakdown of principal and interest.', 'eh-mortgage-calculator' ); 5 12 6 $title = esc_html__( 'Display Options', 'eh-mortgage-calculator' ); 7 $description = esc_html__( 'Choose which elements of the calculator should be visible on the frontend.', 'eh-mortgage-calculator' ); 8 9 $summary_scope = esc_html__( 'Show Summary Box', 'eh-mortgage-calculator' ); 10 $summary_label = esc_html__( 'Enable summary section (monthly payment, total interest, total cost)', 'eh-mortgage-calculator' ); 11 12 $amortization_scope = esc_html__( 'Show Amortization Table', 'eh-mortgage-calculator' ); 13 $amortization_label = esc_html__( 'Display full amortization schedule', 'eh-mortgage-calculator' ); 14 15 $chart_scope = esc_html__( 'Show Chart', 'eh-mortgage-calculator' ); 16 $chart_label = esc_html__( 'Display a visual chart', 'eh-mortgage-calculator' ); 17 $chart_description = esc_html__( 'A simple doughnut chart that visualizes the breakdown of principal and interest.', 'eh-mortgage-calculator' ); 13 // Fetch saved values (with safe defaults) 14 $show_summary = get_option('ehmc_show_summary'); 15 $show_table = get_option('ehmc_show_table'); 16 $show_chart = get_option('ehmc_show_chart'); 18 17 ?> 19 18 20 19 <div class="ehmc-card"> 21 <h2><?= $title?></h2>22 <p class="description"><?= $description?></p>20 <h2><?= esc_html( $title ) ?></h2> 21 <p class="description"><?= esc_html( $description ) ?></p> 23 22 <table class="form-table"> 24 23 <!-- Show Summary Box --> 25 24 <tr> 26 <th scope="row"><?= $summary_scope?></th>25 <th scope="row"><?= esc_html( $summary_scope ) ?></th> 27 26 <td> 28 <label >29 <input type="checkbox" name="ehmc_show_summary" value="1"27 <label for="ehmc_show_summary"> 28 <input type="checkbox" name="ehmc_show_summary" id="ehmc_show_summary" value="1" 30 29 <?php checked($show_summary, '1'); ?> /> 31 <?= $summary_label?>30 <?= esc_html( $summary_label ) ?> 32 31 </label> 33 32 </td> … … 35 34 <!-- Show Amortization Table --> 36 35 <tr> 37 <th scope="row"><?= $amortization_scope?></th>36 <th scope="row"><?= esc_html( $amortization_scope ) ?></th> 38 37 <td> 39 <label >40 <input type="checkbox" name="ehmc_show_table" value="1"38 <label for="ehmc_show_table"> 39 <input type="checkbox" name="ehmc_show_table" id="ehmc_show_table" value="1" 41 40 <?php checked($show_table, '1'); ?> /> 42 <?= $amortization_label?>41 <?= esc_html( $amortization_label ) ?> 43 42 </label> 44 43 </td> … … 46 45 <!-- Show Chart --> 47 46 <tr> 48 <th scope="row"><?= $chart_scope?></th>47 <th scope="row"><?= esc_html( $chart_scope ) ?></th> 49 48 <td> 50 <label >51 <input type="checkbox" name="ehmc_show_chart" value="1"49 <label for="ehmc_show_chart" aria-describedby="summary-desc"> 50 <input type="checkbox" name="ehmc_show_chart" id="ehmc_show_chart" value="1" 52 51 <?php checked($show_chart, '1'); ?> /> 53 <?= $chart_label?>52 <?= esc_html( $chart_label ) ?> 54 53 </label> 55 <p class="description"><?= $chart_description?></p>54 <p id="summary-desc" class="description"><?= esc_html( $chart_description ) ?></p> 56 55 </td> 57 56 </tr> -
eh-mortgage-calculator/trunk/admin/tabs/general.php
r3441254 r3441776 1 1 <?php 2 // Translations 3 $title = __( 'General Settings', 'eh-mortgage-calculator' ); 4 $description = __( 'Control the default values and labels used in the mortgage calculator.', 'eh-mortgage-calculator' ); 5 $default_label = __( 'Label', 'eh-mortgage-calculator'); 6 $button_calculate_label = __( 'Calculate Button', 'eh-mortgage-calculator'); 7 $button_reset_label = __( 'Reset Button', 'eh-mortgage-calculator'); 8 $default_amount_label = __( 'Loan Amount', 'eh-mortgage-calculator' ); 9 $default_interest_label = __( 'Interest Rate', 'eh-mortgage-calculator' ); 10 $default_years_label = __( 'Years', 'eh-mortgage-calculator' ); 11 $amount_label = __( 'Default Loan Amount', 'eh-mortgage-calculator' ); 12 $amount_description = __( 'The starting loan amount shown in the calculator.', 'eh-mortgage-calculator' ); 13 $interest_label = __( 'Default Interest Rate (%)', 'eh-mortgage-calculator' ); 14 $interest_description = __( 'The default yearly interest rate.', 'eh-mortgage-calculator' ); 15 $term_label = __( 'Default Term (Years)', 'eh-mortgage-calculator' ); 16 $term_description = __( 'The default loan term in years.', 'eh-mortgage-calculator' ); 17 $uninstall_scope = __( 'Cleanup on Uninstall', 'eh-mortgage-calculator' ); 18 $uninstall_label = __( 'Delete all plugin data when uninstalling', 'eh-mortgage-calculator' ); 19 $uninstall_description = __( 'If enabled, all EHMC settings will be permanently removed when the plugin is deleted.', 'eh-mortgage-calculator' ); 20 2 21 // Fetch saved values (with safe defaults) 3 $default_amount = get_option('ehmc_default_amount', '300000'); 4 $default_interest = get_option('ehmc_default_interest', '6.5'); 5 $default_years = get_option('ehmc_default_years', '30'); 6 7 $default_label = esc_html__( 'Label', 'eh-mortgage-calculator'); 8 9 $button_calculate_label = esc_html__( 'Calculate Button', 'eh-mortgage-calculator'); 10 $button_reset_label = esc_html__( 'Reset Button', 'eh-mortgage-calculator'); 11 12 $default_amount_label = esc_html__( 'Loan Amount', 'eh-mortgage-calculator' ); 13 $default_interest_label = esc_html__( 'Interest Rate', 'eh-mortgage-calculator' ); 14 $default_years_label = esc_html__( 'Years', 'eh-mortgage-calculator' ); 15 $default_button_calculate = esc_html__( 'Calculate', 'eh-mortgage-calculator' ); 16 $default_button_reset = esc_html__( 'Reset', 'eh-mortgage-calculator' ); 17 18 $label_amount = get_option('ehmc_label_amount', $default_amount_label); 19 $label_interest = get_option('ehmc_label_interest', $default_interest_label); 20 $label_years = get_option('ehmc_label_years', $default_years_label); 21 $label_button_calculate = get_option('ehmc_label_button_calculate', $default_button_calculate); 22 $label_button_reset = get_option('ehmc_label_button_reset', $default_button_reset); 23 24 $title = esc_html__( 'General Settings', 'eh-mortgage-calculator' ); 25 $description = esc_html__( 'Control the default values and labels used in the mortgage calculator.', 'eh-mortgage-calculator' ); 26 27 $amount_label = esc_html__( 'Default Loan Amount', 'eh-mortgage-calculator' ); 28 $amount_description = esc_html__( 'The starting loan amount shown in the calculator.', 'eh-mortgage-calculator' ); 29 30 $interest_label = esc_html__( 'Default Interest Rate (%)', 'eh-mortgage-calculator' ); 31 $interest_description = esc_html__( 'The default yearly interest rate.', 'eh-mortgage-calculator' ); 32 33 $term_label = esc_html__( 'Default Term (Years)', 'eh-mortgage-calculator' ); 34 $term_description = esc_html__( 'The default loan term in years.', 'eh-mortgage-calculator' ); 35 36 $uninstall_scope = esc_html__( 'Cleanup on Uninstall', 'eh-mortgage-calculator' ); 37 $uninstall_label = esc_html__( 'Delete all plugin data when uninstalling', 'eh-mortgage-calculator' ); 38 $uninstall_description = esc_html__( 'If enabled, all EHMC settings will be permanently removed when the plugin is deleted.', 'eh-mortgage-calculator' ); 22 $default_amount = get_option('ehmc_default_amount'); 23 $default_interest = get_option('ehmc_default_interest'); 24 $default_years = get_option('ehmc_default_years'); 25 $label_amount = get_option('ehmc_label_amount'); 26 $label_interest = get_option('ehmc_label_interest'); 27 $label_years = get_option('ehmc_label_years'); 28 $label_button_calculate = get_option('ehmc_label_button_calculate'); 29 $label_button_reset = get_option('ehmc_label_button_reset'); 39 30 ?> 40 31 41 32 <div class="ehmc-card"> 42 <h2><?= $title?></h2>43 <p class="description"><?= $description?></p>33 <h2><?= esc_html( $title ) ?></h2> 34 <p class="description"><?= esc_html( $description ) ?></p> 44 35 45 36 <table class="form-table"> … … 47 38 <!-- Default Loan Amount --> 48 39 <tr> 49 <th scope="row"><label for="ehmc_default_amount"><?= $amount_label?></label></th>40 <th scope="row"><label for="ehmc_default_amount"><?= esc_html( $amount_label ) ?></label></th> 50 41 <td> 51 <input type="number" name="ehmc_default_amount" id="ehmc_default_amount"52 value="<?php echo esc_attr( $default_amount); ?>"42 <input type="number" min="10000" max="20000000" step="1000" name="ehmc_default_amount" id="ehmc_default_amount" 43 value="<?php echo esc_attr( $default_amount ); ?>" 53 44 class="regular-text" /> 54 <p class="description"><?= $amount_description?></p>45 <p class="description"><?= esc_html( $amount_description ) ?></p> 55 46 </td> 56 47 </tr> … … 58 49 <!-- Default Interest Rate --> 59 50 <tr> 60 <th scope="row"><label for="ehmc_default_interest"><?= $interest_label?></label></th>51 <th scope="row"><label for="ehmc_default_interest"><?= esc_html( $interest_label ) ?></label></th> 61 52 <td> 62 <input type="number" step="0.01" name="ehmc_default_interest" id="ehmc_default_interest"53 <input type="number" min="1" max="25" step="0.01" name="ehmc_default_interest" id="ehmc_default_interest" 63 54 value="<?php echo esc_attr($default_interest); ?>" 64 55 class="regular-text" /> 65 <p class="description"><?= $interest_description?></p>56 <p class="description"><?= esc_html( $interest_description ) ?></p> 66 57 </td> 67 58 </tr> … … 69 60 <!-- Default Term --> 70 61 <tr> 71 <th scope="row"><label for="ehmc_default_years"><?= $term_label?></label></th>62 <th scope="row"><label for="ehmc_default_years"><?= esc_html( $term_label ) ?></label></th> 72 63 <td> 73 <input type="number" name="ehmc_default_years" id="ehmc_default_years"74 value="<? php echo esc_attr($default_years); ?>"64 <input type="number" min="1" max="45" step="1" name="ehmc_default_years" id="ehmc_default_years" 65 value="<?= esc_attr( $default_years ); ?>" 75 66 class="regular-text" /> 76 <p class="description"><?= $term_description?></p>67 <p class="description"><?= esc_html( $term_description ) ?></p> 77 68 </td> 78 69 </tr> … … 82 73 <!-- Label: Loan Amount --> 83 74 <tr> 84 <th scope="row"><label for="ehmc_label_amount"><?= $default_label . ': ' . $default_amount_label?></label></th>75 <th scope="row"><label for="ehmc_label_amount"><?= esc_html( $default_label ) ?>: <?= esc_html( $default_amount_label ) ?></label></th> 85 76 <td> 86 77 <input type="text" name="ehmc_label_amount" id="ehmc_label_amount" … … 92 83 <!-- Label: Interest Rate --> 93 84 <tr> 94 <th scope="row"><label for="ehmc_label_interest"><?= $default_label . ': ' . $default_interest_label?></label></th>85 <th scope="row"><label for="ehmc_label_interest"><?= esc_html( $default_label ) ?>: <?= esc_html( $default_interest_label ) ?></label></th> 95 86 <td> 96 87 <input type="text" name="ehmc_label_interest" id="ehmc_label_interest" … … 102 93 <!-- Label: Years --> 103 94 <tr> 104 <th scope="row"><label for="ehmc_label_years"><?= $default_label . ': ' . $default_years_label?></label></th>95 <th scope="row"><label for="ehmc_label_years"><?= esc_html( $default_label ) ?>: <?= esc_html( $default_years_label ) ?></label></th> 105 96 <td> 106 97 <input type="text" name="ehmc_label_years" id="ehmc_label_years" … … 112 103 <!-- Label: Buttons --> 113 104 <tr> 114 <th scope="row"><label for="ehmc_label_button_calculate"><?= $default_label . ': ' . $button_calculate_label?></label></th>105 <th scope="row"><label for="ehmc_label_button_calculate"><?= esc_html( $default_label ) ?>: <?= esc_html( $button_calculate_label ) ?></label></th> 115 106 <td> 116 107 <input type="text" name="ehmc_label_button_calculate" id="ehmc_label_button_calculate" 117 value="<?php echo esc_attr( $label_button_calculate); ?>"108 value="<?php echo esc_attr( $label_button_calculate ); ?>" 118 109 class="regular-text" /> 119 110 </td> 120 111 </tr> 121 112 <tr> 122 <th scope="row"><label for="ehmc_label_button_reset"><?= $default_label . ': ' . $button_reset_label?></label></th>113 <th scope="row"><label for="ehmc_label_button_reset"><?= esc_html( $default_label ) ?>: <?= esc_html( $button_reset_label ) ?></label></th> 123 114 <td> 124 115 <input type="text" name="ehmc_label_button_reset" id="ehmc_label_button_reset" 125 value="<?php echo esc_attr( $label_button_reset); ?>"116 value="<?php echo esc_attr( $label_button_reset ); ?>" 126 117 class="regular-text" /> 127 118 </td> … … 130 121 <!-- Label: Uninstall --> 131 122 <tr> 132 <th scope="row"><?= $uninstall_scope?></th>123 <th scope="row"><?= esc_html( $uninstall_scope ) ?></th> 133 124 <td> 134 125 <label> 135 126 <input type="checkbox" name="ehmc_delete_data_on_uninstall" value="1" 136 127 <?php checked( get_option('ehmc_delete_data_on_uninstall'), '1' ); ?>> 137 <?= $uninstall_label?>128 <?= esc_html( $uninstall_label ) ?> 138 129 </label> 139 <p class="description"><?= $uninstall_description?></p>130 <p class="description"><?= esc_html( $uninstall_description ) ?></p> 140 131 </td> 141 132 </tr> -
eh-mortgage-calculator/trunk/admin/tabs/shortcode.php
r3441254 r3441776 1 1 <?php 2 $title = esc_html__( 'Shortcode', 'eh-mortgage-calculator' ); 3 $description = esc_html__( 'Use this shortcode to display the mortgage calculator anywhere on your site.', 'eh-mortgage-calculator' ); 4 5 $shortcode_scope = esc_html__('Main Shortcode', 'eh-mortgage-calculator' ); 6 $shortcode_label = esc_html__( 'Copy', 'eh-mortgage-calculator' ); 7 $shortcode_description = esc_html__( 'Paste this shortcode into any page, post, or widget.', 'eh-mortgage-calculator' ); 8 9 $example_scope = esc_html__('Example Usage', 'eh-mortgage-calculator' ); 10 $example_description = esc_html__( 'No attributes are required — the calculator uses your saved settings.', 'eh-mortgage-calculator' ); 11 2 // Translations 3 $title = __( 'Shortcode', 'eh-mortgage-calculator' ); 4 $description = __( 'Use this shortcode to display the mortgage calculator anywhere on your site.', 'eh-mortgage-calculator' ); 5 $shortcode_scope = __( 'Main Shortcode', 'eh-mortgage-calculator' ); 6 $shortcode_label = __( 'Copy', 'eh-mortgage-calculator' ); 7 $shortcode_description = __( 'Paste this shortcode into any page, post, or widget.', 'eh-mortgage-calculator' ); 8 $shortcode_copy = __( 'Copy shortcode to clipboard', 'eh-mortgage-calculator' ); 9 $example_scope = __( 'Example Usage', 'eh-mortgage-calculator' ); 10 $example_description = __( 'No attributes are required — the calculator uses your saved settings.', 'eh-mortgage-calculator' ); 12 11 ?> 13 12 <div class="ehmc-card"> 14 <h2><?= $title?></h2>15 <p class="description"><?= $description?></p>13 <h2><?= esc_html( $title ) ?></h2> 14 <p class="description"><?= esc_html( $description ) ?></p> 16 15 17 16 <table class="form-table"> 18 17 <tr> 19 <th scope="row"><?= $shortcode_scope?></th>18 <th scope="row"><?= esc_html( $shortcode_scope ) ?></th> 20 19 <td> 21 20 <input type="text" 22 21 id="ehmc-shortcode-field" 23 class="regular-text "24 value=" [eh_mortgage_calculator]"25 readonly26 style="width: 300px; font-weight: 600;"/>22 class="regular-text fw-bold" 23 value="<?= esc_attr( '[eh_mortgage_calculator]' ) ?>" 24 aria-label="<?= esc_attr__( $shortcode_copy ); ?>" 25 readonly /> 27 26 28 27 <button type="button" 29 28 class="button" 30 29 id="ehmc-copy-shortcode"> 31 <?= $shortcode_label?>30 <?= esc_html( $shortcode_label ) ?> 32 31 </button> 33 32 34 <p class="description"><?= $shortcode_description?></p>33 <p class="description"><?= esc_html( $shortcode_description ) ?></p> 35 34 </td> 36 35 </tr> … … 39 38 40 39 <tr> 41 <th scope="row"><?= $example_scope?></th>40 <th scope="row"><?= esc_html( $example_scope ) ?></th> 42 41 <td> 43 <code> [eh_mortgage_calculator]</code>44 <p class="description"><?= $example_description?></p>42 <code><?= esc_html( '[eh_mortgage_calculator]' ) ?></code> 43 <p class="description"><?= esc_html( $example_description ) ?></p> 45 44 </td> 46 45 </tr> -
eh-mortgage-calculator/trunk/admin/tabs/styling.php
r3441254 r3441776 1 1 <?php 2 // Translations 3 $title = __( 'Styling Options', 'eh-mortgage-calculator' ); 4 $description = __( 'Customize the appearance of the mortgage calculator on the frontend.', 'eh-mortgage-calculator' ); 5 $primary_color_label = __( 'Primary Color', 'eh-mortgage-calculator' ); 6 $primary_color_description = __( 'Used for highlights and accents.', 'eh-mortgage-calculator' ); 7 $button_calculate_color_label = __( 'Calculate Button Color', 'eh-mortgage-calculator' ); 8 $button_calculate_color_description = __( 'Color of the Calculate button.', 'eh-mortgage-calculator' ); 9 $button_reset_color_label = __( 'Reset Button Color', 'eh-mortgage-calculator' ); 10 $button_reset_color_description = __( 'Color of the Reset button.', 'eh-mortgage-calculator' ); 11 $table_header_color_label = __( 'Table Header Color', 'eh-mortgage-calculator' ); 12 $table_header_color_description = __( 'Background color for the amortization table header.', 'eh-mortgage-calculator' ); 13 $border_radius_scope = __( 'Border Radius', 'eh-mortgage-calculator' ); 14 $border_radius_labels = [ 15 'none' => __( 'None', 'eh-mortgage-calculator' ), 16 'small' => __( 'Small (4px)', 'eh-mortgage-calculator' ), 17 'medium' => __( 'Medium (8px)', 'eh-mortgage-calculator' ), 18 'large' => __( 'Large (12px)', 'eh-mortgage-calculator' ) 19 ]; 20 $border_radius_description = __( 'Controls the roundness of input fields, buttons, and cards.', 'eh-mortgage-calculator' ); 21 22 // Fetch saved values (with safe defaults) 2 23 $primary_color = get_option('ehmc_primary_color', '#2271b1'); 3 24 $button_calculate_color = get_option('ehmc_button_color_calculate', '#2271b1'); … … 5 26 $table_header_color = get_option('ehmc_table_header_color', '#f1f1f1'); 6 27 $border_radius = get_option('ehmc_border_radius', 'medium'); 7 8 $title = esc_html__( 'Styling Options', 'eh-mortgage-calculator' );9 $description = esc_html__( 'Customize the appearance of the mortgage calculator on the frontend.', 'eh-mortgage-calculator' );10 11 $primary_color_label = esc_html__( 'Primary Color', 'eh-mortgage-calculator' );12 $primary_color_description = esc_html__( 'Used for highlights and accents.', 'eh-mortgage-calculator' );13 14 $button_calculate_color_label = esc_html__( 'Calculate Button Color', 'eh-mortgage-calculator' );15 $button_calculate_color_description = esc_html__( 'Color of the Calculate button.', 'eh-mortgage-calculator' );16 17 $button_reset_color_label = esc_html__( 'Reset Button Color', 'eh-mortgage-calculator' );18 $button_reset_color_description = esc_html__( 'Color of the Reset button.', 'eh-mortgage-calculator' );19 20 $table_header_color_label = esc_html__( 'Table Header Color', 'eh-mortgage-calculator' );21 $table_header_color_description = esc_html__( 'Background color for the amortization table header.', 'eh-mortgage-calculator' );22 23 $border_radius_scope = esc_html__( 'Border Radius', 'eh-mortgage-calculator' );24 $border_radius_labels = [25 'none' => esc_html__( 'None', 'eh-mortgage-calculator' ),26 'small' => esc_html__( 'Small (4px)', 'eh-mortgage-calculator' ),27 'medium' => esc_html__( 'Medium (8px)', 'eh-mortgage-calculator' ),28 'large' => esc_html__( 'Large (12px)', 'eh-mortgage-calculator' )29 ];30 $border_radius_description = esc_html__( 'Controls the roundness of input fields, buttons, and cards.', 'eh-mortgage-calculator' );31 28 ?> 32 29 33 30 <div class="ehmc-card"> 34 <h2><?= $title?></h2>35 <p class="description"><?= $description?></p>31 <h2><?= esc_html( $title ) ?></h2> 32 <p class="description"><?= esc_html( $description ) ?></p> 36 33 37 34 <table class="form-table"> 38 35 <!-- Primary Color --> 39 36 <tr> 40 <th scope="row"><label for="ehmc_primary_color" ><?= $primary_color_label?></label></th>37 <th scope="row"><label for="ehmc_primary_color" aria-describedby="primary-desc"><?= esc_html( $primary_color_label ) ?></label></th> 41 38 <td> 42 39 <input type="color" name="ehmc_primary_color" id="ehmc_primary_color" 43 40 value="<?php echo esc_attr($primary_color); ?>" /> 44 <p class="description"><?= $primary_color_description?></p>41 <p id="primary-desc" class="description"><?= esc_html( $primary_color_description ) ?></p> 45 42 </td> 46 43 </tr> … … 48 45 <!-- Buttons Color --> 49 46 <tr> 50 <th scope="row"><label for="ehmc_button_color_calculate" ><?= $button_calculate_color_label?></label></th>47 <th scope="row"><label for="ehmc_button_color_calculate" aria-describedby="button-calculate-desc"><?= esc_html( $button_calculate_color_label ) ?></label></th> 51 48 <td> 52 49 <input type="color" name="ehmc_button_color_calculate" id="ehmc_button_color_calculate" 53 50 value="<?php echo esc_attr($button_calculate_color); ?>" /> 54 <p class="description"><?= $button_calculate_color_description?></p>51 <p id="button-calculate-desc" class="description"><?= esc_html( $button_calculate_color_description ) ?></p> 55 52 </td> 56 53 </tr> 57 54 <tr> 58 <th scope="row"><label for="ehmc_button_color_reset" ><?= $button_reset_color_label?></label></th>55 <th scope="row"><label for="ehmc_button_color_reset" aria-describedby="button-reset-desc"><?= esc_html( $button_reset_color_label ) ?></label></th> 59 56 <td> 60 57 <input type="color" name="ehmc_button_color_reset" id="ehmc_button_color_reset" 61 58 value="<?php echo esc_attr($button_reset_color); ?>" /> 62 <p class="description"><?= $button_reset_color_description?></p>59 <p id="button-reset-desc" class="description"><?= esc_html( $button_reset_color_description ) ?></p> 63 60 </td> 64 61 </tr> … … 66 63 <!-- Table Header Color --> 67 64 <tr> 68 <th scope="row"><label for="ehmc_table_header_color" ><?= $table_header_color_label?></label></th>65 <th scope="row"><label for="ehmc_table_header_color" aria-describedby="table-header-desc"><?= esc_html( $table_header_color_label ) ?></label></th> 69 66 <td> 70 67 <input type="color" name="ehmc_table_header_color" id="ehmc_table_header_color" 71 68 value="<?php echo esc_attr($table_header_color); ?>" /> 72 <p class="description"><?= $table_header_color_description?></p>69 <p id="table-header-desc" class="description"><?= esc_html( $table_header_color_description ) ?></p> 73 70 </td> 74 71 </tr> … … 78 75 <!-- Border Radius --> 79 76 <tr> 80 <th scope="row"><?= $border_radius_scope?></th>77 <th scope="row"><?= esc_html( $border_radius_scope ) ?></th> 81 78 <td> 82 <fieldset> 79 <fieldset aria-labelledby="border-radius-desc"> 80 <?php $x = 0 ?> 83 81 <?php foreach( $border_radius_labels as $key => $value ): ?> 84 <label >85 <input type="radio" name="ehmc_border_radius" value="<?= $key ?>"82 <label for="ehmc_border_radius-<?= $x ?>" aria-describedby="border-radius-desc"> 83 <input id="ehmc_border_radius-<?= $x ?>" type="radio" name="ehmc_border_radius" value="<?= $key ?>" 86 84 <?php checked($border_radius, $key); ?> /> 87 <?= $value?>85 <?= esc_html( $value ) ?> 88 86 </label> 89 87 <br /> 88 <?php $x++; ?> 90 89 <?php endforeach; ?> 91 90 </fieldset> 92 <p class="description"><?= $border_radius_description?></p>91 <p id="border-radius-desc" class="description"><?= esc_html( $border_radius_description ) ?></p> 93 92 </td> 94 93 </tr> -
eh-mortgage-calculator/trunk/assets/js/modules/EHMortgageCalculator.js
r3441675 r3441776 184 184 let i = this.interestInput.value; 185 185 let n = this.termInput.value; 186 187 const validation = validateForm(P, i, n); 186 187 let ranges = { 188 pMin: 10000, 189 pMax: 20000000, 190 iMin: 1, 191 iMax: 25, 192 nMin: 1, 193 nMax: 45 194 } 195 196 197 const validation = validateForm(P, i, n, ranges); 188 198 189 199 if (Object.values(validation).includes(false)) { -
eh-mortgage-calculator/trunk/assets/js/modules/validation.js
r3441254 r3441776 1 1 /** 2 * Validate user input .2 * Validate user input using numeric ranges. 3 3 * 4 4 * @param {string} P Principal 5 5 * @param {string} i Interest rate 6 6 * @param {string} n Term 7 * @param {object} ranges { pMin, pMax, iMin, iMax, nMin, nMax } 7 8 * @returns {{ principal: boolean, interest: boolean, term: boolean }} 8 9 */ 9 export function validateForm(P, i, n) { 10 // principal: > 0, up to 2 decimals 11 const principalRegex = /^(?:[1-9]\d*(\.\d{1,2})?)$/; 10 export function validateForm(P, i, n, ranges) { 12 11 13 // interest: 1–25% with up to 2 decimals 14 const interestRegex = /^([1-9](\.\d{1,2})?|1\d(\.\d{1,2})?|2[0-4](\.\d{1,2})?|25)$/; 12 // Remove commas and spaces 13 const principal = parseFloat(String(P).replace(/,/g, '')); 14 const interest = parseFloat(i); 15 const term = parseInt(n, 10); 15 16 16 // term: 1–45 years 17 const termRegex = /^(?:[1-9]|[1-3][0-9]|4[0-5])$/; 17 const { 18 pMin, pMax, 19 iMin, iMax, 20 nMin, nMax 21 } = ranges; 18 22 19 23 return { 20 principal: principalRegex.test(P),21 interest: interestRegex.test(i),22 term: termRegex.test(n)24 principal: !isNaN(principal) && principal >= pMin && principal <= pMax, 25 interest: !isNaN(interest) && interest >= iMin && interest <= iMax, 26 term: !isNaN(term) && term >= nMin && term <= nMax 23 27 }; 24 28 } -
eh-mortgage-calculator/trunk/eh-mortgage-calculator.php
r3441254 r3441776 4 4 * Description: A modern, modular mortgage calculator with amortization table. 5 5 * Version: 3.1.0 6 * Requires at least: 5.0 7 * Tested up to: 6.9 6 8 * Author: Edgar Hernandez 7 9 * Text Domain: eh-mortgage-calculator … … 12 14 } 13 15 14 define( 'EHMORTGAGECALCULATOR_ _VERSION', '3.0' );16 define( 'EHMORTGAGECALCULATOR_VERSION', '3.1.0' ); 15 17 define( 'EHMC_PATH', plugin_dir_path( __FILE__ ) ); 16 18 define( 'EHMC_URL', plugin_dir_url( __FILE__ ) ); -
eh-mortgage-calculator/trunk/includes/class-ehmc-admin.php
r3441254 r3441776 4 4 public function __construct() { 5 5 add_action('admin_menu', [ $this, 'ehmc_register_settings_page' ]); 6 add_action('admin_enqueue_scripts', [ $this, 'ehmc_admin_assets' ]);7 6 } 8 7 9 8 public function ehmc_register_settings_page() { 9 if ( ! current_user_can( 'manage_options' ) ) { 10 return; 11 } 12 10 13 $title = esc_html__( 'Mortgage Calculator Settings', 'eh-mortgage-calculator'); 11 $menu_title = esc_html__( 'Mortgage ', 'eh-mortgage-calculator');14 $menu_title = esc_html__( 'Mortgage Calculator', 'eh-mortgage-calculator'); 12 15 13 16 add_options_page( … … 22 25 public function ehmc_register_settings() { 23 26 // General 24 register_setting('ehmc_settings_group', 'ehmc_default_amount'); 25 register_setting('ehmc_settings_group', 'ehmc_default_interest'); 26 register_setting('ehmc_settings_group', 'ehmc_default_years'); 27 register_setting('ehmc_settings_group', 'ehmc_label_amount'); 28 register_setting('ehmc_settings_group', 'ehmc_label_interest'); 29 register_setting('ehmc_settings_group', 'ehmc_label_years'); 30 register_setting('ehmc_settings_group', 'ehmc_label_button_calculate'); 31 register_setting('ehmc_settings_group', 'ehmc_label_button_reset'); 32 27 $this->ehmc_register_setting('ehmc_default_amount', 'number', 'absint', 300000); 28 $this->ehmc_register_setting('ehmc_default_interest', 'string', [ $this, 'sanitize_float' ], '6.5'); 29 $this->ehmc_register_setting('ehmc_default_years', 'number', 'absint', 30); 30 $this->ehmc_register_setting('ehmc_label_amount', 'string', 'sanitize_text_field', esc_html__( 'Loan Amount', 'eh-mortgage-calculator' )); 31 $this->ehmc_register_setting('ehmc_label_interest', 'string', 'sanitize_text_field', esc_html__( 'Interest Rate', 'eh-mortgage-calculator' )); 32 $this->ehmc_register_setting('ehmc_label_years', 'string', 'sanitize_text_field', esc_html__( 'Years', 'eh-mortgage-calculator' )); 33 $this->ehmc_register_setting('ehmc_label_button_calculate', 'string', 'sanitize_text_field', esc_html__( 'Calculate', 'eh-mortgage-calculator' )); 34 $this->ehmc_register_setting('ehmc_label_button_reset', 'string', 'sanitize_text_field', esc_html__( 'Reset', 'eh-mortgage-calculator' )); 33 35 // Display 34 register_setting('ehmc_settings_group', 'ehmc_show_summary'); 35 register_setting('ehmc_settings_group', 'ehmc_show_table'); 36 register_setting('ehmc_settings_group', 'ehmc_show_chart'); 36 $this->ehmc_register_setting('ehmc_show_summary', 'integer', 'absint', 1); 37 $this->ehmc_register_setting('ehmc_show_table', 'integer', 'absint', 1); 38 $this->ehmc_register_setting('ehmc_show_chart', 'integer', 'absint', 0); 39 // Styling 40 $this->ehmc_register_setting('ehmc_primary_color', 'string', 'sanitize_hex_color', '#2271b1'); 41 $this->ehmc_register_setting('ehmc_button_color_calculate', 'string', 'sanitize_hex_color', '#2271b1'); 42 $this->ehmc_register_setting('ehmc_button_color_reset', 'string', 'sanitize_hex_color', '#6c757d'); 43 $this->ehmc_register_setting('ehmc_table_header_color', 'string', 'sanitize_hex_color', '#f1f1f1'); 44 $this->ehmc_register_setting('ehmc_border_radius', 'string', [ $this, 'sanitize_border_radius' ], 'medium'); 45 // Uninstall 46 $this->ehmc_register_setting('ehmc_delete_data_on_uninstall', 'integer', 'absint', 0); 47 } 48 49 /** 50 * 51 * @param string $setting 52 * @param string $type 53 * @param string|array $sanitize_callback 54 * @param string|int $default 55 */ 56 public function ehmc_register_setting(string $setting, string $type, string | array $sanitize_callback, string | int $default) { 57 register_setting( 58 'ehmc_settings_group', 59 $setting, 60 [ 61 'type' => $type, 62 'sanitize_callback' => $sanitize_callback, 63 'default' => $default, 64 ] 65 ); 66 } 67 68 /** 69 * Sanitize float values (interest rate) 70 */ 71 public function sanitize_float( $value ) { 72 return is_numeric( $value ) ? $value : ''; 73 } 37 74 38 // Styling 39 register_setting('ehmc_settings_group', 'ehmc_primary_color'); 40 register_setting('ehmc_settings_group', 'ehmc_button_color_calculate'); 41 register_setting('ehmc_settings_group', 'ehmc_button_color_reset'); 42 register_setting('ehmc_settings_group', 'ehmc_table_header_color'); 43 register_setting('ehmc_settings_group', 'ehmc_border_radius'); 44 45 // Uninstall 46 register_setting('ehmc_settings_group', 'ehmc_delete_data_on_uninstall'); 75 /** 76 * Sanitize border radius option 77 */ 78 public function sanitize_border_radius( $value ) { 79 80 $allowed = [ 'none', 'small', 'medium', 'large' ]; 81 82 return in_array( $value, $allowed, true ) ? $value : 'medium'; 47 83 } 48 84 … … 60 96 echo $output; 61 97 } 62 63 64 public function ehmc_admin_assets($hook) {65 if ($hook !== 'settings_page_ehmc-settings') {66 return;67 }68 69 wp_enqueue_script(70 'ehmc-admin-js',71 EHMC_URL . 'admin/admin-scripts.js',72 [],73 EHMORTGAGECALCULATOR__VERSION,74 true75 );76 77 wp_enqueue_style(78 'ehmc-admin-css',79 EHMC_URL . 'admin/admin-styles.css',80 [],81 EHMORTGAGECALCULATOR__VERSION82 );83 }84 98 } -
eh-mortgage-calculator/trunk/includes/class-ehmc-assets.php
r3441675 r3441776 10 10 EHMC_URL . 'assets/css/bootstrap-custom.css', 11 11 [], 12 EHMORTGAGECALCULATOR_ _VERSION12 EHMORTGAGECALCULATOR_VERSION 13 13 ); 14 14 15 wp_enqueue_script( 'wp-i18n' ); 16 15 17 // JS (ES6 module) 16 18 wp_enqueue_script_module( … … 25 27 EHMC_URL . 'assets/js/frontend.js', 26 28 ['chartjs'], 27 EHMORTGAGECALCULATOR_ _VERSION29 EHMORTGAGECALCULATOR_VERSION 28 30 ); 29 31 30 32 wp_set_script_translations( 'ehmc-frontend', 'eh-mortgage-calculator' ); 33 34 add_filter( 'script_module_data_ehmc-frontend', [ $this, 'localize_module_data' ] ); 31 35 32 // Important: load as module 33 wp_enqueue_script( 'wp-i18n' ); 34 35 // Provide data specifically for this module 36 add_filter( "script_module_data_ehmc-frontend", function ( array $data ): array { 37 $data['labels'] = [ 38 // Chart 39 'principal' => __( 'Principal', 'eh-mortgage-calculator' ), 40 'interest' => __( 'Interest', 'eh-mortgage-calculator' ), 41 // Summary 42 'monthly_payment' => __('Monthly Payment', 'eh-mortgage-calculator' ), 43 'total_interest' => __('Total Interest', 'eh-mortgage-calculator' ), 44 'total_paid' => __('Total Paid', 'eh-mortgage-calculator' ) 45 ]; 46 return $data; 47 } ); 36 } 37 38 public function localize_module_data( array $data ): array { 39 $data['labels'] = [ 40 'principal' => __( 'Principal', 'eh-mortgage-calculator' ), 41 'interest' => __( 'Interest', 'eh-mortgage-calculator' ), 42 'monthly_payment' => __( 'Monthly Payment', 'eh-mortgage-calculator' ), 43 'total_interest' => __( 'Total Interest', 'eh-mortgage-calculator' ), 44 'total_paid' => __( 'Total Paid', 'eh-mortgage-calculator' ), 45 ]; 46 return $data; 48 47 } 49 48 } -
eh-mortgage-calculator/trunk/includes/class-ehmc-blocks.php
r3441254 r3441776 38 38 EHMC_URL . 'blocks/ehmc-calculator/editor.css', 39 39 [], 40 EHMORTGAGECALCULATOR_ _VERSION40 EHMORTGAGECALCULATOR_VERSION 41 41 ); 42 42 … … 45 45 EHMC_URL . 'blocks/ehmc-calculator/editor.js', 46 46 [ 'wp-blocks', 'wp-element', 'wp-editor' ], 47 EHMORTGAGECALCULATOR_ _VERSION,47 EHMORTGAGECALCULATOR_VERSION, 48 48 true 49 49 ); -
eh-mortgage-calculator/trunk/includes/class-ehmc-loader.php
r3441305 r3441776 9 9 require_once EHMC_PATH . 'includes/class-ehmc-blocks.php'; 10 10 require_once EHMC_PATH . 'includes/class-ehmc-admin.php'; 11 require_once EHMC_PATH . 'includes/class-ehmc-admin-assets.php'; 11 12 } 12 13 … … 16 17 $this->load_assets(); 17 18 $this->load_shortcode(); 18 $this->load_admin(); 19 if ( is_admin() ) { 20 $this->load_admin_assets(); 21 $this->load_admin(); 22 } 19 23 } 20 24 … … 43 47 add_action( 'admin_init', [ $admin, 'ehmc_register_settings' ] ); 44 48 } 49 50 private function load_admin_assets() { 51 $admin_assets = new EHMC_Admin_Assets(); 52 add_action( 'admin_enqueue_scripts', [ $admin_assets, 'ehmc_admin_assets' ] ); 53 } 45 54 } -
eh-mortgage-calculator/trunk/includes/class-ehmc-shortcode.php
r3428826 r3441776 7 7 public function render( $atts = [] ) { 8 8 self::$instance_counter++; 9 $instance = self::$instance_counter;9 $instance = absint( self::$instance_counter ); 10 10 11 11 // 1. Start fresh buffering -
eh-mortgage-calculator/trunk/languages/eh-mortgage-calculator-es_ES.po
r3441254 r3441776 4 4 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/eh-mortgage-" 5 5 "calculator\n" 6 "POT-Creation-Date: 2026-01-1 6T20:00:18+00:00\n"7 "PO-Revision-Date: 2026-01-1 6 12:05-0800\n"6 "POT-Creation-Date: 2026-01-18T05:30:23+00:00\n" 7 "PO-Revision-Date: 2026-01-17 21:34-0800\n" 8 8 "Last-Translator: \n" 9 9 "Language-Team: \n" … … 35 35 msgstr "Edgar Hernandez" 36 36 37 #: admin/settings-page.php:2 includes/class-ehmc-admin.php:1 037 #: admin/settings-page.php:2 includes/class-ehmc-admin.php:13 38 38 msgid "Mortgage Calculator Settings" 39 39 msgstr "Ajustes de la calculadora hipotecaria" … … 51 51 msgstr "Estilo" 52 52 53 #: admin/settings-page.php:6 admin/tabs/shortcode.php: 253 #: admin/settings-page.php:6 admin/tabs/shortcode.php:3 54 54 msgid "Shortcode" 55 55 msgstr "Shortcode" … … 59 59 msgstr "Guardar cambios" 60 60 61 #: admin/tabs/display.php: 661 #: admin/tabs/display.php:3 62 62 msgid "Display Options" 63 63 msgstr "Opciones de Visualización" 64 64 65 #: admin/tabs/display.php: 765 #: admin/tabs/display.php:4 66 66 msgid "" 67 67 "Choose which elements of the calculator should be visible on the frontend." … … 70 70 "pública." 71 71 72 #: admin/tabs/display.php: 972 #: admin/tabs/display.php:5 73 73 msgid "Show Summary Box" 74 74 msgstr "Mostrar cuadro de resumen" 75 75 76 #: admin/tabs/display.php: 1076 #: admin/tabs/display.php:6 77 77 msgid "Enable summary section (monthly payment, total interest, total cost)" 78 78 msgstr "" 79 79 "Habilitar sección de resumen (pago mensual, interés total, costo total)" 80 80 81 #: admin/tabs/display.php: 1281 #: admin/tabs/display.php:7 82 82 msgid "Show Amortization Table" 83 83 msgstr "Mostrar tabla de amortización" 84 84 85 #: admin/tabs/display.php: 1385 #: admin/tabs/display.php:8 86 86 msgid "Display full amortization schedule" 87 87 msgstr "Mostrar calendario de amortización completo" 88 88 89 #: admin/tabs/display.php: 1589 #: admin/tabs/display.php:9 90 90 msgid "Show Chart" 91 91 msgstr "Mostrar gráfico" 92 92 93 #: admin/tabs/display.php:1 693 #: admin/tabs/display.php:10 94 94 msgid "Display a visual chart" 95 95 msgstr "Mostrar gráfico visual" 96 96 97 #: admin/tabs/display.php:1 797 #: admin/tabs/display.php:11 98 98 msgid "" 99 99 "A simple doughnut chart that visualizes the breakdown of principal and " … … 103 103 "(principal) y los intereses." 104 104 105 #: admin/tabs/general.php:7 105 #: admin/tabs/general.php:3 106 msgid "General Settings" 107 msgstr "Ajustes Generales" 108 109 #: admin/tabs/general.php:4 110 msgid "Control the default values and labels used in the mortgage calculator." 111 msgstr "" 112 "Controla los valores predeterminados y las etiquetas utilizadas en la " 113 "calculadora hipotecaria." 114 115 #: admin/tabs/general.php:5 106 116 msgid "Label" 107 117 msgstr "Etiqueta" 108 118 109 #: admin/tabs/general.php: 9119 #: admin/tabs/general.php:6 110 120 msgid "Calculate Button" 111 121 msgstr "Botón de calcular" 112 122 113 #: admin/tabs/general.php: 10123 #: admin/tabs/general.php:7 114 124 msgid "Reset Button" 115 125 msgstr "Botón de restablecer" 116 126 117 #: admin/tabs/general.php:12 templates/calculator.php:9 127 #: admin/tabs/general.php:8 includes/class-ehmc-admin.php:30 128 #: templates/calculator.php:12 118 129 msgid "Loan Amount" 119 130 msgstr "Monto del préstamo" 120 131 121 #: admin/tabs/general.php: 13132 #: admin/tabs/general.php:9 includes/class-ehmc-admin.php:31 122 133 msgid "Interest Rate" 123 134 msgstr "Tasa de interés" 124 135 125 #: admin/tabs/general.php:1 4136 #: admin/tabs/general.php:10 includes/class-ehmc-admin.php:32 126 137 msgid "Years" 127 138 msgstr "Años" 128 139 129 #: admin/tabs/general.php:15 130 msgid "Calculate" 131 msgstr "Calcular" 132 133 #: admin/tabs/general.php:16 134 msgid "Reset" 135 msgstr "Restablecer" 136 137 #: admin/tabs/general.php:24 138 msgid "General Settings" 139 msgstr "Ajustes Generales" 140 141 #: admin/tabs/general.php:25 142 msgid "Control the default values and labels used in the mortgage calculator." 143 msgstr "" 144 "Controla los valores predeterminados y las etiquetas utilizadas en la " 145 "calculadora hipotecaria." 146 147 #: admin/tabs/general.php:27 140 #: admin/tabs/general.php:11 148 141 msgid "Default Loan Amount" 149 142 msgstr "Monto de préstamo predeterminado" 150 143 151 #: admin/tabs/general.php: 28144 #: admin/tabs/general.php:12 152 145 msgid "The starting loan amount shown in the calculator." 153 146 msgstr "El monto inicial del préstamo que se muestra en la calculadora." 154 147 155 #: admin/tabs/general.php: 30148 #: admin/tabs/general.php:13 156 149 msgid "Default Interest Rate (%)" 157 150 msgstr "Tasa de interés predeterminada (%)" 158 151 159 #: admin/tabs/general.php: 31152 #: admin/tabs/general.php:14 160 153 msgid "The default yearly interest rate." 161 154 msgstr "La tasa de interés anual predeterminada." 162 155 163 #: admin/tabs/general.php: 33156 #: admin/tabs/general.php:15 164 157 msgid "Default Term (Years)" 165 158 msgstr "Plazo predeterminado (Años)" 166 159 167 #: admin/tabs/general.php: 34160 #: admin/tabs/general.php:16 168 161 msgid "The default loan term in years." 169 162 msgstr "El plazo predeterminado del préstamo en años." 170 163 171 #: admin/tabs/general.php: 36164 #: admin/tabs/general.php:17 172 165 msgid "Cleanup on Uninstall" 173 166 msgstr "Eliminar datos al desinstalar" 174 167 175 #: admin/tabs/general.php: 37168 #: admin/tabs/general.php:18 176 169 msgid "Delete all plugin data when uninstalling" 177 170 msgstr "Eliminar todos los datos del plugin al desinstalar" 178 171 179 #: admin/tabs/general.php: 38172 #: admin/tabs/general.php:19 180 173 msgid "" 181 174 "If enabled, all EHMC settings will be permanently removed when the plugin is " … … 185 178 "desinstalar el plugin." 186 179 187 #: admin/tabs/shortcode.php: 3180 #: admin/tabs/shortcode.php:4 188 181 msgid "" 189 182 "Use this shortcode to display the mortgage calculator anywhere on your site." … … 204 197 msgstr "Pega este shortcode en cualquier página, entrada o widget." 205 198 199 #: admin/tabs/shortcode.php:8 200 msgid "Copy shortcode to clipboard" 201 msgstr "Copiar shortcode al portapapeles" 202 206 203 #: admin/tabs/shortcode.php:9 207 204 msgid "Example Usage" … … 213 210 "No se requiere ningún atributo; la calculadora utiliza los ajustes guardados." 214 211 215 #: admin/tabs/styling.php: 8212 #: admin/tabs/styling.php:3 216 213 msgid "Styling Options" 217 214 msgstr "Opciones de Estilo" 218 215 219 #: admin/tabs/styling.php: 9216 #: admin/tabs/styling.php:4 220 217 msgid "Customize the appearance of the mortgage calculator on the frontend." 221 218 msgstr "" 222 219 "Personaliza la apariencia de la calculadora hipotecaria en la página pública." 223 220 224 #: admin/tabs/styling.php: 11221 #: admin/tabs/styling.php:5 225 222 msgid "Primary Color" 226 223 msgstr "Color principal" 227 224 228 #: admin/tabs/styling.php: 12225 #: admin/tabs/styling.php:6 229 226 msgid "Used for highlights and accents." 230 227 msgstr "Se utiliza para resaltar y acentuar." 231 228 232 #: admin/tabs/styling.php: 14229 #: admin/tabs/styling.php:7 233 230 msgid "Calculate Button Color" 234 231 msgstr "Color del botón Calcular" 235 232 236 #: admin/tabs/styling.php: 15233 #: admin/tabs/styling.php:8 237 234 msgid "Color of the Calculate button." 238 235 msgstr "Color para el botón Calcular." 239 236 240 #: admin/tabs/styling.php: 17237 #: admin/tabs/styling.php:9 241 238 msgid "Reset Button Color" 242 239 msgstr "Color del botón Restablecer" 243 240 244 #: admin/tabs/styling.php:1 8241 #: admin/tabs/styling.php:10 245 242 msgid "Color of the Reset button." 246 243 msgstr "Color para el botón Restablecer." 247 244 248 #: admin/tabs/styling.php: 20245 #: admin/tabs/styling.php:11 249 246 msgid "Table Header Color" 250 247 msgstr "Color del encabezado de la tabla" 251 248 252 #: admin/tabs/styling.php: 21249 #: admin/tabs/styling.php:12 253 250 msgid "Background color for the amortization table header." 254 251 msgstr "Color de fondo para el encabezado de la tabla de amortización." 255 252 256 #: admin/tabs/styling.php: 23253 #: admin/tabs/styling.php:13 257 254 msgid "Border Radius" 258 255 msgstr "Radio del borde" 259 256 260 #: admin/tabs/styling.php: 25257 #: admin/tabs/styling.php:15 261 258 msgid "None" 262 259 msgstr "Ninguno" 263 260 264 #: admin/tabs/styling.php: 26261 #: admin/tabs/styling.php:16 265 262 msgid "Small (4px)" 266 263 msgstr "Pequeño (4px)" 267 264 268 #: admin/tabs/styling.php: 27265 #: admin/tabs/styling.php:17 269 266 msgid "Medium (8px)" 270 267 msgstr "Mediano (8px)" 271 268 272 #: admin/tabs/styling.php: 28269 #: admin/tabs/styling.php:18 273 270 msgid "Large (12px)" 274 271 msgstr "Grande (12px)" 275 272 276 #: admin/tabs/styling.php: 30273 #: admin/tabs/styling.php:20 277 274 msgid "Controls the roundness of input fields, buttons, and cards." 278 275 msgstr "Controla el redondeo de los campos de entrada, botones y tarjetas." 279 276 280 #: includes/class-ehmc-admin.php:11 281 msgid "Mortgage" 282 msgstr "Hipoteca" 283 284 #: includes/class-ehmc-assets.php:40 templates/calculator.php:27 277 #: includes/class-ehmc-admin.php:14 278 msgid "Mortgage Calculator" 279 msgstr "Calculadora de hipoteca" 280 281 #: includes/class-ehmc-admin.php:33 282 msgid "Calculate" 283 msgstr "Calcular" 284 285 #: includes/class-ehmc-admin.php:34 286 msgid "Reset" 287 msgstr "Restablecer" 288 289 #: includes/class-ehmc-assets.php:40 templates/calculator.php:22 285 290 msgid "Principal" 286 291 msgstr "Principal" 287 292 288 #: includes/class-ehmc-assets.php:41 templates/calculator.php:2 8293 #: includes/class-ehmc-assets.php:41 templates/calculator.php:23 289 294 msgid "Interest" 290 295 msgstr "Interés" 291 296 292 #: includes/class-ehmc-assets.php:4 3297 #: includes/class-ehmc-assets.php:42 293 298 msgid "Monthly Payment" 294 299 msgstr "Pago Mensual" 295 300 296 #: includes/class-ehmc-assets.php:4 4301 #: includes/class-ehmc-assets.php:43 297 302 msgid "Total Interest" 298 303 msgstr "Interés Total" 299 304 300 #: includes/class-ehmc-assets.php:4 5305 #: includes/class-ehmc-assets.php:44 301 306 msgid "Total Paid" 302 307 msgstr "Total Pagado" … … 306 311 msgstr "Este bloque mostrará la calculadora en el sitio web." 307 312 313 #: templates/calculator.php:9 314 msgid "Please enter an amount between 10,000 and 20,000,000" 315 msgstr "Por favor, introduzca una cantidad entre 10.000 y 20.000.000" 316 308 317 #: templates/calculator.php:10 309 msgid "Please enter a loan amount, e.g. \"40,000\", \"50,000.23\"" 310 msgstr "Por favor, ingresa un monto de préstamo, ej. \"40.000\", \"50.000.23\"" 311 312 #: templates/calculator.php:12 318 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 319 msgstr "" 320 "Por favor, ingresa un número entre 1 y 25, ej. \"5\", \"5,5\", \"5,75\"" 321 322 #: templates/calculator.php:11 323 msgid "Please enter a number between 1 and 45: no decimals allowed" 324 msgstr "Por favor, ingresa un número entre 1 y 45: no se permiten decimales" 325 326 #: templates/calculator.php:13 313 327 msgid "Yearly Interest" 314 328 msgstr "Interés Anual" 315 329 316 #: templates/calculator.php:13 317 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 318 msgstr "" 319 "Por favor, ingresa un número entre 1 y 25, ej. \"5\", \"5,5\", \"5,75\"" 320 321 #: templates/calculator.php:15 330 #: templates/calculator.php:14 322 331 msgid "Number of years" 323 332 msgstr "Número de años" 324 333 325 #: templates/calculator.php:16 326 msgid "Please enter a number between 1 and 45: no decimals allowed" 327 msgstr "Por favor, ingresa un número entre 1 y 45: no se permiten decimales" 328 329 #: templates/calculator.php:22 334 #: templates/calculator.php:17 330 335 msgid "Payment Breakdown" 331 336 msgstr "Desglose del Pago" 332 337 333 #: templates/calculator.php: 23338 #: templates/calculator.php:18 334 339 msgid "Summary" 335 340 msgstr "Resumen" 336 341 337 #: templates/calculator.php:2 6342 #: templates/calculator.php:21 338 343 msgid "Payment" 339 344 msgstr "Pago" 340 345 341 #: templates/calculator.php:2 9346 #: templates/calculator.php:24 342 347 msgid "Balance" 343 348 msgstr "Saldo" 344 349 345 #: templates/calculator.php: 31350 #: templates/calculator.php:25 346 351 msgid "Amortization results pages" 347 352 msgstr "Páginas de resultados de amortización" 348 353 349 #: assets/js/modules/EHMortgageCalculator.js:2 26354 #: assets/js/modules/EHMortgageCalculator.js:236 350 355 msgid "Previous" 351 356 msgstr "Anterior" 352 357 353 #: assets/js/modules/EHMortgageCalculator.js:2 56358 #: assets/js/modules/EHMortgageCalculator.js:266 354 359 msgid "Next" 355 360 msgstr "Siguiente" … … 380 385 msgstr "préstamo" 381 386 387 #~ msgid "Mortgage" 388 #~ msgstr "Hipoteca" 389 382 390 #~ msgid "Loan amount:" 383 391 #~ msgstr "Monto del Préstamo:" -
eh-mortgage-calculator/trunk/languages/eh-mortgage-calculator-es_MX.po
r3441254 r3441776 4 4 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/eh-mortgage-" 5 5 "calculator\n" 6 "POT-Creation-Date: 2026-01-1 6T20:00:18+00:00\n"7 "PO-Revision-Date: 2026-01-1 6 12:09-0800\n"6 "POT-Creation-Date: 2026-01-18T05:30:23+00:00\n" 7 "PO-Revision-Date: 2026-01-17 21:36-0800\n" 8 8 "Last-Translator: \n" 9 9 "Language-Team: \n" … … 35 35 msgstr "Edgar Hernandez" 36 36 37 #: admin/settings-page.php:2 includes/class-ehmc-admin.php:1 037 #: admin/settings-page.php:2 includes/class-ehmc-admin.php:13 38 38 msgid "Mortgage Calculator Settings" 39 39 msgstr "Ajustes de la calculadora hipotecaria" … … 51 51 msgstr "Estilo" 52 52 53 #: admin/settings-page.php:6 admin/tabs/shortcode.php: 253 #: admin/settings-page.php:6 admin/tabs/shortcode.php:3 54 54 msgid "Shortcode" 55 55 msgstr "Shortcode" … … 59 59 msgstr "Guardar cambios" 60 60 61 #: admin/tabs/display.php: 661 #: admin/tabs/display.php:3 62 62 msgid "Display Options" 63 63 msgstr "Opciones de Visualización" 64 64 65 #: admin/tabs/display.php: 765 #: admin/tabs/display.php:4 66 66 msgid "" 67 67 "Choose which elements of the calculator should be visible on the frontend." … … 70 70 "pública." 71 71 72 #: admin/tabs/display.php: 972 #: admin/tabs/display.php:5 73 73 msgid "Show Summary Box" 74 74 msgstr "Mostrar cuadro de resumen" 75 75 76 #: admin/tabs/display.php: 1076 #: admin/tabs/display.php:6 77 77 msgid "Enable summary section (monthly payment, total interest, total cost)" 78 78 msgstr "" 79 79 "Habilitar sección de resumen (pago mensual, interés total, costo total)" 80 80 81 #: admin/tabs/display.php: 1281 #: admin/tabs/display.php:7 82 82 msgid "Show Amortization Table" 83 83 msgstr "Mostrar tabla de amortización" 84 84 85 #: admin/tabs/display.php: 1385 #: admin/tabs/display.php:8 86 86 msgid "Display full amortization schedule" 87 87 msgstr "Mostrar calendario de amortización completo" 88 88 89 #: admin/tabs/display.php: 1589 #: admin/tabs/display.php:9 90 90 msgid "Show Chart" 91 91 msgstr "Mostrar gráfico" 92 92 93 #: admin/tabs/display.php:1 693 #: admin/tabs/display.php:10 94 94 msgid "Display a visual chart" 95 95 msgstr "Mostrar gráfico visual" 96 96 97 #: admin/tabs/display.php:1 797 #: admin/tabs/display.php:11 98 98 msgid "" 99 99 "A simple doughnut chart that visualizes the breakdown of principal and " … … 103 103 "(principal) y los intereses." 104 104 105 #: admin/tabs/general.php:7 105 #: admin/tabs/general.php:3 106 msgid "General Settings" 107 msgstr "Ajustes Generales" 108 109 #: admin/tabs/general.php:4 110 msgid "Control the default values and labels used in the mortgage calculator." 111 msgstr "" 112 "Controla los valores predeterminados y las etiquetas utilizadas en la " 113 "calculadora hipotecaria." 114 115 #: admin/tabs/general.php:5 106 116 msgid "Label" 107 117 msgstr "Etiqueta" 108 118 109 #: admin/tabs/general.php: 9119 #: admin/tabs/general.php:6 110 120 msgid "Calculate Button" 111 121 msgstr "Botón de calcular" 112 122 113 #: admin/tabs/general.php: 10123 #: admin/tabs/general.php:7 114 124 msgid "Reset Button" 115 125 msgstr "Botón de restablecer" 116 126 117 #: admin/tabs/general.php:12 templates/calculator.php:9 127 #: admin/tabs/general.php:8 includes/class-ehmc-admin.php:30 128 #: templates/calculator.php:12 118 129 msgid "Loan Amount" 119 130 msgstr "Monto del préstamo" 120 131 121 #: admin/tabs/general.php: 13132 #: admin/tabs/general.php:9 includes/class-ehmc-admin.php:31 122 133 msgid "Interest Rate" 123 134 msgstr "Tasa de interés" 124 135 125 #: admin/tabs/general.php:1 4136 #: admin/tabs/general.php:10 includes/class-ehmc-admin.php:32 126 137 msgid "Years" 127 138 msgstr "Años" 128 139 129 #: admin/tabs/general.php:15 130 msgid "Calculate" 131 msgstr "Calcular" 132 133 #: admin/tabs/general.php:16 134 msgid "Reset" 135 msgstr "Restablecer" 136 137 #: admin/tabs/general.php:24 138 msgid "General Settings" 139 msgstr "Ajustes Generales" 140 141 #: admin/tabs/general.php:25 142 msgid "Control the default values and labels used in the mortgage calculator." 143 msgstr "" 144 "Controla los valores predeterminados y las etiquetas utilizadas en la " 145 "calculadora hipotecaria." 146 147 #: admin/tabs/general.php:27 140 #: admin/tabs/general.php:11 148 141 msgid "Default Loan Amount" 149 142 msgstr "Monto de préstamo predeterminado" 150 143 151 #: admin/tabs/general.php: 28144 #: admin/tabs/general.php:12 152 145 msgid "The starting loan amount shown in the calculator." 153 146 msgstr "El monto inicial del préstamo que se muestra en la calculadora." 154 147 155 #: admin/tabs/general.php: 30148 #: admin/tabs/general.php:13 156 149 msgid "Default Interest Rate (%)" 157 150 msgstr "Tasa de interés predeterminada (%)" 158 151 159 #: admin/tabs/general.php: 31152 #: admin/tabs/general.php:14 160 153 msgid "The default yearly interest rate." 161 154 msgstr "La tasa de interés anual predeterminada." 162 155 163 #: admin/tabs/general.php: 33156 #: admin/tabs/general.php:15 164 157 msgid "Default Term (Years)" 165 158 msgstr "Plazo predeterminado (Años)" 166 159 167 #: admin/tabs/general.php: 34160 #: admin/tabs/general.php:16 168 161 msgid "The default loan term in years." 169 162 msgstr "El plazo predeterminado del préstamo en años." 170 163 171 #: admin/tabs/general.php: 36164 #: admin/tabs/general.php:17 172 165 msgid "Cleanup on Uninstall" 173 166 msgstr "Eliminar datos al desinstalar" 174 167 175 #: admin/tabs/general.php: 37168 #: admin/tabs/general.php:18 176 169 msgid "Delete all plugin data when uninstalling" 177 170 msgstr "Eliminar todos los datos del plugin al desinstalar" 178 171 179 #: admin/tabs/general.php: 38172 #: admin/tabs/general.php:19 180 173 msgid "" 181 174 "If enabled, all EHMC settings will be permanently removed when the plugin is " … … 185 178 "desinstalar el plugin." 186 179 187 #: admin/tabs/shortcode.php: 3180 #: admin/tabs/shortcode.php:4 188 181 msgid "" 189 182 "Use this shortcode to display the mortgage calculator anywhere on your site." … … 204 197 msgstr "Pega este shortcode en cualquier página, entrada o widget." 205 198 199 #: admin/tabs/shortcode.php:8 200 msgid "Copy shortcode to clipboard" 201 msgstr "Copiar shortcode al portapapeles" 202 206 203 #: admin/tabs/shortcode.php:9 207 204 msgid "Example Usage" … … 213 210 "No se requiere ningún atributo; la calculadora utiliza los ajustes guardados." 214 211 215 #: admin/tabs/styling.php: 8212 #: admin/tabs/styling.php:3 216 213 msgid "Styling Options" 217 214 msgstr "Opciones de Estilo" 218 215 219 #: admin/tabs/styling.php: 9216 #: admin/tabs/styling.php:4 220 217 msgid "Customize the appearance of the mortgage calculator on the frontend." 221 218 msgstr "" 222 219 "Personaliza la apariencia de la calculadora hipotecaria en la página pública." 223 220 224 #: admin/tabs/styling.php: 11221 #: admin/tabs/styling.php:5 225 222 msgid "Primary Color" 226 223 msgstr "Color principal" 227 224 228 #: admin/tabs/styling.php: 12225 #: admin/tabs/styling.php:6 229 226 msgid "Used for highlights and accents." 230 227 msgstr "Se utiliza para resaltar y acentuar." 231 228 232 #: admin/tabs/styling.php: 14229 #: admin/tabs/styling.php:7 233 230 msgid "Calculate Button Color" 234 231 msgstr "Color del botón Calcular" 235 232 236 #: admin/tabs/styling.php: 15233 #: admin/tabs/styling.php:8 237 234 msgid "Color of the Calculate button." 238 235 msgstr "Color para el botón Calcular." 239 236 240 #: admin/tabs/styling.php: 17237 #: admin/tabs/styling.php:9 241 238 msgid "Reset Button Color" 242 239 msgstr "Color del botón Restablecer" 243 240 244 #: admin/tabs/styling.php:1 8241 #: admin/tabs/styling.php:10 245 242 msgid "Color of the Reset button." 246 243 msgstr "Color para el botón Restablecer." 247 244 248 #: admin/tabs/styling.php: 20245 #: admin/tabs/styling.php:11 249 246 msgid "Table Header Color" 250 247 msgstr "Color del encabezado de la tabla" 251 248 252 #: admin/tabs/styling.php: 21249 #: admin/tabs/styling.php:12 253 250 msgid "Background color for the amortization table header." 254 251 msgstr "Color de fondo para el encabezado de la tabla de amortización." 255 252 256 #: admin/tabs/styling.php: 23253 #: admin/tabs/styling.php:13 257 254 msgid "Border Radius" 258 255 msgstr "Radio del borde" 259 256 260 #: admin/tabs/styling.php: 25257 #: admin/tabs/styling.php:15 261 258 msgid "None" 262 259 msgstr "Ninguno" 263 260 264 #: admin/tabs/styling.php: 26261 #: admin/tabs/styling.php:16 265 262 msgid "Small (4px)" 266 263 msgstr "Pequeño (4px)" 267 264 268 #: admin/tabs/styling.php: 27265 #: admin/tabs/styling.php:17 269 266 msgid "Medium (8px)" 270 267 msgstr "Mediano (8px)" 271 268 272 #: admin/tabs/styling.php: 28269 #: admin/tabs/styling.php:18 273 270 msgid "Large (12px)" 274 271 msgstr "Grande (12px)" 275 272 276 #: admin/tabs/styling.php: 30273 #: admin/tabs/styling.php:20 277 274 msgid "Controls the roundness of input fields, buttons, and cards." 278 275 msgstr "Controla el redondeo de los campos de entrada, botones y tarjetas." 279 276 280 #: includes/class-ehmc-admin.php:11 281 msgid "Mortgage" 282 msgstr "Hipoteca" 283 284 #: includes/class-ehmc-assets.php:40 templates/calculator.php:27 277 #: includes/class-ehmc-admin.php:14 278 msgid "Mortgage Calculator" 279 msgstr "Calculadora de hipoteca" 280 281 #: includes/class-ehmc-admin.php:33 282 msgid "Calculate" 283 msgstr "Calcular" 284 285 #: includes/class-ehmc-admin.php:34 286 msgid "Reset" 287 msgstr "Restablecer" 288 289 #: includes/class-ehmc-assets.php:40 templates/calculator.php:22 285 290 msgid "Principal" 286 291 msgstr "Principal" 287 292 288 #: includes/class-ehmc-assets.php:41 templates/calculator.php:2 8293 #: includes/class-ehmc-assets.php:41 templates/calculator.php:23 289 294 msgid "Interest" 290 295 msgstr "Interés" 291 296 292 #: includes/class-ehmc-assets.php:4 3297 #: includes/class-ehmc-assets.php:42 293 298 msgid "Monthly Payment" 294 299 msgstr "Pago Mensual" 295 300 296 #: includes/class-ehmc-assets.php:4 4301 #: includes/class-ehmc-assets.php:43 297 302 msgid "Total Interest" 298 303 msgstr "Interés Total" 299 304 300 #: includes/class-ehmc-assets.php:4 5305 #: includes/class-ehmc-assets.php:44 301 306 msgid "Total Paid" 302 307 msgstr "Total Pagado" … … 306 311 msgstr "Este bloque mostrará la calculadora en el sitio web." 307 312 313 #: templates/calculator.php:9 314 msgid "Please enter an amount between 10,000 and 20,000,000" 315 msgstr "Por favor, introduzca una cantidad entre 10.000 y 20.000.000" 316 308 317 #: templates/calculator.php:10 309 msgid "Please enter a loan amount, e.g. \"40,000\", \"50,000.23\"" 310 msgstr "Por favor, ingresa un monto de préstamo, ej. \"40.000\", \"50.000.23\"" 311 312 #: templates/calculator.php:12 318 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 319 msgstr "" 320 "Por favor, ingresa un número entre 1 y 25, ej. \"5\", \"5,5\", \"5,75\"" 321 322 #: templates/calculator.php:11 323 msgid "Please enter a number between 1 and 45: no decimals allowed" 324 msgstr "Por favor, ingresa un número entre 1 y 45: no se permiten decimales" 325 326 #: templates/calculator.php:13 313 327 msgid "Yearly Interest" 314 328 msgstr "Interés Anual" 315 329 316 #: templates/calculator.php:13 317 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 318 msgstr "" 319 "Por favor, ingresa un número entre 1 y 25, ej. \"5\", \"5,5\", \"5,75\"" 320 321 #: templates/calculator.php:15 330 #: templates/calculator.php:14 322 331 msgid "Number of years" 323 332 msgstr "Número de años" 324 333 325 #: templates/calculator.php:16 326 msgid "Please enter a number between 1 and 45: no decimals allowed" 327 msgstr "Por favor, ingresa un número entre 1 y 45: no se permiten decimales" 328 329 #: templates/calculator.php:22 334 #: templates/calculator.php:17 330 335 msgid "Payment Breakdown" 331 336 msgstr "Desglose del Pago" 332 337 333 #: templates/calculator.php: 23338 #: templates/calculator.php:18 334 339 msgid "Summary" 335 340 msgstr "Resumen" 336 341 337 #: templates/calculator.php:2 6342 #: templates/calculator.php:21 338 343 msgid "Payment" 339 344 msgstr "Pago" 340 345 341 #: templates/calculator.php:2 9346 #: templates/calculator.php:24 342 347 msgid "Balance" 343 348 msgstr "Saldo" 344 349 345 #: templates/calculator.php: 31350 #: templates/calculator.php:25 346 351 msgid "Amortization results pages" 347 352 msgstr "Páginas de resultados de amortización" 348 353 349 #: assets/js/modules/EHMortgageCalculator.js:2 26354 #: assets/js/modules/EHMortgageCalculator.js:236 350 355 msgid "Previous" 351 356 msgstr "Anterior" 352 357 353 #: assets/js/modules/EHMortgageCalculator.js:2 56358 #: assets/js/modules/EHMortgageCalculator.js:266 354 359 msgid "Next" 355 360 msgstr "Siguiente" … … 380 385 msgstr "préstamo" 381 386 387 #~ msgid "Mortgage" 388 #~ msgstr "Hipoteca" 389 382 390 #~ msgid "Loan amount:" 383 391 #~ msgstr "Monto del Préstamo:" -
eh-mortgage-calculator/trunk/languages/eh-mortgage-calculator.pot
r3441254 r3441776 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: EH Mortgage Calculator 3. 0.0\n"5 "Project-Id-Version: EH Mortgage Calculator 3.1.0\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/eh-mortgage-calculator\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-01-1 6T20:00:18+00:00\n"12 "POT-Creation-Date: 2026-01-18T05:30:23+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 31 31 32 32 #: admin/settings-page.php:2 33 #: includes/class-ehmc-admin.php:1 033 #: includes/class-ehmc-admin.php:13 34 34 msgid "Mortgage Calculator Settings" 35 35 msgstr "" … … 48 48 49 49 #: admin/settings-page.php:6 50 #: admin/tabs/shortcode.php: 250 #: admin/tabs/shortcode.php:3 51 51 msgid "Shortcode" 52 52 msgstr "" … … 56 56 msgstr "" 57 57 58 #: admin/tabs/display.php:3 59 msgid "Display Options" 60 msgstr "" 61 62 #: admin/tabs/display.php:4 63 msgid "Choose which elements of the calculator should be visible on the frontend." 64 msgstr "" 65 66 #: admin/tabs/display.php:5 67 msgid "Show Summary Box" 68 msgstr "" 69 58 70 #: admin/tabs/display.php:6 59 msgid " Display Options"71 msgid "Enable summary section (monthly payment, total interest, total cost)" 60 72 msgstr "" 61 73 62 74 #: admin/tabs/display.php:7 63 msgid "Choose which elements of the calculator should be visible on the frontend." 75 msgid "Show Amortization Table" 76 msgstr "" 77 78 #: admin/tabs/display.php:8 79 msgid "Display full amortization schedule" 64 80 msgstr "" 65 81 66 82 #: admin/tabs/display.php:9 67 msgid "Show Summary Box"83 msgid "Show Chart" 68 84 msgstr "" 69 85 70 86 #: admin/tabs/display.php:10 71 msgid "Enable summary section (monthly payment, total interest, total cost)"72 msgstr ""73 74 #: admin/tabs/display.php:1275 msgid "Show Amortization Table"76 msgstr ""77 78 #: admin/tabs/display.php:1379 msgid "Display full amortization schedule"80 msgstr ""81 82 #: admin/tabs/display.php:1583 msgid "Show Chart"84 msgstr ""85 86 #: admin/tabs/display.php:1687 87 msgid "Display a visual chart" 88 88 msgstr "" 89 89 90 #: admin/tabs/display.php:1 790 #: admin/tabs/display.php:11 91 91 msgid "A simple doughnut chart that visualizes the breakdown of principal and interest." 92 92 msgstr "" 93 93 94 #: admin/tabs/general.php:3 95 msgid "General Settings" 96 msgstr "" 97 98 #: admin/tabs/general.php:4 99 msgid "Control the default values and labels used in the mortgage calculator." 100 msgstr "" 101 102 #: admin/tabs/general.php:5 103 msgid "Label" 104 msgstr "" 105 106 #: admin/tabs/general.php:6 107 msgid "Calculate Button" 108 msgstr "" 109 94 110 #: admin/tabs/general.php:7 95 msgid "Label" 111 msgid "Reset Button" 112 msgstr "" 113 114 #: admin/tabs/general.php:8 115 #: includes/class-ehmc-admin.php:30 116 #: templates/calculator.php:12 117 msgid "Loan Amount" 96 118 msgstr "" 97 119 98 120 #: admin/tabs/general.php:9 99 msgid "Calculate Button" 121 #: includes/class-ehmc-admin.php:31 122 msgid "Interest Rate" 100 123 msgstr "" 101 124 102 125 #: admin/tabs/general.php:10 103 msgid "Reset Button" 126 #: includes/class-ehmc-admin.php:32 127 msgid "Years" 128 msgstr "" 129 130 #: admin/tabs/general.php:11 131 msgid "Default Loan Amount" 104 132 msgstr "" 105 133 106 134 #: admin/tabs/general.php:12 107 #: templates/calculator.php:9 108 msgid "Loan Amount" 135 msgid "The starting loan amount shown in the calculator." 109 136 msgstr "" 110 137 111 138 #: admin/tabs/general.php:13 112 msgid " Interest Rate"139 msgid "Default Interest Rate (%)" 113 140 msgstr "" 114 141 115 142 #: admin/tabs/general.php:14 116 msgid " Years"143 msgid "The default yearly interest rate." 117 144 msgstr "" 118 145 119 146 #: admin/tabs/general.php:15 120 msgid " Calculate"147 msgid "Default Term (Years)" 121 148 msgstr "" 122 149 123 150 #: admin/tabs/general.php:16 124 msgid "Reset"125 msgstr ""126 127 #: admin/tabs/general.php:24128 msgid "General Settings"129 msgstr ""130 131 #: admin/tabs/general.php:25132 msgid "Control the default values and labels used in the mortgage calculator."133 msgstr ""134 135 #: admin/tabs/general.php:27136 msgid "Default Loan Amount"137 msgstr ""138 139 #: admin/tabs/general.php:28140 msgid "The starting loan amount shown in the calculator."141 msgstr ""142 143 #: admin/tabs/general.php:30144 msgid "Default Interest Rate (%)"145 msgstr ""146 147 #: admin/tabs/general.php:31148 msgid "The default yearly interest rate."149 msgstr ""150 151 #: admin/tabs/general.php:33152 msgid "Default Term (Years)"153 msgstr ""154 155 #: admin/tabs/general.php:34156 151 msgid "The default loan term in years." 157 152 msgstr "" 158 153 159 #: admin/tabs/general.php: 36154 #: admin/tabs/general.php:17 160 155 msgid "Cleanup on Uninstall" 161 156 msgstr "" 162 157 163 #: admin/tabs/general.php: 37158 #: admin/tabs/general.php:18 164 159 msgid "Delete all plugin data when uninstalling" 165 160 msgstr "" 166 161 167 #: admin/tabs/general.php: 38162 #: admin/tabs/general.php:19 168 163 msgid "If enabled, all EHMC settings will be permanently removed when the plugin is deleted." 169 164 msgstr "" 170 165 171 #: admin/tabs/shortcode.php: 3166 #: admin/tabs/shortcode.php:4 172 167 msgid "Use this shortcode to display the mortgage calculator anywhere on your site." 173 168 msgstr "" … … 185 180 msgstr "" 186 181 182 #: admin/tabs/shortcode.php:8 183 msgid "Copy shortcode to clipboard" 184 msgstr "" 185 187 186 #: admin/tabs/shortcode.php:9 188 187 msgid "Example Usage" … … 193 192 msgstr "" 194 193 194 #: admin/tabs/styling.php:3 195 msgid "Styling Options" 196 msgstr "" 197 198 #: admin/tabs/styling.php:4 199 msgid "Customize the appearance of the mortgage calculator on the frontend." 200 msgstr "" 201 202 #: admin/tabs/styling.php:5 203 msgid "Primary Color" 204 msgstr "" 205 206 #: admin/tabs/styling.php:6 207 msgid "Used for highlights and accents." 208 msgstr "" 209 210 #: admin/tabs/styling.php:7 211 msgid "Calculate Button Color" 212 msgstr "" 213 195 214 #: admin/tabs/styling.php:8 196 msgid " Styling Options"215 msgid "Color of the Calculate button." 197 216 msgstr "" 198 217 199 218 #: admin/tabs/styling.php:9 200 msgid "Customize the appearance of the mortgage calculator on the frontend." 219 msgid "Reset Button Color" 220 msgstr "" 221 222 #: admin/tabs/styling.php:10 223 msgid "Color of the Reset button." 201 224 msgstr "" 202 225 203 226 #: admin/tabs/styling.php:11 204 msgid " PrimaryColor"227 msgid "Table Header Color" 205 228 msgstr "" 206 229 207 230 #: admin/tabs/styling.php:12 208 msgid " Used for highlights and accents."209 msgstr "" 210 211 #: admin/tabs/styling.php:1 4212 msgid " Calculate Button Color"231 msgid "Background color for the amortization table header." 232 msgstr "" 233 234 #: admin/tabs/styling.php:13 235 msgid "Border Radius" 213 236 msgstr "" 214 237 215 238 #: admin/tabs/styling.php:15 216 msgid "Color of the Calculate button." 239 msgid "None" 240 msgstr "" 241 242 #: admin/tabs/styling.php:16 243 msgid "Small (4px)" 217 244 msgstr "" 218 245 219 246 #: admin/tabs/styling.php:17 220 msgid " Reset Button Color"247 msgid "Medium (8px)" 221 248 msgstr "" 222 249 223 250 #: admin/tabs/styling.php:18 224 msgid " Color of the Reset button."251 msgid "Large (12px)" 225 252 msgstr "" 226 253 227 254 #: admin/tabs/styling.php:20 228 msgid "Table Header Color"229 msgstr ""230 231 #: admin/tabs/styling.php:21232 msgid "Background color for the amortization table header."233 msgstr ""234 235 #: admin/tabs/styling.php:23236 msgid "Border Radius"237 msgstr ""238 239 #: admin/tabs/styling.php:25240 msgid "None"241 msgstr ""242 243 #: admin/tabs/styling.php:26244 msgid "Small (4px)"245 msgstr ""246 247 #: admin/tabs/styling.php:27248 msgid "Medium (8px)"249 msgstr ""250 251 #: admin/tabs/styling.php:28252 msgid "Large (12px)"253 msgstr ""254 255 #: admin/tabs/styling.php:30256 255 msgid "Controls the roundness of input fields, buttons, and cards." 257 256 msgstr "" 258 257 259 #: includes/class-ehmc-admin.php:11 260 msgid "Mortgage" 258 #: includes/class-ehmc-admin.php:14 259 msgid "Mortgage Calculator" 260 msgstr "" 261 262 #: includes/class-ehmc-admin.php:33 263 msgid "Calculate" 264 msgstr "" 265 266 #: includes/class-ehmc-admin.php:34 267 msgid "Reset" 261 268 msgstr "" 262 269 263 270 #: includes/class-ehmc-assets.php:40 264 #: templates/calculator.php:2 7271 #: templates/calculator.php:22 265 272 msgid "Principal" 266 273 msgstr "" 267 274 268 275 #: includes/class-ehmc-assets.php:41 269 #: templates/calculator.php:2 8276 #: templates/calculator.php:23 270 277 msgid "Interest" 271 278 msgstr "" 272 279 280 #: includes/class-ehmc-assets.php:42 281 msgid "Monthly Payment" 282 msgstr "" 283 273 284 #: includes/class-ehmc-assets.php:43 274 msgid " Monthly Payment"285 msgid "Total Interest" 275 286 msgstr "" 276 287 277 288 #: includes/class-ehmc-assets.php:44 278 msgid "Total Interest"279 msgstr ""280 281 #: includes/class-ehmc-assets.php:45282 289 msgid "Total Paid" 283 290 msgstr "" … … 287 294 msgstr "" 288 295 296 #: templates/calculator.php:9 297 msgid "Please enter an amount between 10,000 and 20,000,000" 298 msgstr "" 299 289 300 #: templates/calculator.php:10 290 msgid "Please enter a loan amount, e.g. \"40,000\", \"50,000.23\"" 291 msgstr "" 292 293 #: templates/calculator.php:12 301 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 302 msgstr "" 303 304 #: templates/calculator.php:11 305 msgid "Please enter a number between 1 and 45: no decimals allowed" 306 msgstr "" 307 308 #: templates/calculator.php:13 294 309 msgid "Yearly Interest" 295 310 msgstr "" 296 311 297 #: templates/calculator.php:13 298 msgid "Please enter a number between 1 and 25, e.g. \"5\", \"5.5\", \"5.75\"" 299 msgstr "" 300 301 #: templates/calculator.php:15 312 #: templates/calculator.php:14 302 313 msgid "Number of years" 303 314 msgstr "" 304 315 305 #: templates/calculator.php:16 306 msgid "Please enter a number between 1 and 45: no decimals allowed" 307 msgstr "" 308 309 #: templates/calculator.php:22 316 #: templates/calculator.php:17 310 317 msgid "Payment Breakdown" 311 318 msgstr "" 312 319 313 #: templates/calculator.php: 23320 #: templates/calculator.php:18 314 321 msgid "Summary" 315 322 msgstr "" 316 323 317 #: templates/calculator.php:2 6324 #: templates/calculator.php:21 318 325 msgid "Payment" 319 326 msgstr "" 320 327 321 #: templates/calculator.php:2 9328 #: templates/calculator.php:24 322 329 msgid "Balance" 323 330 msgstr "" 324 331 325 #: templates/calculator.php: 31332 #: templates/calculator.php:25 326 333 msgid "Amortization results pages" 327 334 msgstr "" 328 335 329 #: assets/js/modules/EHMortgageCalculator.js:2 26336 #: assets/js/modules/EHMortgageCalculator.js:236 330 337 msgid "Previous" 331 338 msgstr "" 332 339 333 #: assets/js/modules/EHMortgageCalculator.js:2 56340 #: assets/js/modules/EHMortgageCalculator.js:266 334 341 msgid "Next" 335 342 msgstr "" -
eh-mortgage-calculator/trunk/templates/calculator.php
r3441254 r3441776 7 7 8 8 // Form 9 $loan_amount_placeholder = esc_attr__( 'Loan Amount', 'eh-mortgage-calculator' ); 10 $loan_amount_error = esc_html__( 'Please enter a loan amount, e.g. "40,000", "50,000.23"', 'eh-mortgage-calculator' ); 11 12 $interest_placeholder = esc_attr__( 'Yearly Interest', 'eh-mortgage-calculator' ); 13 $interest_error = esc_html__( 'Please enter a number between 1 and 25, e.g. "5", "5.5", "5.75"', 'eh-mortgage-calculator' ); 14 15 $term_placeholder = esc_attr__( 'Number of years', 'eh-mortgage-calculator' ); 16 $term_error = esc_html__( 'Please enter a number between 1 and 45: no decimals allowed', 'eh-mortgage-calculator' ); 17 18 $calculate_aria_label = esc_attr( $calculate ); 19 $reset_aria_label = esc_attr( $reset ); 9 $loan_amount_error = __( 'Please enter an amount between 10,000 and 20,000,000', 'eh-mortgage-calculator' ); 10 $interest_error = __( 'Please enter a number between 1 and 25, e.g. "5", "5.5", "5.75"', 'eh-mortgage-calculator' ); 11 $term_error = __( 'Please enter a number between 1 and 45: no decimals allowed', 'eh-mortgage-calculator' ); 12 $loan_amount_placeholder = __( 'Loan Amount', 'eh-mortgage-calculator' ); 13 $interest_placeholder = __( 'Yearly Interest', 'eh-mortgage-calculator' ); 14 $term_placeholder = __( 'Number of years', 'eh-mortgage-calculator' ); 20 15 21 16 // Chart Box 22 $chart_title = esc_attr__( 'Payment Breakdown', 'eh-mortgage-calculator' );23 $summary_title = esc_attr__( 'Summary', 'eh-mortgage-calculator' );17 $chart_title = __( 'Payment Breakdown', 'eh-mortgage-calculator' ); 18 $summary_title = __( 'Summary', 'eh-mortgage-calculator' ); 24 19 25 20 // Table 26 $payment_label = esc_html__( 'Payment', 'eh-mortgage-calculator' ); 27 $principal_label = esc_html__( 'Principal', 'eh-mortgage-calculator' ); 28 $interest_label = esc_html__( 'Interest', 'eh-mortgage-calculator' ); 29 $balance_label = esc_html__( 'Balance', 'eh-mortgage-calculator' ); 21 $payment_label = __( 'Payment', 'eh-mortgage-calculator' ); 22 $principal_label = __( 'Principal', 'eh-mortgage-calculator' ); 23 $interest_label = __( 'Interest', 'eh-mortgage-calculator' ); 24 $balance_label = __( 'Balance', 'eh-mortgage-calculator' ); 25 $results_aria_label = __( 'Amortization results pages', 'eh-mortgage-calculator' ); 30 26 31 $results_aria_label = esc_attr__( 'Amortization results pages', 'eh-mortgage-calculator' );32 33 ####################################34 27 // Load saved settings 35 $default_amount = get_option('ehmc_default_amount', '300000');36 $default_interest = get_option('ehmc_default_interest', '6.5');37 $default_years = get_option('ehmc_default_years', '30');28 $default_amount = get_option('ehmc_default_amount', '300000'); 29 $default_interest = get_option('ehmc_default_interest', '6.5'); 30 $default_years = get_option('ehmc_default_years', '30'); 38 31 39 32 $label_amount = get_option('ehmc_label_amount', 'Loan Amount'); … … 43 36 $label_button_reset = get_option('ehmc_label_button_reset', 'Reset'); 44 37 45 $show_summary = get_option('ehmc_show_summary', '1');46 $show_table = get_option('ehmc_show_table', '1');47 $show_chart = get_option('ehmc_show_chart', '0');38 $show_summary = get_option('ehmc_show_summary', '1'); 39 $show_table = get_option('ehmc_show_table', '1'); 40 $show_chart = get_option('ehmc_show_chart', '0'); 48 41 49 42 $primary_color = get_option('ehmc_primary_color', '#2271b1'); … … 52 45 $table_header_color = get_option('ehmc_table_header_color', '#f1f1f1'); 53 46 $border_radius = get_option('ehmc_border_radius', 'medium'); 54 55 47 ?> 56 48 … … 66 58 <div class="mb-3" id="principal-group-<?= esc_attr( $instance ); ?>"> 67 59 <label class="form-label" for="principal-<?= esc_attr( $instance ); ?>"><?= esc_html( $label_amount ); ?></label> 68 <input type="number" class="form-control" id="principal-<?= esc_attr( $instance ); ?>"69 min="10000" max=" 1000000" step="1000" value="<?= esc_attr( $default_amount ); ?>"70 placeholder="<?= $loan_amount_placeholder?>" autofocus />71 <p class="invalid-feedback" id="principal-error-<?= esc_attr( $instance ); ?>"><?= $loan_amount_error?></p>60 <input name="principal" type="number" class="form-control" id="principal-<?= esc_attr( $instance ); ?>" 61 min="10000" max="20000000" step="1000" value="<?= esc_attr( $default_amount ); ?>" 62 placeholder="<?= esc_attr( $loan_amount_placeholder ) ?>" autofocus /> 63 <p class="invalid-feedback" id="principal-error-<?= esc_attr( $instance ); ?>"><?= esc_html( $loan_amount_error ) ?></p> 72 64 </div> 65 73 66 <div class="mb-3" id="interest-group-<?= esc_attr( $instance ); ?>"> 74 67 <label class="form-label" for="interest-<?= esc_attr( $instance ); ?>"><?= esc_html( $label_interest ); ?></label> 75 <input type="number" class="form-control" id="interest-<?= esc_attr( $instance ); ?>"76 min="1" max="25" value="<?= esc_attr( $default_interest ); ?>"77 placeholder="<?= $interest_placeholder?>" />78 <p class="invalid-feedback" id="interest-error-<?= esc_attr( $instance ); ?>"><?= $interest_error?></p>68 <input name="interest" type="number" class="form-control" id="interest-<?= esc_attr( $instance ); ?>" 69 min="1" max="25" step="0.01" value="<?= esc_attr( $default_interest ); ?>" 70 placeholder="<?= esc_attr( $interest_placeholder ) ?>" /> 71 <p class="invalid-feedback" id="interest-error-<?= esc_attr( $instance ); ?>"><?= esc_html( $interest_error ) ?></p> 79 72 </div> 73 80 74 <div class="mb-3" id="term-group-<?= esc_attr( $instance ); ?>"> 81 75 <label class="form-label" for="term-<?= esc_attr( $instance ); ?>"><?= esc_html( $label_years ); ?></label> 82 <input type="number" class="form-control" id="term-<?= esc_attr( $instance ); ?>"83 min="1" max="45" value="<?= esc_attr( $default_years ); ?>"84 placeholder="<?= $term_placeholder?>" />85 <p class="invalid-feedback" id="term-error-<?= esc_attr( $instance ); ?>"><?= $term_error?></p>76 <input name="term" type="number" class="form-control" id="term-<?= esc_attr( $instance ); ?>" 77 min="1" max="45" step="5" value="<?= esc_attr( $default_years ); ?>" 78 placeholder="<?= esc_attr( $term_placeholder ) ?>" /> 79 <p class="invalid-feedback" id="term-error-<?= esc_attr( $instance ); ?>"><?= esc_html( $term_error ) ?></p> 86 80 </div> 81 87 82 <div class="mb-3 text-center"> 88 <button type="submit" class="btn btn-primary" aria-label="<?= $calculate_aria_label?>" id="ehmc-submit-<?= esc_attr( $instance ); ?>">83 <button type="submit" class="btn btn-primary" aria-label="<?= esc_attr( $label_button_calculate ) ?>" id="ehmc-submit-<?= esc_attr( $instance ); ?>"> 89 84 <?= esc_html( $label_button_calculate ); ?> 90 85 </button> 91 <button type="reset" class="btn btn-secondary" aria-label="<?= $reset_aria_label?>" id="ehmc-reset-<?= esc_attr( $instance ); ?>">86 <button type="reset" class="btn btn-secondary" aria-label="<?= esc_attr( $label_button_reset ) ?>" id="ehmc-reset-<?= esc_attr( $instance ); ?>"> 92 87 <?= esc_html( $label_button_reset ); ?> 93 88 </button> … … 100 95 <div class="ehmc-summary-box card h-100" id="ehmc-summary-<?= esc_attr($instance); ?>" hidden> 101 96 <div class="card-body"> 102 <h5 class="card-title"><?= $summary_title?></h5>103 <p class="ehmc-summary-payment mb-1" ></p>104 <p class="ehmc-summary-total-interest mb-1" ></p>105 <p class="ehmc-summary-total-paid mb-0" ></p>97 <h5 class="card-title"><?= esc_html( $summary_title ) ?></h5> 98 <p class="ehmc-summary-payment mb-1" aria-live="polite"></p> 99 <p class="ehmc-summary-total-interest mb-1" aria-live="polite"></p> 100 <p class="ehmc-summary-total-paid mb-0" aria-live="polite"></p> 106 101 </div> 107 102 </div> … … 113 108 <div class="ehmc-chart-card card h-100" id="ehmc-chart-card-<?= esc_attr($instance); ?>" hidden> 114 109 <div class="card-body"> 115 <h5 class="card-title text-center"><?= $chart_title?></h5>110 <h5 class="card-title text-center"><?= esc_html( $chart_title ) ?></h5> 116 111 <div class="chart-wrapper"> 117 112 <canvas id="ehmc-chart-<?= esc_attr($instance); ?>"></canvas> … … 123 118 <?php endif; ?> 124 119 <?php if ( $show_table === '1' ) : ?> 125 <! <!-- Table area -->120 <!-- Table area --> 126 121 <table class="table table-striped ehmc-table" id="table-<?= esc_attr( $instance ); ?>"> 127 122 <thead> 128 123 <tr> 129 124 <th class="text-right">#</th> 130 <th class="text-right"><?= $payment_label?></th>131 <th class="text-right"><?= $principal_label?></th>132 <th class="text-right"><?= $interest_label?></th>133 <th class="text-right"><?= $balance_label?></th>125 <th class="text-right"><?= esc_html( $payment_label ) ?></th> 126 <th class="text-right"><?= esc_html( $principal_label ) ?></th> 127 <th class="text-right"><?= esc_html( $interest_label ) ?></th> 128 <th class="text-right"><?= esc_html( $balance_label ) ?></th> 134 129 </tr> 135 130 </thead> … … 137 132 <tr> 138 133 <td colspan="5"> 139 <nav aria-label="<?= $results_aria_label?>">134 <nav aria-label="<?= esc_attr( $results_aria_label ) ?>"> 140 135 <ul class="ehmc-pagination pagination justify-content-center flex-wrap" id="pagination-<?= esc_attr( $instance ); ?>"></ul> 141 136 </nav> … … 143 138 </tr> 144 139 </tfoot> 145 <tbody id="amortization-<?= esc_attr( $instance ); ?>" ></tbody>140 <tbody id="amortization-<?= esc_attr( $instance ); ?>" aria-live="polite"></tbody> 146 141 </table> 147 142 <?php endif; ?> -
eh-mortgage-calculator/trunk/uninstall.php
r3441254 r3441776 8 8 } 9 9 10 // Only delete data if the user opted in 10 11 if ( get_option('ehmc_delete_data_on_uninstall') !== '1' ) { 11 12 return; … … 29 30 'ehmc_show_table', 30 31 'ehmc_show_chart', 32 // Delete the uninstall flag itself 33 'ehmc_delete_data_on_uninstall' 31 34 ]; 32 35 … … 35 38 delete_option( $setting ); 36 39 } 40 41 // Optional: multisite cleanup 42 if ( is_multisite() ) { 43 foreach ( $settings as $setting ) { 44 delete_site_option( $setting ); 45 } 46 }
Note: See TracChangeset
for help on using the changeset viewer.